/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*,:before,:after{-webkit-tap-highlight-color:transparent}body,button,nav,header,aside,[role=navigation],.sidebar,.topbar,.mobile-bottom-nav,.tab-btn,.tab-nav,.nav-item,.summary-card,.detail-card,.dash-v2-card,.appt-dash-card,.tp-session-card{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true],td,th,p,.guide-content,.modal-body,.empty-state{-webkit-user-select:text;user-select:text}body{touch-action:manipulation}.page-scroll-area::-webkit-scrollbar{display:none}.mobile-bottom-nav::-webkit-scrollbar{display:none}@media (hover:none) and (pointer:coarse){.btn-primary:hover,.btn-secondary:hover,.btn-danger:hover,.nav-item:hover,.tab-btn:hover,.action-icon:hover,.dash-v2-card:hover,.tp-session-card:hover,.appt-dash-card:hover,.detail-card:hover{background:unset;border-color:unset;transform:none}.btn-primary:active,.btn-secondary:active,.btn-danger:active{opacity:.85;transition:transform .1s,opacity .1s;transform:scale(.97)}.nav-item:active,.tab-btn:active,.action-icon:active,.mobile-bottom-nav-item:active{opacity:.7;transition:transform 80ms,opacity 80ms;transform:scale(.93)}.dash-v2-card:active,.tp-session-card:active,.appt-dash-card:active,.detail-card:active{opacity:.9;transition:transform .1s,opacity .1s;transform:scale(.98)}tbody tr:active{transition:background .1s;background:var(--accent-light)!important}}.network-toast{bottom:calc(70px + env(safe-area-inset-bottom,0px));z-index:9999;white-space:nowrap;border-radius:24px;align-items:center;gap:8px;padding:10px 20px;font-size:.82rem;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) toastSlideUp;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #00000040}.network-toast-offline{background:var(--danger);color:#fff}.network-toast-online{background:var(--success);color:#fff}.network-retry-btn{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:flex}.network-retry-btn:active{transform:scale(.95)}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.spin{animation:1s linear infinite spinAnim}@keyframes spinAnim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-scroll-area,.tab-nav,.tabs{scrollbar-width:none}:root{--primary:#4ecdc4;--primary-hover:#45b7af;--primary-light:#4ecdc41f;--accent:#4ecdc4;--accent-hover:#45b7af;--accent-light:#4ecdc414;--success:#34d399;--success-light:#34d3991f;--warning:#fbbf24;--warning-light:#fbbf241f;--danger:#f87171;--danger-light:#f871711f;--surface:#0f172aa6;--background:#070b14;--border:#ffffff14;--border-light:#ffffff0a;--border-emphasis:#ffffff24;--text-primary:#e8ecf1;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--chart-blue:#60a5fa;--chart-red:#f87171;--chart-green:#34d399;--chart-amber:#fbbf24;--chart-purple:#a78bfa;--chart-cyan:#22d3ee;--chart-pink:#f472b6;--chart-teal:#4ecdc4;--chart-orange:#fb923c;--chart-indigo:#818cf8;--chart-gray:#64748b;--info:#22d3ee;--indigo:#818cf8;--grid-line:#ffffff0a;--tick-color:#475569;--status-checkedin-bg:#34d39926;--status-checkedin-text:#34d399;--status-cancelled-bg:#f8717126;--status-cancelled-text:#f87171;--status-confirmed-bg:#4ecdc426;--status-confirmed-text:#4ecdc4;--status-pending-bg:#64748b33;--status-pending-text:#94a3b8;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--shadow-xs:0 1px 3px #0000004d;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 32px #0006;--shadow-xl:0 16px 48px #00000080;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--transition-fast:.12s ease-out;--transition-base:.2s ease-out;--transition-slow:.32s cubic-bezier(.16, 1, .3, 1);--sidebar-width:256px;--control-bg:#ffffff0d;--control-border:#ffffff1a;--control-focus:#4ecdc440;--glass-bg:#0f172a80;--glass-border:#ffffff14;--glass-blur:16px;--glass-shadow:0 4px 24px #00000040;--glass-hover-shadow:0 8px 32px #00000059;--glow-accent:0 0 20px #4ecdc426;--glow-accent-lg:0 0 40px #4ecdc41a}[data-theme=light]{--primary:#3d8b7f;--primary-hover:#357a6f;--primary-light:#3d8b7f1a;--accent:#3d8b7f;--accent-hover:#357a6f;--accent-light:#3d8b7f14;--success:#2f9e6b;--success-light:#2f9e6b1a;--warning:#d4942a;--warning-light:#d4942a1a;--danger:#d45555;--danger-light:#d455551a;--surface:#ffffffb3;--background:#eeedf5;--border:#7864a01f;--border-light:#7864a00f;--border-emphasis:#7864a02e;--text-primary:#1e1b2e;--text-secondary:#4a4660;--text-tertiary:#706c82;--text-muted:#9b97ad;--chart-blue:#5b8ec9;--chart-red:#d45555;--chart-green:#2f9e6b;--chart-amber:#d4942a;--chart-purple:#8b6fc0;--chart-cyan:#3aa5b5;--chart-pink:#c75e8a;--chart-teal:#3d8b7f;--chart-orange:#d47a3a;--chart-indigo:#6972b8;--chart-gray:#9b97ad;--info:#3aa5b5;--indigo:#6972b8;--grid-line:#7864a00f;--tick-color:#9b97ad;--status-checkedin-bg:#2f9e6b1f;--status-checkedin-text:#2f9e6b;--status-cancelled-bg:#d455551a;--status-cancelled-text:#d45555;--status-confirmed-bg:#3d8b7f1a;--status-confirmed-text:#3d8b7f;--status-pending-bg:#7864a01a;--status-pending-text:#706c82;--shadow-xs:0 1px 3px #7864a00f;--shadow-sm:0 2px 8px #7864a014;--shadow-md:0 4px 16px #7864a01a;--shadow-lg:0 8px 32px #7864a01f;--shadow-xl:0 16px 48px #7864a026;--control-bg:#fff9;--control-border:#7864a026;--control-focus:#3d8b7f33;--glass-bg:#ffffffa6;--glass-border:#7864a01f;--glass-blur:20px;--glass-shadow:0 4px 24px #7864a01a;--glass-hover-shadow:0 8px 32px #7864a024;--glow-accent:0 0 20px #3d8b7f14;--glow-accent-lg:0 0 40px #3d8b7f0d}[data-theme=light] .main-content{background:linear-gradient(135deg,#eeedf5 0%,#e8eff5 40%,#e5f0ee 70%,#eeedf5 100%)}[data-theme=light] .main-content:before{background:radial-gradient(#3d8b7f0f 0%,#0000 65%)}[data-theme=light] .main-content:after{background:radial-gradient(#8b6fc00d 0%,#0000 65%)}[data-theme=light] .sidebar{-webkit-backdrop-filter:blur(24px);background:#fff9;border-right:1px solid #7864a01a}[data-theme=light] .sidebar:before{background:linear-gradient(90deg,#0000 5%,#3d8b7f4d 50%,#8b6fc040 80%,#0000 95%)}[data-theme=light] .sidebar-brand-icon{color:#fff;background:linear-gradient(135deg,#3d8b7f,#8b6fc0);box-shadow:0 0 12px #3d8b7f26}[data-theme=light] .sidebar .profile-avatar{color:#fff;background:linear-gradient(135deg,#3d8b7f,#8b6fc0)}[data-theme=light] .nav-item:hover{background:#ffffff80}[data-theme=light] .nav-item.active{background:#ffffffa6;border-color:#3d8b7f33;box-shadow:0 2px 8px #3d8b7f0f}[data-theme=light] .nav-child-item:hover{background:#fff6}[data-theme=light] .nav-child-item.active{background:#ffffff8c}[data-theme=light] .sidebar-toggle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffbf;border:1px solid #7864a01f}[data-theme=light] .sidebar-toggle:hover{color:var(--accent);background:#ffffffe6;border-color:#3d8b7f40}[data-theme=light] .sidebar-search input{background:#ffffff8c}[data-theme=light] .sidebar-search input:focus{box-shadow:0 0 0 3px var(--control-focus);background:#fffc}[data-theme=light] .sidebar-profile:hover{background:#fff6}[data-theme=light] .topbar{-webkit-backdrop-filter:blur(20px);background:#ffffff8c;border-bottom:1px solid #7864a014}[data-theme=light] .search-bar{background:#ffffff8c}[data-theme=light] .search-bar:focus-within{box-shadow:0 0 0 3px var(--control-focus);background:#fffc}[data-theme=light] .btn-primary{color:#fff;background:linear-gradient(135deg,#3d8b7f,#4a9a8e);box-shadow:0 2px 12px #3d8b7f33}[data-theme=light] .btn-primary:hover{background:linear-gradient(135deg,#4a9a8e,#5aaba0);transform:translateY(-1px);box-shadow:0 4px 20px #3d8b7f47}[data-theme=light] .btn-secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);background:#fff9;border:1px solid #7864a01f}[data-theme=light] .btn-secondary:hover{background:#fffc;border-color:#7864a02e}[data-theme=light] .table-card{border:1px solid var(--border);box-shadow:none;background:0 0}[data-theme=light] .table-card:before,[data-theme=light] .card:before{display:none}[data-theme=light] th{background:var(--control-bg);color:var(--text-muted);border-bottom:1px solid var(--border)}[data-theme=light] td{color:var(--text-secondary)}[data-theme=light] tbody tr:hover td{background-color:#4ecdc40a}[data-theme=light] tr.active-row td{background-color:#4ecdc40f}[data-theme=light] tbody tr td:first-child{border-left-color:var(--accent)}[data-theme=light] .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e1b2e73}[data-theme=light] .modal-content{background:#fff;border:1px solid #7864a026;box-shadow:0 8px 48px #7864a033}[data-theme=light] .form-input{background:#ffffff8c}[data-theme=light] .form-input:focus{box-shadow:0 0 0 3px var(--control-focus);background:#ffffffd9}[data-theme=light] .detail-summary{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff9}[data-theme=light] .tabs{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff80}[data-theme=light] .profile-popup{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffbf;border:1px solid #7864a01f}[data-theme=light] .profile-popup-item:hover{background:#fff9}[data-theme=light] .profile-avatar{color:var(--primary);background:linear-gradient(135deg,#3d8b7f26,#8b6fc01f);border:1px solid #3d8b7f26}[data-theme=light] .notification-dot{border-color:#ffffffbf;box-shadow:0 0 6px #d4555540}[data-theme=light] .action-icon:hover{background-color:#3d8b7f14}[data-theme=light] .icon-btn:hover{background-color:#ffffff80}[data-theme=light] .table-pagination button{background:#ffffff8c}[data-theme=light] .table-pagination button:hover:not(:disabled){background:#fffc}[data-theme=light] .stat-pill{background:#ffffff80;border:1px solid #7864a01a}[data-theme=light] .circle-progress:before{background-color:#eeedf5}[data-theme=light] .chart-tooltip{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:#ffffffd9!important}[data-theme=light] .sidebar-collapsed .nav-tooltip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);box-shadow:var(--shadow-lg);background:#ffffffd9;border:1px solid #7864a01f}[data-theme=light] .sidebar-collapsed .nav-tooltip:before{border-right-color:#ffffffd9}[data-theme=light] ::-webkit-scrollbar-thumb{background:#7864a026}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#7864a040}[data-theme=light] .login-circle{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffa6;border:1px solid #7864a01f;box-shadow:0 20px 60px #7864a01f,inset 0 1px #ffffff80}[data-theme=light] .cell-badge-blue{color:#5b8ec9;background:#5b8ec91f}[data-theme=light] .cell-badge-green{color:#2f9e6b;background:#2f9e6b1f}[data-theme=light] .cell-badge-amber{color:#d4942a;background:#d4942a1f}[data-theme=light] .cell-badge-red{color:#d45555;background:#d455551a}[data-theme=light] .cell-badge-purple{color:#8b6fc0;background:#8b6fc01f}[data-theme=light] .cell-badge-gray{color:#706c82;background:#9b97ad1f}[data-theme=light] .phd-condition-critical{color:#d45555;background:#d455551a}[data-theme=light] .phd-condition-moderate{color:#d4942a;background:#d4942a1a}[data-theme=light] .phd-condition-info,[data-theme=light] .dd-status-confirmed{color:#5b8ec9;background:#5b8ec91a}[data-theme=light] .dd-status-checked-in,[data-theme=light] .dd-status-completed{color:#2f9e6b;background:#2f9e6b1a}[data-theme=light] .dd-status-cancelled{color:#d45555;background:#d455551a}[data-theme=light] .dd-status-pending{color:#706c82;background:#7864a01a}[data-theme=light] .dd-referral-banner{color:#8b6fc0;background:#8b6fc01a}[data-theme=light] .dd-followup-banner{color:#2f9e6b;background:#2f9e6b1a}[data-theme=light] .conflict-warning{color:#9a6c15;background:#d4942a1a}[data-theme=light] .pay-modal-paid{background:#2f9e6b14}[data-theme=light] .fd-group-waiting{color:#d4942a;background:#d4942a1a}[data-theme=light] .fd-group-treatment{color:#8b6fc0;background:#8b6fc01a}[data-theme=light] .fd-group-late{color:#e67e22;background:#e67e221a}[data-theme=light] .fd-group-scheduled{color:#5b8ec9;background:#5b8ec91a}[data-theme=light] .fd-group-completed{color:#2f9e6b;background:#2f9e6b1a}[data-theme=light] .fd-group-cancelled{color:#d45555;background:#d455551a}[data-theme=light] .fd-referral-badge{color:#8b6fc0;background:#8b6fc01a}[data-theme=light] .fd-followup-badge{color:#2f9e6b;background:#2f9e6b1a}[data-theme=light] .svc-action-delete:hover{background:#d455551a}[data-theme=light] .btn-success{color:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-base);line-height:1.5}h1,h2,h3,h4,h5,h6,.page-title,.card-title,.section-title,.form-section-title,.sidebar-brand h2{font-family:Outfit,sans-serif}a{color:inherit;text-decoration:none}input:focus::placeholder,textarea:focus::placeholder{opacity:0;transition:opacity .2s}input::placeholder,textarea::placeholder{transition:opacity .2s}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff2e}.app-container{height:100dvh;display:flex;overflow:hidden}.page-scroll-area>*{animation:.2s ease-out pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content{animation:.25s cubic-bezier(.16,1,.3,1) modalScaleIn}@media (width<=768px){.modal-content{animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp}}.main-content{background:var(--background);flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.main-content:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#4ecdc414 0%,#0000 65%);width:65%;height:65%;position:fixed;top:-20%;left:-15%}.main-content:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#a78bfa0f 0%,#0000 65%);width:55%;height:55%;position:fixed;bottom:-20%;right:-15%}.sidebar{width:var(--sidebar-width);-webkit-backdrop-filter:blur(24px);color:var(--text-primary);z-index:50;background:#0a0f1cd9;border-right:1px solid #ffffff14;flex-direction:column;flex-shrink:0;transition:width .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:visible}.sidebar:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#4ecdc44d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.sidebar-brand{align-items:center;gap:.75rem;padding:1.25rem 1.15rem .75rem;display:flex;position:relative}.sidebar-brand-icon{border-radius:var(--radius-md);color:#070b14;background:linear-gradient(135deg,#4ecdc4,#22d3ee);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 0 16px #4ecdc440}.sidebar-brand-logo{border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;width:36px;height:36px;box-shadow:0 0 12px #4ecdc433}.sidebar-brand h2{letter-spacing:-.4px;color:var(--text-primary);white-space:nowrap;font-size:1.1rem;font-weight:700}.sidebar-toggle{border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);z-index:51;background:#0f172ae6;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:1.5rem;right:-12px}.sidebar-toggle:hover{color:var(--accent);background:#4ecdc426;border-color:#4ecdc44d}.sidebar-search{margin:.5rem .85rem .35rem;position:relative}.sidebar-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.sidebar-search input{background:var(--control-bg);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:all var(--transition-base);outline:none;padding:.55rem .85rem .55rem 2.35rem;font-family:inherit;font-size:.85rem}.sidebar-search input::placeholder{color:var(--text-muted)}.sidebar-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--control-focus), 0 0 12px #4ecdc414;background:#ffffff0f}.sidebar-search-collapsed{color:var(--text-muted);cursor:pointer;justify-content:center;padding:.5rem 0 .25rem;display:flex}.sidebar-search-collapsed:hover{color:var(--text-primary)}.sidebar nav{flex:1;padding:.35rem 0;overflow-y:auto}.sidebar nav::-webkit-scrollbar{width:0}.nav-section{margin-bottom:.15rem}.nav-section-label{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;padding:1rem 1.25rem .4rem;font-size:.65rem;font-weight:600}.nav-section-divider{background:var(--border-light);height:1px;margin:.5rem 1rem}.nav-item{color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:.65rem;margin:1px .5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{color:var(--text-primary);background:#ffffff0d}.nav-item.active{color:var(--accent);background:#4ecdc41a;border-color:#4ecdc426;font-weight:600}.badge{background-color:var(--danger);color:#fff;font-size:var(--text-xs);border-radius:9999px;margin-left:auto;padding:1px 7px;font-weight:600;line-height:1.5}.nav-item-group{margin:0}.nav-item-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.nav-expand-icon{opacity:.5;flex-shrink:0;margin-left:auto;transition:transform .2s}.nav-expand-icon-open{transform:rotate(180deg)}.nav-item-expandable.active .nav-expand-icon{opacity:.9}.sidebar-alert-badge{background:var(--danger);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-inline:auto 4px;padding:0 5px;font-size:.6rem;font-weight:700;line-height:1;animation:2s ease-in-out infinite badgePulse;display:inline-flex}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.7}}.nav-children{animation:.2s ease-out expandChildren;overflow:hidden}@keyframes expandChildren{0%{opacity:0;max-height:0}to{opacity:1;max-height:300px}}.nav-child-item{border-radius:var(--radius-sm);color:var(--text-tertiary);transition:all var(--transition-fast);align-items:center;gap:.65rem;margin:1px .5rem;padding:.45rem .85rem .45rem 2.85rem;font-size:.82rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-child-item:before{content:"";background:var(--border-emphasis);width:4px;height:4px;transition:all var(--transition-fast);border-radius:50%;position:absolute;top:50%;left:1.75rem;transform:translateY(-50%)}.nav-child-item:hover{color:var(--text-primary);background:#ffffff0a}.nav-child-item:hover:before{background:var(--text-secondary)}.nav-child-item.active{color:var(--accent);background:#4ecdc414}.nav-child-item.active:before{background:var(--accent);width:6px;height:6px}.sidebar-profile-wrapper{margin-top:auto;position:relative}.profile-popup{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:60;background:#0f172ae6;margin-bottom:.5rem;padding:.5rem;animation:.15s ease-out popupSlideUp;position:absolute;bottom:100%;left:.65rem;right:.65rem}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.profile-popup-header{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;padding:.5rem .75rem .4rem;font-size:.65rem;font-weight:600}.profile-popup-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.65rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;display:flex}.profile-popup-item:hover{color:var(--text-primary);background:#ffffff0f}.profile-popup-signout{color:var(--danger)}.profile-popup-signout:hover{background:var(--danger-light);color:var(--danger)}.profile-popup-divider{background:var(--border-light);height:1px;margin:.35rem .5rem}.sidebar-profile{cursor:pointer;border-top:1px solid var(--border-light);transition:background var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.sidebar-profile:hover{background:#ffffff0a}.sidebar .profile-avatar{border-radius:var(--radius-md);color:#070b14;background:linear-gradient(135deg,#4ecdc4,#22d3ee);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.82rem;font-weight:700;display:flex}.sidebar .profile-avatar-img{object-fit:cover;background:0 0;border:2px solid #4ecdc44d}.sidebar .profile-info{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar .profile-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-primary);font-size:.875rem;font-weight:600;overflow:hidden}.sidebar .profile-role{color:var(--text-muted);font-size:.72rem}.profile-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.profile-chevron-open{transform:rotate(180deg)}.nav-tooltip{display:none}.sidebar.sidebar-collapsed{width:68px}.sidebar-collapsed .sidebar-brand{justify-content:center;gap:0;padding:1.25rem 0 .75rem}.sidebar-collapsed .sidebar-brand h2{display:none}.sidebar-collapsed .sidebar-toggle{right:-12px}.sidebar-collapsed .nav-section-label{display:none}.sidebar-collapsed .nav-item{justify-content:center;gap:0;margin:2px .55rem;padding:.6rem;position:relative}.sidebar-collapsed .nav-item span:not(.nav-tooltip){display:none}.sidebar-collapsed .nav-tooltip{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:100;box-shadow:var(--shadow-lg);border:1px solid var(--border);background:#0f172af2;padding:.4rem .75rem;font-size:.8rem;font-weight:500;display:none;position:absolute;top:50%;left:calc(100% + 14px);transform:translateY(-50%)}.sidebar-collapsed .nav-tooltip:before{content:"";border:5px solid #0000;border-right-color:#0f172af2;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.sidebar-collapsed .nav-item:hover .nav-tooltip{display:block}.sidebar-collapsed .sidebar-profile{justify-content:center;padding:.85rem .5rem}.sidebar-collapsed .sidebar-profile .profile-info,.sidebar-collapsed .sidebar-profile .profile-chevron,.sidebar-collapsed .badge,.sidebar-collapsed .nav-item-group .nav-children,.sidebar-collapsed .nav-expand-icon{display:none}.sidebar-collapsed+.main-content,.sidebar-collapsed~.main-content{margin-left:0}.topbar{-webkit-backdrop-filter:blur(20px);padding:var(--space-3) var(--space-8);border-bottom:1px solid var(--border);z-index:40;background:#0a0f1cb3;justify-content:space-between;align-items:center;min-height:56px;display:flex;position:sticky;top:0}.search-bar{background:var(--control-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);width:320px;color:var(--text-muted);transition:border-color var(--transition-base), box-shadow var(--transition-base);display:flex}.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--control-focus), 0 0 12px #4ecdc414;background:#ffffff0f}.search-bar input{width:100%;font-size:var(--text-base);color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit}.search-bar input::placeholder{color:var(--text-muted)}.topbar-actions{align-items:center;gap:var(--space-2);color:var(--text-primary);display:flex}.action-icon{cursor:pointer;padding:var(--space-2);transition:all var(--transition-base);border-radius:var(--radius-md);color:var(--text-primary);opacity:.75;justify-content:center;align-items:center;display:flex;position:relative}.action-icon:hover{color:var(--accent);opacity:1;background-color:#4ecdc41f}.notification-dot{background-color:var(--danger);border:1.5px solid #0a0f1cd9;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px;box-shadow:0 0 6px #f8717180}.topbar-user-info{border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:4px 8px;transition:background .2s;display:flex}.topbar-user-info:hover{background:#3d8b7f14}.topbar-user-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:30px;height:30px}.topbar-user-avatar-fallback{background:var(--accent);color:#fff;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.topbar-user-name{font-weight:500;font-size:var(--text-sm);color:var(--text-primary)}.logout-btn{color:var(--text-muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-base);background:0 0;border:none;align-items:center;display:flex}.logout-btn:hover{color:var(--danger);background-color:var(--danger-light)}.page-container{gap:var(--space-6);padding:var(--space-8);flex-direction:column;width:100%;display:flex}.page-header{justify-content:space-between;align-items:center;display:flex}.page-title{font-size:var(--text-xl);color:var(--text-primary);letter-spacing:-.3px;font-weight:700}.header-left{align-items:center;gap:var(--space-3);display:flex}.btn-primary{color:#070b14;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:var(--space-2);white-space:nowrap;background:linear-gradient(135deg,#4ecdc4,#3abab3);border:none;font-family:inherit;line-height:1.5;display:inline-flex;box-shadow:0 2px 12px #4ecdc440}.btn-primary:hover{background:linear-gradient(135deg,#5fe0d7,#4ecdc4);box-shadow:0 0 24px #4ecdc44d}.btn-primary:active{opacity:.9;transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);align-items:center;gap:var(--space-2);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;font-family:inherit;line-height:1.5;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);background:#ffffff14;border-color:#ffffff26}.btn-danger{background-color:var(--danger);color:#fff;padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-2);white-space:nowrap;border:none;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.5;transition:all .2s;display:flex}.btn-danger:hover{opacity:.9}.btn-danger:active{opacity:.85}.btn-sm{background-color:var(--accent);color:#fff;padding:6px var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);border:none;align-items:center;gap:4px;font-family:inherit;font-weight:500;display:inline-flex}.btn-sm:hover{background-color:var(--accent-hover)}.btn-sm:not(.active){background:var(--control-bg);color:var(--text-secondary)}.btn-sm:not(.active):hover{background:var(--border);color:var(--text)}.btn-sm.active{background-color:var(--accent);color:#fff}.icon-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-muted);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-btn:hover{color:var(--accent);background-color:#ffffff0f}.icon-btn.danger:hover{color:var(--danger);background-color:var(--danger-light)}.action-btns{gap:2px;display:flex}.search-filter-bar{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.search-bar-input{align-items:center;gap:var(--space-2);background:var(--surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);min-width:250px;color:var(--text-muted);transition:border-color var(--transition-base), box-shadow var(--transition-base);flex:1;display:flex}.search-bar-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--control-focus), 0 0 12px #4ecdc414}.search-bar-input input{width:100%;font-size:var(--text-base);color:var(--text-primary);background:0 0;border:none;outline:none;font-family:inherit}.search-bar-input input::placeholder{color:var(--text-muted)}.filter-group{gap:var(--space-1);flex-direction:column;display:flex}.filter-group label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.filter-check{white-space:nowrap;font-size:var(--text-sm)}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:box-shadow var(--transition-base), transform var(--transition-base), border-color var(--transition-base);z-index:1;flex-direction:column;display:flex;position:relative}.card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:1;height:2px;display:none;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border-emphasis)}.card-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.dashboard-grid{gap:var(--space-6);grid-template-columns:2fr 1fr;display:grid}.chart-container{flex:1;min-height:250px;position:relative}.chart-tooltip{-webkit-backdrop-filter:blur(12px)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;padding:var(--space-3) var(--space-4)!important;box-shadow:var(--shadow-lg)!important;background:#0f172ae6!important}.donut-cards{gap:var(--space-6);flex-direction:column;display:flex}.small-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:box-shadow var(--transition-base);z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.small-card:hover{border-color:var(--border-emphasis)}.small-card-title{font-weight:600;font-size:var(--text-base);max-width:60%;color:var(--text-primary);line-height:1.4}.circle-progress{width:56px;height:56px;font-weight:700;font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.circle-progress:before{content:"";z-index:1;background-color:#0f1225;border-radius:50%;position:absolute;inset:4px}.circle-progress span{z-index:2;position:relative}.circle-blue{background:conic-gradient(var(--chart-blue) calc(var(--percentage) * 1%), var(--border) 0);color:var(--chart-blue)}.circle-red{background:conic-gradient(var(--chart-red) calc(var(--percentage) * 1%), var(--border) 0);color:var(--chart-red)}.stat-pills{gap:var(--space-2);display:flex}.stat-pill{padding:4px var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border);background-color:#ffffff0d;border-radius:9999px;font-weight:500}.appointments-section{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);z-index:1;position:relative}.header-actions{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.table-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:0 0;position:relative;overflow:hidden}table{border-collapse:separate;border-spacing:0;width:100%}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--control-bg);z-index:1;font-size:.6875rem;font-weight:600;position:sticky;top:0}td{padding:var(--space-3) var(--space-5);vertical-align:middle;border-bottom:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.4}tbody tr td:first-child{border-left:3px solid var(--accent);padding-left:calc(var(--space-5) - 3px)}tr{transition:background-color var(--transition-fast)}tr:last-child td{border-bottom:none}tbody tr:hover td{background-color:#4ecdc40f}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.sortable-th:hover,.sortable-th.sorted{color:var(--primary)}.sortable-th-content{align-items:center;gap:4px;display:inline-flex}.sort-icon{opacity:.35;align-items:center;transition:opacity .15s;display:inline-flex}.sortable-th:hover .sort-icon,.sortable-th.sorted .sort-icon{opacity:1}tr.active-row td{background-color:#4ecdc414}tr.active-row td:first-child{border-left:3px solid var(--accent)}.archived-row{opacity:.5}.patient-name{color:var(--accent);cursor:pointer;font-weight:600}.patient-name:hover{text-decoration:underline}.doctor-name{color:var(--primary);font-weight:500}.status-select{padding:5px var(--space-3);font-weight:500;font-size:var(--text-xs);cursor:pointer;appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:12px;border:none;border-radius:9999px;font-family:inherit}.status-checked-in{background-color:var(--status-checkedin-bg);color:var(--status-checkedin-text)}.status-cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.status-confirmed{background-color:var(--status-confirmed-bg);color:var(--status-confirmed-text)}.status-pending{background-color:var(--status-pending-bg);color:var(--status-pending-text)}.status-badge{padding:3px var(--space-3);font-weight:600;font-size:var(--text-xs);border-radius:9999px;display:inline-block}.cell-badge{font-weight:600;font-size:var(--text-xs);white-space:nowrap;border-radius:9999px;padding:3px 10px;display:inline-block}.cell-badge-blue{color:#60a5fa;background:#60a5fa26}.cell-badge-green{color:#34d399;background:#34d39926}.cell-badge-amber{color:#fbbf24;background:#fbbf2426}.cell-badge-red{color:#f87171;background:#f8717126}.cell-badge-purple{color:#a78bfa;background:#a78bfa26}.cell-badge-gray{color:var(--text-secondary);background:#ffffff0f}.table-pagination{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-light);font-size:var(--text-sm);color:var(--text-muted);display:flex}.table-pagination button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);background:#ffffff0d;padding:4px 10px}.table-pagination button:hover:not(:disabled){background:#ffffff14}.table-pagination button:disabled{opacity:.4;cursor:default}.form-container{gap:var(--space-6);flex-direction:column;display:flex}.form-section{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border);z-index:1;transition:box-shadow .2s;position:relative;box-shadow:0 1px 3px #0000000a}.form-section:hover{box-shadow:0 4px 12px #0000000f}.form-section-title{font-size:var(--text-md);margin-bottom:var(--space-5);color:var(--text-primary);padding-bottom:var(--space-3);border-bottom:2px solid var(--accent);align-items:center;gap:8px;font-weight:700;display:flex}.form-section-title .section-icon{width:28px;height:28px;color:var(--accent);background:#4ecdc41a;border-radius:8px;justify-content:center;align-items:center;display:flex}.form-photo-upload{border:3px dashed var(--border);background:var(--control-bg);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:110px;height:110px;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.form-photo-upload:hover{border-color:var(--accent);transform:scale(1.03)}.form-photo-upload img{object-fit:cover;width:100%;height:100%}.form-photo-remove{background:var(--danger);color:#fff;border:2px solid var(--surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:transform .15s;display:flex;position:absolute;top:-4px;right:-4px}.form-photo-remove:hover{transform:scale(1.15)}.medical-checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.medical-checkbox-card{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;padding:10px 14px;font-size:.88rem;transition:all .15s;display:flex}.medical-checkbox-card:hover{border-color:var(--accent);background:#4ecdc40a}.medical-checkbox-card.checked{border-color:var(--accent);color:var(--text-primary);background:#4ecdc414}.medical-checkbox-card input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.medical-detail-input{margin-top:6px;margin-inline-start:24px}.form-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-weight:600}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);transition:border-color var(--transition-base), box-shadow var(--transition-base), background var(--transition-base);background:var(--control-bg);outline:none;height:40px;font-family:inherit}.form-input:hover{border-color:var(--border-emphasis)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--control-focus), 0 0 12px #4ecdc414;background:#ffffff0f}textarea.form-input{resize:vertical;height:auto;min-height:80px}select.form-input{cursor:pointer}.form-checkbox{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-1) 0;display:flex}.form-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border-light);margin-top:var(--space-4);display:flex}.form-actions .btn-secondary{width:auto;margin-top:0}.form-row{gap:var(--space-3);align-items:center;display:flex}.form-row .form-input{flex:1}.detail-summary{gap:var(--space-5);-webkit-backdrop-filter:blur(16px);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border);background:#0f172a73;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.summary-item{gap:var(--space-1);flex-direction:column;display:flex}.summary-item .label,.detail-field .label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.summary-item span:not(.label){color:var(--text-primary);font-weight:500}.detail-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);z-index:1;position:relative}.detail-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.detail-field{gap:var(--space-1);flex-direction:column;display:flex}.detail-field.full-width{grid-column:1/-1}.detail-field span:not(.label){font-size:var(--text-base);color:var(--text-primary)}.section-title{font-size:var(--text-md);margin-bottom:var(--space-4);color:var(--text-primary);font-weight:600}.profile-header{align-items:center;gap:1.5rem;padding:1.5rem 2rem;display:flex}.profile-avatar{width:64px;height:64px;color:var(--accent);background:linear-gradient(135deg,#4ecdc433,#22d3ee33);border:1px solid #4ecdc440;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.profile-info{flex:1}.profile-name{color:var(--text-primary);margin:0;font-size:1.35rem}.profile-subtitle{color:var(--text-secondary);margin:.25rem 0 0;font-size:.9rem}.profile-stat{text-align:right}.profile-stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.75rem}.profile-stat-value{color:var(--primary);font-size:1.35rem;font-weight:700}.profile-stat-value .unit{font-size:.8rem;font-weight:500}.chart-mode-toggle{background:var(--background);border-radius:6px;gap:4px;padding:2px;display:flex}.chart-mode-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:.8rem;transition:background .15s,color .15s}.chart-mode-btn.active{background:var(--primary);color:#fff}.medical-grid{gap:var(--space-3);flex-direction:column;display:flex}.bool-field{align-items:center;gap:var(--space-2);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--background);display:flex}.bool-yes{color:var(--success);font-weight:500}.bool-no{color:var(--text-muted)}.desc{margin-left:var(--space-6);font-size:var(--text-sm);color:var(--text-muted);font-style:italic}.tabs{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);scrollbar-width:none;-ms-overflow-style:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;background:0 0;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .2s;position:relative}.tab:hover{color:var(--text-primary);background:#3d8b7f14}.tab-active{color:#fff;background:var(--accent);font-weight:600;box-shadow:0 2px 8px #3d8b7f4d}.summary-cards{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.summary-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);gap:var(--space-2);transition:box-shadow var(--transition-base);z-index:1;flex-direction:column;display:flex;position:relative}.summary-card:hover{border-color:var(--border-emphasis)}.summary-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.summary-value{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.5px;font-weight:700}.payment-form{border-top:1px solid var(--border);padding-top:var(--space-4);margin-top:var(--space-4)}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;padding:var(--space-4);animation:fadeIn var(--transition-base) ease-out;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:640px;max-height:90vh;animation:slideUp var(--transition-slow) cubic-bezier(.16, 1, .3, 1);overflow-y:auto;box-shadow:0 8px 48px #0006,inset 0 0 0 1px #ffffff0d}.modal-content.modal-wide{width:95vw;max-width:95vw}.session-modal-grid{grid-template-columns:1fr 380px;align-items:start;gap:1.25rem;padding:.25rem 0;display:grid}.session-modal-chart{border-right:1px solid var(--border-light);min-width:0;padding-right:1.25rem}.session-modal-fields{padding-right:.25rem}.session-modal-fields::-webkit-scrollbar{width:4px}.session-modal-fields::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.session-modal-fields .form-group{margin-bottom:.6rem}.session-modal-fields .form-group:last-child{margin-bottom:0}.session-fields-section{border-bottom:1px solid var(--border-light);margin-bottom:1rem;padding-bottom:.75rem}.session-fields-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.session-fields-section-title{text-transform:uppercase;letter-spacing:.6px;color:var(--accent);align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.7rem;font-weight:700;display:flex}.session-fields-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.charted-teeth-bar{background:var(--accent-light);border-radius:var(--radius-md,8px);border:1px solid var(--control-focus);flex-wrap:wrap;gap:.3rem;margin-bottom:.85rem;padding:.5rem .65rem;display:flex}.charted-teeth-bar-label{color:var(--accent);text-transform:uppercase;letter-spacing:.3px;width:100%;margin-bottom:.15rem;font-size:.7rem;font-weight:700}.charted-tooth-pill{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.charted-tooth-pill-label{opacity:.85;font-size:.68rem;font-weight:400}.session-chart-mode-bar{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.odontogram-summary{background:var(--success-light);border:1px solid var(--success);border-radius:var(--radius-md);color:var(--text-primary);margin-top:.5rem;padding:.5rem .75rem;font-size:.82rem;line-height:1.5}.session-modal-chart .chart-header>:first-child:not(.chart-actions){display:none}@media (width<=1100px){.session-modal-grid{grid-template-columns:1fr}.session-modal-chart{border-right:none;border-bottom:1px solid var(--border-light);padding-bottom:1rem;padding-right:0}.session-modal-fields{max-height:none;overflow-y:visible}}.odontogram-wrapper .topbar{display:none!important}.odontogram-wrapper .layout{grid-template-columns:1fr 300px;gap:12px;padding:8px}.odontogram-wrapper .panel-body{max-height:70vh;overflow-y:auto}.odontogram-wrapper .tooth-grid{grid-template-columns:repeat(16,minmax(32px,1fr));gap:3px;padding:6px}.odontogram-wrapper .tooth-tile{min-height:80px}.odontogram-wrapper .tooth-svg{height:90px}.odontogram-wrapper .tooth-svg svg{width:54px;height:90px}.odontogram-wrapper.history-odontogram .layout{grid-template-columns:1fr}.odontogram-wrapper.history-odontogram .panel{display:none}.odontogram-wrapper.dashboard-odontogram .layout{grid-template-columns:1fr}.odontogram-wrapper.dashboard-odontogram .panel{display:none}.odontogram-wrapper.dashboard-odontogram .chart-actions{pointer-events:none;opacity:.35;filter:grayscale()}.odontogram-tooltip{z-index:100;color:#fff;pointer-events:none;white-space:nowrap;white-space:normal;word-break:break-word;background:#1e293b;border-radius:8px;max-width:280px;padding:8px 12px;font-size:12px;line-height:1.4;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 16px #00000040}.odontogram-tooltip:after{content:"";border:6px solid #0000;border-top-color:#1e293b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.odontogram-tooltip-header{color:#93c5fd;margin-bottom:2px;font-weight:700}.odontogram-tooltip-body{color:#e2e8f0}.odontogram-tooltip-date{color:#94a3b8;margin-top:4px;font-size:11px}.odontogram-wrapper .tooth-tile.has-condition{cursor:pointer}.modal-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.modal-body{gap:var(--space-4);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);display:flex}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}.form-row{gap:var(--space-4);display:flex}.loading-container{padding:var(--space-12);justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-alert{background-color:var(--danger-light);color:var(--danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:var(--space-2);border:1px solid #f8717140;font-weight:500;display:flex}.empty-state{text-align:center;padding:var(--space-12);color:var(--text-muted);font-size:var(--text-base)}.access-denied{justify-content:center;align-items:center;gap:var(--space-3);height:100vh;color:var(--text-muted);flex-direction:column;display:flex}.access-denied h2{color:var(--text-primary);font-size:var(--text-xl)}.login-page-v2{background:var(--background);min-height:100vh;display:flex}.login-left{background:var(--background);flex-direction:column;flex:0 0 50%;justify-content:center;align-items:center;max-width:50%;padding:3rem;display:flex;position:relative}.login-form-wrapper{width:100%;max-width:420px}.login-brand{align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.login-brand span{color:var(--text-primary);font-size:1.25rem;font-weight:700}.login-subtitle{letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.login-title{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:800;line-height:1.2}.login-title span{color:var(--accent)}.login-desc{color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem}.login-form-v2{flex-direction:column;gap:1.25rem;display:flex}.login-field label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.login-field input{border:1.5px solid var(--control-border);width:100%;color:var(--text-primary);background:var(--control-bg);border-radius:10px;outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.login-field input::placeholder{color:var(--text-muted)}.login-password-wrap{position:relative}.login-password-wrap input{padding-right:2.75rem}.login-eye-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.login-eye-btn:hover{color:var(--text-secondary)}.login-error{color:var(--danger);background:#f871711f;border:1px solid #f8717140;border-radius:10px;padding:.65rem 1rem;font-size:.85rem;font-weight:500}.login-submit-btn{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.25rem;padding:.8rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.login-submit-btn:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-hover), #4839eb);box-shadow:0 4px 18px var(--control-focus);transform:translateY(-1px)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.login-footer-text{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem;font-size:.8rem}.login-bottom-bar{color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex;position:absolute;bottom:1.5rem;left:3rem;right:3rem}.login-right{background:var(--accent-light);flex:0 0 50%;justify-content:center;align-items:center;max-width:50%;padding:3rem;display:flex;position:relative;overflow:hidden}.login-right-content{z-index:1;text-align:center;max-width:480px;position:relative}.login-curve{z-index:0;position:absolute}.login-curve-top{background:var(--accent);opacity:.35;border-radius:0 0 0 200px;width:200px;height:400px;top:-10%;right:-5%}.login-curve-bottom{background:var(--accent);opacity:.25;border-radius:0 200px 0 0;width:180px;height:350px;bottom:-5%;left:-5%}.login-circle-container{justify-content:center;margin-bottom:2rem;display:flex}.login-circle{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:300px;height:300px;padding:2rem;display:flex;box-shadow:0 20px 60px #00000026,inset 0 1px #ffffff14}.login-circle svg{width:100%;height:100%}.login-right-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1.75rem;font-weight:700;line-height:1.3}.login-right-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5}@media (width<=900px){.login-page-v2{flex-direction:column}.login-left,.login-right{flex:none;width:100%;max-width:100%}.login-left{min-height:auto;padding:2rem 1.5rem}.login-right{order:-1;min-height:300px;padding:2rem 1.5rem}.login-circle{width:200px;height:200px;padding:1.5rem}.login-right-title{font-size:1.35rem}.login-bottom-bar{margin-top:2rem;padding:0 1rem;position:static}.login-shape-circle{width:80px;height:80px}.login-shape-pill{width:56px;height:28px}}.permissions-grid{gap:var(--space-3);padding:var(--space-3);background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.avatar-upload-wrapper{cursor:pointer;border:3px solid var(--border);border-radius:50%;width:80px;height:80px;transition:border-color .2s;position:relative;overflow:hidden}.avatar-upload-wrapper:hover{border-color:var(--accent)}.avatar-upload-img{object-fit:cover;width:100%;height:100%}.avatar-upload-placeholder{width:100%;height:100%;color:var(--accent);background:linear-gradient(135deg,#4ecdc426,#7367f026);justify-content:center;align-items:center;font-size:1.8rem;font-weight:700;display:flex}.avatar-upload-overlay{color:#fff;opacity:0;background:#0000008c;justify-content:center;align-items:center;height:28px;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.avatar-upload-wrapper:hover .avatar-upload-overlay{opacity:1}.teeth-chart{gap:var(--space-3);padding:var(--space-4);background:var(--background);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;display:flex}.teeth-chart-row{gap:var(--space-1);justify-content:center;display:flex}.teeth-chart-row label{color:var(--text-muted);cursor:pointer;flex-direction:column;align-items:center;gap:2px;font-size:.65rem;font-weight:500;display:flex}.teeth-chart-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.teeth-chart-divider{border-top:2px solid var(--border);margin:0}.report-cards{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.report-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:box-shadow var(--transition-base);z-index:1;position:relative}.report-card:hover{box-shadow:var(--glass-hover-shadow)}.report-card:first-child{border-left:3px solid var(--accent)}.report-card:nth-child(2){border-left:3px solid #28c76f}.report-card:nth-child(3){border-left:3px solid #ff9f43}.report-card:nth-child(4){border-left:3px solid #00cfe8}.report-card:nth-child(5){border-left:3px solid #ea5455}.report-card h3{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.report-card .report-value{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.5px;font-weight:700}.report-card .report-sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.batch-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border);margin-bottom:var(--space-4);transition:box-shadow var(--transition-base)}.batch-card:hover{box-shadow:var(--shadow-sm)}.batch-card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.batch-card-header h3{font-size:var(--text-md);color:var(--text-primary);font-weight:600}.batch-info-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.batch-info-item label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:600;display:block}.batch-info-item span{font-weight:500;font-size:var(--text-sm);color:var(--text-primary)}.batch-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-light)}.batch-section h4{font-size:var(--text-sm);margin-bottom:var(--space-3);color:var(--text-secondary);font-weight:600}.plan-info-grid{gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-6);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.plan-info-item label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.3px;font-weight:600;display:block}.plan-info-item span{color:var(--text-primary);font-weight:500}.low-stock{color:var(--danger);font-weight:600;font-size:var(--text-xs)}.chart-container{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--border);margin-bottom:var(--space-6)}.chart-container h3{font-size:var(--text-md);margin-bottom:var(--space-4);color:var(--text-primary);font-weight:600}.tab-nav{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);scrollbar-width:none;-ms-overflow-style:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:.5rem 1rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .2s;display:flex;position:relative}.tab-btn:hover{color:var(--text-primary);background:#3d8b7f14}.tab-btn.active{color:#fff;background:var(--accent);font-weight:600;box-shadow:0 2px 8px #3d8b7f4d}.tab-content{padding:var(--space-4) 0}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr}.donut-cards{flex-direction:row}.donut-cards .small-card{flex:1}}.mobile-grid-2{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.mobile-grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.mobile-grid-4{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.mobile-grid-5{grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.page-scroll-area{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.mobile-bottom-nav{display:none}.topbar-hamburger{cursor:pointer;color:var(--text-primary);padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:none}.topbar-hamburger:hover{background:var(--surface-hover)}.sidebar-overlay{display:none}@media (width<=768px){:root,[data-theme=dark]{--glass-bg:#0f172af7;--glass-blur:0px}[data-theme=light]{--glass-bg:#fffffff7;--glass-blur:0px}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0009}[data-theme=light] .modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000080}.modal-content,[data-theme=light] .modal-content{-webkit-backdrop-filter:none}[data-theme=light] .modal-content{background:#fff}[data-theme=dark] .modal-content,.modal-content{background:var(--surface)}.detail-card,.card,.dash-v2-card,.dash-v2-panel,.table-card,.summary-card,.appt-dash-card{-webkit-backdrop-filter:none}.mobile-grid-2{grid-template-columns:1fr}.mobile-grid-3,.mobile-grid-4,.mobile-grid-5{grid-template-columns:1fr 1fr}.appt-dash-cards,.report-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.grid-2col,.grid-3col{grid-template-columns:1fr!important}.grid-4col{grid-template-columns:1fr 1fr!important}.mobile-bottom-nav{z-index:100;background:var(--surface);border-top:1px solid var(--border);padding:4px 0 calc(4px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}.mobile-bottom-nav-item{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:56px;padding:6px 12px;font-size:.65rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.mobile-bottom-nav-item.active{color:var(--accent)}.mobile-bottom-nav-item:active{transform:scale(.92)}.main-content{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}.topbar-hamburger{display:none}.app-container{height:100dvh}.sidebar{z-index:1000;width:280px;height:100dvh;transition:transform .3s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.sidebar-collapsed{width:280px}.sidebar.sidebar-mobile-open{transform:translate(0)}.sidebar-toggle{display:none}.sidebar-overlay{z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:block;position:fixed;inset:0}[dir=rtl] .sidebar{left:auto;right:0;transform:translate(100%)}[dir=rtl] .sidebar.sidebar-mobile-open{transform:translate(0)}.topbar{gap:4px;min-height:48px;padding:6px 10px}.search-bar,.topbar-user-name,.lang-switcher-label{display:none}.topbar-actions{gap:2px}.action-icon{min-width:40px;min-height:40px;padding:6px}.lang-switcher{min-height:40px;padding:6px 8px}.main-content{overflow-y:auto}.page-container{gap:12px;padding:12px}.page-header h1{font-size:1.25rem}.page-header .btn-primary{justify-content:center;width:100%}.summary-cards{grid-template-columns:1fr 1fr;gap:8px}.summary-card{padding:12px}.summary-card h3{font-size:1.15rem}.summary-card .summary-icon{width:36px;height:36px}.summary-card .summary-icon svg{width:18px;height:18px}.summary-label{font-size:.65rem}.table-card{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);overflow-x:auto}.table-card table{min-width:550px}.form-group input,.form-group select,.form-group textarea{min-height:44px;font-size:16px}.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:16px 16px 0 0;width:100vw;max-width:100vw;max-height:92vh;margin:0}.modal-content.modal-wide{width:100vw;max-width:100vw}.modal-header h2{font-size:1.05rem}.modal-body{padding:12px 16px}.btn-primary,.btn-secondary,.btn-danger{min-height:44px;padding:10px 16px;font-size:.85rem}.btn-sm{min-height:36px;padding:6px 12px}.icon-btn{min-width:40px;min-height:40px}.tabs,.tab-nav,.guide-tab-nav,.chart-mode-toggle{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn,.guide-tab-nav button{white-space:nowrap;flex-shrink:0;min-height:36px;padding:6px 14px;font-size:.78rem}.detail-card,.card{border-radius:var(--radius-lg);padding:12px}.section-title{font-size:.95rem}.donut-cards{flex-direction:column}.dashboard-grid{grid-template-columns:1fr;gap:12px}.recharts-responsive-container{min-height:180px}.fd-layout{grid-template-columns:1fr;gap:12px}.fd-stats-bar{flex-wrap:wrap;gap:6px}.fd-stat{flex:calc(50% - 6px);min-width:auto;padding:8px}.fd-stat-value{font-size:1.1rem}.doctor-cards-grid{grid-template-columns:1fr;gap:10px}.doctor-card{padding:16px}.dd-layout,.dd-layout-2col{grid-template-columns:1fr;gap:12px}.dd-info-row{flex-direction:column;gap:8px}.dd-aside-stats{grid-template-columns:1fr 1fr;gap:6px}.tp-session-card-main{gap:8px;padding:10px}.tp-session-work,.tp-session-paid{font-size:.82rem}.tp-session-edit-btn{opacity:1}.cal-nav{flex-direction:column;align-items:stretch;gap:6px}.cal-grid-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.cal-grid{min-width:300px}.cal-event{padding:2px 4px;font-size:.7rem}.inv-summary-cards,.batch-info-grid{grid-template-columns:1fr 1fr;gap:8px}.report-filters{flex-direction:column;gap:8px}.search-bar-input{width:100%;min-width:auto}.filter-group{flex-direction:column;gap:6px}.filter-group select{width:100%}.patient-header-actions .btn-primary,.patient-header-actions .btn-secondary{flex:1;min-width:120px}.settings-layout{grid-template-columns:1fr}.settings-sidebar{display:none}.rbac-card{padding:12px}.odontogram-wrapper,.dental-chart-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.guide-tab-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.guide-tab-nav::-webkit-scrollbar{display:none}.guide-tab-nav button{white-space:nowrap;padding:6px 10px;font-size:.72rem}.guide-content{padding:0}.wf-diagram{font-size:.85rem}.wf-summary{flex-direction:column;gap:4px}.wf-summary-arrow{display:none}.wf-steps{grid-template-columns:1fr}h1{font-size:1.3rem}h2{font-size:1.15rem}h3{font-size:1rem}.status-badge{padding:2px 8px;font-size:.7rem}.nav-item{min-height:44px;padding:10px 16px}.nav-item span{font-size:.88rem}.topbar-actions .lang-switcher,.topbar-actions>.action-icon:nth-of-type(2),.topbar-actions>.action-icon:nth-of-type(3){display:none!important}.topbar-actions>.action-icon:first-of-type,.topbar-actions>.action-icon.logout-btn{display:flex!important}.topbar-user-info{padding:2px 4px!important;display:flex!important}.topbar-user-avatar{width:32px!important;height:32px!important}.page-header{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.page-header h1{margin:0!important;font-size:1.2rem!important}.page-header .btn-primary,.page-header .btn-secondary{justify-content:center!important;width:100%!important;min-height:44px!important}.search-filter-bar{flex-direction:column!important;align-items:stretch!important;gap:8px!important}.search-filter-bar input,.search-filter-bar select{width:100%!important;min-height:44px!important;font-size:16px!important}.table-card{-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px;border-radius:var(--radius-lg)!important;overflow-x:auto!important}.table-card table{width:100%!important;min-width:0!important}td,th{padding:7px 5px!important;font-size:.78rem!important}td.patient-name,td.doctor-name,.cell-with-sub{word-break:break-word;min-width:70px;white-space:normal!important}.table-card table td:first-child:has(svg){width:24px!important;padding:0 2px!important}:is(.table-card table:has(th:nth-child(8)):not(:has(td.doctor-name)) th:nth-child(5),.table-card table:has(th:nth-child(8)):not(:has(td.doctor-name)) td:nth-child(5),.table-card table:has(th:nth-child(8)):not(:has(td.doctor-name)) th:nth-child(6),.table-card table:has(th:nth-child(8)):not(:has(td.doctor-name)) td:nth-child(6),.table-card table:has(th:nth-child(8)):not(:has(td.doctor-name)) th:nth-child(7),.table-card table:has(th:nth-child(8)):not(:has(td.doctor-name)) td:nth-child(7),.table-card table:has(th:nth-child(8)):has(td.doctor-name) th:nth-child(3),.table-card table:has(th:nth-child(8)):has(td.doctor-name) td:nth-child(3),.table-card table:has(th:nth-child(8)):has(td.doctor-name) th:nth-child(4),.table-card table:has(th:nth-child(8)):has(td.doctor-name) td:nth-child(4),.table-card table:has(th:nth-child(8)):has(td.doctor-name) th:nth-child(7),.table-card table:has(th:nth-child(8)):has(td.doctor-name) td:nth-child(7),.table-card table:has(th:nth-child(7)):not(:has(th:nth-child(8))):has(td.doctor-name) th:nth-child(2),.table-card table:has(th:nth-child(7)):not(:has(th:nth-child(8))):has(td.doctor-name) td:nth-child(2),.table-card table:has(th:nth-child(7)):not(:has(th:nth-child(8))):has(td.doctor-name) th:nth-child(3),.table-card table:has(th:nth-child(7)):not(:has(th:nth-child(8))):has(td.doctor-name) td:nth-child(3),.table-card table:has(th:nth-child(7)):not(:has(th:nth-child(8))):has(td.doctor-name) th:nth-child(5),.table-card table:has(th:nth-child(7)):not(:has(th:nth-child(8))):has(td.doctor-name) td:nth-child(5),.table-card table:has(th:nth-child(5)):not(:has(th:nth-child(6))) th:nth-child(4),.table-card table:has(th:nth-child(5)):not(:has(th:nth-child(6))) td:nth-child(4),.table-card table:has(th:nth-child(5)):not(:has(th:nth-child(6))):has(td.doctor-name) th:nth-child(3),.table-card table:has(th:nth-child(5)):not(:has(th:nth-child(6))):has(td.doctor-name) td:nth-child(3),.table-card table:has(th:nth-child(4)):not(:has(th:nth-child(5))) th:nth-child(3),.table-card table:has(th:nth-child(4)):not(:has(th:nth-child(5))) td:nth-child(3),.table-card table:has(th:nth-child(9)) th:nth-child(2),.table-card table:has(th:nth-child(9)) td:nth-child(2),.table-card table:has(th:nth-child(9)) th:nth-child(4),.table-card table:has(th:nth-child(9)) td:nth-child(4),.table-card table:has(th:nth-child(9)) th:nth-child(5),.table-card table:has(th:nth-child(9)) td:nth-child(5),.table-card table:has(th:nth-child(9)) th:nth-child(6),.table-card table:has(th:nth-child(9)) td:nth-child(6),.table-card table:has(th:nth-child(9)) th:nth-child(7),.table-card table:has(th:nth-child(9)) td:nth-child(7),.table-card table:has(th:nth-child(6)):not(:has(th:nth-child(7))):has(td.doctor-name) th:nth-child(3),.table-card table:has(th:nth-child(6)):not(:has(th:nth-child(7))):has(td.doctor-name) td:nth-child(3)){display:none!important}.action-btns{flex-wrap:nowrap!important;gap:2px!important;display:flex!important}.action-btns .icon-btn{min-width:36px!important;min-height:36px!important;padding:6px!important}@supports not selector(:has(a)){.table-card table{min-width:500px!important}}.dash-v2-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.dash-v2-card{gap:8px!important;padding:10px!important}.dash-v2-card-icon{border-radius:8px!important;width:28px!important;height:28px!important}.dash-v2-card-icon svg{width:14px!important;height:14px!important}.dash-v2-card-label{letter-spacing:0!important;font-size:.6rem!important}.dash-v2-card-value{font-size:1.1rem!important;line-height:1.2!important}.dash-v2-card-value small{font-size:.6em!important}.dash-v2-card-sub{font-size:.6rem!important}.dash-v2-row{flex-direction:column!important;gap:12px!important}.dash-v2-panel-header{padding:10px 12px!important}.dash-v2-panel-header h3{font-size:.9rem!important}.dash-v2-appt-item{padding:8px 12px!important}.doctor-card-actions{gap:6px!important;padding-top:10px!important}.doctor-card-btn{border-radius:10px!important;width:44px!important;height:44px!important}.doctor-card-btn svg{width:18px!important;height:18px!important}.fd-queue-card{gap:8px!important;padding:10px!important}.fd-queue-card-name{white-space:normal!important;font-size:.85rem!important}.fd-queue-card-time{min-width:36px!important;font-size:.78rem!important}.fd-status-select{min-height:36px!important;font-size:.75rem!important}.fd-patient-card{padding:10px!important}.fd-patient-actions .btn-sm{min-height:40px!important;padding:8px 14px!important;font-size:.82rem!important}.fd-panel{max-height:none!important;padding:10px!important}.dd-layout{grid-template-columns:1fr!important;gap:12px!important}.dd-center{order:-1!important}.dd-left{order:0!important}.dd-right{order:1!important}.dd-card{padding:12px!important}.dd-card-title{margin-bottom:8px!important;font-size:.85rem!important}.odontogram-wrapper,.dental-chart-wrapper,.dental-chart-container{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.odontogram-container{transform-origin:0 0!important;min-width:480px!important;transform:scale(.82)!important}.dd-stats-row{grid-template-columns:1fr 1fr!important;gap:6px!important}.dd-stat{padding:8px!important}.dd-stat-value{font-size:.95rem!important}.dd-stat-label{font-size:.65rem!important}.cal-nav{flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:0!important}.cal-nav-center{justify-content:center!important}.cal-grid-wrapper{-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px;overflow-x:auto!important}.cal-grid{min-width:100%!important;font-size:.75rem!important}.cal-grid .cal-time-cell,.cal-grid .cal-header-time{min-width:45px!important;max-width:45px!important;font-size:.65rem!important}.cal-header-doctor{word-break:break-word;padding:4px 2px!important;font-size:.7rem!important}.cal-event{line-height:1.2;padding:2px 3px!important;font-size:.65rem!important}.cal-event-name{font-size:.65rem!important}.cal-event-time,.cal-event-desc{font-size:.58rem!important}.appt-dash-cards{grid-template-columns:1fr 1fr!important;gap:8px!important}.appt-dash-card{padding:10px!important}.appt-dash-card-label{font-size:.68rem!important}.appt-dash-card-value{font-size:1rem!important}.form-group input,.form-group select,.form-group textarea,.form-input,input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],select,textarea{min-height:44px!important;font-size:16px!important}.form-group label,.form-label{margin-bottom:4px!important;font-size:.82rem!important}.form-grid{grid-template-columns:1fr!important;gap:10px!important}.modal-body .form-grid{gap:12px!important}.modal-header{z-index:1!important;background:var(--card-bg)!important;padding:12px 16px!important;position:sticky!important;top:0!important}.modal-footer{background:var(--card-bg)!important;padding:12px 16px!important;position:sticky!important;bottom:0!important}.modal-footer .btn-primary,.modal-footer .btn-secondary{flex:1!important;min-height:44px!important}.tp-session-card-main{flex-wrap:wrap!important;gap:6px!important;padding:10px!important}.tp-session-work{white-space:normal!important;text-overflow:unset!important;font-size:.82rem!important;overflow:visible!important}.tp-session-paid{font-size:.82rem!important}.tp-session-date-day{font-size:.9rem!important}.tp-session-edit-btn{opacity:1!important;min-width:36px!important;min-height:36px!important;padding:6px!important}.tp-session-details{padding:8px 10px!important}.tp-session-meta{gap:4px!important}.report-charts-grid{grid-template-columns:1fr!important;gap:12px!important}.report-chart-panel{min-height:200px!important}.report-chart-panel .recharts-responsive-container{min-height:180px!important}.report-toolbar{flex-direction:column!important;align-items:stretch!important;gap:8px!important;padding:10px!important}.report-toolbar-filters{flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important}.report-toolbar-filters .filter-group{flex-direction:column!important;align-items:stretch!important;gap:4px!important}.report-toolbar-filters .form-input{width:100%!important;min-width:0!important}.report-toolbar-actions{flex-wrap:wrap!important;justify-content:flex-start!important;gap:6px!important}.report-toolbar-actions:before{display:none!important}.report-tab-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none!important;flex-wrap:nowrap!important;overflow-x:auto!important}.report-tab-nav::-webkit-scrollbar{display:none!important}.report-tab-btn{white-space:nowrap!important;flex-shrink:0!important;min-height:36px!important;padding:6px 12px!important;font-size:.78rem!important}.report-kpi-grid{grid-template-columns:1fr 1fr!important;gap:8px!important;max-width:100%!important}.report-kpi-card{padding:10px!important}.mobile-grid-4{grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:12px!important}.mobile-grid-4>.detail-card{padding:10px!important}.mobile-grid-4>.detail-card>div:last-child{font-size:1.1rem!important}.mobile-bottom-nav{z-index:1000!important;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))!important;-webkit-backdrop-filter:blur(12px)!important}.mobile-bottom-nav-item{min-width:56px!important;min-height:44px!important;font-size:.62rem!important}.mobile-bottom-nav-item svg{width:22px!important;height:22px!important}body{font-size:14px!important}.summary-label,.appt-dash-card-label,.dd-field-label,.dd-stat-label,.phd-payment-type-label,.tp-session-date-month{font-size:.65rem!important}button:not(.tp-session-card):not(.mobile-bottom-nav-item),.icon-btn,a.btn,.action-icon{min-height:36px}.donut-cards{flex-direction:column!important;gap:12px!important}.patient-info-grid{grid-template-columns:1fr!important}.patient-header-actions{flex-wrap:wrap!important;gap:6px!important}.patient-header-actions .btn-primary,.patient-header-actions .btn-secondary{flex:auto!important;justify-content:center!important;min-width:100px!important}.plan-header-info{flex-direction:column!important;gap:8px!important}.plan-actions{flex-wrap:wrap!important;gap:6px!important}.plan-actions .btn-primary,.plan-actions .btn-secondary{flex:auto!important;min-width:100px!important}.detail-summary{grid-template-columns:1fr 1fr!important;gap:8px!important}.detail-grid{grid-template-columns:1fr!important}.product-cards-grid{grid-template-columns:1fr!important;gap:10px!important}.wms-layout{grid-template-columns:1fr!important;gap:12px!important}.wms-stats{grid-template-columns:1fr 1fr!important;gap:8px!important}.rbac-categories{grid-template-columns:1fr!important}.course-cards-grid{grid-template-columns:1fr!important;gap:10px!important}.empty-state{padding:24px 16px!important;font-size:.9rem!important}.loading-container{padding:24px!important}}@media (width<=480px){.page-container{gap:8px;padding:8px}.page-header h1{font-size:1.1rem}.summary-cards{grid-template-columns:1fr;gap:8px}.detail-summary,.batch-info-grid,.dd-stats-row{grid-template-columns:1fr}.modal-content{border-radius:0;height:100dvh;max-height:100vh}.form-actions{flex-direction:column;gap:8px}.form-actions .btn-primary,.form-actions .btn-secondary{width:100%}.topbar{padding:4px 8px}.topbar-actions{gap:0}.action-icon{min-width:36px;min-height:36px;padding:4px}}.dental-chart-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.75rem;position:relative}.dental-chart-container svg{margin:0 auto}.dental-chart-fullmouth{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.dental-chart-fullmouth input[type=checkbox]{accent-color:var(--accent)}.dental-chart-tooltip{background:var(--text-primary);color:var(--surface);white-space:nowrap;pointer-events:none;border-radius:6px;padding:.25rem .75rem;font-size:.75rem;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.dental-chart-info{border-top:1px solid var(--border);align-items:baseline;gap:.5rem;margin-top:.5rem;padding-top:.5rem;font-size:.8rem;display:flex}.dental-chart-info-label{color:var(--text-muted);font-weight:500}.dental-chart-info-value{color:var(--text-secondary);word-break:break-word}.drag-handle{width:22px;height:22px;color:var(--text-muted);cursor:grab;opacity:0;z-index:5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s;display:flex;position:absolute;top:6px;right:6px}.drag-handle:active{cursor:grabbing}.dash-v2-card:hover .drag-handle,.detail-card:hover .drag-handle,.dash-v2-panel:hover .drag-handle,.appt-dash-card:hover .drag-handle,.appt-dash-chart-panel:hover .drag-handle,.payment-summary-card:hover .drag-handle,.phd-section-card:hover .drag-handle{opacity:.5}.drag-handle:hover{background:#ffffff14;opacity:1!important}.resize-handle{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;z-index:5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s;display:flex;position:absolute;top:6px;right:30px}.dash-v2-card:hover .resize-handle,.detail-card:hover .resize-handle,.dash-v2-panel:hover .resize-handle,.phd-section-card:hover .resize-handle{opacity:.5}.resize-handle:hover{background:#ffffff14;opacity:1!important}[data-theme=light] .drag-handle:hover,[data-theme=light] .resize-handle:hover{background:#0000000f}.dash-draggable-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=768px){.dash-draggable-grid{grid-template-columns:1fr}.dash-draggable-grid>*{grid-column:1/-1!important}}.phd-draggable-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:1.25rem;display:grid}.phd-draggable-grid>div{min-width:0}@media (width<=900px){.phd-draggable-grid{grid-template-columns:1fr}.phd-draggable-grid>div{grid-column:1!important}}.phd-main-grid{grid-template-columns:1fr 380px;align-items:start;gap:1.25rem;display:grid}.phd-left-col,.phd-right-col{flex-direction:column;gap:1.25rem;display:flex}@media (width<=1024px){.phd-main-grid{grid-template-columns:1fr}}.phd-overall-progress{margin-top:.75rem;padding:.5rem 0}.phd-progress-labels{color:var(--text-secondary);justify-content:space-between;margin-bottom:4px;font-size:.75rem;display:flex}.phd-progress-bar{background:var(--control-bg);border-radius:3px;height:6px;overflow:hidden}.phd-progress-fill{border-radius:3px;height:100%;transition:width .5s}.phd-plan-progress{padding:0 1rem .5rem}.phd-plan-detail{padding:0 1rem 1rem}.phd-plan-info-row{color:var(--text-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;padding:.5rem 0 .75rem;font-size:.8rem;display:flex}.phd-plan-payments{border-top:1px solid var(--border);padding-top:.25rem}.phd-payment-list{flex-direction:column;gap:2px;display:flex}.phd-payment-item{border-radius:6px;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.8rem;display:flex}.phd-payment-item:hover{background:var(--hover-bg)}.phd-payment-left{align-items:center;gap:.5rem;display:flex}.phd-payment-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.phd-payment-type-dot.session{background:#28c76f}.phd-payment-type-dot.direct{background:var(--accent)}.phd-payment-date{font-weight:500}.phd-payment-type-label{color:var(--text-muted);font-size:.7rem}.phd-payment-amount{color:#28c76f;font-weight:600}.phd-toggle-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-top:.25rem;padding:.4rem 0;font-size:.8rem;font-weight:500;display:flex}.phd-toggle-btn:hover{text-decoration:underline}.phd-past-list{max-height:300px;overflow-y:auto}.phd-past-list li{opacity:.8}.phd-payment-summary{border-bottom:1px solid var(--border);gap:1rem;margin-bottom:.25rem;padding:.6rem 0;display:flex}.phd-payment-summary-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.8rem;display:flex}.phd-section-card{height:auto}.phd-alerts{flex-direction:column;gap:.5rem;display:flex}.phd-alert{border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.8rem;font-weight:500;display:flex}.phd-alert-danger{color:#dc2626;background:#ea545526;border-left:3px solid #ea5455}.phd-alert-warning{color:#d97706;background:#ff9f4326;border-left:3px solid #ff9f43}.phd-alert-info{color:#0891b2;background:#00cfe826;border-left:3px solid #00cfe8}[data-theme=dark] .phd-alert-danger{color:#f87171}[data-theme=dark] .phd-alert-warning{color:#fbbf24}[data-theme=dark] .phd-alert-info{color:#22d3ee}.phd-quick-actions{flex-wrap:wrap;gap:.5rem;display:flex}.phd-quick-actions .btn-secondary{align-items:center;gap:4px;padding:.4rem .75rem;font-size:.8rem;display:inline-flex}.phd-odontogram-wrap{border-radius:8px;overflow:auto}.phd-scrollable-card{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:520px;overflow-y:auto}.phd-scrollable-card::-webkit-scrollbar{width:5px}.phd-scrollable-card::-webkit-scrollbar-track{background:0 0}.phd-scrollable-card::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.phd-scrollable-card::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.phd-gallery{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;padding:.5rem 0;display:grid}.phd-gallery-item{cursor:pointer;aspect-ratio:1;background:var(--control-bg);border-radius:8px;transition:transform .15s;position:relative;overflow:hidden}.phd-gallery-item:hover{transform:scale(1.04)}.phd-gallery-item img{object-fit:cover;width:100%;height:100%}.phd-gallery-desc{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0009;padding:2px 6px;font-size:.6rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.phd-lightbox{z-index:9999;cursor:pointer;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex;position:fixed;inset:0}.phd-lightbox img{cursor:default;border-radius:8px;max-width:90vw;max-height:80vh}.phd-lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:1rem;right:1rem}.phd-lightbox-close:hover{background:#ffffff4d}.phd-lightbox-desc{color:#fffc;font-size:.9rem}.phd-timeline{padding-left:1.5rem;position:relative}.phd-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:5px}.phd-timeline-item{padding-bottom:1rem;position:relative}.phd-timeline-item:last-child{padding-bottom:0}.phd-timeline-dot{border:2px solid var(--card-bg);z-index:1;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-1.5rem}.phd-timeline-content{padding-left:.25rem}.phd-timeline-header{align-items:center;gap:.5rem;margin-bottom:2px;display:flex}.phd-timeline-date{color:var(--text-muted);font-size:.7rem;font-weight:500}.phd-timeline-type{align-items:center;display:flex}.phd-timeline-type-appointment{color:#00cfe8}.phd-timeline-type-session{color:#7367f0}.phd-timeline-type-payment{color:#28c76f}.phd-timeline-title{color:var(--text);font-size:.8rem;font-weight:500}.phd-timeline-detail{color:var(--text-muted);margin-top:1px;font-size:.7rem}.phd-two-col{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}@media (width<=768px){.phd-two-col{grid-template-columns:1fr}}.phd-conditions{flex-wrap:wrap;gap:.5rem;padding:.5rem 0;display:flex}.phd-condition-badge{border-radius:20px;align-items:center;gap:4px;padding:5px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.phd-condition-critical{color:#f87171;background:#ea545526}.phd-condition-moderate{color:#fbbf24;background:#ff9f4326}.phd-condition-info{color:#60a5fa;background:#3699ff26}.phd-condition-desc{opacity:.85;font-size:.75rem;font-weight:400}.phd-compact-list{margin:0;padding:0;list-style:none}.phd-compact-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.phd-compact-list li:last-child{border-bottom:none}.phd-debt-summary{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.phd-debt-row{border-left:3px solid var(--danger)}.phd-debt-row td:first-child{padding-left:calc(var(--space-4,1rem) - 3px)}.dh-filter-bar{background:var(--accent-light,#dbeafe);border:1px solid var(--accent);color:var(--text-primary);border-radius:8px;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.dh-plan-group{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:1.25rem;overflow:hidden}.dh-plan-header{background:var(--background);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.dh-plan-info{align-items:center;gap:.75rem;display:flex}.dh-plan-date{color:var(--text-primary);font-size:.9rem;font-weight:600}.dh-plan-doctor{color:var(--text-secondary);font-size:.85rem}.dh-plan-details{flex:1;gap:1rem;display:flex}.dh-plan-diagnosis,.dh-plan-complaint{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.15rem .5rem;font-size:.8rem}.dh-plan-cost{color:var(--text-secondary);margin-left:auto;font-size:.85rem;font-weight:500}@media (width<=768px){.dh-plan-header{flex-direction:column;align-items:flex-start;gap:.5rem}.dh-plan-cost{margin-left:0}}.dash-v2-cards{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.dash-v2-card{align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);cursor:pointer;transition:all var(--transition-base);z-index:1;display:flex;position:relative}.dash-v2-card:hover{border-color:var(--accent);background:var(--accent-light)}.dash-v2-card-icon{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.dash-v2-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-v2-card-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:500}.dash-v2-card-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.dash-v2-card-value small{color:var(--text-muted);font-size:.7em;font-weight:500}.dash-v2-card-sub{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.dash-v2-card-sub.trend-up{color:var(--success)}.dash-v2-card-sub.trend-down{color:var(--danger)}.dash-v2-row{gap:var(--space-5);display:flex}.dash-v2-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.dash-v2-panel-left,.dash-v2-panel-right{flex:1;min-width:0}.dash-v2-panel-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.dash-v2-panel-header h3{font-size:var(--text-md);color:var(--text-primary);margin:0;font-weight:600}.dash-v2-subtitle{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.btn-link{color:var(--accent);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-weight:500;display:flex}.btn-link:hover{text-decoration:underline}.dash-v2-appt-list{max-height:320px;overflow-y:auto}.dash-v2-appt-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);display:flex}.dash-v2-appt-item:last-child{border-bottom:none}.dash-v2-appt-item:hover{background:var(--background)}.dash-v2-appt-item.active{background:var(--accent-light);border-left:3px solid var(--accent)}.dash-v2-appt-time{font-size:var(--text-sm);color:var(--accent);flex-shrink:0;align-items:center;gap:4px;min-width:70px;font-weight:600;display:flex}.dash-v2-appt-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dash-v2-appt-patient{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.dash-v2-appt-doctor{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.dash-v2-legend{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:6px;display:flex}.dash-v2-legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dash-v2-stats-grid{gap:var(--space-3);padding:var(--space-4) var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.dash-v2-qstat{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all var(--transition-fast);flex-direction:column;display:flex}.dash-v2-qstat:hover{background:var(--background);border-color:var(--border)}.dash-v2-qstat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.dash-v2-qstat-value{font-size:var(--text-lg);color:var(--text-primary);font-weight:700;line-height:1}.dash-v2-qstat-label{font-size:var(--text-xs);color:var(--text-muted);text-align:center;font-weight:500}@media (width<=1100px){.dash-v2-cards{grid-template-columns:repeat(2,1fr)}.dash-v2-row{flex-direction:column}}@media (width<=640px){.dash-v2-cards{grid-template-columns:1fr 1fr;gap:8px}.dash-v2-card{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:10px}.dash-v2-card-icon{width:36px;height:36px}.dash-v2-card-icon svg{width:16px;height:16px}.dash-v2-card-value{font-size:1.1rem}.dash-v2-card-label{font-size:.6rem}.dash-v2-card-sub{justify-content:center;font-size:.6rem}.dash-v2-stats-grid{grid-template-columns:repeat(3,1fr);gap:6px}.dash-v2-qstat{padding:8px 4px}.dash-v2-qstat-icon{width:32px;height:32px}.dash-v2-qstat-value{font-size:.95rem}.dash-v2-qstat-label{font-size:.6rem}.dash-v2-panel{border-radius:var(--radius-md)}.dash-v2-panel-header{padding:10px 12px}.dash-v2-panel-header h3{font-size:.9rem}}.payment-summary-cards{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.payment-summary-card{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--primary)}.payment-card-red{border-top-color:#ea5455}.payment-card-blue{border-top-color:var(--primary)}.payment-card-green{border-top-color:#28c76f}.payment-card-header{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;font-weight:500;display:flex}.payment-card-header svg{opacity:.5}.payment-card-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1}.payment-card-red .payment-card-value{color:#ea5455}.payment-card-green .payment-card-value{color:#28c76f}.payment-card-sub{color:var(--text-muted);margin-top:6px;font-size:.7rem;font-weight:500}.payment-filter-bar{margin-bottom:var(--space-4);gap:.5rem;display:flex}.filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-chip.pending.active{background:#ea5455;border-color:#ea5455}.filter-chip.paid.active{background:#28c76f;border-color:#28c76f}.cell-with-sub{flex-direction:column;gap:2px;display:flex}.cell-sub{color:var(--text-muted);font-size:.75rem}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.progress-cell{align-items:center;gap:8px;min-width:100px;display:flex}.progress-bar-mini{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill-mini{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.progress-fill-mini.paid{background:var(--success)}.progress-text{color:var(--text-muted);min-width:32px;font-size:.75rem;font-weight:600}.status-badge{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-paid{color:var(--success);background:#3a8a5c1f}.remaining-amount{color:var(--danger);font-size:.95rem;font-weight:700}.type-badge{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.type-session{background:var(--accent-light);color:var(--accent)}.type-direct{color:#c78b38;background:#c78b381f}.amount-cell{color:var(--text-primary);font-size:.95rem;font-weight:700}.currency-sm{color:var(--text-muted);font-size:.7rem;font-weight:500}.pay-modal{max-width:520px}.pay-modal-info{margin-bottom:1.25rem}.pay-modal-patient{align-items:center;gap:12px;display:flex}.pay-modal-avatar{background:var(--primary-light);width:44px;height:44px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.pay-modal-name{color:var(--text-primary);font-size:1rem;font-weight:600}.pay-modal-doctor{color:var(--text-muted);font-size:.8rem}.pay-modal-finance{background:var(--background);border-radius:var(--radius-md);margin-bottom:1rem;padding:1rem}.pay-finance-item{color:var(--text-secondary);justify-content:space-between;padding:6px 0;font-size:.85rem;display:flex}.pay-finance-value{font-weight:600}.pay-finance-remaining{border-top:1px solid var(--border);color:var(--text-primary);margin-top:6px;padding-top:10px;font-size:.95rem;font-weight:700}.pay-finance-remaining .pay-finance-value{color:#ea5455;font-size:1.05rem}.pay-modal-progress{margin-bottom:1.25rem}.pay-progress-bar{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.pay-progress-fill{background:var(--primary);border-radius:4px;height:100%;transition:width .3s}.pay-progress-label{color:var(--text-muted);text-align:right;margin-top:4px;font-size:.75rem}.pay-modal-history{margin-bottom:1.25rem}.pay-modal-history h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;font-size:.8rem}.pay-history-list{flex-direction:column;gap:6px;display:flex}.pay-history-item{background:var(--background);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.pay-history-left{align-items:center;gap:10px;display:flex}.pay-history-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pay-history-icon.session{background:var(--primary-light);color:var(--primary)}.pay-history-icon.direct{color:#fb923c;background:#e67e2226}.pay-history-type{color:var(--text-primary);font-size:.82rem;font-weight:500}.pay-history-date{color:var(--text-muted);font-size:.72rem}.pay-history-amount{color:var(--text-primary);font-size:.9rem;font-weight:700}.pay-modal-form{margin-top:.5rem}.pay-input-row{gap:.5rem;display:flex}.pay-input-wrap{flex:1;align-items:center;display:flex;position:relative}.pay-input-prefix{color:var(--text-muted);pointer-events:none;font-size:.8rem;font-weight:600;position:absolute;left:12px}.pay-input{padding-left:42px!important}.pay-btn{white-space:nowrap;padding:0 1.25rem}.pay-quick-amounts{gap:6px;margin-top:8px;display:flex}.pay-quick-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:14px;padding:4px 12px;font-size:.75rem;font-weight:600;transition:all .15s}.pay-quick-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.pay-modal-paid{color:#34d399;border-radius:var(--radius-md);background:#34d3991f;justify-content:center;align-items:center;gap:10px;padding:1.5rem;font-size:1rem;font-weight:600;display:flex}.statement-container{min-height:200px}.statement-search{max-width:500px;padding-top:var(--space-6);margin:0 auto}.search-box-lg{align-items:center;gap:var(--space-3);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);transition:border-color var(--transition-fast);display:flex}.search-box-lg:focus-within{border-color:var(--accent)}.search-box-lg svg{color:var(--text-muted);flex-shrink:0}.search-box-lg input{font-size:var(--text-md);width:100%;color:var(--text-primary);background:0 0;border:none;outline:none}.patient-select-list{gap:var(--space-2);flex-direction:column;display:flex}.patient-select-item{padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.patient-select-item:hover{border-color:var(--accent);background:var(--accent-light)}.statement-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.statement-header h2{font-size:var(--text-xl);font-weight:600}@media (width<=640px){.payment-summary-cards{grid-template-columns:1fr}.statement-header{align-items:flex-start;gap:var(--space-3);flex-direction:column}}.view-toggle{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.view-toggle-btn{font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:.35rem;padding:.4rem .75rem;font-weight:500;display:flex}.view-toggle-btn.active{background:var(--accent);color:#fff}.cal-nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.cal-nav-left,.cal-nav-right{align-items:center;gap:var(--space-2);display:flex}.cal-date-title{font-size:var(--text-lg);color:var(--text-primary);margin-left:var(--space-2);font-weight:600}.cal-grid-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:auto}.cal-grid{min-width:500px;display:grid}.cal-header-cell{padding:var(--space-3) var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);background:var(--background);border-bottom:2px solid var(--border);z-index:2;flex-direction:column;justify-content:center;align-items:center;font-weight:600;display:flex;position:sticky;top:0}.cal-header-cell.cal-time-col{border-right:1px solid var(--border)}.cal-header-cell.cal-today{background:var(--accent-light);color:var(--accent)}.cal-day-name{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.cal-day-num{font-size:var(--text-lg);margin-top:2px;font-weight:700;line-height:1}.cal-today-num{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.cal-time-cell{padding:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);text-align:right;border-right:1px solid var(--border);border-bottom:1px solid var(--border-light);justify-content:flex-end;align-items:flex-start;min-height:56px;font-weight:500;display:flex}.cal-body-cell{border-bottom:1px solid var(--border-light);border-right:1px solid var(--border-light);min-height:56px;padding:2px;position:relative}.cal-body-cell.cal-today-col{background:var(--accent-light)}.cal-event{z-index:1;cursor:default;color:#fff;transition:box-shadow var(--transition-fast), filter var(--transition-fast);border-radius:4px;padding:4px 8px;position:absolute;top:2px;left:2px;right:2px;overflow:hidden}.cal-event:hover{box-shadow:var(--shadow-md);z-index:3;filter:brightness(1.1)}.cal-event-name{font-size:var(--text-xs);color:inherit;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.cal-event-time{color:#ffffffd9;margin-top:1px;font-size:.65rem}.cal-event-note{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.6rem;overflow:hidden}.cal-event-compact .cal-event-name{font-size:.65rem}.cal-event-compact .cal-event-time{font-size:.6rem}@media (width<=768px){.cal-nav{flex-direction:column;align-items:flex-start}.cal-date-title{font-size:var(--text-base)}}.cal-event[draggable=true]{cursor:grab}.cal-event[draggable=true]:active{cursor:grabbing}.cal-event-dragging{opacity:.35;transform:scale(.97)}.cal-cell-drop-target{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-light)!important}.cal-event-resize-handle{cursor:ns-resize;z-index:2;border-radius:0 0 4px 4px;height:8px;position:absolute;bottom:0;left:0;right:0}.cal-event-resize-handle:hover,.cal-event-resize-handle:active{background:#ffffff59}.conflict-warning{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d;border-radius:8px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.6rem .85rem;font-size:.85rem;font-weight:500;display:flex}.notif-sub-tabs{background:var(--surface);border-radius:var(--radius-lg);gap:2px;margin-bottom:1.5rem;padding:4px;display:flex}.notif-sub-tab{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:6px;padding:.5rem 1rem;font-size:.78rem;font-weight:500;transition:all .2s;display:flex}.notif-sub-tab:hover{color:var(--text-primary);background:#3d8b7f14}.notif-sub-tab.active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 8px #3d8b7f4d}.template-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.template-card{background:var(--background);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:1.15rem;transition:all .2s}.template-card:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--accent-light);transform:translateY(-1px)}.template-card-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.template-card-name{font-size:1rem;font-weight:600}.template-card-actions{gap:.4rem;display:flex}.template-builtin-badge{background:var(--primary-light,var(--accent-light));color:var(--primary);border-radius:6px;padding:.2rem .55rem;font-size:.78rem;font-weight:500}.template-card-preview{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.4rem 0;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.template-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:.65rem;padding-top:.55rem;display:flex}.messaging-compose{background:var(--surface)}.messaging-compose .form-group{margin-bottom:1.25rem}.messaging-compose .form-label{margin-bottom:.5rem;font-size:.95rem}.messaging-compose .form-input{padding:.75rem 1rem;font-size:.95rem}.messaging-compose textarea.form-input{min-height:160px;line-height:1.6}.compose-row{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}@media (width<=700px){.compose-row{grid-template-columns:1fr}}.compose-field{flex-direction:column;gap:.5rem;display:flex;position:relative}.compose-field .form-label{font-size:.95rem;font-weight:600}.patient-chip{background:var(--background);border:1px solid var(--border);border-radius:12px;align-items:center;gap:.85rem;padding:.8rem 1.15rem;font-size:1rem;font-weight:500;display:flex}.patient-search-dropdown{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:12px;max-height:320px;margin-top:6px;padding:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 28px #00000026}.patient-search-item{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.95rem;transition:background .15s;display:flex}.patient-search-item:hover{background:var(--background)}.patient-search-item+.patient-search-item{margin-top:3px}.var-chip{background:var(--background);border:1px solid var(--border);cursor:pointer;color:var(--primary);border-radius:8px;padding:.3rem .65rem;font-family:monospace;font-size:.85rem;transition:all .15s}.var-chip:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.compose-var-fields{background:var(--background);border:1px solid var(--primary);border-left:4px solid var(--primary);border-radius:12px;margin:1rem 0;padding:1.25rem}.compose-var-fields .form-grid{margin-top:.6rem}.compose-var-fields .form-group{margin-bottom:0}.compose-preview{background:var(--background);border:1px solid var(--border);border-radius:12px;margin-top:.5rem;padding:1.25rem}.compose-preview p{font-size:.95rem!important}.btn-whatsapp{color:#fff;cursor:pointer;background:#25d366;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s;display:inline-flex}.btn-whatsapp:hover{background:#1da851}.btn-whatsapp:disabled{cursor:not-allowed;background:#9edbb3}.btn-email{color:#fff;cursor:pointer;background:#ea5455;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:background .2s;display:inline-flex}.btn-email:hover{background:#d63031}.btn-email:disabled{cursor:not-allowed;background:#f1a0a0}.birthday-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.birthday-card{background:var(--background);border:1px solid var(--border);border-radius:14px;padding:1.25rem;transition:all .2s}.birthday-card:hover{border-color:#e91e63;box-shadow:0 2px 8px #e91e631a}.birthday-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.birthday-card-name{margin:0;font-size:.95rem;font-weight:600}.birthday-card-date{color:var(--text-muted);margin:.1rem 0 0;font-size:.8rem}.birthday-countdown{text-align:center}.birthday-today{color:#fff;background:#e91e63;border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;animation:1.5s infinite pulse}@keyframes pulse{50%{opacity:.5}}.birthday-days{background:var(--surface);color:#e91e63;border:2px solid #e91e63;border-radius:20px;padding:.15rem .5rem;font-size:.8rem;font-weight:700}.birthday-card-contact{color:var(--text-muted);flex-direction:column;gap:.2rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.birthday-card-contact span{align-items:center;gap:.3rem;display:flex}.birthday-card-actions{gap:.5rem;display:flex}.patient-quick-actions{gap:.5rem;margin-left:auto;display:flex}.btn-whatsapp-sm,.btn-email-sm{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:inline-flex}.btn-whatsapp-sm{color:#25d366;background:#25d3661f}.btn-whatsapp-sm:hover{color:#fff;background:#25d366}.btn-email-sm{color:#ea5455;background:#ea54551f}.btn-email-sm:hover{color:#fff;background:#ea5455}.dd-modal-patient-label{font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-2) var(--space-3);background:var(--primary-light);border-radius:var(--radius-md);margin-bottom:var(--space-2);border:1px solid var(--border-light);align-items:center;gap:.5rem;display:flex}.dd-checkbox-label{font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;display:flex}.dd-stats-row{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;display:grid}.dd-stat-card-h{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);align-items:center;gap:.85rem;padding:1rem 1.25rem;display:flex}.dd-stat-card-h .dd-stat-value{font-size:1.4rem}.dd-stat-card-h .dd-stat-label{margin-top:0;font-size:.75rem}.rx-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:220px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.rx-dropdown-item{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;transition:background .1s;display:flex}.rx-dropdown-item:hover{background:#f0f9ff}.rx-dropdown-item:last-child{border-bottom:none}.rx-dropdown-name{color:#1e293b;font-size:.82rem;font-weight:600;display:block}.rx-dropdown-meta{color:#64748b;font-size:.68rem}.rx-add-custom-btn{color:#0ea5e9;cursor:pointer;background:0 0;border:1px dashed #0ea5e9;border-radius:6px;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:background .15s;display:inline-flex}.rx-add-custom-btn:hover{background:#f0f9ff}.rx-empty{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:2rem;display:flex}.rx-empty p{margin:0;font-size:.85rem;font-weight:600}.rx-empty span{font-size:.72rem}.rx-items-list{flex-direction:column;gap:.5rem;display:flex}.rx-item-card{background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #0ea5e9;border-radius:8px;padding:.6rem .75rem}.rx-item-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.rx-item-num{color:#fff;background:#0ea5e9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;font-size:.68rem;font-weight:700;display:flex}.rx-item-name{color:#1e293b;flex:1;font-size:.82rem;font-weight:700}.rx-item-strength{color:#64748b;font-size:.75rem;font-weight:500}.rx-item-name-input{flex:1!important;font-size:.82rem!important;font-weight:600!important}.rx-item-remove{color:#ef4444;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:opacity .15s;display:flex}.rx-item-remove:hover{opacity:1;background:#fef2f2}.rx-item-fields{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;display:grid}.rx-field{flex-direction:column;gap:2px;display:flex}.rx-field label{color:#94a3b8;text-transform:uppercase;letter-spacing:.02em;font-size:.65rem;font-weight:600}.rx-field .form-input{height:30px;min-height:unset!important;padding:4px 8px!important;font-size:.78rem!important}.rx-field select.form-input{height:30px;padding-right:20px!important}.rx-quick-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:16px;padding:4px 12px;font-size:.7rem;font-weight:600;transition:all .15s}.rx-quick-btn:hover{color:#0ea5e9;background:#e0f2fe;border-color:#0ea5e9}[data-theme=dark] .rx-dropdown{background:var(--card-bg);border-color:var(--border)}[data-theme=dark] .rx-dropdown-item{border-color:var(--border-light)}[data-theme=dark] .rx-dropdown-item:hover{background:var(--control-bg)}[data-theme=dark] .rx-dropdown-name{color:var(--text-primary)}[data-theme=dark] .rx-dropdown-meta{color:var(--text-secondary)}[data-theme=dark] .rx-item-card{background:var(--control-bg);border-color:var(--border)}[data-theme=dark] .rx-item-name{color:var(--text-primary)}[data-theme=dark] .rx-quick-btn{background:var(--control-bg);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .rx-quick-btn:hover{color:#38bdf8;background:#0c4a6e33;border-color:#38bdf8}.dd-layout-2col{grid-template-columns:1fr 400px;gap:1.25rem;margin-top:1rem;display:grid}@media (width<=1100px){.dd-layout-2col{grid-template-columns:1fr}.dd-stats-row{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dd-stats-row{grid-template-columns:1fr}}.dd-main{flex-direction:column;gap:1rem;min-width:0;display:flex}.dd-aside{flex-direction:column;gap:1rem;display:flex}.dd-aside .dd-upcoming-card{overflow-y:auto}.dd-aside-stats{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.dd-aside-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-xs);flex-direction:column;align-items:center;gap:.3rem;padding:.75rem;display:flex}.dd-aside-stat-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:.15rem;display:flex}.dd-aside-stat-value{font-size:var(--text-lg);color:var(--text-primary);font-weight:700;line-height:1}.dd-aside-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.7rem;font-weight:500}.dd-info-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.dd-info-row{grid-template-columns:1fr}}.dd-layout{grid-template-columns:280px 1fr 300px;gap:1.25rem;margin-top:1rem;display:grid}@media (width<=1200px){.dd-layout{grid-template-columns:1fr}}.dd-left,.dd-right{flex-direction:column;gap:1rem;display:flex}.dd-center{flex-direction:column;gap:1rem;min-width:0;display:flex}.dd-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:1.5rem}.dd-card-title{font-size:var(--text-sm);color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-weight:600;display:flex}.dd-count{background:var(--accent);color:#fff;border-radius:10px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.dd-patient-info{text-align:center}.dd-patient-avatar{background:var(--accent-light);width:64px;height:64px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .75rem;display:flex}.dd-patient-name{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:1rem;font-weight:600}.dd-patient-fields{text-align:left;grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.dd-field{align-items:center;gap:.35rem;display:flex}.dd-field-label{color:var(--text-muted);min-width:40px;font-size:.75rem}.dd-field-value{color:var(--text-primary);font-size:.85rem;font-weight:500}.dd-patient-info-h{align-items:center;gap:1rem;display:flex}.dd-patient-avatar-h{border-radius:var(--radius-lg);background:var(--accent-light);width:48px;height:48px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dd-patient-details-h{flex:1;min-width:0}.dd-patient-name-h{font-size:var(--text-base);color:var(--text-primary);margin-bottom:.35rem;font-weight:600}.dd-patient-fields-h{flex-wrap:wrap;gap:.5rem;display:flex}.dd-field-chip{color:var(--text-primary);background:var(--background);border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.8rem;font-weight:500;display:inline-flex}.dd-field-chip-label{color:var(--text-muted);font-size:.75rem;font-weight:400}.dd-status-summary{flex-direction:column;gap:0;display:flex}.dd-status-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.dd-status-row:last-child{border-bottom:none}.dd-status-label{color:var(--text-muted);font-size:.82rem;font-weight:500}.dd-status-value{color:var(--text-primary);font-size:.85rem;font-weight:600}.dd-placeholder{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.dd-placeholder p{margin-top:.5rem;font-size:.85rem}.dd-sessions-list{flex-direction:column;gap:.75rem;display:flex}.dd-session-item{background:var(--background);border-radius:0 var(--radius-md) var(--radius-md) 0;border-left:3px solid var(--accent);transition:background var(--transition-base);padding:.75rem 1rem}.dd-session-item:hover{background:var(--accent-light)}.dd-session-work{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:.35rem;font-weight:600}.dd-session-meta{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.dd-session-date{background:var(--accent-light);color:var(--accent);border-radius:var(--radius-sm);padding:.1rem .4rem;font-size:.75rem;font-weight:500}.dd-session-next{color:var(--warning);margin-top:.25rem;font-size:.8rem;font-style:italic}.treatment-history-grouped{flex-direction:column;gap:1rem;display:flex}.treatment-plan-group{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.treatment-plan-header{background:var(--background);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.treatment-plan-header-left{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.treatment-plan-badge{text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--accent);border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700}.treatment-plan-diagnosis{color:var(--text-primary);font-size:.85rem;font-weight:600}.treatment-plan-date{color:var(--text-muted);font-size:.75rem}.treatment-plan-header-right{align-items:center;gap:.4rem;font-size:.8rem;display:flex}.treatment-plan-cost{color:var(--text-primary);font-weight:600}.treatment-plan-remaining{color:var(--warning,#ff9f43);font-size:.75rem;font-weight:500}.treatment-plan-no-sessions{text-align:center;color:var(--text-muted);padding:1rem;font-size:.8rem;font-style:italic}.tp-sessions-timeline{flex-direction:column;gap:0;display:flex}.tp-session-card{cursor:pointer;transition:background var(--transition-base);border-radius:var(--radius-md);padding:0}.tp-session-card+.tp-session-card{border-top:1px solid var(--border-light)}.tp-session-card:hover,.tp-session-card.expanded{background:var(--background)}.tp-session-card-main{align-items:center;gap:.75rem;padding:.75rem;display:flex}.tp-session-date{flex-direction:column;flex-shrink:0;align-items:center;min-width:40px;display:flex}.tp-session-date-day{color:var(--text-primary);font-size:1.05rem;font-weight:700;line-height:1.1}.tp-session-date-month{color:var(--text-muted);text-transform:uppercase;margin-top:1px;font-size:.65rem;font-weight:600}.tp-session-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.tp-session-card.expanded .tp-session-dot{background:var(--chart-green)}.tp-session-info{flex:1;min-width:0}.tp-session-work{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.tp-session-meta{flex-wrap:wrap;gap:.5rem;margin-top:.2rem;display:flex}.tp-session-teeth-badge{background:var(--accent-light);color:var(--accent);border-radius:4px;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.tp-session-img-badge{background:var(--success-light);color:var(--chart-green);border-radius:4px;padding:.1rem .45rem;font-size:.72rem;font-weight:600}.tp-session-paid{color:var(--text-primary);white-space:nowrap;font-size:.85rem;font-weight:700}.tp-session-paid-label{color:var(--text-muted);font-size:.7rem;font-weight:500}.tp-session-edit-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 4px;transition:opacity .15s,color .15s,background .15s;display:flex}.tp-session-card:hover .tp-session-edit-btn{opacity:1}.tp-session-edit-btn:hover{color:var(--accent);background:var(--accent-light)}.tp-session-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.tp-session-chevron.rotated{transform:rotate(180deg)}.tp-session-details{border-top:1px solid var(--border-light);flex-direction:column;gap:.5rem;margin:0 .75rem 0 calc(48px + 1.5rem);padding:.6rem 0 .75rem;display:flex}.tp-session-detail-row{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.tp-session-detail-row svg{color:var(--text-muted);flex-shrink:0}.tp-session-detail-label{color:var(--text-muted);min-width:70px;font-weight:500}.tp-session-detail-value{color:var(--text-primary)}.tp-session-rx-section{border-top:1px dashed var(--border-light);margin-top:.5rem;padding-top:.5rem}.tp-session-rx-card{background:var(--bg-secondary);border-left:3px solid var(--accent);border-radius:.5rem;margin-top:.35rem;padding:.5rem .65rem}.tp-session-rx-header{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.tp-session-rx-diagnosis{color:var(--text-primary);font-size:.78rem;font-weight:600}.tp-session-rx-dentist{color:var(--text-muted);font-size:.72rem}.tp-session-rx-meds{flex-direction:column;gap:.2rem;display:flex}.tp-session-rx-med-row{color:var(--text-secondary);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.tp-session-rx-med-num{color:var(--text-muted);min-width:14px;font-weight:600}.tp-session-rx-med-name{color:var(--text-primary);font-weight:600}.tp-session-rx-med-strength{background:var(--accent-light,#6366f11a);color:var(--accent);border-radius:.25rem;padding:0 .35rem;font-size:.68rem;font-weight:600}.tp-session-rx-med-detail{color:var(--text-muted);font-size:.72rem}.rx-history-list{flex-direction:column;gap:0;display:flex}.rx-history-item{border-bottom:1px solid var(--border-light);padding:.75rem 0}.rx-history-item:last-child{border-bottom:none}.rx-history-header{align-items:flex-start;gap:.75rem;display:flex}.rx-history-date-col{flex-direction:column;flex-shrink:0;align-items:center;min-width:40px;display:flex}.rx-history-day{color:var(--accent);font-size:1.15rem;font-weight:700;line-height:1.1}.rx-history-month{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.65rem}.rx-history-info{flex:1;min-width:0}.rx-history-diagnosis{color:var(--text-primary);margin-bottom:.2rem;font-size:.85rem;font-weight:600}.rx-history-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rx-history-dentist,.rx-history-med-count{color:var(--text-muted);align-items:center;gap:.25rem;font-size:.73rem;display:inline-flex}.rx-history-session-badge{background:var(--accent-light,#6366f11a);color:var(--accent);border-radius:1rem;align-items:center;padding:1px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.rx-history-meds-grid{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;padding-left:calc(40px + .75rem);display:flex}.rx-history-med-chip{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:.4rem;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.72rem;display:inline-flex}.rx-history-med-chip-name{color:var(--text-primary);font-weight:600}.rx-history-med-chip-strength{color:var(--accent);font-size:.68rem;font-weight:600}.rx-history-med-chip-freq{color:var(--text-muted);font-size:.68rem}.dd-cal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.dd-cal-title{color:var(--text-primary);font-size:.85rem;font-weight:600}.dd-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dd-cal-day-name{color:var(--text-muted);text-transform:uppercase;padding:.25rem 0;font-size:.65rem;font-weight:600}.dd-cal-day{cursor:default;color:var(--text-secondary);border-radius:6px;padding:.35rem 0;font-size:.8rem;position:relative}.dd-cal-empty{color:#0000}.dd-cal-today{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin:0 auto;font-weight:600;display:flex}.dd-cal-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.dd-cal-today .dd-cal-dot{background:#fff}.dd-stats-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.dd-stat-card{background:var(--background);border-left:3px solid var(--accent);text-align:center;border-radius:8px;padding:.75rem}.dd-stat-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin:0 auto .35rem;display:flex}.dd-stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.dd-stat-label{color:var(--text-muted);margin-top:.1rem;font-size:.7rem}.dd-appt-list{flex-direction:column;gap:.5rem;max-height:400px;display:flex;overflow-y:auto}.dd-appt-item{background:var(--background);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;transition:all .15s;display:flex}.dd-appt-item:hover{border-color:var(--accent);background:var(--accent-light)}.dd-appt-item.active{border-color:var(--accent);background:var(--accent-light);box-shadow:0 0 0 2px var(--accent-light)}.dd-appt-time{color:var(--text-muted);align-items:center;gap:.25rem;min-width:50px;font-size:.75rem;display:flex}.dd-appt-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;font-weight:500;overflow:hidden}.dd-appt-status{white-space:nowrap;border-radius:10px;padding:.2rem .5rem;font-size:.65rem;font-weight:600}.dd-status-scheduled{background:var(--accent-light);color:var(--accent)}.dd-status-confirmed{color:#60a5fa;background:#3699ff26}.dd-status-checked-in,.dd-status-completed{color:#34d399;background:#28c76f26}.dd-status-cancelled{color:#f87171;background:#ea545526}.dd-status-pending{color:var(--text-secondary);background:#ffffff0f}.dd-upcoming-card{padding-bottom:.25rem}.dd-week-strip{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.dd-week-label{color:var(--text-primary);text-align:center;min-width:100px;font-size:.82rem;font-weight:600}.dd-week-nav{width:26px;height:26px}.dd-week-days{background:var(--control-bg);border-radius:var(--radius-md);grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.75rem;padding:.35rem .25rem;display:grid}.dd-week-day{cursor:default;transition:all var(--transition-fast);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:.35rem 0;display:flex}.dd-week-day-name{text-transform:uppercase;color:var(--text-muted);letter-spacing:.3px;font-size:.62rem;font-weight:600}.dd-week-day-num{color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;font-weight:600;display:flex}.dd-week-day.active .dd-week-day-name{color:var(--primary)}.dd-week-day.active .dd-week-day-num{background:var(--primary);color:#fff;box-shadow:0 2px 8px var(--control-focus)}.dd-week-day-badge{color:#fff;background:#ef4444;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:.55rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.dd-week-day:hover{background:var(--control-bg);border-radius:8px}.dd-timeline{max-height:420px;padding-right:.15rem;overflow-y:auto}.dd-timeline-group{margin-bottom:.5rem}.dd-timeline-day-label{color:var(--text-muted);border-bottom:1px solid var(--border-light);margin-bottom:.25rem;padding:.35rem .25rem .25rem;font-size:.72rem;font-style:normal}.dd-timeline-day-name{color:var(--primary);font-style:normal;font-weight:600}.dd-timeline-day-date{color:var(--text-muted);font-style:normal}.dd-timeline-item{cursor:pointer;text-align:left;width:100%;min-height:44px;transition:all var(--transition-fast);background:0 0;border:none;align-items:stretch;gap:0;padding:0;display:flex}.dd-timeline-item:hover .dd-timeline-content{background:var(--accent-light);border-color:var(--accent)}.dd-timeline-item.active .dd-timeline-content{background:var(--accent-light);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.dd-timeline-time{width:42px;color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;padding-top:.65rem;padding-right:.35rem;font-size:.7rem;font-weight:600}.dd-timeline-connector{flex-direction:column;flex-shrink:0;align-items:center;width:16px;padding-top:.75rem;display:flex}.dd-timeline-dot{background:var(--primary);border:2px solid var(--glass-bg);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--primary-light);z-index:1;border-radius:50%;flex-shrink:0}.dd-timeline-line{background:var(--border);flex:1;width:1.5px;margin-top:2px}.dd-timeline-group:last-child .dd-timeline-item:last-child .dd-timeline-line{background:0 0}.dd-timeline-content{background:var(--surface);border:1px solid var(--border-light);transition:all var(--transition-fast);border-radius:8px;flex:1;align-items:center;gap:.5rem;margin:.15rem 0 .15rem .25rem;padding:.4rem .6rem;display:flex}.dd-timeline-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;display:flex}.dd-timeline-info{flex:1;min-width:0}.dd-timeline-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;display:flex;overflow:hidden}.dd-timeline-note{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.68rem;overflow:hidden}.dd-timeline-content .dd-appt-status{flex-shrink:0;padding:.15rem .4rem;font-size:.6rem}.dd-referral-banner,.dd-followup-banner{border-radius:8px;align-items:center;gap:.4rem;margin-top:.5rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;display:flex}.dd-referral-banner{color:#a78bfa;background:#7c3aed26}.dd-followup-banner{color:#34d399;background:#34d39926}.dd-referral-note{color:var(--text-muted);font-weight:400}.dd-type-badge{letter-spacing:.5px;vertical-align:middle;border-radius:4px;margin-left:.35rem;padding:.05rem .35rem;font-size:.6rem;font-weight:700;display:inline-block}.dd-type-referral{color:#a78bfa;background:#7c3aed26}.dd-type-followup{color:#34d399;background:#34d39926}.cal-month-wrapper{margin-top:1rem}.cal-month-grid{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:repeat(7,1fr);display:grid;overflow:hidden}.cal-month-header{text-align:center;font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;background:var(--background);border-bottom:1px solid var(--border);padding:.6rem .5rem;font-weight:700}.cal-month-cell{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);cursor:pointer;background:var(--surface);min-height:120px;padding:4px;transition:background .15s;position:relative}.cal-month-cell:hover{background:var(--background)}.cal-month-cell:nth-child(7n){border-right:none}.cal-month-overflow{background:var(--background);opacity:.5;cursor:default}.cal-month-today{background:var(--warning-light)!important}.cal-month-day-num{color:var(--text-secondary);text-align:right;padding:2px 6px 4px;font-size:.8rem;font-weight:600}.cal-month-today .cal-month-day-num{color:var(--accent);font-weight:700}.cal-month-events{flex-direction:column;gap:2px;display:flex}.cal-month-event-bar{color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:500;line-height:1.4;display:block;overflow:hidden}.cal-month-more{color:var(--text-muted);cursor:pointer;padding:1px 6px;font-size:.65rem;font-weight:600}.cal-month-more:hover{color:var(--accent)}.appt-dash-cards{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(5,1fr);display:grid}.appt-dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);border-top:4px solid var(--border);text-align:center}.appt-dash-card-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:600;display:block}.appt-dash-card-value{font-size:var(--text-2xl);color:var(--text-primary);font-weight:700;display:block}.appt-dash-charts{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.appt-dash-chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.appt-dash-chart-panel h3{font-size:var(--text-md);color:var(--text-primary);margin:0 0 var(--space-4);text-align:center;font-weight:600}.inv-dash-charts{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=1100px){.appt-dash-cards{grid-template-columns:repeat(3,1fr)}.appt-dash-charts,.inv-dash-charts{grid-template-columns:1fr}}@media (width<=640px){.appt-dash-cards{grid-template-columns:repeat(2,1fr)}}.dash-card-clickable{cursor:pointer;transition:all .2s}.dash-card-clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.svc-summary-cards{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem;display:grid}.svc-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.svc-summary-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.svc-summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.svc-summary-label{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.svc-toolbar{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.svc-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex:1;align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex}.svc-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent-light)}.svc-search input{width:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.875rem}.svc-filter-toggle{white-space:nowrap;position:relative}.svc-filter-toggle.active{border-color:var(--primary);color:var(--primary)}.svc-filter-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.svc-filters-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);align-items:flex-end;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;display:flex}.svc-filter-group{flex-direction:column;gap:.35rem;display:flex}.svc-filter-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.svc-table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.svc-table-header{background:var(--background);border-bottom:1px solid var(--border);grid-template-columns:2fr 1.5fr 1.5fr 1fr .8fr .7fr;gap:.5rem;padding:.85rem 1.25rem;display:grid}.svc-th{text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:flex}.svc-th:hover{color:var(--primary)}.svc-row{border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);grid-template-columns:2fr 1.5fr 1.5fr 1fr .8fr .7fr;align-items:center;gap:.5rem;padding:.9rem 1.25rem;display:grid}.svc-row:last-child{border-bottom:none}.svc-row:hover{background:var(--accent-light)}.svc-col{align-items:center;gap:.6rem;min-width:0;display:flex}.svc-row-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.svc-row-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.svc-row-note{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin-top:1px;font-size:.75rem;overflow:hidden}.svc-patient-avatar{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.svc-patient-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.svc-date-info{flex-direction:column;gap:2px;display:flex}.svc-date-text{color:var(--text-primary);align-items:center;gap:5px;font-size:.84rem;font-weight:500;display:flex}.svc-time-text{color:var(--text-muted);align-items:center;gap:5px;font-size:.76rem;display:flex}.svc-referral-badge{background:var(--accent-light);color:var(--accent);white-space:nowrap;text-overflow:ellipsis;border-radius:20px;align-items:center;gap:4px;max-width:100%;padding:.25rem .65rem;font-size:.78rem;font-weight:500;display:inline-flex;overflow:hidden}.svc-no-data{color:var(--text-muted);font-size:.84rem}.svc-price{color:var(--text-primary);font-size:.9rem;font-weight:700}.svc-action-btn{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.svc-action-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.svc-action-edit:hover{color:var(--primary);border-color:var(--primary);background:var(--accent-light)}.svc-action-delete:hover{color:var(--danger);border-color:var(--danger);background:#f871711f}.svc-col-actions{justify-content:flex-end;gap:.4rem;display:flex}.svc-table-footer{border-top:1px solid var(--border-light);color:var(--text-muted);background:var(--background);padding:.75rem 1.25rem;font-size:.78rem}@media (width<=900px){.svc-summary-cards{grid-template-columns:1fr}.svc-table-header{display:none}.svc-row{flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;display:flex}.svc-col-service{flex:100%}.svc-col-patient,.svc-col-date,.svc-col-referred{flex:45%}.svc-col-price{flex:20%}.svc-col-actions{flex:none;margin-left:auto}}@media (width<=640px){.svc-toolbar,.svc-filters-panel{flex-direction:column}}.svc-summary-cards{grid-template-columns:repeat(4,1fr)}.svc-timeline{flex-direction:column;gap:0;display:flex}.svc-timeline-group{padding-left:1.5rem;position:relative}.svc-timeline-group:before{content:"";background:var(--border);width:2px;position:absolute;top:2rem;bottom:0;left:6px}.svc-timeline-group:last-child:before{display:none}.svc-timeline-date{color:var(--text-secondary);align-items:center;gap:.6rem;padding:.75rem 0;font-size:.82rem;font-weight:600;display:flex;position:relative}.svc-timeline-date-dot{background:var(--primary);border:3px solid var(--background);width:14px;height:14px;box-shadow:0 0 0 2px var(--primary-light);z-index:1;border-radius:50%;position:absolute;top:50%;left:-1.5rem;transform:translateY(-50%)}.svc-timeline-date-count{color:var(--text-muted);background:var(--background);border:1px solid var(--border-light);border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:500}.svc-timeline-items{flex-direction:column;gap:.5rem;padding-bottom:1rem;display:flex}.svc-timeline-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);cursor:pointer;transition:box-shadow var(--transition-fast), border-color var(--transition-fast);overflow:hidden}.svc-timeline-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border)}.svc-timeline-card.expanded{border-color:var(--primary);box-shadow:0 0 0 2px var(--accent-light), var(--shadow-sm)}.svc-timeline-card-main{align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.svc-timeline-time{flex-direction:column;flex-shrink:0;align-items:center;min-width:52px;display:flex}.svc-timeline-time-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.svc-timeline-time-end{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.7rem}.svc-timeline-card-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.svc-timeline-card-info{flex:1;min-width:0}.svc-timeline-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.svc-timeline-card-patient{color:var(--text-secondary);align-items:center;gap:4px;margin-top:2px;font-size:.78rem;display:flex}.svc-timeline-card-price{color:var(--success);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:60px;font-size:.9rem;font-weight:700}.svc-timeline-card-actions{opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;gap:.3rem;display:flex}.svc-timeline-card:hover .svc-timeline-card-actions{opacity:1}.svc-timeline-chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.svc-timeline-chevron.rotated{transform:rotate(90deg)}.svc-timeline-card-details{border-top:1px solid var(--border-light);flex-direction:column;gap:.5rem;margin-top:0;padding:.75rem 1rem .85rem;display:flex}.svc-detail-item{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.svc-detail-label{color:var(--text-secondary);min-width:80px;font-weight:600}.svc-detail-value{color:var(--text-primary)}.svc-table-footer-stats{text-align:center;color:var(--text-muted);padding:.75rem;font-size:.78rem}@media (width<=640px){.svc-summary-cards{grid-template-columns:1fr 1fr;gap:8px}.svc-summary-card{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.svc-summary-icon{width:32px;height:32px}.svc-summary-value{word-break:break-word;font-size:1.15rem}.svc-summary-label{font-size:.68rem}.svc-timeline-card-main{flex-wrap:wrap}.svc-timeline-card-actions{opacity:1}.svc-timeline-time{min-width:44px}}.product-cards-grid{padding:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:14px;flex-direction:column;align-items:center;padding:1.5rem 1.25rem 1rem;transition:all .2s;display:flex}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-3px)}.product-card-avatar{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:.75rem;display:flex}.product-card-avatar.product-card-img{background:#ffffff0a;border-radius:12px;width:80px;height:80px;overflow:hidden}.product-card-avatar.product-card-img img{object-fit:cover;width:100%;height:100%}.product-photo-upload{margin-bottom:.25rem}.product-photo-dropzone{border:2px dashed var(--border);cursor:pointer;color:var(--text-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;font-size:.82rem;transition:border-color .2s,background .2s;display:flex}.product-photo-dropzone:hover{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.product-photo-preview{border:2px solid var(--border-light);border-radius:12px;width:120px;height:120px;position:relative;overflow:hidden}.product-photo-preview img{object-fit:cover;width:100%;height:100%}.product-photo-overlay{opacity:0;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.product-photo-preview:hover .product-photo-overlay{opacity:1}.product-photo-change-btn,.product-photo-remove-btn{cursor:pointer;color:#fff;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;display:flex}.product-photo-change-btn{background:var(--accent)}.product-photo-remove-btn{background:var(--danger)}.product-card-name{color:var(--text-primary);margin-bottom:.35rem;font-size:1.05rem;font-weight:600}.product-card-note{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;max-width:100%;margin-bottom:.75rem;font-size:.78rem;display:flex;overflow:hidden}.product-card-actions{border-top:1px solid var(--border-light);justify-content:center;gap:.35rem;width:100%;padding-top:.75rem;display:flex}@media (width<=640px){.product-cards-grid{grid-template-columns:1fr}}.activity-log-list{flex-direction:column;gap:.5rem;display:flex}.activity-log-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:all .15s}.activity-log-item:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.activity-log-item-expanded{border-color:var(--accent);box-shadow:var(--shadow-md)}.activity-log-row{align-items:flex-start;gap:var(--space-3);display:flex}.activity-log-indicator{border-radius:4px;flex-shrink:0;width:4px;min-height:36px;margin-top:2px}.activity-log-content{flex:1;min-width:0}.activity-log-main{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.activity-log-action{color:var(--text-primary);font-size:.92rem;font-weight:500}.activity-log-toggle{color:var(--text-muted);flex-shrink:0}.activity-log-meta{align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-top:.35rem;display:flex}.activity-log-meta-item{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.78rem;display:flex}.activity-log-ago{background:var(--background);border-radius:99px;padding:.1rem .5rem;font-size:.7rem}.activity-log-details{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-light);gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.activity-log-detail-row{color:var(--text-muted);align-items:flex-start;gap:.5rem;display:flex}.activity-log-detail-row svg{flex-shrink:0;margin-top:2px}.activity-log-detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.15rem;font-size:.7rem;font-weight:600}.activity-log-detail-value{color:var(--text-primary);font-size:.85rem;font-weight:500}@media (width<=640px){.activity-log-details{grid-template-columns:1fr}}.report-tab-nav{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:var(--space-4);scrollbar-width:none;-ms-overflow-style:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.report-tab-nav::-webkit-scrollbar{display:none}.report-tab-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);white-space:nowrap;background:0 0;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .2s;position:relative}.report-tab-btn:hover{color:var(--text-primary);background:#3d8b7f14}.report-tab-btn.active{color:#fff;background:var(--accent);font-weight:600;box-shadow:0 2px 8px #3d8b7f4d}.report-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);flex-wrap:wrap;display:flex}.report-toolbar-filters{gap:var(--space-3);align-items:center;display:flex}.report-toolbar-filters .filter-group{align-items:center;gap:6px;display:flex}.report-toolbar-filters .filter-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.75rem;font-weight:600}.report-toolbar-filters .form-input{min-width:130px;padding:.4rem .6rem;font-size:.8rem}.report-toolbar-actions{align-items:center;gap:6px;display:flex}.report-toolbar-actions:before{content:"";background:var(--border);width:1px;height:24px;margin-right:6px}.report-action-btn{border-radius:var(--radius-md);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:.4rem .75rem;font-family:inherit;font-size:.76rem;font-weight:500;transition:all .2s;display:inline-flex}.report-action-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #3d8b7f40}.report-action-btn.active{color:#fff;background:#7367f0;border-color:#7367f0;box-shadow:0 2px 8px #7367f04d}.report-action-btn:disabled{opacity:.4;cursor:not-allowed}.report-kpi-grid{gap:var(--space-4);margin-bottom:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.grid-2col{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.grid-3col{grid-template-columns:1fr 1fr 1fr;gap:.75rem;display:grid}.grid-4col{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.report-kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);transition:all .25s;display:flex;position:relative;overflow:hidden}.report-kpi-card:before{content:"";border-radius:0 4px 4px 0;width:4px;position:absolute;top:0;bottom:0;left:0}.report-kpi-card:hover{border-color:#3d8b7f4d;transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.report-kpi-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.report-kpi-content{flex:1;min-width:0}.report-kpi-value{color:var(--text-primary);letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1.2}.report-kpi-value small{opacity:.6;margin-left:3px;font-size:.65rem;font-weight:500}.report-kpi-label{color:var(--text-muted);margin-top:2px;font-size:.78rem;font-weight:500}.report-chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:border-color .2s}.report-chart-panel:hover{border-color:#3d8b7f33}.report-chart-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.report-chart-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:.92rem;font-weight:600;display:flex}.report-chart-title .chart-icon{width:28px;height:28px;color:var(--accent);background:#3d8b7f1a;border-radius:8px;justify-content:center;align-items:center;display:flex}.report-charts-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=1100px){.report-charts-grid{grid-template-columns:1fr}}.report-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.65rem .95rem;font-size:.8rem;box-shadow:0 8px 24px #0003}.report-tooltip-label{color:var(--text-primary);border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:5px;font-size:.82rem;font-weight:600}.report-tooltip-item{color:var(--text-secondary);align-items:center;gap:6px;padding:3px 0;display:flex}.report-tooltip-item strong{color:var(--text-primary)}.report-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.report-yoy-panel{position:relative;background:var(--surface)!important;border-radius:var(--radius-lg)!important;border:1px solid #7367f040!important}.report-yoy-panel:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(90deg,#7367f0,#28c76f);height:3px;position:absolute;top:0;left:0;right:0}.report-table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.report-table-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.report-table-title{color:var(--text-primary);margin:0;font-size:.92rem;font-weight:600}#print-report-overlay{display:none}.print-report{color:#1a1a2e;padding:0 10mm;font-family:Segoe UI,-apple-system,Arial,sans-serif;line-height:1.5}.print-header{margin-bottom:20px}.print-header-top-line{background:linear-gradient(90deg,#7367f0,#3d8b7f);border-radius:2px;height:3px;margin-bottom:14px}.print-header-content{justify-content:space-between;align-items:flex-start;padding:0 4px;display:flex}.print-header-left{align-items:center;display:flex}.print-logo{align-items:center;gap:10px;display:flex}.print-logo-icon{color:#fff;background:#7367f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.print-clinic-name{color:#1a1a2e;letter-spacing:-.3px;font-size:20px;font-weight:700}.print-clinic-sub{color:#78838c;margin-top:1px;font-size:10px}.print-header-right{text-align:right}.print-report-title{color:#7367f0;font-size:15px;font-weight:700}.print-date-range{color:#78838c;margin-top:2px;font-size:9px}.print-header-line{background:#e0e4e8;height:1px;margin-top:12px}.print-section{page-break-inside:avoid;margin-bottom:18px}.print-section-title{color:#1a1a2e;align-items:center;gap:8px;margin:0 0 10px;font-size:13px;font-weight:700;display:flex}.print-accent-bar{background:#3d8b7f;border-radius:2px;flex-shrink:0;width:3px;height:16px;display:inline-block}.print-kpi-row{flex-wrap:wrap;gap:10px;margin-bottom:6px;display:flex}.print-kpi-card{background:#f5f6fa;border:1px solid #e8eaef;border-left:3px solid #3d8b7f;border-radius:6px;flex:1;min-width:100px;padding:10px 14px}.print-kpi-value{color:#1a1a2e;font-size:16px;font-weight:700}.print-kpi-label{color:#78838c;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:9px}.print-table{border-collapse:collapse;width:100%;margin-bottom:4px;font-size:9pt}.print-table thead tr{background:#7367f0!important}.print-table th{text-align:left;letter-spacing:.3px;text-transform:uppercase;padding:6px 10px;font-size:8pt;font-weight:600;color:#fff!important;border:none!important}.print-table td{color:#1a1a2e;border-bottom:1px solid #eaecf0;padding:5px 10px;font-size:8.5pt}.print-table tbody tr.stripe{background:#fafafc}.print-table tbody tr:hover{background:#f0f1f5}.print-footer{margin-top:24px}.print-footer-line{background:#e0e4e8;height:1px;margin-bottom:6px}.print-footer-content{color:#78838c;justify-content:space-between;font-size:8px;display:flex}.print-footer-bottom-line{background:linear-gradient(90deg,#7367f0,#3d8b7f);border-radius:2px;height:2px;margin-top:8px}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}#print-report-overlay{z-index:999999;background:#fff;width:100%;position:fixed;top:0;left:0;display:block!important}body>:not(#print-report-overlay),#root{display:none!important}body{background:#fff!important;margin:0!important;padding:0!important}@page{margin:12mm 0;size:A4}.print-section{page-break-inside:avoid}.print-table{page-break-inside:auto}.print-table tr{page-break-inside:avoid}.print-footer{padding:0 10mm;position:fixed;bottom:0;left:0;right:0}.print-page-num:after{content:counter(page)}.statement-view{display:block!important}.statement-header h2{margin-bottom:1rem;font-size:1.5rem;display:block!important}.payment-summary-cards{gap:1rem;margin-bottom:1rem;display:flex!important}.payment-summary-card{box-shadow:none!important;border:1px solid #ccc!important}.statement-header .btn-secondary,.statement-header button{display:none!important}}.doctor-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.doctor-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);cursor:pointer;text-align:center;box-shadow:var(--glass-shadow);z-index:1;border-radius:14px;flex-direction:column;align-items:center;padding:1.5rem 1.25rem 1rem;transition:all .2s;display:flex;position:relative;overflow:hidden}.doctor-card:hover{box-shadow:var(--glass-hover-shadow);border-color:var(--control-focus);transform:translateY(-3px)}.doctor-card-archived{opacity:.7}.doctor-card-archived:hover{opacity:1}.doctor-card-ribbon{text-transform:uppercase;letter-spacing:.5px;padding:.15rem 2rem;font-size:.6rem;font-weight:700;position:absolute;top:12px;right:-28px;transform:rotate(45deg)}.ribbon-active{background:var(--success);color:#fff}.ribbon-archived{background:var(--text-muted);color:#fff}.doctor-card-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:.75rem;font-size:1.5rem;font-weight:700;display:flex}.doctor-card-name{color:var(--text-primary);margin-bottom:.2rem;font-size:1.05rem;font-weight:600}.doctor-card-speciality{color:var(--text-muted);margin-bottom:.85rem;font-size:.8rem}.doctor-card-info{flex-direction:column;gap:.35rem;width:100%;margin-bottom:1rem;display:flex}.doctor-card-info-item{color:var(--text-secondary);justify-content:center;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.doctor-card-info-item svg{color:var(--text-muted);flex-shrink:0}.doctor-card-actions{border-top:1px solid var(--border-light);justify-content:center;gap:.35rem;width:100%;padding-top:.75rem;display:flex}.doctor-card-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.doctor-card-btn:hover{background:var(--background);color:var(--text-primary);border-color:var(--text-muted)}.doctor-card-btn-primary{background:var(--accent-light);color:var(--accent);border-color:#0000}.doctor-card-btn-primary:hover{background:var(--accent);color:#fff}.doctor-card-btn-danger:hover{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}@media (width<=640px){.doctor-cards-grid{grid-template-columns:1fr}}.training-courses-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem;display:grid}.training-course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.training-course-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-3px)}.training-course-card-header{flex:1;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.training-course-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex}.training-course-card-info{flex:1;min-width:0}.training-course-card-name{color:var(--text-primary);margin:0 0 .3rem;font-size:1rem;font-weight:600;line-height:1.3}.training-course-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.training-course-card-stats{border-top:1px solid var(--border-light);display:flex}.training-course-stat{color:var(--text-secondary);flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.75rem;font-size:.8125rem;display:flex}.training-course-stat:first-child{border-right:1px solid var(--border-light)}.training-course-stat-value{color:var(--text-primary);font-weight:700}.training-course-stat-label{color:var(--text-muted);font-size:.75rem}.training-course-card-footer{border-top:1px solid var(--border-light);background:var(--background);justify-content:space-between;align-items:center;padding:.6rem 1.25rem;display:flex}.training-course-badge{border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600}.training-course-card-actions{gap:.25rem;display:flex}.btn-sm-secondary{background:var(--surface)!important;color:var(--text-secondary)!important;border:1px solid var(--border)!important}.btn-sm-secondary:hover{background:var(--background)!important;color:var(--text-primary)!important;border-color:var(--text-muted)!important}.guide-tab-nav{flex-wrap:wrap;gap:2px}.guide-content{max-width:900px}.guide-section{border:1px solid var(--border-light);border-radius:var(--radius-lg,12px);background:var(--surface);margin-bottom:.75rem;overflow:hidden}.guide-section-header{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s;display:flex}.guide-section-header:hover{background:var(--background)}.guide-section-icon{color:var(--accent);align-items:center;display:flex}.guide-section-title{flex:1}.guide-section-body{color:var(--text-secondary);padding:0 1.25rem 1.25rem;font-size:.875rem;line-height:1.7}.guide-section-body p{margin:.5rem 0}.guide-section-body ul,.guide-section-body ol{margin:.5rem 0;padding-left:1.5rem}.guide-section-body li{margin-bottom:.35rem}.guide-section-body h4{color:var(--text-primary);font-size:.9rem}.guide-steps{counter-reset:step;margin:.5rem 0;padding-left:1.5rem}.guide-steps li{margin-bottom:.5rem;padding-left:.25rem}.guide-steps li::marker{color:var(--accent);font-weight:700}.guide-tip{background:var(--accent-light);color:var(--accent);border-radius:8px;align-items:flex-start;gap:.5rem;margin:.75rem 0;padding:.65rem .85rem;font-size:.8125rem;font-weight:500;line-height:1.5;display:flex}.guide-tip svg{flex-shrink:0;margin-top:2px}.guide-screenshot{border:1.5px solid var(--border);background:var(--bg-card);border-radius:10px;margin:1rem 0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.guide-screenshot img{width:100%;height:auto;display:block}.guide-screenshot-caption{color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg-soft);padding:.5rem .75rem;font-size:.75rem;font-style:italic;display:block}.guide-role-badge{border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.guide-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.8125rem}.guide-table th,.guide-table td{text-align:left;border-bottom:1px solid var(--border-light);padding:.55rem .75rem}.guide-table th{color:var(--text-primary);background:var(--background);font-weight:600}.guide-table td{color:var(--text-secondary)}.guide-code{background:var(--background);color:var(--text-primary);border:1px solid var(--border-light);border-radius:6px;margin:.5rem 0;padding:.5rem .75rem;font-family:monospace;font-size:.8rem}.wf-diagram{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:1rem 0;padding:1.5rem}.wf-title-bar{border-bottom:2px solid #e2e8f0;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.wf-title-icon{font-size:1.5rem}.wf-title{color:#1e293b;margin:0;font-size:1.15rem;font-weight:700}.wf-subtitle{color:#64748b;margin-inline-start:auto;font-size:.78rem}.wf-summary{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.wf-summary-item{background:#f8fafc;border:2px solid;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:100px;padding:.5rem 1rem;display:flex}.wf-summary-icon{font-size:1.3rem}.wf-summary-label{color:#334155;font-size:.75rem;font-weight:700}.wf-summary-role{font-size:.65rem;font-weight:600}.wf-summary-arrow{font-size:1.2rem;font-weight:700}.wf-phase{background:var(--phase-bg);border:1px solid #e2e8f0;border-radius:10px;margin-bottom:.5rem;padding:1rem 1.25rem;position:relative}.wf-phase-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.wf-phase-icon{font-size:1.4rem}.wf-phase-info{flex-direction:column;display:flex}.wf-phase-title{color:var(--phase-color);margin:0;font-size:.9rem;font-weight:700}.wf-phase-role{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:fit-content;margin-top:2px;padding:1px 8px;font-size:.7rem;font-weight:600}.wf-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.wf-step{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;display:flex;position:relative}.wf-step-num{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:.72rem;font-weight:700;display:flex}.wf-step-content{flex:1;min-width:0}.wf-step-title{color:#1e293b;margin-bottom:2px;font-size:.8rem;font-weight:700}.wf-step-desc{color:#475569;font-size:.72rem;line-height:1.35}.wf-step-page{margin-top:4px;font-size:.65rem;font-weight:600}.wf-step-connector{display:none}.wf-phase-connector{justify-content:center;padding:.35rem 0;display:flex}.wf-legend{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:.75rem}.wf-legend h4{color:#64748b;margin:0 0 .5rem;font-size:.78rem;font-weight:700}.wf-legend-items{flex-wrap:wrap;gap:1rem;display:flex}.wf-legend-item{color:#475569;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.wf-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}@media (width<=640px){.wf-summary{flex-direction:column}.wf-summary-arrow{transform:rotate(90deg)}.wf-steps{grid-template-columns:1fr}}.fd-stats-bar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.fd-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:.6rem;min-width:110px;padding:.6rem 1rem;display:flex}.fd-stat-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s}.fd-stat-clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.fd-stat-clickable:active{transform:translateY(0)}.fd-stat-icon{opacity:.7}.fd-stat-scheduled{color:#60a5fa}.fd-stat-late{color:#ff9800}.fd-stat-waiting{color:#fbbf24}.fd-stat-treatment{color:#a78bfa}.fd-stat-completed{color:#34d399}.fd-stat-cancelled{color:#f87171}.fd-stat-total{background:var(--primary);color:#fff;border-color:var(--primary)}.fd-stat-total .fd-stat-label{color:#fffc}.fd-stat-value{font-size:1.25rem;font-weight:700;line-height:1.2;display:block}.fd-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.fd-layout{grid-template-columns:280px 1fr 320px;gap:1rem;min-height:calc(100vh - 260px);display:grid}@media (width<=1200px){.fd-layout{grid-template-columns:1fr 1fr}.fd-right-panel{grid-column:span 2}}@media (width<=768px){.fd-layout{grid-template-columns:1fr}.fd-right-panel{grid-column:span 1}}.fd-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:calc(100vh - 270px);padding:1rem;overflow-y:auto}.fd-panel-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:flex}.fd-search-input-wrap{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--control-bg);align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.55rem .75rem;transition:border-color .2s;display:flex;position:relative}.fd-search-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #4ecdc41f}.fd-search-input-wrap svg{color:var(--text-muted);flex-shrink:0}.fd-search-input-wrap input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.88rem}.fd-search-input-wrap input::placeholder{color:var(--text-muted)}.fd-search-icon{color:var(--text-muted);position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.fd-search-results{flex-direction:column;gap:.5rem;max-height:calc(100vh - 400px);display:flex;overflow-y:auto}.fd-search-loading,.fd-search-empty{text-align:center;color:var(--text-secondary);padding:1.5rem;font-size:.85rem}.fd-search-empty .btn{margin-top:.75rem}.fd-patient-card{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.4rem;padding:.65rem .75rem;transition:background .15s;display:flex}.fd-patient-card:hover{background:var(--control-bg)}.fd-patient-card+.fd-patient-card{margin-top:.5rem}.fd-patient-info{flex-direction:column;gap:2px;min-width:0;display:flex}.fd-patient-name{word-break:break-word;font-size:.85rem;font-weight:600}.fd-patient-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:.72rem;display:flex}.fd-patient-actions{flex-shrink:0;gap:.35rem;display:flex;overflow:visible}.fd-patient-actions .attendance-btn-wrap[data-tooltip]:after{top:calc(100% + 6px);bottom:auto}.fd-patient-actions .btn-sm{padding:5px 12px;font-size:.78rem;font-weight:600;background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important}.fd-queue-groups{flex-direction:column;gap:.75rem;max-height:calc(100vh - 320px);display:flex;overflow-y:auto}.fd-queue-group-header{text-transform:uppercase;letter-spacing:.3px;border-radius:var(--radius-sm);align-items:center;gap:.4rem;margin-bottom:.35rem;padding:.35rem .5rem;font-size:.78rem;font-weight:600;display:flex}.fd-group-waiting{color:#fbbf24;background:#fbbf2426}.fd-group-treatment{color:#a78bfa;background:#a78bfa26}.fd-group-late{color:#ff9800;background:#ff980026}.fd-group-scheduled{color:#60a5fa;background:#60a5fa26}.fd-group-completed{color:#34d399;background:#34d39926}.fd-group-cancelled{color:#f87171;background:#f8717126}.fd-batch-selected{background:var(--surface);color:var(--text-primary);border:1.5px solid var(--accent);box-shadow:0 0 0 3px #4ecdc426}[data-theme=light] .fd-batch-selected{color:var(--text-primary);border-color:var(--accent);background:#4ecdc414}.fd-queue-card{border:1px solid var(--border);border-radius:var(--radius-md);cursor:default;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.3rem;padding:.6rem .75rem;transition:all .15s;display:flex}.fd-queue-card:hover{border-color:var(--primary-light);background:#ffffff0d}.fd-queue-card-selected{border-color:var(--primary);background:var(--primary-light)}.fd-queue-card-time{color:var(--primary);min-width:40px;font-size:.82rem;font-weight:700}.fd-queue-card-info{flex:1;min-width:0}.fd-queue-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;display:block;overflow:hidden}.fd-queue-card-doctor{color:var(--text-secondary);align-items:center;gap:3px;font-size:.7rem;display:flex}.fd-queue-card-actions{flex-shrink:0}.fd-status-select{appearance:auto;border-radius:12px;outline:none;font-size:.75rem;font-weight:500}.fd-status-select option{background:var(--surface,#1e293b);color:var(--text-primary,#e2e8f0);font-weight:400}.attendance-btn-wrap{position:relative}.attendance-btn{cursor:pointer;background:0 0;justify-content:center;align-items:center;font-family:inherit;transition:all .15s;display:flex}.attendance-btn:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000001f}.attendance-btn-wrap[data-tooltip]:after{content:attr(data-tooltip);background:var(--surface);color:var(--text);white-space:nowrap;pointer-events:none;opacity:0;z-index:10;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)scale(.9);box-shadow:0 2px 8px #0003}.attendance-btn-wrap[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)scale(1)}.fd-upcoming-empty{text-align:center;color:var(--text-secondary);padding:1.5rem;font-size:.85rem}.fd-upcoming-card{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:.6rem;margin-bottom:.4rem;padding:.55rem .6rem;transition:background .15s;display:flex}.fd-upcoming-card:hover{background:#ffffff0d}.fd-upcoming-time{color:var(--primary);min-width:40px;font-size:.85rem;font-weight:700}.fd-upcoming-info{flex:1;min-width:0}.fd-upcoming-name{font-size:.82rem;font-weight:600;display:block}.fd-upcoming-doctor{color:var(--text-secondary);align-items:center;gap:3px;font-size:.7rem;display:flex}.fd-detail-card{padding:0}.fd-detail-row{border-bottom:1px solid var(--border-light);padding:.4rem 0;font-size:.85rem}.fd-detail-row strong{color:var(--text-secondary);margin-right:.4rem}.fd-detail-actions{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.fd-rx-card{background:var(--control-bg);border:1px solid var(--border-light);border-left:3px solid #0ea5e9;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.fd-rx-info{flex-direction:column;gap:1px;min-width:0;display:flex}.fd-rx-id{color:#0ea5e9;font-size:.72rem;font-weight:700}.fd-rx-date{color:var(--text-secondary);font-size:.7rem}.fd-rx-meta{color:var(--text-secondary);font-size:.68rem}.fd-rx-diag{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.68rem;font-style:italic;overflow:hidden}.fd-step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:1.25rem;display:flex}.fd-step{border:2px solid var(--border);width:28px;height:28px;color:var(--text-muted);background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.fd-step.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.fd-step.done{border-color:var(--success);color:#fff;background:var(--success)}.fd-step-line{background:var(--border);width:40px;height:2px}.fd-step-line.filled{background:var(--success)}.fd-verify-header{flex-direction:column;align-items:center;margin-bottom:1rem;display:flex}.fd-verify-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.5rem;font-size:1.4rem;font-weight:700;display:flex}.fd-verify-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.fd-verify-info{border-radius:var(--radius-md);background:#ffffff0a;margin-bottom:1rem;padding:1rem}.fd-verify-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.fd-verify-field{align-items:flex-start;gap:.5rem;font-size:.85rem;display:flex}.fd-verify-field svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.fd-verify-label{text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);margin-bottom:1px;font-size:.7rem;font-weight:600;display:block}.fd-verify-value{color:var(--text-primary);font-weight:500;display:block}.fd-verify-complaint{border-top:1px solid var(--border-light);margin-top:.75rem;padding-top:.75rem;font-size:.85rem}.fd-verify-complaint .form-input{width:100%}.fd-checkin-patient-bar{background:var(--accent-light);color:var(--accent);border-radius:var(--radius-md);align-items:center;gap:.4rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.fd-checkin-form{margin-bottom:.5rem}.fd-checkin-form .form-group{margin-bottom:.75rem}.fd-checkin-time-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.btn-success{background:var(--success);color:#070b14;border-color:var(--success);font-weight:600}.btn-success:hover{background:#2bc48a}.btn-danger-outline{border:1px solid var(--danger);color:var(--danger);background:0 0}.btn-danger-outline:hover{background:#f871711f}.fd-referral-badge,.fd-followup-badge{border-radius:6px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.fd-referral-badge{color:#a78bfa;background:#7c3aed26}.fd-followup-badge{color:#34d399;background:#34d39926}[dir=rtl]{text-align:right;direction:rtl;font-family:Noto Sans Arabic,Outfit,system-ui,sans-serif}[dir=rtl] .sidebar{border-left:1px solid #ffffff14;border-right:none}[dir=rtl] .sidebar-toggle{left:-14px;right:auto;transform:scaleX(-1)}[dir=rtl] .sidebar-search-icon{left:auto;right:12px}[dir=rtl] .sidebar-search input{padding-left:12px;padding-right:36px}[dir=rtl] .nav-children{padding-left:0;padding-right:2.5rem}[dir=rtl] .nav-tooltip{left:auto;right:calc(100% + 12px)}[dir=rtl] .nav-expand-icon{transform:scaleX(-1)}[dir=rtl] .profile-popup{left:auto;right:0}[dir=rtl] .search-bar .search-icon{left:auto;right:12px}[dir=rtl] .search-bar input{padding-left:12px;padding-right:36px}[dir=rtl] table th,[dir=rtl] table td{text-align:right}[dir=rtl] table th:last-child,[dir=rtl] table td:last-child{text-align:left}[dir=rtl] tbody tr td:first-child{border-left:none;border-right:3px solid var(--accent)}[dir=rtl] input[type=number]{text-align:left;direction:ltr}[dir=rtl] input[type=tel],[dir=rtl] input[type=email],[dir=rtl] input[type=url]{text-align:right;direction:ltr}[dir=rtl] .status-badge{direction:ltr}[dir=rtl] .btn svg,[dir=rtl] button svg{margin-left:.35rem;margin-right:0}[dir=rtl] .btn-link svg{margin-left:0;margin-right:.35rem}[dir=rtl] .login-password-wrap .login-eye-btn{left:12px;right:auto}[dir=rtl] .pagination button svg{transform:scaleX(-1)}[dir=rtl] .sidebar,[dir=rtl] .main-content{direction:rtl}[dir=rtl] .ml-auto{margin-left:0;margin-right:auto}[dir=rtl] .mr-auto{margin-left:auto;margin-right:0}[dir=rtl] .back-btn svg,[dir=rtl] .breadcrumb svg{transform:scaleX(-1)}[dir=rtl] .progress-bar-fill{border-radius:0 var(--radius-sm) var(--radius-sm) 0}[dir=rtl] .notification-dot{left:-2px;right:auto}[dir=rtl] select{background-position:.75rem;padding-left:2rem;padding-right:.75rem}[dir=rtl] .sidebar.collapsed .nav-tooltip{left:auto;right:calc(var(--sidebar-collapsed) + 12px)}[dir=rtl] .dd-patient-fields,[dir=rtl] .dd-appt-item,[dir=rtl] .dd-history-row,[dir=rtl] .guide-section-header,[dir=rtl] .guide-table td,[dir=rtl] .guide-table th,[dir=rtl] .dd-patient-info{text-align:right}[dir=rtl] .form-input-with-icon .search-icon,[dir=rtl] .input-icon-left{left:auto;right:10px}[dir=rtl] .form-input-with-icon input{padding-left:.75rem;padding-right:34px}[dir=rtl] .activity-detail-label{text-align:right}[dir=rtl] .training-course-card-header{border-right-style:solid;border-right-width:4px;border-left:none!important}.lang-switcher{cursor:pointer;color:var(--text-primary);border-radius:var(--radius-sm);transition:color var(--transition-fast), background var(--transition-fast);opacity:.75;background:0 0;border:none;align-items:center;gap:.25rem;padding:.35rem .5rem;font-size:.85rem;font-weight:500;display:flex}.lang-switcher:hover{color:var(--accent);background:var(--control-bg);opacity:1}.lang-switcher-label{font-size:.8rem}[data-theme=light][dir=rtl] .sidebar{border-left:1px solid #7864a01a;border-right:none}.inv-alert-total-badge{background:var(--danger);color:#fff;vertical-align:middle;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-inline-start:8px;padding:0 6px;font-size:.65rem;font-weight:700;line-height:1;animation:2s ease-in-out infinite badgePulse;display:inline-flex}.inv-alert-body{padding:var(--space-4) var(--space-5)}.inv-alert-counters{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.inv-alert-counter{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;display:flex}.inv-alert-counter:hover{transform:translateY(-1px)}.inv-alert-counter-danger{background:var(--danger-light);border:1px solid #f8717133}.inv-alert-counter-danger:hover{border-color:#f8717166}.inv-alert-counter-danger svg{color:var(--danger)}.inv-alert-counter-warning{background:var(--warning-light);border:1px solid #fbbf2433}.inv-alert-counter-warning:hover{border-color:#fbbf2466}.inv-alert-counter-warning svg{color:var(--warning)}.inv-alert-counter-info{flex-direction:column;gap:2px;display:flex}.inv-alert-counter-value{color:var(--text-primary);font-size:1.3rem;font-weight:700;line-height:1}.inv-alert-counter-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.inv-alert-columns{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}@media (width<=900px){.inv-alert-columns{grid-template-columns:1fr}}.inv-alert-group{flex-direction:column;gap:0;display:flex}.inv-alert-group-title{text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) 0;margin-bottom:var(--space-1);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-2);font-size:.68rem;font-weight:600;display:flex}.inv-alert-group-danger{color:var(--danger)}.inv-alert-group-warning{color:var(--warning)}.inv-alert-item{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;transition:background .15s;display:flex}.inv-alert-item:last-of-type{border-bottom:none}.inv-alert-item:hover{background:var(--accent-light);border-radius:var(--radius)}.inv-alert-item-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;font-weight:500;overflow:hidden}.inv-alert-item-meta{align-items:center;gap:var(--space-2);min-width:70px;flex-shrink:0;justify-content:flex-end;margin-inline-start:var(--space-3);display:flex}.inv-alert-item-meta .badge,.inv-alert-item-meta .cell-badge{text-align:center;min-width:42px;font-size:.65rem}.inv-alert-item-date{color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.7rem}.inv-alert-more{color:var(--accent);cursor:pointer;text-align:end;padding:var(--space-2) var(--space-2);border-radius:var(--radius);margin-top:var(--space-1);font-size:.72rem;font-weight:500;transition:background .15s}.inv-alert-more:hover{background:var(--accent-light)}tr.row-expanded{background:var(--accent-light)!important}tr.row-expanded td:first-child svg{transition:transform .2s}tr.patient-dash-row,tr.patient-dash-row:hover{background:0 0!important}tr.patient-dash-row>td{border-left:3px solid var(--accent)!important}.patient-inline-dash{background:var(--card-bg);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;padding:1rem 1.25rem;animation:.2s ease-out pidSlideDown}@keyframes pidSlideDown{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}.pid-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.pid-profile{align-items:center;gap:.75rem;display:flex}.pid-avatar{background:linear-gradient(135deg, var(--accent), var(--primary));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:flex}.pid-name{color:var(--text-primary);margin:0;font-size:1rem;font-weight:700}.pid-meta{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;margin-top:2px;font-size:.78rem;display:flex}.pid-meta span{align-items:center;gap:3px;display:inline-flex}.pid-quick-actions{align-items:center;gap:.5rem;display:flex}.pid-stats{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.pid-stat{background:var(--control-bg);border-radius:var(--radius-md);border:1px solid var(--border-light);align-items:center;gap:.6rem;padding:.6rem .75rem;display:flex}.pid-stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pid-stat-info{flex-direction:column;display:flex}.pid-stat-value{color:var(--text-primary);font-size:1.05rem;font-weight:700;line-height:1.2}.pid-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.68rem}.pid-bottom{grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:.75rem;display:grid}.pid-section{background:var(--control-bg);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:.75rem}.pid-section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.3px;align-items:center;gap:6px;margin:0 0 .5rem;font-size:.78rem;font-weight:700;display:flex}.pid-conditions{flex-wrap:wrap;gap:4px;display:flex}.pid-list{flex-direction:column;gap:.4rem;display:flex}.pid-list-item{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:6px;padding:4px 0;display:flex}.pid-list-item:last-child{border-bottom:none}.pid-empty{color:var(--text-muted);font-size:.75rem;font-style:italic}.pid-plans{background:var(--control-bg);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:.75rem}.pid-plans-table{border-collapse:collapse;width:100%;font-size:.78rem}.pid-plans-table th{text-align:start;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:.68rem;font-weight:600}.pid-plans-table td{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:6px 8px}.pid-plans-table tr:last-child td{border-bottom:none}.pid-plans-table tr:hover{background:var(--accent-light)}@media (width<=900px){.pid-stats{grid-template-columns:repeat(2,1fr)}.pid-bottom{grid-template-columns:1fr}}.journey-timeline{padding:.75rem 1rem}.journey-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.journey-title{color:var(--text);font-size:.9rem;font-weight:600}.journey-total-time{color:var(--text-muted);background:var(--control-bg);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;display:flex}.journey-stages{flex-direction:column;gap:0;display:flex}.journey-stage{align-items:flex-start;gap:12px;min-height:48px;padding-bottom:20px;display:flex;position:relative}.journey-stage:last-child{padding-bottom:0}.journey-connector{border-radius:1px;width:2px;position:absolute;top:30px;bottom:0;left:13px}.journey-circle{z-index:1;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;transition:all .2s;display:flex;position:relative}.journey-pulse{pointer-events:none;border:2px solid;border-radius:50%;animation:1.5s ease-in-out infinite journey-pulse-anim;position:absolute;inset:-4px}@keyframes journey-pulse-anim{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.journey-content{flex:1;min-width:0;padding-top:3px}.journey-stage-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.journey-stage-label{color:var(--text);font-size:.85rem;font-weight:600}.journey-stage-time{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.journey-stage-meta{flex-wrap:wrap;gap:10px;margin-top:2px;font-size:.78rem;display:flex}.journey-duration{color:var(--text-secondary);font-weight:500}.journey-live-timer{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;animation:2s ease-in-out infinite journey-timer-flash}@keyframes journey-timer-flash{0%,to{opacity:1}50%{opacity:.7}}.journey-operator,.journey-dentist{color:var(--text-muted)}.journey-operator:before{content:"👤 ";font-size:.7rem}.journey-dentist:before{content:"🩺 ";font-size:.7rem}.journey-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;padding:1.5rem;font-size:.85rem;display:flex}.rbac-container{padding:0}.rbac-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.rbac-roles-list{flex-direction:column;gap:.75rem;display:flex}.rbac-role-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);transition:box-shadow .2s;overflow:hidden}.rbac-role-card:hover{box-shadow:var(--shadow-sm)}.rbac-role-card.expanded{box-shadow:var(--shadow-md);border-color:var(--primary)}.rbac-role-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.rbac-role-header:hover{background:var(--hover-bg)}.rbac-role-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.rbac-role-name{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.rbac-role-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.rbac-badge-system{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.03em;border-radius:9999px;padding:.1rem .45rem;font-size:.65rem;font-weight:600}.rbac-role-meta{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:.75rem;display:flex}.rbac-perm-count{font-size:.8rem;font-weight:500;font-family:var(--font-mono);white-space:nowrap}.rbac-perm-bar{background:var(--border);border-radius:3px;width:80px;height:6px;overflow:hidden}.rbac-perm-bar-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .3s}.rbac-role-body{border-top:1px solid var(--border);padding:0 1.25rem 1.25rem}.rbac-categories{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem;display:grid}.rbac-category{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.rbac-category-header{background:var(--hover-bg);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.rbac-category-header:hover{background:rgba(var(--primary-rgb,99,102,241), .08)}.rbac-checkbox-wrap{cursor:pointer;align-items:center;gap:.5rem;display:flex}.rbac-checkbox-wrap input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.rbac-category-name{color:var(--text-primary);text-transform:capitalize;font-size:.82rem;font-weight:600}.rbac-category-count{font-size:.72rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-secondary);border-radius:var(--radius-sm);padding:.1rem .4rem}.rbac-perms-grid{flex-direction:column;gap:0;display:flex}.rbac-perm-item{cursor:pointer;border-top:1px solid var(--border);align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.8rem;transition:background .15s;display:flex}.rbac-perm-item:hover{background:var(--hover-bg)}.rbac-perm-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.rbac-perm-label{color:var(--text-primary);align-items:center;gap:.35rem;display:flex}.rbac-perm-label svg{color:var(--text-muted);flex-shrink:0}.rbac-role-actions{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;display:flex}@media (width<=640px){.rbac-categories{grid-template-columns:1fr}.rbac-role-header{flex-direction:column;align-items:flex-start}.rbac-role-meta{justify-content:flex-end;width:100%}.rbac-perm-bar{width:60px}}.mobile-card-list{flex-direction:column;gap:8px;display:flex}.mobile-patient-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:14px 16px;transition:background .15s}.mobile-patient-card:active{background:var(--accent-light);transform:scale(.98)}.mobile-card-row{justify-content:space-between;align-items:center;display:flex}.mobile-card-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.mobile-card-secondary{color:var(--text-muted);margin-top:6px;font-size:.8rem}.mobile-card-badge{background:var(--accent-light);color:var(--accent);border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:500}.mobile-expense-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.mobile-expense-amount{color:var(--text-primary);font-size:1.1rem;font-weight:700}.mobile-tp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;padding:14px 16px}.mobile-tp-card:active{background:var(--accent-light);transform:scale(.98)}.mobile-card-diagnosis{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:.8rem;overflow:hidden}.mobile-card-date{color:var(--text-muted);font-size:.72rem}.mobile-card-cost{font-size:.85rem;font-weight:600}.mobile-card-remaining{font-size:.75rem;font-weight:500}.mobile-card-remaining.has-balance{color:var(--danger)}.mobile-card-remaining.paid-full{color:var(--success)}.mobile-card-progress{background:var(--border);border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.mobile-card-progress-bar{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.mobile-payment-card,.mobile-inventory-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.mobile-payment-card:active,.mobile-inventory-card:active{background:var(--accent-light);transform:scale(.98)}.badge-danger{background:var(--danger-light)!important;color:var(--danger)!important}.mobile-card-actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.mobile-card-actions button,.mobile-card-actions a{background:var(--control-bg);min-width:32px;min-height:32px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.mobile-card-actions button:active,.mobile-card-actions a:active{background:var(--accent-light);color:var(--accent)}.mobile-service-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.mobile-service-card:active{background:var(--accent-light);transform:scale(.98)}.mobile-operator-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.mobile-operator-card:active{background:var(--accent-light);transform:scale(.98)}.mobile-log-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px}@media (width<=768px){.table-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-card table{min-width:600px}.profile-header{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:12px!important;padding:16px!important}.profile-avatar{width:56px!important;height:56px!important;font-size:1.25rem!important}.profile-info{text-align:center!important}.profile-name{font-size:1.15rem!important}.profile-stat{border-top:1px solid var(--border);width:100%;padding-top:8px;text-align:center!important}.patient-quick-actions{justify-content:center;gap:8px;display:flex}.action-btns{flex-direction:column!important;gap:6px!important;width:100%!important}.action-btns .btn-primary,.action-btns .btn-secondary,.action-btns .btn-danger{justify-content:center!important;width:100%!important}.detail-grid{grid-template-columns:1fr!important;gap:10px!important}.detail-field{background:var(--surface);border-radius:var(--radius-sm);padding:8px 10px}.medical-grid{gap:6px!important}.bool-field{padding:8px 10px!important;font-size:.82rem!important}.detail-summary{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:12px!important}.summary-item{padding:6px 0}.rx-history-header{flex-direction:column!important;gap:8px!important}.rx-history-date-col{flex-direction:row!important;align-items:baseline!important;gap:6px!important}.rx-history-meta{flex-wrap:wrap!important;gap:4px!important}.rx-history-meds-grid{gap:4px!important}.rx-history-med-chip{padding:3px 8px!important;font-size:.72rem!important}.tabs{gap:0!important}.tab{white-space:nowrap;flex-shrink:0;padding:8px 12px!important;font-size:.8rem!important}.dashboard-odontogram,.dental-chart-container{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.session-modal-grid{grid-template-columns:1fr!important}.session-modal-chart{-webkit-overflow-scrolling:touch;overflow-x:auto!important}.session-fields-row{flex-direction:column!important;gap:10px!important}.tp-chart-session-banner{flex-wrap:wrap!important;gap:.5rem!important;font-size:.8rem!important}.tp-session-details>div:last-child{flex-wrap:wrap!important}.batch-info-grid{grid-template-columns:1fr!important;gap:6px!important}.detail-card .btn-sm{padding:5px 10px!important;font-size:.75rem!important}}@media (width<=480px){.profile-header{gap:8px!important;padding:12px!important}.profile-avatar{width:48px!important;height:48px!important;font-size:1.1rem!important}.profile-name{font-size:1.05rem!important}.detail-summary{grid-template-columns:1fr!important;gap:6px!important;padding:10px!important}.detail-field{padding:6px 8px}.rx-history-item{padding:10px!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.odontogram-wrapper{--bg:var(--odon-bg,#f0f4f8);--panel:var(--odon-panel,#fff);--card:var(--odon-card,#f8fafc);--muted:var(--odon-muted,#64748b);--odon-text-color:var(--odon-text,#1e293b);--line:var(--odon-line,#e2e8f0);--odon-accent-color:var(--odon-accent,#0f766e);--accent2:var(--odon-accent2,#0f766e);box-sizing:border-box;color:var(--odon-text-color);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;font-size:13px}.odontogram-wrapper *,.odontogram-wrapper :before,.odontogram-wrapper :after{box-sizing:border-box}.odontogram-wrapper .odontogram-root{--bg:var(--odon-bg,#f0f4f8);--panel:var(--odon-panel,#fff);--card:var(--odon-card,#f8fafc);--muted:var(--odon-muted,#64748b);--odon-text-color:var(--odon-text,#1e293b);--line:var(--odon-line,#e2e8f0);--odon-accent-color:var(--odon-accent,#0f766e);--accent2:var(--odon-accent2,#0f766e);color:var(--odon-text-color)}.odontogram-wrapper .topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffd9;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.odontogram-wrapper .brand{align-items:center;gap:12px;display:flex}.odontogram-wrapper .dot{background:var(--accent2);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #12b9811f}.odontogram-wrapper .title{letter-spacing:.2px;font-weight:700}.odontogram-wrapper .subtitle{color:var(--muted);margin-top:2px;font-size:12px}.odontogram-wrapper .topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.odontogram-wrapper .topbar-group{align-items:center;gap:8px;display:flex}.odontogram-wrapper .segmented{gap:6px;display:flex}.odontogram-wrapper .btn{color:#0f766e;cursor:pointer;background:#0f766e14;border:1px solid #0f766e4d;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s}.odontogram-wrapper .btn-sm{padding:4px 9px;font-size:11px}.odontogram-wrapper .btn:hover{background:#0f766e29;border-color:#0f766e80}.odontogram-wrapper .btn-ghost{border-color:var(--line);color:var(--muted);background:#00000008}.odontogram-wrapper .btn-ghost:hover{background:#00000012}.odontogram-wrapper .btn-danger{color:#dc2626;background:#dc262614;border-color:#dc26264d}.odontogram-wrapper .btn-danger:hover{background:#dc262626}.odontogram-wrapper .btn-toggle[aria-pressed=true]{color:#0f766e;background:#0f766e2e;border-color:#0f766e80}.odontogram-wrapper .btn-toggle[aria-pressed=false]{border-color:var(--line);color:var(--muted);background:#00000008}.odontogram-wrapper .dropdown{position:relative}.odontogram-wrapper .dropdown-menu{border:1px solid var(--line);z-index:20;background:#fff;border-radius:12px;flex-direction:column;gap:4px;min-width:180px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 24px #1e2a3a1f}.odontogram-wrapper .dropdown-item{border:1px solid var(--line);color:var(--odon-text-color);cursor:pointer;text-align:left;background:#0000000a;border-radius:10px;padding:8px 10px;font-weight:600}.odontogram-wrapper .dropdown-item:hover{background:#00000014}.odontogram-wrapper .dropdown-item[aria-checked=true]{background:#3b7bff2e;border-color:#3b7bff73}.odontogram-wrapper select{appearance:none;color:var(--odon-text-color);cursor:pointer;background-color:#0f766e12;background-image:linear-gradient(45deg,#0000 50%,#0f766e 50%),linear-gradient(135deg,#0f766e 50%,#0000 50%);background-position:calc(100% - 16px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #0f766e4d;border-radius:8px;min-width:200px;padding:6px 30px 6px 10px;font-size:12px;font-weight:600}.odontogram-wrapper select:focus{border-color:#0f766e99;outline:none;box-shadow:0 0 0 3px #0f766e26}.odontogram-wrapper .layout{grid-template-columns:1fr 320px;gap:10px;padding:10px;display:grid}.odontogram-wrapper .chart{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.odontogram-wrapper .chart-header{border-bottom:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.odontogram-wrapper .chart-title{font-size:13px;font-weight:700}.odontogram-wrapper .chart-hint{color:var(--muted);margin-top:3px;font-size:11px}.odontogram-wrapper .chart-actions{align-items:center;gap:8px;display:flex}.odontogram-wrapper .tooth-grid{grid-template-columns:repeat(16,minmax(36px,1fr));gap:4px;padding:10px;display:grid}.odontogram-wrapper .tooth-label-row{display:contents}.odontogram-wrapper .tooth-label-cell{text-align:center;color:#1e2a3acc;cursor:pointer;padding:2px 0 4px;font-size:11px;font-weight:600}.odontogram-wrapper .tooth-label-cell:hover{color:#1e2a3a}.odontogram-wrapper .tooth-tile{border:1px solid var(--line);cursor:pointer;background:#ffffffb3;border-radius:14px;min-height:100px;padding:2px;transition:transform 50ms,border-color .12s,background .12s;position:relative}.odontogram-wrapper .tooth-tile.occl-view{min-height:78px}.odontogram-wrapper .tooth-tile.placeholder{cursor:default;background:#ffffff4d}.odontogram-wrapper .tooth-tile.placeholder .tooth-svg svg{opacity:0}.odontogram-wrapper .tooth-tile:hover{background:#0f766e12}.odontogram-wrapper .tooth-tile:active{transform:scale(.99)}@keyframes odon-dash-pulse{0%,to{border-color:#3b7bff80}50%{border-color:#3b7bffe6}}@keyframes odon-glow-pulse{0%,to{filter:drop-shadow(0 0 3px #3b7bff33)}50%{filter:drop-shadow(0 0 7px #3b7bff73)}}.odontogram-wrapper .tooth-tile:after{content:"";pointer-events:none;border:2px dashed #0000;border-radius:15px;transition:border-color .25s;position:absolute;inset:-2px}.odontogram-wrapper .tooth-tile .tooth-svg svg{transition:filter .25s}.odontogram-wrapper .tooth-tile.active{background:#0f766e12;border-color:#0f766eb3;transition:border-color .2s,background .2s}.odontogram-wrapper .tooth-tile.active:after{border-color:#0f766e8c;animation:1.6s ease-in-out infinite odon-dash-pulse}.odontogram-wrapper .tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #0f766e4d);animation:2.5s ease-in-out infinite odon-glow-pulse}.odontogram-wrapper .tooth-tile:focus{outline:none}.odontogram-wrapper .tooth-tile:focus-visible{outline:2px solid var(--odon-accent-color);outline-offset:2px;z-index:1;box-shadow:0 0 0 3px #3b7bff40}.odontogram-wrapper .tooth-grid.read-only .tooth-tile{cursor:default;pointer-events:none}.odontogram-wrapper .tooth-grid.read-only .tooth-tile:hover{background:inherit}.odontogram-wrapper .tooth-grid.read-only .tooth-label-cell{cursor:default;pointer-events:none}.odontogram-wrapper .panel.read-only{pointer-events:none;opacity:.5;-webkit-user-select:none;user-select:none}.odontogram-wrapper .tooth-tile.has-condition{z-index:2;border-radius:8px;position:relative;box-shadow:0 0 0 2px #2563eb4d;background:#2563eb26!important;border:3px solid #2563eb!important}@media (prefers-reduced-motion:reduce){.odontogram-wrapper .tooth-tile.active:after{border-color:#3b7bffb3;animation:none}.odontogram-wrapper .tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #3b7bff59);animation:none}}.odontogram-wrapper .tooth-svg{justify-content:center;align-items:center;width:100%;height:120px;display:flex}.odontogram-wrapper .tooth-svg svg{pointer-events:none;width:72px;height:122px}.odontogram-wrapper .tooth-tile.occl-view .tooth-svg{height:80px}.odontogram-wrapper .tooth-tile.occl-view .tooth-svg svg{width:64px;height:64px}.odontogram-wrapper .tooth-tile.tpl-14 .tooth-svg svg{width:68px;height:116px}.odontogram-wrapper .tooth-tile.tpl-11 .tooth-svg svg,.odontogram-wrapper .tooth-tile.tpl-13 .tooth-svg svg{width:60px;height:102px}.odontogram-wrapper .tooth-tile.wisdom-hidden{opacity:.45;pointer-events:none}.odontogram-wrapper .tooth-tile.wisdom-hidden .tooth-svg svg{opacity:0}.odontogram-wrapper .tooth-tile.occl-hidden,.odontogram-wrapper .tooth-svg [data-active="0"]{display:none!important}.odontogram-wrapper .panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.odontogram-wrapper .panel-header{border-bottom:1px solid var(--line);background:#f8fafc;padding:10px 14px}.odontogram-wrapper .select-actions{flex-direction:column;gap:6px;margin-top:8px;display:flex}.odontogram-wrapper .select-actions-row{flex-wrap:wrap;gap:5px;display:flex}.odontogram-wrapper .status-actions{flex-wrap:wrap;gap:5px}.odontogram-wrapper .status-extra-row{flex-wrap:wrap;align-items:center;gap:8px}.odontogram-wrapper .status-extra-row select{min-width:190px}.odontogram-wrapper .btn-icon{padding:7px 12px;font-size:12px}.odontogram-wrapper .btn-icon .icon,.odontogram-wrapper .btn-icon .icon-img,.odontogram-wrapper .btn-icon svg{width:28px;height:28px;display:block}.odontogram-wrapper .fade-toggle{max-width:200px;transition:opacity .16s,max-width .16s,padding .16s,margin .16s,border-width .16s,transform .16s}.odontogram-wrapper .fade-toggle.is-hidden{opacity:0;pointer-events:none;border-width:0;max-width:0;margin:0;padding-left:0;padding-right:0;transform:scale(.96)}.odontogram-wrapper .panel-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.odontogram-wrapper .panel-title-actions{align-items:center;gap:6px;display:flex}.odontogram-wrapper .panel-title{color:#0f766e;font-size:13px;font-weight:700}.odontogram-wrapper .panel-subtitle{color:var(--muted);margin-top:3px;font-size:11px}.odontogram-wrapper .pill{color:#0f766e;background:#0f766e1f;border:1px solid #0f766e4d;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.odontogram-wrapper .warnings{flex-direction:column;gap:8px;margin-top:10px;display:flex}.odontogram-wrapper .warning{color:#8a5b1a;background:#ffc67438;border:1px solid #ffc67473;border-radius:12px;padding:8px 10px;font-size:12px}.odontogram-wrapper .panel-body{flex-direction:column;gap:8px;max-height:calc(100vh - 110px);padding:10px;display:flex;overflow:auto}.odontogram-wrapper .card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 1px 3px #0000000a}.odontogram-wrapper .card-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.odontogram-wrapper .card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.odontogram-wrapper .card.collapsed .card-title{margin-bottom:0}.odontogram-wrapper .card.collapsed .card-body,.odontogram-wrapper .card.collapsed #statusCardBody,.odontogram-wrapper .card.collapsed .status-extra-row,.odontogram-wrapper .card.collapsed .hint,.odontogram-wrapper .card.collapsed .row,.odontogram-wrapper .card.collapsed .check-grid,.odontogram-wrapper .card.collapsed label{display:none}.odontogram-wrapper .icon-btn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fffc;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;line-height:1;transition:background .12s;display:flex}.odontogram-wrapper .icon-btn .icon{width:14px;height:14px}.odontogram-wrapper .icon-btn:hover{color:#0f766e;background:#0f766e1a;border-color:#0f766e4d}.odontogram-wrapper .icon-btn-danger{color:#d94545;background:#d9454514;border-color:#d9454566}.odontogram-wrapper .icon-btn-danger:hover{background:#d9454526}.odontogram-wrapper .card-subtitle{margin:6px 0;font-weight:700}.odontogram-wrapper .hint{color:var(--muted);margin:6px 0 10px;font-size:12px}.odontogram-wrapper .row{align-items:center;gap:10px;padding:6px 2px;font-size:13px;display:flex}.odontogram-wrapper .contact-row{margin-bottom:6px}.odontogram-wrapper .bruxism-row{gap:8px;margin-top:6px}.odontogram-wrapper .fissure-row{text-align:center;justify-content:center;margin-top:10px}.odontogram-wrapper #crownReplaceRow,.odontogram-wrapper #crownNeededRow,.odontogram-wrapper #missingClosedRow{margin-top:8px}.odontogram-wrapper .bridge-pillar-row{margin-top:10px}.odontogram-wrapper .inline-checks{padding:0}.odontogram-wrapper .inline-checks label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:12px;display:flex}.odontogram-wrapper .inline-checks label:hover{background:#0f766e0f}.odontogram-wrapper .inline-checks input[type=checkbox]{display:none}.odontogram-wrapper .inline-checks label:has(input[type=checkbox]:checked){color:#0f766e;background:#0f766e24;border-color:#0f766e73}.odontogram-wrapper .check-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.odontogram-wrapper .check-grid label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.odontogram-wrapper .check-grid label:hover{background:#0f766e0f}.odontogram-wrapper .check-grid input[type=checkbox]{display:none}.odontogram-wrapper .check-grid label:has(input[type=checkbox]:checked){color:#0f766e;background:#0f766e24;border-color:#0f766e73}.odontogram-wrapper .row input[type=checkbox]{display:none}.odontogram-wrapper .row:has(input[type=checkbox]){border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:8px;padding:5px 10px}.odontogram-wrapper .inline-checks:has(input[type=checkbox]){background:0 0;border:0;padding:0}.odontogram-wrapper .row:has(input[type=checkbox]:checked){color:#0f766e;background:#0f766e24;border-color:#0f766e73}.odontogram-wrapper .inline-checks:has(input[type=checkbox]:checked){background:0 0;border:0}.odontogram-wrapper .radio-list{flex-direction:column;gap:5px;display:flex}.odontogram-wrapper .radio-list label{border:1px solid var(--line);cursor:pointer;background:#00000005;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.odontogram-wrapper .radio-list label:hover{background:#3b7bff0f}.odontogram-wrapper .divider{background:var(--line);height:1px;margin:10px 0}.odontogram-wrapper .hidden{display:none!important}@media (width<=1100px){.odontogram-wrapper .layout{grid-template-columns:1fr}.odontogram-wrapper .panel{order:2}}.dark .odontogram-wrapper,.dark .odontogram-wrapper .odontogram-root{--bg:var(--odon-bg,#0f172a);--panel:var(--odon-panel,#1e293b);--card:var(--odon-card,#1e293b);--muted:var(--odon-muted,#94a3b8);--odon-text-color:var(--odon-text,#f1f5f9);--line:var(--odon-line,#334155)}.dark .odontogram-wrapper .topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172aeb}.dark .odontogram-wrapper .btn{background:#60a5fa26}.dark .odontogram-wrapper .btn:hover{background:#60a5fa40}.dark .odontogram-wrapper .btn-ghost{background:#ffffff0f}.dark .odontogram-wrapper .btn-ghost:hover{background:#ffffff1f}.dark .odontogram-wrapper .btn-danger{color:#f87171;background:#f871711f;border-color:#f871714d}.dark .odontogram-wrapper .btn-danger:hover{background:#f8717138}.dark .odontogram-wrapper .btn-toggle[aria-pressed=false]{background:#ffffff0f}.dark .odontogram-wrapper .dropdown-menu{background:#1e293b;box-shadow:0 12px 24px #00000073}.dark .odontogram-wrapper .dropdown-item{background:#ffffff0f}.dark .odontogram-wrapper .dropdown-item:hover{background:#ffffff1f}.dark .odontogram-wrapper .dropdown-item[aria-checked=true]{background:#60a5fa33;border-color:#60a5fa73}.dark .odontogram-wrapper select{background:#60a5fa26;background-image:linear-gradient(45deg, transparent 50%, var(--odon-text-color) 50%), linear-gradient(135deg, var(--odon-text-color) 50%, transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 12px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px}.dark .odontogram-wrapper .chart{background:#1e293be6}.dark .odontogram-wrapper .tooth-label-cell{color:#f1f5f999}.dark .odontogram-wrapper .tooth-label-cell:hover{color:#f1f5f9}.dark .odontogram-wrapper .tooth-tile{background:#1e293bb3}.dark .odontogram-wrapper .tooth-tile.placeholder{background:#1e293b4d}.dark .odontogram-wrapper .tooth-tile:hover{background:#60a5fa1f}@keyframes odon-dash-pulse-dark{0%,to{border-color:#60a5fa73}50%{border-color:#60a5fad9}}@keyframes odon-glow-pulse-dark{0%,to{filter:drop-shadow(0 0 3px #60a5fa33)}50%{filter:drop-shadow(0 0 7px #60a5fa73)}}.dark .odontogram-wrapper .tooth-tile.active{background:#60a5fa14;border-color:#60a5fa99}.dark .odontogram-wrapper .tooth-tile.active:after{border-color:#60a5fa73;animation-name:odon-dash-pulse-dark}.dark .odontogram-wrapper .tooth-tile.active .tooth-svg svg{filter:drop-shadow(0 0 4px #60a5fa4d);animation-name:odon-glow-pulse-dark}.dark .odontogram-wrapper .tooth-tile:focus-visible{outline-color:#60a5facc;box-shadow:0 0 0 3px #60a5fa40}.dark .odontogram-wrapper .panel{background:#1e293bf2}.dark .odontogram-wrapper .card{border-color:var(--line);background:#1e293bcc}.dark .odontogram-wrapper .icon-btn{background:#1e293bb3}.dark .odontogram-wrapper .icon-btn:hover{background:#60a5fa26}.dark .odontogram-wrapper .icon-btn-danger{color:#f87171;background:#f871711a;border-color:#f871714d}.dark .odontogram-wrapper .icon-btn-danger:hover{background:#f8717133}.dark .odontogram-wrapper .warning{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.dark .odontogram-wrapper .inline-checks label,.dark .odontogram-wrapper .check-grid label,.dark .odontogram-wrapper .radio-list label{background:#ffffff0a}.dark .odontogram-wrapper .inline-checks label:hover,.dark .odontogram-wrapper .check-grid label:hover,.dark .odontogram-wrapper .radio-list label:hover{background:#60a5fa1a}.dark .odontogram-wrapper .row:has(input[type=checkbox]){background:#ffffff0a}.dark .odontogram-wrapper .pill{background:#34d39926;border-color:#34d3994d}.odontogram-wrapper .btn-theme{border:1px solid var(--line);width:36px;height:36px;color:var(--odon-text-color);cursor:pointer;background:#0000000a;border-radius:12px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:flex}.odontogram-wrapper .btn-theme:hover{background:#3b7bff1f}.dark .odontogram-wrapper .btn-theme{background:#ffffff0f}.dark .odontogram-wrapper .btn-theme:hover{background:#60a5fa26}.odontogram-wrapper .warning-item{color:#92400e;background:#eab3081f;border-radius:8px;margin-bottom:4px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.4}.dark .odontogram-wrapper .warning-item{color:#fde047;background:#facc151a}.odontogram-wrapper .odon-zoom-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;animation:.15s odon-fade-in;display:flex;position:fixed;inset:0}@keyframes odon-fade-in{0%{opacity:0}to{opacity:1}}.odontogram-wrapper .odon-zoom-popover{background:var(--panel,#fff);border:1px solid var(--line);border-radius:20px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:min(360px,90vw);padding:16px;display:flex;box-shadow:0 20px 60px #00000040}.odontogram-wrapper .odon-zoom-header{justify-content:space-between;align-items:center;width:100%;display:flex}.odontogram-wrapper .odon-zoom-title{color:var(--odon-text-color);font-size:16px;font-weight:800}.odontogram-wrapper .odon-zoom-close{border:1px solid var(--line);width:32px;height:32px;color:var(--odon-text-color);cursor:pointer;background:#0000000a;border-radius:999px;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:flex}.odontogram-wrapper .odon-zoom-close:hover{color:#d94545;background:#d945451f}.odontogram-wrapper .odon-zoom-svg{justify-content:center;align-items:center;width:200px;height:200px;display:flex}.odontogram-wrapper .odon-zoom-svg svg{pointer-events:none;width:180px;height:180px}.odontogram-wrapper .odon-zoom-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.odontogram-wrapper .odon-zoom-btn{border:1px solid var(--line);color:var(--odon-text-color);cursor:pointer;text-align:center;background:#3b7bff14;border-radius:12px;padding:10px 8px;font-size:13px;font-weight:600}.odontogram-wrapper .odon-zoom-btn:hover{background:#3b7bff2e}.odontogram-wrapper .odon-zoom-btn.active{background:#12b9812e;border-color:#12b98180}.odontogram-wrapper .odon-zoom-btn.danger{color:#b83a3a;background:#d9454514;border-color:#d945454d}.odontogram-wrapper .odon-zoom-btn.danger:hover{background:#d945452e}.odontogram-wrapper .odon-ctx-menu{z-index:110;background:var(--panel,#fff);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:4px;min-width:180px;padding:6px;animation:.12s odon-ctx-pop;display:flex;position:fixed;box-shadow:0 12px 40px #0003}@keyframes odon-ctx-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.odontogram-wrapper .odon-ctx-item{border:1px solid var(--line);color:var(--odon-text-color);cursor:pointer;text-align:left;background:#00000005;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600}.odontogram-wrapper .odon-ctx-item:hover{background:#3b7bff1a}.odontogram-wrapper .odon-ctx-item.danger{color:#b83a3a}.odontogram-wrapper .odon-ctx-item.danger:hover{background:#d945451f}.odontogram-wrapper .odon-ctx-divider{background:var(--line);height:1px;margin:2px 0}.dark .odontogram-wrapper .odon-zoom-overlay{background:#0009}.dark .odontogram-wrapper .odon-zoom-popover{background:var(--panel);box-shadow:0 20px 60px #00000080}.dark .odontogram-wrapper .odon-zoom-close{background:#ffffff0f}.dark .odontogram-wrapper .odon-zoom-close:hover{color:#f87171;background:#f8717126}.dark .odontogram-wrapper .odon-zoom-btn{background:#60a5fa1a}.dark .odontogram-wrapper .odon-zoom-btn:hover{background:#60a5fa33}.dark .odontogram-wrapper .odon-zoom-btn.active{background:#34d3992e;border-color:#34d39966}.dark .odontogram-wrapper .odon-zoom-btn.danger{color:#f87171;background:#f871711a;border-color:#f8717140}.dark .odontogram-wrapper .odon-ctx-menu{background:var(--panel);box-shadow:0 12px 40px #00000080}.dark .odontogram-wrapper .odon-ctx-item{background:#ffffff0a}.dark .odontogram-wrapper .odon-ctx-item:hover{background:#60a5fa1f}.dark .odontogram-wrapper .odon-ctx-item.danger{color:#f87171}.odontogram-wrapper .tooth-grid.odon-pinch-active{touch-action:none;transform-origin:50%;transition:transform 50ms}@media (pointer:coarse){.odontogram-wrapper .tooth-tile{min-height:56px}.odontogram-wrapper .tooth-tile .tooth-svg{height:80px}.odontogram-wrapper .tooth-tile.occl-view .tooth-svg{height:60px}.odontogram-wrapper .tooth-label-cell{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:flex}.odontogram-wrapper .chart-actions .btn-icon{min-width:44px;min-height:44px}}.odontogram-wrapper .odon-arch-toggle{border-bottom:1px solid var(--line);justify-content:center;gap:8px;padding:8px 10px;display:none}.odontogram-wrapper .odon-arch-toggle .odon-arch-btn{border:1px solid var(--line);color:var(--odon-text-color);cursor:pointer;text-align:center;background:#0000000a;border-radius:12px;flex:1;padding:8px 20px;font-size:13px;font-weight:700}.odontogram-wrapper .odon-arch-toggle .odon-arch-btn.active{background:#3b7bff2e;border-color:#3b7bff73}.dark .odontogram-wrapper .odon-arch-toggle .odon-arch-btn{background:#ffffff0f}.dark .odontogram-wrapper .odon-arch-toggle .odon-arch-btn.active{background:#60a5fa33;border-color:#60a5fa73}@media (width<=600px){.odontogram-wrapper .odon-arch-toggle{display:flex}.odontogram-wrapper .tooth-grid.odon-arch-upper .lower-row,.odontogram-wrapper .tooth-grid.odon-arch-upper .lower-row+.tooth-label-row,.odontogram-wrapper .tooth-grid.odon-arch-lower .upper-row,.odontogram-wrapper .tooth-grid.odon-arch-lower .tooth-label-row:first-child{display:none!important}}
