.emp-toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:10000;pointer-events:none;max-width:22rem}.emp-toast{pointer-events:auto;padding:.85rem 1rem;border-radius:.5rem;font:500 .9rem/1.35 var(--emp-font-body, system-ui);color:#fff;box-shadow:0 8px 24px #0a14282e;cursor:pointer;animation:emp-toast-in .18s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;gap:.65rem}.emp-toast__msg{flex:1}.emp-toast__action{pointer-events:auto;background:#ffffff2e;color:inherit;border:1px solid rgba(255,255,255,.35);border-radius:.35rem;padding:.25rem .6rem;font:inherit;font-weight:600;cursor:pointer;transition:background .12s ease}.emp-toast__action:hover{background:#ffffff47}.emp-toast-error{background:#c23b3b}.emp-toast-success{background:#2f8a53}.emp-toast-info{background:#37495f}@keyframes emp-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:sc-fade-in .12s ease both}@keyframes sc-fade-in{0%{opacity:0}to{opacity:1}}.sc-panel{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:12px;box-shadow:0 20px 60px #0000002e,0 4px 16px #00000014;width:540px;max-width:calc(100vw - 32px);overflow:hidden;animation:sc-slide-in .16s cubic-bezier(.22,1,.36,1) both}@keyframes sc-slide-in{0%{transform:translateY(-8px);opacity:.8}to{transform:translateY(0);opacity:1}}.sc-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border, #e2e8f0)}.sc-search-icon{color:var(--text-tertiary, #94a3b8);flex-shrink:0}.sc-input{flex:1;border:none;outline:none;background:transparent;font-size:15px;color:var(--text-primary, #0f172a);font-family:inherit}.sc-input::placeholder{color:var(--text-muted, #cbd5e1)}.sc-clear{background:none;border:none;cursor:pointer;color:var(--text-muted, #94a3b8);font-size:18px;line-height:1;padding:0 2px;border-radius:4px;flex-shrink:0}.sc-clear:hover{color:var(--text-secondary, #475569)}.sc-esc-hint{font-size:11px;color:var(--text-muted, #94a3b8);background:var(--canvas, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:4px;padding:2px 6px;font-family:inherit;flex-shrink:0}.sc-results{max-height:360px;overflow-y:auto;padding:6px 0}.sc-result{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 16px;border:none;background:none;cursor:pointer;text-align:left;gap:12px;transition:background 80ms ease}.sc-result:hover,.sc-result--active{background:var(--canvas, #f8fafc)}.sc-result-label{font-size:14px;font-weight:500;color:var(--text-primary, #0f172a)}.sc-result-section{font-size:12px;color:var(--text-muted, #94a3b8);white-space:nowrap}.sc-empty{padding:24px 16px;text-align:center;font-size:14px;color:var(--text-muted, #94a3b8)}.sc-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--border, #e2e8f0);background:var(--canvas, #f8fafc)}.sc-footer span{font-size:11px;color:var(--text-muted, #94a3b8);display:flex;align-items:center;gap:4px}.sc-footer kbd{font-family:inherit;font-size:10px;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:3px;padding:1px 4px}.apex-layout{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:1fr;min-height:100vh;background:var(--canvas)}.apex-layout--collapsed{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.apex-sidebar{background:var(--sidebar-bg);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow:hidden;transition:width var(--transition-base);z-index:var(--z-sticky);border-right:1px solid rgba(255,255,255,.06)}.apex-sidebar__logo{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;min-height:56px;flex-shrink:0;border-bottom:1px solid var(--sidebar-border)}.apex-sidebar__clinic-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--sidebar-active-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apex-sidebar__toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--sidebar-text);border-radius:var(--radius-md);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.apex-sidebar__toggle:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.apex-sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.apex-sidebar__section{padding:2px 0;margin-bottom:2px}.apex-sidebar__section-title{display:block;font-size:10px;font-weight:var(--weight-semibold);color:var(--sidebar-section);text-transform:uppercase;letter-spacing:.08em;padding:8px 12px 4px;white-space:nowrap}.apex-sidebar__item{display:flex;align-items:center;gap:8px;padding:3px 10px;margin:0 4px;border-radius:var(--radius-md);color:var(--sidebar-text);font-size:13px;font-weight:var(--weight-regular);text-decoration:none;cursor:pointer;border:none;background:transparent;width:calc(100% - 8px);min-height:28px;text-align:left;transition:background var(--transition-fast),color var(--transition-fast);position:relative;white-space:nowrap}.apex-sidebar__item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-text)}.apex-sidebar__item--active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:var(--weight-medium)}.apex-sidebar__item--active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--clinic-accent);border-radius:0 2px 2px 0}.apex-sidebar__item-icon{display:flex;align-items:center;flex-shrink:0;width:15px;height:15px}.apex-sidebar__item-label{flex:1;overflow:hidden;text-overflow:ellipsis}.apex-sidebar__item-badge{background:var(--clinic-accent);color:var(--clinic-accent-text);font-size:10px;font-weight:var(--weight-semibold);padding:1px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center;line-height:1.6}.apex-sidebar__item-badge--danger{background:var(--color-danger);color:#fff}.apex-sidebar__item-badge--accent{background:var(--clinic-accent);color:var(--clinic-accent-text)}.apex-sidebar__bottom{border-top:1px solid var(--sidebar-border);padding:8px 0;flex-shrink:0}.apex-sidebar__logout{color:#f8fafc66}.apex-sidebar__logout:hover{color:var(--color-danger);background:#ef44441a}.apex-layout--collapsed .apex-sidebar__item{justify-content:center;padding:8px;margin:1px 8px;width:calc(100% - 16px)}.apex-layout--collapsed .apex-sidebar__item--active:before{left:-8px}.apex-layout--collapsed .apex-sidebar__logo{justify-content:center;padding:16px 8px}.apex-layout--collapsed .apex-sidebar__section{display:flex;flex-direction:column;align-items:center}.apex-main{display:flex;flex-direction:column;min-height:100vh;min-width:0}.apex-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--content-padding);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-sticky);flex-shrink:0}.apex-header__left{display:flex;align-items:center;gap:var(--space-4)}.apex-header__right{display:flex;align-items:center;gap:var(--space-3)}.apex-header__burger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer}.apex-header__burger:hover{background:var(--surface-2);color:var(--text-primary)}.apex-header__action{display:flex;align-items:center;justify-content:center;position:relative;width:36px;height:36px;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.apex-header__action:hover{background:var(--surface-2);color:var(--text-primary)}.apex-header__badge{position:absolute;top:2px;right:2px;background:var(--color-danger);color:#fff;font-size:9px;font-weight:var(--weight-bold);padding:0 4px;border-radius:var(--radius-full);min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;line-height:1}.apex-header__avatar{width:32px;height:32px;border-radius:50%;background:var(--clinic-accent);color:var(--clinic-accent-text);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-fast)}.apex-header__avatar:hover{box-shadow:0 0 0 3px #2563eb40}.apex-content{flex:1;padding:var(--content-padding);max-width:100%}.apex-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--surface);border-top:1px solid var(--border);z-index:var(--z-sticky);padding-bottom:env(safe-area-inset-bottom,0)}.apex-bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-tertiary);text-decoration:none;font-size:10px;font-weight:var(--weight-medium);transition:color var(--transition-fast);flex:1;position:relative}.apex-bottom-nav__item--active{color:var(--clinic-accent)}.apex-bottom-nav__item--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--clinic-accent);border-radius:0 0 var(--radius-full) var(--radius-full)}@media(max-width:1024px){.apex-layout{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.apex-layout--collapsed{grid-template-columns:0 1fr}}@media(max-width:767px){.apex-layout,.apex-layout--collapsed{grid-template-columns:1fr}.apex-sidebar{display:none}.apex-header__burger,.apex-bottom-nav{display:flex}.apex-content{padding:12px 12px 72px}.apex-layout--mobile-open .apex-sidebar{display:flex;position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);z-index:var(--z-modal);overflow-y:auto}.apex-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:calc(var(--z-modal) - 1)}}.apex-bottom-nav__icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.apex-bottom-nav__badge{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger, #EF4444);color:#fff;font-size:10px;font-weight:700;border-radius:8px;line-height:16px;text-align:center}.apex-bottom-nav__more{background:none;border:none;cursor:pointer;font-size:11px;color:var(--text-secondary)}.apex-event-fab{display:none;position:fixed;bottom:76px;right:16px;width:52px;height:52px;border-radius:50%;background:var(--emp-brand-500, #3B82F6);color:#fff;border:none;cursor:pointer;font-size:22px;z-index:calc(var(--z-sticky) + 1);box-shadow:0 4px 16px #3b82f673;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}.apex-event-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #3b82f68c}@media(max-width:767px){.apex-event-fab{display:flex}}@media(prefers-reduced-motion:reduce){.apex-sidebar,.apex-sidebar__item,.apex-sidebar__toggle,.apex-header__action,.apex-header__avatar,.apex-bottom-nav__item{transition:none!important}}.apex-header__search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 10px;width:280px;height:34px;cursor:text;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.apex-header__search:hover{border-color:var(--border-strong)}.apex-header__search:focus-within{border-color:var(--clinic-accent);box-shadow:0 0 0 3px #2563eb1f}.apex-header__search-icon{color:var(--text-tertiary);flex-shrink:0}.apex-header__search-input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text-primary);outline:none;min-width:0}.apex-header__search-input::placeholder{color:var(--text-tertiary)}.apex-header__search-kbd{font-size:11px;font-family:var(--font-mono);color:var(--text-tertiary);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px;flex-shrink:0}.apex-header__center-slot{flex:1;display:flex;align-items:center;min-width:0;overflow:hidden}.apex-header__personas{display:flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:2px}.apex-header__persona{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;font-size:11px;font-weight:600;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.apex-header__persona:hover{background:var(--surface);color:var(--text-primary)}.apex-header__persona--active{background:var(--clinic-accent);color:#fff}.apex-header__persona--active:hover{background:var(--clinic-accent-hover);color:#fff}.apex-header__mobile-btn{font-size:12px;height:30px;padding:0 10px}@media(max-width:900px){.apex-header__search,.apex-header__personas,.apex-header__mobile-btn{display:none}}.apex-sidebar__user-card{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:4px 6px 0;border-radius:var(--radius-md);border:1px solid var(--sidebar-border);background:#ffffff0a}.apex-sidebar__user-card-avatar{width:28px;height:28px;border-radius:50%;background:var(--clinic-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.apex-sidebar__user-card-info{flex:1;display:flex;flex-direction:column;min-width:0}.apex-sidebar__user-card-name{font-size:12px;font-weight:600;color:var(--sidebar-active-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apex-sidebar__user-card-role{font-size:11px;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apex-sidebar__user-card-menu{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--sidebar-text);border-radius:4px;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.apex-sidebar__user-card-menu:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-active-text)}.login-page,.login-tg-loading{--l-bg: #ffffff;--l-bg-elevated: #ffffff;--l-bg-subtle: #f3f4f6;--l-text: #1c1d1f;--l-text-secondary: #5d6675;--l-text-muted: #8b94a4;--l-text-faint: #b3b9c4;--l-border: #e4e7ec;--l-border-strong: #d3d8df;--l-accent: #5577cc;--l-accent-soft: #eef2fb;--l-accent-text: #2f4a99;--l-focus: #94b9ff;--l-danger: #9a3735;--l-danger-bg: #f8e9e8;--l-cta-bg: #1c1d1f;--l-cta-bg-hover: #000000;--l-cta-text: #ffffff;--l-r-sm: 6px;--l-r-md: 8px;--l-shadow-lg: 0 12px 28px -8px rgba(16, 24, 40, .18), 0 4px 8px -2px rgba(16, 24, 40, .06);--l-trans: .16s ease;--l-hero-grad: linear-gradient(160deg, #0a0b0d 0%, #14171c 45%, #1f2738 100%);--l-hero-accent: #5a8eff;--l-hero-text: #e9ebef;--l-hero-text-dim: rgba(233, 235, 239, .55);--l-hero-text-faint: rgba(233, 235, 239, .32);--l-hero-line: rgba(122, 162, 247, .14)}[data-theme=dark] .login-page,[data-theme=dark] .login-tg-loading{--l-bg: #0a0b0d;--l-bg-elevated: #14171c;--l-bg-subtle: #14171c;--l-text: #e9ebef;--l-text-secondary: #9aa3b2;--l-text-muted: #6f7787;--l-text-faint: #6f7787;--l-border: #1f232c;--l-border-strong: #2a2f3a;--l-accent: #5a8eff;--l-accent-soft: #1a2342;--l-accent-text: #94b9ff;--l-focus: #5a8eff;--l-danger: #ef6f6c;--l-danger-bg: #2d1414;--l-cta-bg: #ffffff;--l-cta-bg-hover: #e9ebef;--l-cta-text: #0a0b0d;--l-shadow-lg: 0 12px 28px -8px rgba(0, 0, 0, .55), 0 4px 8px -2px rgba(0, 0, 0, .4)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--l-bg)}.login-hero{background:var(--l-hero-grad);display:flex;flex-direction:column;justify-content:space-between;padding:48px;position:relative;overflow:hidden}.login-hero:before{content:"";position:absolute;top:-150px;right:-110px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle at center,rgba(90,142,255,.2),transparent 66%);filter:blur(6px);pointer-events:none;animation:login-orb-a 16s ease-in-out infinite alternate}.login-hero:after{content:"";position:absolute;bottom:-130px;left:16%;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle at center,rgba(120,160,255,.12),transparent 66%);filter:blur(10px);pointer-events:none;animation:login-orb-b 21s ease-in-out infinite alternate}.login-hero-decoration{position:absolute;top:50%;right:-90px;transform:translateY(-50%);width:360px;height:360px;border:1px solid var(--l-hero-line);background:repeating-linear-gradient(0deg,transparent 0 23px,rgba(255,255,255,.016) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,rgba(255,255,255,.016) 23px 24px);border-radius:50%;pointer-events:none;animation:login-spin-slow 64s linear infinite}@keyframes login-orb-a{0%{transform:translate(0)}to{transform:translate(-34px,44px)}}@keyframes login-orb-b{0%{transform:translate(0)}to{transform:translate(40px,-34px)}}@keyframes login-spin-slow{to{transform:translateY(-50%) rotate(360deg)}}.login-hero-brand{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.login-hero-logo{font-family:var(--emp-font-heading, inherit);font-size:42px;font-weight:700;color:var(--l-hero-text);letter-spacing:6px;line-height:1;animation:login-glow 4.2s ease-in-out infinite}@keyframes login-glow{0%,to{text-shadow:0 0 36px rgba(90,142,255,.28)}50%{text-shadow:0 0 60px rgba(90,142,255,.5)}}.login-hero-tagline{font-size:12px;font-weight:500;color:var(--l-hero-text-faint);text-transform:uppercase;letter-spacing:3px}.login-hero-center{display:flex;flex-direction:column;gap:20px;position:relative;z-index:1}.login-hero-center>*{animation:login-rise .7s cubic-bezier(.2,.8,.2,1) both}.login-hero-heading{animation-delay:.05s}.login-hero-desc{animation-delay:.13s}.login-hero-features{animation-delay:.22s}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.login-hero-heading{font-family:var(--emp-font-heading, inherit);font-size:38px;font-weight:600;color:#fff;line-height:1.2;letter-spacing:-.02em}.login-hero-heading span{color:var(--l-hero-accent)}.login-hero-desc{font-size:15px;color:var(--l-hero-text-dim);line-height:1.6;max-width:320px}.login-hero-features{display:flex;flex-direction:column;gap:12px;margin-top:8px}.login-hero-feature{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--l-hero-text-dim)}.login-hero-feature-dot{width:6px;height:6px;border-radius:50%;background:var(--l-hero-accent);flex-shrink:0;animation:login-pulse 2.8s ease-in-out infinite}@keyframes login-pulse{0%,to{box-shadow:0 0 #5a8eff00;opacity:.7}50%{box-shadow:0 0 0 4px #5a8eff24;opacity:1}}.login-hero-footer{font-size:11px;color:var(--l-hero-text-faint);position:relative;z-index:1;letter-spacing:.05em}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 40px;background:var(--l-bg)}.login-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:0;animation:login-rise .5s cubic-bezier(.2,.8,.2,1) both}.login-card-header{margin-bottom:36px}.login-eyebrow{font-size:11px;font-weight:600;color:var(--l-accent);text-transform:uppercase;letter-spacing:3px;margin-bottom:12px}.login-title{font-family:var(--emp-font-heading, inherit);font-size:30px;font-weight:600;color:var(--l-text);line-height:1.2;letter-spacing:-.02em;margin-bottom:10px}.login-subtitle{font-size:15px;color:var(--l-text-muted);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:0}.login-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.login-label{font-size:12px;font-weight:600;color:var(--l-text-secondary);text-transform:uppercase;letter-spacing:.08em}.login-input-wrap{position:relative}.login-input{width:100%;padding:13px 15px;font-size:16px;font-family:var(--emp-font-body, inherit);border:1.5px solid var(--l-border-strong);border-radius:var(--l-r-md);background:var(--l-bg-elevated);color:var(--l-text);transition:border-color var(--l-trans),box-shadow var(--l-trans);outline:none}.login-input::placeholder{color:var(--l-text-faint)}.login-input:focus{border-color:var(--l-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--l-focus) 32%,transparent)}.login-input:hover:not(:focus){border-color:var(--l-text-faint)}.login-error{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--l-danger);padding:12px 14px;background:var(--l-danger-bg);border:1px solid color-mix(in srgb,var(--l-danger) 30%,transparent);border-radius:var(--l-r-sm);margin-bottom:16px;line-height:1.4}.login-button{width:100%;padding:14px;font-size:15px;font-weight:600;font-family:var(--emp-font-body, inherit);background:var(--l-cta-bg);color:var(--l-cta-text);border:none;border-radius:var(--l-r-md);cursor:pointer;transition:background var(--l-trans),transform var(--l-trans),box-shadow var(--l-trans);letter-spacing:.02em;margin-bottom:24px;position:relative;overflow:hidden}.login-button:hover:not(:disabled){background:var(--l-cta-bg-hover);transform:translateY(-1px);box-shadow:var(--l-shadow-lg)}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:none}.login-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.login-divider{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-divider-line{flex:1;height:1px;background:var(--l-border)}.login-divider-text{font-size:12px;color:var(--l-text-faint);white-space:nowrap}.login-footer{text-align:center;font-size:14px;color:var(--l-text-muted);line-height:1.5}.login-link{color:var(--l-accent);font-weight:600;text-decoration:none;transition:color var(--l-trans)}.login-link:hover{color:var(--l-accent-text);text-decoration:underline}.login-tg-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--l-hero-grad)}.login-tg-card{display:flex;flex-direction:column;align-items:center;gap:24px}.login-tg-logo{font-family:var(--emp-font-heading, inherit);font-size:48px;font-weight:700;color:var(--l-hero-text);letter-spacing:6px;text-shadow:0 0 40px rgba(90,142,255,.3)}.login-tg-spinner{width:36px;height:36px;border:3px solid rgba(90,142,255,.2);border-top-color:var(--l-hero-accent);border-radius:50%;animation:login-spin .8s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-tg-text{font-size:15px;color:var(--l-hero-text-dim);letter-spacing:.03em}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-hero{display:none}.login-form-panel{min-height:100vh;padding:40px 24px}}@media(max-width:400px){.login-form-panel{padding:32px 20px}.login-title{font-size:26px}}@media(prefers-reduced-motion:reduce){.login-hero:before,.login-hero:after,.login-hero-decoration,.login-hero-logo,.login-hero-center>*,.login-hero-feature-dot,.login-card{animation:none}}.reg-steps{display:flex;align-items:center;gap:0;margin-bottom:32px}.reg-step{display:flex;flex-direction:column;align-items:center;gap:4px}.reg-step-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--emp-border);background:var(--emp-bg-card);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--emp-text-muted);transition:all .15s}.reg-step-dot.active{border-color:var(--emp-gold-400);background:var(--emp-gold-400);color:var(--emp-navy-900)}.reg-step-dot.done{border-color:var(--emp-success);background:var(--emp-success);color:#fff}.reg-step-label{font-size:11px;color:var(--emp-text-muted);white-space:nowrap}.reg-step-label.active{color:var(--emp-text-primary);font-weight:600}.reg-connector{flex:1;height:2px;background:var(--emp-border);margin:0 4px 18px;transition:background .15s}.reg-connector.done{background:var(--emp-success)}.reg-dept-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.reg-dept-card{padding:20px 16px;border:1.5px solid var(--emp-border);border-radius:var(--emp-radius-lg);cursor:pointer;background:var(--emp-bg-card);text-align:left;transition:border-color .15s,box-shadow .15s}.reg-dept-card:hover{border-color:var(--emp-gold-400);box-shadow:var(--emp-shadow-md)}.reg-dept-icon{font-size:28px;margin-bottom:10px}.reg-dept-name{font-size:15px;font-weight:600;color:var(--emp-text-primary);margin-bottom:4px;line-height:1.3}.reg-dept-roles{font-size:12px;color:var(--emp-text-muted);line-height:1.4}.reg-role-list{display:flex;flex-direction:column;gap:8px}.reg-role-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--emp-border);border-radius:var(--emp-radius-md);cursor:pointer;background:var(--emp-bg-card);transition:border-color .15s}.reg-role-item:hover{border-color:var(--emp-border-medium)}.reg-role-item.selected{border-color:var(--emp-gold-400);background:var(--emp-gold-50, #FDFAF0)}.reg-role-item input[type=radio]{width:18px;height:18px;accent-color:var(--emp-gold-400);flex-shrink:0;cursor:pointer}.reg-role-label{font-size:15px;font-weight:500;color:var(--emp-text-primary);cursor:pointer}.reg-field{display:flex;flex-direction:column;gap:6px}.reg-label{font-size:13px;font-weight:500;color:var(--emp-text-secondary)}.reg-input{padding:12px 14px;font-size:15px;font-family:var(--emp-font-body);border:1.5px solid var(--emp-border);border-radius:var(--emp-radius-md);outline:none;color:var(--emp-text-primary);background:var(--emp-bg-canvas);transition:border-color var(--emp-duration-fast);width:100%;box-sizing:border-box}.reg-input:focus{border-color:var(--emp-border-focus);box-shadow:0 0 0 3px var(--emp-border-focus-ring)}.reg-nav{display:flex;gap:10px;margin-top:24px}.reg-btn-back{flex:1;padding:13px;font-size:14px;font-weight:600;font-family:var(--emp-font-body);background:transparent;color:var(--emp-text-secondary);border:1.5px solid var(--emp-border-medium);border-radius:var(--emp-radius-md);cursor:pointer;transition:border-color .15s,color .15s}.reg-btn-back:hover{border-color:var(--emp-border-strong);color:var(--emp-text-primary)}.reg-btn-next{flex:2;padding:14px;font-size:15px;font-weight:600;font-family:var(--emp-font-body);background:var(--emp-navy-700);color:#fff;border:none;border-radius:var(--emp-radius-md);cursor:pointer;transition:background .15s;box-shadow:var(--emp-shadow-navy)}.reg-btn-next:hover:not(:disabled){background:var(--emp-navy-600)}.reg-btn-next:disabled{opacity:.45;cursor:not-allowed}.reg-btn-submit{flex:2;padding:14px;font-size:15px;font-weight:600;font-family:var(--emp-font-body);background:var(--emp-gold-400);color:var(--emp-navy-900);border:none;border-radius:var(--emp-radius-md);cursor:pointer;transition:background .15s;box-shadow:var(--emp-shadow-gold)}.reg-btn-submit:hover:not(:disabled){background:var(--emp-gold-500)}.reg-btn-submit:disabled{opacity:.45;cursor:not-allowed}.reg-error{font-size:13px;color:var(--emp-danger);padding:10px 14px;background:var(--emp-danger-light);border-radius:var(--emp-radius-md);margin-top:8px}.reg-step-heading{font-size:17px;font-weight:600;color:var(--emp-text-primary);margin-bottom:16px}:root{--font-base: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 38px;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--canvas: #F8FAFC;--surface: #FFFFFF;--surface-2: #F1F5F9;--border: #E2E8F0;--border-strong: #CBD5E1;--sidebar-bg: #0F172A;--sidebar-text: rgba(248, 250, 252, .55);--sidebar-active-text: #FFFFFF;--sidebar-active-bg: rgba(255, 255, 255, .08);--sidebar-section: rgba(248, 250, 252, .3);--sidebar-hover-bg: rgba(255, 255, 255, .05);--sidebar-border: rgba(255, 255, 255, .08);--clinic-accent: #2563EB;--clinic-accent-light: #EFF6FF;--clinic-accent-hover: #1D4ED8;--clinic-accent-text: #FFFFFF;--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #64748B;--text-disabled: #CBD5E1;--text-inverse: #FFFFFF;--text-link: var(--clinic-accent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .15);--shadow-focus: 0 0 0 3px rgba(37, 99, 235, .25);--sidebar-width: 248px;--sidebar-width-collapsed: 56px;--header-height: 56px;--content-max-width: 1280px;--content-padding: 24px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--color-success: #22C55E;--color-success-light: #F0FDF4;--color-warning: #EAB308;--color-warning-light: #FEFCE8;--color-danger: #EF4444;--color-danger-light: #FEF2F2;--color-info: #3B82F6;--color-info-light: #EFF6FF}:root{--emp-font-body: var(--font-base);--emp-font-heading: var(--font-base);--emp-font-mono: var(--font-mono);--emp-text-xs: var(--text-xs);--emp-text-sm: var(--text-sm);--emp-text-base: var(--text-base);--emp-text-md: var(--text-lg);--emp-text-lg: var(--text-xl);--emp-text-xl: var(--text-2xl);--emp-text-2xl: var(--text-3xl);--emp-text-3xl: var(--text-4xl);--emp-text-4xl: var(--text-4xl);--emp-weight-light: var(--weight-light);--emp-weight-regular: var(--weight-regular);--emp-weight-normal: var(--weight-regular);--emp-weight-medium: var(--weight-medium);--emp-weight-semibold: var(--weight-semibold);--emp-weight-bold: var(--weight-bold);--emp-leading-tight: 1.25;--emp-leading-snug: 1.375;--emp-leading-normal: 1.5;--emp-leading-relaxed: 1.625;--emp-tracking-tight: -.02em;--emp-tracking-normal: 0;--emp-tracking-wide: .04em;--emp-tracking-wider: .08em;--emp-tracking-widest: .16em;--emp-brand-primary: var(--clinic-accent);--emp-brand-light: var(--clinic-accent-light);--emp-brand-50: var(--clinic-accent-light);--emp-brand-100: var(--clinic-accent-light);--emp-brand-200: #BFDBFE;--emp-brand-400: #3B82F6;--emp-brand-500: var(--clinic-accent);--emp-brand-600: var(--clinic-accent-hover);--emp-brand-glow: rgba(37, 99, 235, .15);--emp-navy-50: #F0F5FF;--emp-navy-100: #E0EAFF;--emp-navy-200: #C7D7FE;--emp-navy-300: #A4BCFD;--emp-navy-400: #8098F9;--emp-navy-500: #6172F3;--emp-navy-600: #444CE7;--emp-navy-700: #3538CD;--emp-navy-800: #2D31A6;--emp-navy-900: #2D3282;--emp-gold-50: #FFFBEB;--emp-gold-100: #FEF3C7;--emp-gold-200: #FDE68A;--emp-gold-300: #FCD34D;--emp-gold-400: #FBBF24;--emp-gold-500: #F59E0B;--emp-gold-600: #D97706;--emp-gold-700: #B45309;--emp-stone-0: #FFFFFF;--emp-stone-200: #E2E8F0;--emp-blue-300: #93C5FD;--emp-blue-400: #60A5FA;--emp-blue-500: #3B82F6;--emp-violet-300: #C4B5FD;--emp-violet-400: #A78BFA;--emp-violet-500: #8B5CF6;--emp-orange-300: #FDC585;--emp-orange-400: #FB923C;--emp-orange-500: #F97316;--emp-green-50: #F0FDF4;--emp-accent: var(--emp-gold-400);--emp-accent-100: var(--emp-gold-100);--emp-accent-400: var(--emp-gold-400);--emp-accent-500: var(--emp-gold-500);--emp-accent-600: var(--emp-gold-600);--emp-bg-canvas: var(--canvas);--emp-bg-base: var(--canvas);--emp-bg-card: var(--surface);--emp-bg-elevated: var(--surface);--emp-bg-recessed: var(--surface-2);--emp-bg-hover: #F1F5F9;--emp-bg-active: #E2E8F0;--emp-bg-input: var(--surface);--emp-bg-surface: var(--surface);--emp-surface-2: var(--surface-2);--emp-bg-sidebar: var(--sidebar-bg);--emp-bg-sidebar-hover: var(--sidebar-hover-bg);--emp-bg-sidebar-active: var(--sidebar-active-bg);--emp-text-primary: var(--text-primary);--emp-text-secondary: var(--text-secondary);--emp-text-tertiary: var(--text-tertiary);--emp-text-muted: var(--text-tertiary);--emp-text-disabled: var(--text-disabled);--emp-text-inverse: var(--text-inverse);--emp-text-inverse-muted: rgba(255, 255, 255, .65);--emp-text-on-gold: #1A1714;--emp-text-sidebar: var(--sidebar-text);--emp-text-sidebar-hover: rgba(255, 255, 255, .85);--emp-text-sidebar-active: var(--sidebar-active-text);--emp-text-sidebar-section: var(--sidebar-section);--emp-error: var(--color-danger);--emp-border: var(--border);--emp-border-subtle: #F1F5F9;--emp-border-medium: var(--border);--emp-border-strong: var(--border-strong);--emp-border-focus: var(--clinic-accent);--emp-border-focus-ring: rgba(37, 99, 235, .25);--emp-border-sidebar: var(--sidebar-border);--emp-radius-xs: 4px;--emp-radius-sm: var(--radius-sm);--emp-radius-md: var(--radius-md);--emp-radius-lg: var(--radius-lg);--emp-radius-xl: var(--radius-xl);--emp-radius-2xl: 20px;--emp-radius-3xl: 24px;--emp-radius-full: var(--radius-full);--emp-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--emp-shadow-sm: var(--shadow-sm);--emp-shadow-md: var(--shadow-md);--emp-shadow-lg: var(--shadow-lg);--emp-shadow-xl: var(--shadow-xl);--emp-shadow-2xl: 0 32px 64px rgba(0, 0, 0, .2);--emp-shadow-gold: 0 2px 8px rgba(15, 23, 42, .08);--emp-shadow-navy: 0 4px 20px rgba(45, 50, 130, .22);--emp-shadow-inset: inset 0 1px 3px rgba(0, 0, 0, .06);--emp-focus-ring: var(--shadow-focus);--emp-space-0: 0;--emp-space-px: 1px;--emp-space-0-5: 2px;--emp-space-1: var(--space-1);--emp-space-1-5: 6px;--emp-space-2: var(--space-2);--emp-space-2-5: 10px;--emp-space-3: var(--space-3);--emp-space-3-5: 14px;--emp-space-4: var(--space-4);--emp-space-5: var(--space-5);--emp-space-6: var(--space-6);--emp-space-7: 28px;--emp-space-8: var(--space-8);--emp-space-9: 36px;--emp-space-10: var(--space-10);--emp-space-12: var(--space-12);--emp-space-14: 56px;--emp-space-16: var(--space-16);--emp-space-20: 80px;--emp-space-24: 96px;--emp-sidebar-width: var(--sidebar-width);--emp-sidebar-collapsed: var(--sidebar-width-collapsed);--emp-sidebar-item-height: 40px;--emp-header-height: var(--header-height);--emp-header-bg: rgba(248, 250, 252, .92);--emp-header-border: var(--border);--emp-header-blur: blur(12px);--emp-content-max-width: var(--content-max-width);--emp-content-padding: var(--content-padding);--emp-content-padding-mobile: 16px;--emp-bottom-nav-height: 64px;--emp-bottom-nav-bg: rgba(248, 250, 252, .92);--emp-bottom-nav-blur: blur(12px);--emp-bottom-nav-border: var(--border);--emp-bottom-nav-radius: 20px;--emp-bottom-nav-margin-x: 12px;--emp-funnel-nav-width: 220px;--emp-funnel-header-height: 48px;--emp-funnel-nav-width-min: 200px;--emp-funnel-nav-width-wide: 240px;--emp-funnel-nav-width-xl: 260px;--emp-funnel-nav-width-current: clamp(200px, 14vw, 260px);--emp-funnel-filter-frame-h: 100px;--emp-funnel-filter-frame-h-c: 132px;--emp-funnel-filter-frame-h-d: 168px;--emp-funnel-filter-row-h: 36px;--emp-funnel-chip-h: 28px;--emp-funnel-chip-h-sm: 24px;--emp-funnel-preset-h: 32px;--emp-funnel-search-h: 32px;--emp-funnel-block-h: 40px;--emp-funnel-stage-h: 32px;--emp-funnel-stage-indent: 12px;--emp-funnel-manual-color: var(--emp-orange-400);--emp-funnel-manual-bg: var(--emp-gold-100);--emp-duration-instant: 80ms;--emp-duration-fast: .15s;--emp-duration-base: .2s;--emp-duration-slow: .3s;--emp-duration-slower: .45s;--emp-duration-dramatic: .6s;--emp-dur-press: .1s;--emp-dur-hover: .18s;--emp-dur-appear: .28s;--emp-dur-page: .32s;--emp-dur-modal: .24s;--emp-dur-slide: .3s;--emp-motion-fast: var(--emp-duration-fast);--emp-motion-base: var(--emp-duration-base);--emp-anim-fast: var(--emp-duration-fast);--emp-ease-default: cubic-bezier(.2, 0, 0, 1);--emp-ease-out: cubic-bezier(0, 0, .2, 1);--emp-ease-in: cubic-bezier(.4, 0, 1, .6);--emp-ease-spring: cubic-bezier(.22, 1, .36, 1);--emp-ease-linear: linear;--emp-ease: var(--emp-ease-default);--emp-spring-bouncy: cubic-bezier(.22, 1, .36, 1);--emp-spring-soft: cubic-bezier(.22, 1, .36, 1);--emp-spring-snappy: cubic-bezier(.25, .46, .45, .94);--emp-trans-fast: var(--emp-duration-fast) var(--emp-ease-default);--emp-trans-base: var(--emp-duration-base) var(--emp-ease-default);--emp-trans-slow: var(--emp-duration-slow) var(--emp-ease-out);--emp-transition-fast: var(--transition-fast);--emp-transition-base: var(--transition-base);--emp-success: var(--color-success);--emp-success-light: var(--color-success-light);--emp-success-mid: #BBF7D0;--emp-success-deep: #15803D;--emp-success-bg: var(--color-success-light);--emp-warning: var(--color-warning);--emp-warning-light: var(--color-warning-light);--emp-warning-mid: #FEF08A;--emp-warning-deep: #A16207;--emp-warning-bg: var(--color-warning-light);--emp-danger: var(--color-danger);--emp-danger-light: var(--color-danger-light);--emp-danger-mid: #FECACA;--emp-danger-deep: #B91C1C;--emp-danger-bg: var(--color-danger-light);--emp-info: var(--color-info);--emp-info-light: var(--color-info-light);--emp-info-mid: #BFDBFE;--emp-info-deep: #1D4ED8;--emp-info-bg: var(--color-info-light);--emp-task-open: #D97706;--emp-task-open-bg: #FFFBEB;--emp-task-open-border: #FDE68A;--emp-task-progress: #2563EB;--emp-task-progress-bg: #EFF6FF;--emp-task-progress-border: #BFDBFE;--emp-task-done: #059669;--emp-task-done-bg: #ECFDF5;--emp-task-done-border: #A7F3D0;--emp-task-cancelled: #6B7280;--emp-task-cancelled-bg: #F9FAFB;--emp-task-cancelled-border: #E5E7EB;--emp-patient-needs-contact: #D97706;--emp-patient-needs-contact-bg: #FFFBEB;--emp-patient-waiting: #7C3AED;--emp-patient-waiting-bg: #F5F3FF;--emp-patient-in-treatment: #2563EB;--emp-patient-in-treatment-bg: #EFF6FF;--emp-patient-completed: #059669;--emp-patient-completed-bg: #ECFDF5;--emp-medical: #0EA5E9;--emp-medical-light: #E0F2FE;--emp-medical-mid: #BAE6FD;--emp-medical-deep: #0369A1;--emp-finance: #10B981;--emp-finance-light: #D1FAE5;--emp-finance-mid: #A7F3D0;--emp-finance-deep: #065F46;--emp-comms: #8B5CF6;--emp-comms-light: #EDE9FE;--emp-comms-mid: #DDD6FE;--emp-comms-deep: #5B21B6;--emp-mgmt: #F59E0B;--emp-mgmt-light: #FEF3C7;--emp-mgmt-mid: #FDE68A;--emp-mgmt-deep: #92400E;--emp-urgent: #DC2626;--emp-urgent-light: #FEE2E2;--emp-urgent-mid: #FECACA;--emp-urgent-deep: #991B1B;--emp-elev-0: none;--emp-elev-1: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .03);--emp-elev-2: 0 3px 8px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .04);--emp-elev-3: 0 6px 18px rgba(15, 23, 42, .09), 0 2px 6px rgba(15, 23, 42, .05);--emp-elev-4: 0 12px 32px rgba(15, 23, 42, .1), 0 4px 12px rgba(15, 23, 42, .06);--emp-elev-5: 0 24px 56px rgba(15, 23, 42, .13), 0 8px 20px rgba(15, 23, 42, .08);--emp-elev-gold-sm: 0 1px 3px rgba(15, 23, 42, .05), 0 1px 2px rgba(15, 23, 42, .03);--emp-elev-gold-md: 0 3px 8px rgba(15, 23, 42, .07), 0 1px 3px rgba(15, 23, 42, .04);--emp-elev-gold-lg: 0 6px 18px rgba(15, 23, 42, .09), 0 2px 6px rgba(15, 23, 42, .05);--emp-elev-navy-sm: 0 2px 12px rgba(45, 50, 130, .16), 0 1px 4px rgba(45, 50, 130, .1);--emp-elev-navy-md: 0 4px 20px rgba(45, 50, 130, .22), 0 2px 8px rgba(45, 50, 130, .13);--emp-card-glass-bg: var(--surface);--emp-card-glass-border: var(--border);--emp-card-glass-shadow: var(--emp-elev-2);--emp-card-glass-blur: none;--emp-card-radius: var(--radius-lg);--emp-stat-bg: var(--surface);--emp-stat-border: var(--border);--emp-input-height: 44px;--emp-input-height-sm: 36px;--emp-input-height-lg: 52px;--emp-input-pad-x: 14px;--emp-input-bg: var(--surface);--emp-input-border: var(--border);--emp-input-border-hover: var(--border-strong);--emp-input-border-focus: var(--clinic-accent);--emp-input-shadow-focus: var(--shadow-focus);--emp-input-radius: var(--radius-md);--emp-overlay-bg: rgba(15, 23, 42, .5);--emp-overlay-blur: blur(4px);--emp-modal-bg: var(--surface);--emp-modal-radius: var(--radius-xl);--emp-modal-shadow: var(--emp-elev-5);--emp-modal-max-w: 520px;--emp-badge-height: 24px;--emp-badge-pad-x: 10px;--emp-badge-font-size: 11px;--emp-badge-font-weight: 600;--emp-badge-radius: var(--radius-full);--emp-row-height: 56px;--emp-row-hover-bg: #F8FAFC;--emp-row-active-bg: #F1F5F9;--emp-skeleton-base: #F1F5F9;--emp-skeleton-highlight: #F8FAFC;--emp-skeleton-bg: var(--emp-skeleton-base);--emp-skeleton-animation: emp-shimmer 1.6s ease-in-out infinite;--emp-dot-online: #22C55E;--emp-dot-busy: #F59E0B;--emp-dot-offline: #94A3B8;--emp-progress-radius: var(--radius-full);--emp-progress-height: 6px;--emp-grad-navy: linear-gradient(135deg, #1E3A8A 0%, #2563EB 100%);--emp-grad-navy-subtle: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);--emp-grad-gold: linear-gradient(135deg, #F59E0B 0%, #FCD34D 100%);--emp-grad-gold-subtle: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);--emp-grad-warm: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);--emp-grad-hero: linear-gradient(160deg, #0F172A 0%, #1E3A8A 50%, #2563EB 100%);--emp-grad-medical: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);--emp-grad-finance: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);--emp-grad-executive: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);--emp-grad-curator: linear-gradient(135deg, #F5F3FF 0%, #EDE9FE 100%);--emp-grad-primary: var(--emp-grad-navy);--emp-glass-bg: var(--surface);--emp-glass-xs: rgba(255, 255, 255, .95);--emp-glass-sm: rgba(255, 255, 255, .97);--emp-glass-md: rgba(255, 255, 255, .98);--emp-glass-lg: rgba(255, 255, 255, 1);--emp-glass-light: rgba(255, 255, 255, .98);--emp-glass-nav: rgba(248, 250, 252, .96);--emp-glass-border: var(--border);--emp-glass-border-gold: rgba(251, 191, 36, .2);--emp-glass-sidebar-dark: rgba(15, 23, 42, .98);--emp-blur-xs: none;--emp-blur-sm: none;--emp-blur-md: none;--emp-blur-lg: none;--emp-blur-xl: none;--emp-reports-heat-0: #F1F5F9;--emp-reports-heat-1: #BFDBFE;--emp-reports-heat-2: #60A5FA;--emp-reports-heat-3: #2563EB;--emp-reports-heat-4: #1D4ED8;--emp-reports-heat-needs: #FEF3C7;--emp-reports-heat-over: #FEE2E2;--emp-reports-heat-text-light: #FFFFFF}*,*:before,*:after{box-sizing:border-box}:where(:not([data-v4-root] *)){margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent;text-size-adjust:100%;scroll-behavior:smooth;height:100%}body{font-family:var(--font-base);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:1.6;color:var(--text-primary);background-color:var(--canvas);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{height:100%}h1:where(:not([data-v4-root] *)),h2:where(:not([data-v4-root] *)),h3:where(:not([data-v4-root] *)),h4:where(:not([data-v4-root] *)),h5:where(:not([data-v4-root] *)),h6:where(:not([data-v4-root] *)),.emp-heading{font-family:var(--font-base);font-weight:var(--weight-semibold);line-height:1.25;letter-spacing:-.02em;color:var(--text-primary)}h1:where(:not([data-v4-root] *)){font-size:var(--text-4xl)}h2:where(:not([data-v4-root] *)){font-size:var(--text-3xl)}h3:where(:not([data-v4-root] *)){font-size:var(--text-2xl)}h4:where(:not([data-v4-root] *)){font-size:var(--text-xl)}h5:where(:not([data-v4-root] *)){font-size:var(--text-lg)}h6:where(:not([data-v4-root] *)){font-size:var(--text-base)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;outline:none}img,video{max-width:100%;display:block}.mono,[data-mono],.amount,.phone,.patient-id{font-family:var(--font-mono)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:focus-visible{outline:2px solid var(--clinic-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:#2563eb26;color:var(--text-primary)}@keyframes emp-shimmer{0%{background-position:-1200px 0}to{background-position:1200px 0}}.emp-skeleton{background:linear-gradient(90deg,var(--emp-skeleton-base) 25%,var(--emp-skeleton-highlight) 50%,var(--emp-skeleton-base) 75%);background-size:2400px 100%;animation:emp-shimmer 1.8s ease-in-out infinite;border-radius:var(--emp-radius-sm)}@keyframes emp-page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.emp-page-enter{animation:emp-page-enter var(--emp-dur-page) var(--emp-spring-soft) both}@keyframes emp-item-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.emp-stagger>*{animation:emp-item-enter var(--emp-dur-appear) var(--emp-spring-soft) both}.emp-stagger>*:nth-child(1){animation-delay:0ms}.emp-stagger>*:nth-child(2){animation-delay:30ms}.emp-stagger>*:nth-child(3){animation-delay:60ms}.emp-stagger>*:nth-child(4){animation-delay:90ms}.emp-stagger>*:nth-child(5){animation-delay:.12s}.emp-stagger>*:nth-child(6){animation-delay:.15s}.emp-stagger>*:nth-child(n+7){animation-delay:.18s}@keyframes emp-card-enter{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.emp-stagger--cards>*{animation:emp-card-enter var(--emp-dur-appear) var(--emp-spring-soft) both}.emp-stagger--cards>*:nth-child(1){animation-delay:0ms}.emp-stagger--cards>*:nth-child(2){animation-delay:40ms}.emp-stagger--cards>*:nth-child(3){animation-delay:80ms}.emp-stagger--cards>*:nth-child(4){animation-delay:.12s}.emp-stagger--cards>*:nth-child(n+5){animation-delay:.16s}@keyframes emp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.97)}}.emp-pulse{animation:emp-pulse 2.4s ease-in-out infinite}@keyframes emp-dot-blink{0%,to{opacity:1}50%{opacity:.3}}.emp-dot-online{width:8px;height:8px;background:var(--emp-dot-online);border-radius:50%;box-shadow:0 0 0 2px var(--color-success-light)}@keyframes emp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.emp-spinner{width:20px;height:20px;border:2px solid var(--emp-border-medium);border-top-color:var(--clinic-accent);border-radius:50%;animation:emp-spin .7s linear infinite}.emp-spinner--sm{width:14px;height:14px;border-width:1.5px}.emp-spinner--lg{width:32px;height:32px;border-width:3px}@keyframes emp-slide-in-left{0%{transform:translate(-100%);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes emp-slide-in-up{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes emp-slide-in-down{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.emp-dropdown-enter{animation:emp-slide-in-down var(--emp-dur-modal) var(--emp-spring-soft) both}@keyframes emp-pop-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.emp-pop-in{animation:emp-pop-in var(--emp-dur-hover) var(--emp-spring-bouncy) both}@keyframes emp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes emp-fade-out{0%{opacity:1}to{opacity:0}}@keyframes emp-modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes emp-backdrop-enter{0%{opacity:0}to{opacity:1}}.emp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--emp-overlay-bg);display:flex;align-items:center;justify-content:center;padding:var(--emp-space-4);animation:emp-backdrop-enter var(--emp-dur-modal) var(--emp-ease-out) both}.emp-modal{background:var(--emp-modal-bg);border-radius:var(--emp-modal-radius);box-shadow:var(--emp-modal-shadow);border:1px solid var(--emp-border);width:100%;max-width:var(--emp-modal-max-w);max-height:90dvh;overflow-y:auto;position:relative;animation:emp-modal-enter var(--emp-dur-modal) var(--emp-spring-soft) both}.emp-modal-header{padding:var(--emp-space-5) var(--emp-space-6);border-bottom:1px solid var(--emp-border);display:flex;align-items:center;justify-content:space-between;gap:var(--emp-space-3);position:sticky;top:0;background:var(--emp-modal-bg);z-index:1;border-radius:var(--emp-modal-radius) var(--emp-modal-radius) 0 0}.emp-modal-header:before{content:"";position:absolute;top:0;left:var(--emp-space-6);right:var(--emp-space-6);height:2px;background:linear-gradient(90deg,transparent 0%,var(--clinic-accent) 30%,var(--clinic-accent-hover) 70%,transparent 100%)}.emp-modal-title{font-family:var(--font-base);font-size:var(--emp-text-lg);font-weight:var(--emp-weight-semibold);color:var(--emp-text-primary);letter-spacing:var(--emp-tracking-tight)}.emp-modal-close{width:32px;height:32px;border-radius:var(--emp-radius-full);background:var(--emp-bg-hover);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--emp-text-muted);flex-shrink:0;transition:background var(--emp-dur-hover) var(--emp-spring-soft),color var(--emp-dur-hover) var(--emp-spring-soft),transform var(--emp-dur-hover) var(--emp-spring-bouncy)}.emp-modal-close:hover{background:var(--emp-bg-active);color:var(--emp-text-primary);transform:scale(1.06)}.emp-modal-close:active{transform:scale(.94)}.emp-modal-body{padding:var(--emp-space-6)}.emp-modal-footer{padding:var(--emp-space-4) var(--emp-space-6);border-top:1px solid var(--emp-border);display:flex;justify-content:flex-end;gap:var(--emp-space-3)}@media(max-width:640px){.emp-modal-backdrop{align-items:flex-end;padding:0}.emp-modal{max-width:100%;max-height:92dvh;border-radius:var(--emp-radius-xl) var(--emp-radius-xl) 0 0;animation:emp-slide-in-up var(--emp-dur-slide) var(--emp-spring-soft) both}}.emp-form-group{display:flex;flex-direction:column;gap:var(--emp-space-2);position:relative}.emp-form-label{font-size:11px;font-weight:var(--emp-weight-semibold);color:var(--emp-text-secondary);text-transform:uppercase;letter-spacing:.08em;transition:color var(--emp-dur-hover) var(--emp-spring-soft)}.emp-form-group:focus-within .emp-form-label{color:var(--clinic-accent)}.emp-input{width:100%;height:var(--emp-input-height);padding:0 var(--emp-input-pad-x);font-size:var(--emp-text-base);font-family:var(--font-base);color:var(--emp-text-primary);background:var(--emp-input-bg);border:1.5px solid var(--emp-input-border);border-radius:var(--emp-input-radius);outline:none;transition:border-color var(--emp-dur-hover) var(--emp-spring-soft),box-shadow var(--emp-dur-hover) var(--emp-spring-soft)}.emp-input::placeholder{color:var(--emp-text-muted)}.emp-input:hover:not(:focus):not(:disabled){border-color:var(--emp-input-border-hover)}.emp-input:focus{border-color:var(--emp-input-border-focus);box-shadow:var(--emp-input-shadow-focus)}.emp-input:disabled{opacity:.5;cursor:not-allowed;background:var(--emp-bg-recessed)}.emp-input--sm{height:var(--emp-input-height-sm);font-size:var(--emp-text-sm)}.emp-input--lg{height:var(--emp-input-height-lg);font-size:var(--emp-text-md)}.emp-input--error{border-color:var(--color-danger);background:var(--color-danger-light)}.emp-input--error:focus{box-shadow:0 0 0 3px #ef444426;border-color:var(--color-danger)}.emp-form-error{font-size:12px;color:var(--color-danger);display:flex;align-items:center;gap:var(--emp-space-1-5)}:where(input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]){font:inherit;color:var(--emp-text-primary);background:var(--emp-input-bg);border:1.5px solid var(--emp-input-border);border-radius:var(--emp-input-radius);height:var(--emp-input-height);padding:0 var(--emp-input-pad-x);outline:none;cursor:pointer;font-variant-numeric:tabular-nums;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--emp-dur-hover) var(--emp-spring-soft),box-shadow var(--emp-dur-hover) var(--emp-spring-soft)}:where(input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]):hover:not(:focus):not(:disabled){border-color:var(--emp-input-border-hover)}:where(input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]):focus{border-color:var(--emp-input-border-focus);box-shadow:var(--emp-input-shadow-focus)}:where(input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]):disabled{opacity:.5;cursor:not-allowed;background:var(--emp-bg-recessed)}:where(input[type=date],input[type=datetime-local],input[type=month]):not(:focus):invalid{color:var(--emp-text-muted)}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator,input[type=week]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;margin-left:6px;border-radius:6px;opacity:.55;transition:opacity .12s ease,background .12s ease}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,input[type=month]::-webkit-calendar-picker-indicator:hover,input[type=week]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1;background:var(--emp-bg-recessed)}input[type=datetime-local]::-webkit-inner-spin-button,input[type=time]::-webkit-inner-spin-button{display:none}:where(input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]).emp-input--sm{height:var(--emp-input-height-sm);font-size:var(--emp-text-sm);padding:0 var(--emp-space-3)}:where(input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time]).emp-input--lg{height:var(--emp-input-height-lg);font-size:var(--emp-text-md)}.emp-date-range{display:inline-flex;align-items:center;gap:var(--emp-space-2)}.emp-date-range__sep{color:var(--emp-text-muted);font-size:var(--emp-text-sm);-webkit-user-select:none;user-select:none}.emp-textarea{width:100%;padding:var(--emp-space-3) var(--emp-input-pad-x);font-size:var(--emp-text-sm);font-family:var(--font-base);color:var(--emp-text-primary);background:var(--emp-input-bg);border:1.5px solid var(--emp-input-border);border-radius:var(--emp-input-radius);outline:none;min-height:96px;resize:vertical;line-height:var(--emp-leading-relaxed);transition:border-color var(--emp-dur-hover) var(--emp-spring-soft),box-shadow var(--emp-dur-hover) var(--emp-spring-soft)}.emp-textarea::placeholder{color:var(--emp-text-muted)}.emp-textarea:hover:not(:focus){border-color:var(--emp-input-border-hover)}.emp-textarea:focus{border-color:var(--emp-input-border-focus);box-shadow:var(--emp-input-shadow-focus)}.emp-card-glass{background:var(--emp-card-glass-bg);border:1px solid var(--emp-card-glass-border);box-shadow:var(--emp-card-glass-shadow);border-radius:var(--emp-card-radius)}.emp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--emp-space-2);border:none;border-radius:var(--radius-md);font-family:var(--font-base);font-weight:var(--emp-weight-semibold);cursor:pointer;white-space:nowrap;transition:background var(--emp-dur-hover) var(--emp-spring-soft),box-shadow var(--emp-dur-hover) var(--emp-spring-soft),transform var(--emp-dur-hover) var(--emp-spring-bouncy)}.emp-btn:active:not(:disabled){transform:scale(.97);transition-duration:var(--emp-dur-press)}.emp-btn:disabled{opacity:.5;cursor:not-allowed}.emp-btn--primary{background:var(--clinic-accent);color:var(--clinic-accent-text);box-shadow:var(--emp-elev-navy-sm);padding:0 var(--emp-space-5);height:40px;font-size:var(--emp-text-sm)}.emp-btn--primary:hover:not(:disabled){background:var(--clinic-accent-hover);box-shadow:var(--emp-elev-navy-md)}.emp-btn--gold{background:var(--emp-gold-400);color:#1a1714;box-shadow:var(--emp-elev-gold-sm);padding:0 var(--emp-space-5);height:40px;font-size:var(--emp-text-sm)}.emp-btn--gold:hover:not(:disabled){background:var(--emp-gold-500);box-shadow:var(--emp-elev-gold-md)}.emp-btn--ghost{background:transparent;color:var(--emp-text-secondary);border:1px solid var(--emp-border);padding:0 var(--emp-space-4);height:36px;font-size:var(--emp-text-sm)}.emp-btn--ghost:hover:not(:disabled){background:var(--emp-bg-hover);color:var(--emp-text-primary)}.emp-badge{display:inline-flex;align-items:center;gap:5px;height:var(--emp-badge-height);padding:0 var(--emp-badge-pad-x);font-size:var(--emp-badge-font-size);font-weight:var(--emp-badge-font-weight);border-radius:var(--emp-badge-radius);white-space:nowrap;border:1px solid transparent}.emp-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.emp-badge--no-dot:before{display:none}.emp-badge--success{background:var(--emp-success-light);color:var(--emp-success);border-color:#22c55e2e}.emp-badge--warning{background:var(--emp-warning-light);color:var(--emp-warning);border-color:#eab3082e}.emp-badge--danger{background:var(--emp-danger-light);color:var(--emp-danger);border-color:#ef44442e}.emp-badge--info{background:var(--emp-info-light);color:var(--emp-info);border-color:#3b82f62e}.emp-badge--muted{background:var(--emp-bg-hover);color:var(--emp-text-muted);border-color:var(--emp-border)}.emp-badge--urgent{background:var(--emp-danger-light);color:var(--emp-danger);border-color:#ef444440}.emp-badge--lg{height:28px;padding:0 12px;font-size:12px}.emp-progress-bar{height:var(--emp-progress-height);border-radius:var(--emp-progress-radius);background:var(--emp-bg-hover);overflow:hidden}.emp-progress-fill{height:100%;width:100%;border-radius:var(--emp-progress-radius);background:linear-gradient(90deg,var(--clinic-accent-hover),var(--clinic-accent));transform-origin:left center;transform:scaleX(var(--progress, 0));transition:transform .5s var(--emp-spring-soft)}.emp-bottom-nav{display:none}@media(max-width:767px){.emp-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--emp-bottom-nav-height);background:var(--emp-bottom-nav-bg);border-top:1px solid var(--emp-bottom-nav-border);z-index:var(--z-sticky);justify-content:space-around;align-items:center;padding:0 var(--emp-space-1);padding-bottom:env(safe-area-inset-bottom,0)}.emp-bottom-nav a{display:flex;flex-direction:column;align-items:center;position:relative;gap:var(--emp-space-1);padding:var(--emp-space-2) var(--emp-space-2-5);font-size:var(--emp-text-xs);font-weight:var(--emp-weight-medium);color:var(--emp-text-muted);text-decoration:none;border-radius:var(--emp-radius-md);min-width:48px;min-height:48px;justify-content:center;transition:color var(--emp-trans-fast);letter-spacing:var(--emp-tracking-wide)}.emp-bottom-nav a.active{color:var(--clinic-accent)}.emp-bottom-nav a.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--clinic-accent);border-radius:0 0 var(--emp-radius-full) var(--emp-radius-full)}.emp-bottom-nav .nav-icon{font-size:22px;transition:transform var(--emp-trans-fast)}.emp-bottom-nav a.active .nav-icon{transform:scale(1.1)}.emp-sidebar-desktop{display:none!important}.emp-main-content{padding-bottom:calc(var(--emp-bottom-nav-height) + var(--emp-space-4))!important}.emp-page-content{padding:var(--emp-content-padding-mobile)!important}}@media(max-width:767px){:root{--sidebar-width: 0px;--emp-sidebar-width: 0px;--header-height: 56px;--emp-header-height: 56px;--content-padding: 16px;--emp-content-padding: 16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.emp-skeleton{animation:none;background:var(--emp-skeleton-base)}}:root{--state-critical-color: #EF4444;--state-critical-bg: #FEF2F2;--state-critical-border: #FECACA;--state-attention-color: #F97316;--state-attention-bg: #FFF7ED;--state-attention-border: #FED7AA;--state-warning-color: #EAB308;--state-warning-bg: #FEFCE8;--state-warning-border: #FEF08A;--state-active-color: #22C55E;--state-active-bg: #F0FDF4;--state-active-border: #BBF7D0;--state-scheduled-color: #3B82F6;--state-scheduled-bg: #EFF6FF;--state-scheduled-border: #BFDBFE;--state-vip-color: #A855F7;--state-vip-bg: #FAF5FF;--state-vip-border: #E9D5FF;--state-deposit-color: #64748B;--state-deposit-bg: #F1F5F9;--state-deposit-border: #CBD5E1;--state-new-color: #EC4899;--state-new-bg: #FDF2F8;--state-new-border: #FBCFE8;--state-archive-color: #94A3B8;--state-archive-bg: #F8FAFC;--state-archive-border: #E2E8F0;--state-debt-color: #92400E;--state-debt-bg: #FEF3C7;--state-debt-border: #FDE68A}.patient-state-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.patient-state-dot.state-critical{background-color:var(--state-critical-color)}.patient-state-dot.state-attention{background-color:var(--state-attention-color)}.patient-state-dot.state-warning{background-color:var(--state-warning-color)}.patient-state-dot.state-active{background-color:var(--state-active-color)}.patient-state-dot.state-scheduled{background-color:var(--state-scheduled-color)}.patient-state-dot.state-vip{background-color:var(--state-vip-color)}.patient-state-dot.state-deposit{background-color:var(--state-deposit-color)}.patient-state-dot.state-new{background-color:var(--state-new-color)}.patient-state-dot.state-archive{background-color:var(--state-archive-color)}.patient-state-dot.state-debt{background-color:var(--state-debt-color)}.patient-state-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.4;border:1px solid transparent}.patient-state-badge.state-critical{color:var(--state-critical-color);background:var(--state-critical-bg);border-color:var(--state-critical-border)}.patient-state-badge.state-attention{color:var(--state-attention-color);background:var(--state-attention-bg);border-color:var(--state-attention-border)}.patient-state-badge.state-warning{color:var(--state-warning-color);background:var(--state-warning-bg);border-color:var(--state-warning-border)}.patient-state-badge.state-active{color:var(--state-active-color);background:var(--state-active-bg);border-color:var(--state-active-border)}.patient-state-badge.state-scheduled{color:var(--state-scheduled-color);background:var(--state-scheduled-bg);border-color:var(--state-scheduled-border)}.patient-state-badge.state-vip{color:var(--state-vip-color);background:var(--state-vip-bg);border-color:var(--state-vip-border)}.patient-state-badge.state-deposit{color:var(--state-deposit-color);background:var(--state-deposit-bg);border-color:var(--state-deposit-border)}.patient-state-badge.state-new{color:var(--state-new-color);background:var(--state-new-bg);border-color:var(--state-new-border)}.patient-state-badge.state-archive{color:var(--state-archive-color);background:var(--state-archive-bg);border-color:var(--state-archive-border)}.patient-state-badge.state-debt{color:var(--state-debt-color);background:var(--state-debt-bg);border-color:var(--state-debt-border)}:root{--task-overdue-color: #EF4444;--task-overdue-bg: #FEF2F2;--task-today-color: #F97316;--task-today-bg: #FFF7ED;--task-soon-color: #EAB308;--task-soon-bg: #FEFCE8;--task-done-color: #22C55E;--task-done-bg: #F0FDF4;--task-cancelled-color: #94A3B8;--task-cancelled-bg: #F8FAFC}.task-state-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.4}.task-state-badge.task-overdue{color:var(--task-overdue-color);background:var(--task-overdue-bg)}.task-state-badge.task-today{color:var(--task-today-color);background:var(--task-today-bg)}.task-state-badge.task-soon{color:var(--task-soon-color);background:var(--task-soon-bg)}.task-state-badge.task-done{color:var(--task-done-color);background:var(--task-done-bg)}.task-state-badge.task-cancelled{color:var(--task-cancelled-color);background:var(--task-cancelled-bg);text-decoration:line-through}:root{--step-planned-color: #64748B;--step-planned-bg: #F1F5F9;--step-in-progress-color: #3B82F6;--step-in-progress-bg: #EFF6FF;--step-awaiting-color: #F97316;--step-awaiting-bg: #FFF7ED;--step-paid-color: #A855F7;--step-paid-bg: #FAF5FF;--step-done-color: #22C55E;--step-done-bg: #F0FDF4;--step-cancelled-color: #94A3B8;--step-cancelled-bg: #F8FAFC}.step-state-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.4}.step-state-badge.step-planned{color:var(--step-planned-color);background:var(--step-planned-bg)}.step-state-badge.step-in-progress{color:var(--step-in-progress-color);background:var(--step-in-progress-bg)}.step-state-badge.step-awaiting{color:var(--step-awaiting-color);background:var(--step-awaiting-bg)}.step-state-badge.step-paid{color:var(--step-paid-color);background:var(--step-paid-bg)}.step-state-badge.step-done{color:var(--step-done-color);background:var(--step-done-bg)}.step-state-badge.step-cancelled{color:var(--step-cancelled-color);background:var(--step-cancelled-bg)}tr.row-critical{background:var(--state-critical-bg)}tr.row-attention{background:var(--state-attention-bg)}tr.row-warning{background:var(--state-warning-bg)}*:focus-visible{outline:2px solid var(--clinic-accent)!important;outline-offset:2px!important;border-radius:var(--radius-sm)!important}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none!important;border-color:var(--clinic-accent)!important;box-shadow:var(--shadow-focus)!important}.emp-error-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-medium);border:1px solid #FECACA}.emp-error-banner:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-danger);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}.emp-field-error{font-size:var(--text-xs);color:var(--color-danger);margin-top:var(--space-1);display:flex;align-items:center;gap:4px}button:not([disabled]){transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}a{transition:color var(--transition-fast),opacity var(--transition-fast)}button[disabled],input[disabled],select[disabled],textarea[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.emp-loading-text{color:var(--text-tertiary);font-size:var(--text-sm);padding:var(--space-6) var(--space-4);text-align:center}.emp-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);color:var(--text-tertiary)}.emp-empty-state__icon{width:48px;height:48px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.emp-empty-state__title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-secondary);text-align:center}.emp-empty-state__hint{margin:0;font-size:var(--text-sm);color:var(--text-tertiary);text-align:center}:root{--gap-xs: var(--space-1);--gap-sm: var(--space-2);--gap-md: var(--space-3);--gap-base: var(--space-4);--gap-lg: var(--space-6);--gap-xl: var(--space-8)}.schedule-visit-card{border-left:1px solid var(--emp-border)!important}.schedule-visit-card:hover{border-color:var(--emp-brand-200)!important;background:var(--clinic-accent-light)!important}.rev-reply-block{border-left:none!important;border:1px solid var(--emp-brand-200, #BFDBFE)!important}.notifications-item--unread{border-left:none!important}.notif2-row--unread{background:color-mix(in srgb,var(--clinic-accent-light) 60%,#fff)!important}.lab-kcol{border-radius:0 0 var(--radius-xl) var(--radius-xl)!important}.emp-skeleton{transition:opacity .2s ease}.emp-page-enter>section+section{margin-top:var(--space-6)}@media(pointer:coarse){.emp-btn,.emp-iconbtn,button,[role=button]{min-height:44px;min-width:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
