:root{--accent:oklch(68% .11 200);--accent-ink:oklch(45% .09 205);--accent-deep:oklch(32% .07 215);--accent-tint:oklch(96% .03 200);--accent-wash:oklch(98% .015 200);--paper:oklch(98.5% .003 240);--bg:var(--paper);--surface:#fff;--surface-2:oklch(97.5% .004 240);--surface-3:oklch(95% .006 240);--ink-0:oklch(15% .015 240);--ink-1:oklch(28% .015 240);--ink-2:oklch(46% .012 240);--ink-3:oklch(62% .01 240);--ink-4:oklch(78% .008 240);--ok:oklch(62% .13 155);--ok-tint:oklch(96% .04 155);--warn:oklch(75% .14 75);--warn-tint:oklch(96% .04 75);--danger:oklch(62% .18 25);--danger-tint:oklch(96% .035 25);--info:oklch(62% .14 260);--info-tint:oklch(96% .03 260);--line:oklch(92% .005 240);--line-soft:oklch(95.5% .004 240);--shadow-1:0 1px 2px #0f19280a, 0 1px 1px #0f192808;--shadow-2:0 2px 6px #0f19280d, 0 6px 20px -8px #0f192814;--shadow-3:0 10px 40px -12px #0f19282e, 0 2px 8px #0f19280d;--r-sm:6px;--r:10px;--r-lg:14px;--r-xl:20px;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sidebar-w:232px;--topbar-h:60px}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);height:100%;font-family:var(--font-ui);color:var(--ink-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";margin:0;padding:0;font-size:14px;line-height:1.45}button,input,select,textarea{font-family:inherit}#root{height:100%}.app{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden auto}.sidebar-brand{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:18px 16px 14px;display:flex}.sidebar-brand-logo{border-radius:var(--r);object-fit:contain;flex-shrink:0;width:32px;height:32px}.sidebar-brand-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--accent-deep);font-size:22px;font-weight:600;line-height:1.1}.sidebar-brand-sub{color:var(--ink-3);font-size:11px}.sidebar-section{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:14px 16px 4px;font-size:10.5px;font-weight:600}.nav-item{border-radius:var(--r);cursor:pointer;color:var(--ink-2);text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:calc(100% - 16px);margin:1px 8px;padding:8px 12px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--ink-0)}.nav-item.active{background:var(--accent-tint);color:var(--accent-deep);font-weight:600}.nav-item .nav-icon{opacity:.75;flex-shrink:0;width:16px;height:16px}.nav-item.active .nav-icon{opacity:1}.nav-count{background:var(--surface-3);color:var(--ink-2);text-align:center;border-radius:99px;min-width:20px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-item.active .nav-count{background:var(--accent-tint);color:var(--accent-deep)}.nav-count.badge-danger{background:var(--danger);color:#fff}.sidebar-spacer{flex:1}.sidebar-footer{border-top:1px solid var(--line-soft);background:var(--surface);align-items:center;gap:10px;padding:14px 16px;display:flex}.sidebar-footer-name{color:var(--ink-0);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-footer-role{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0;align-items:center;gap:12px;padding:0 24px;display:flex}.topbar-greeting h1{color:var(--ink-0);margin:0;font-size:16px;font-weight:600}.topbar-greeting .sub{color:var(--ink-3);margin-top:1px;font-size:12px}.spacer{flex:1}.icon-btn{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--ink-2);cursor:pointer;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--ink-0)}.icon-btn .dot{background:var(--danger);border:1.5px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.clinic-switch{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink-1);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.clinic-switch:hover{background:var(--surface-2)}.clinic-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dropdown{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:100;min-width:200px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.dropdown-header{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line-soft);padding:10px 14px;font-size:11px}.dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--ink-1);background:0 0;border:none;align-items:center;gap:10px;padding:9px 14px;font-size:13px;text-decoration:none;transition:background .12s;display:flex}.dropdown-item:hover{background:var(--surface-2)}.dropdown-item.danger{color:var(--danger)}.page{flex:1;padding:24px;overflow-y:auto}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.stat:hover{box-shadow:var(--shadow-1);transform:translateY(-1px)}.stat:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.stat.ok:before{background:var(--ok)}.stat.info:before{background:var(--info)}.stat.warn:before{background:var(--warn)}.stat.danger:before{background:var(--danger)}.stat-label{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);align-items:center;gap:6px;margin-bottom:0;font-size:11px;font-weight:600;display:flex}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-0);font-variant-numeric:tabular-nums;margin-top:10px;font-size:42px;font-weight:500;line-height:1}.stat-foot{color:var(--ink-3);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.trend{color:var(--ok);align-items:center;gap:3px;margin-right:4px;font-size:11.5px;font-weight:600;display:inline-flex}.section-tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:2px;width:fit-content;margin-bottom:16px;padding:4px;display:flex}.section-tab{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.section-tab:hover{color:var(--ink-0)}.section-tab.active{background:var(--ink-0);color:#fff}.section-tab .pill{background:var(--surface-2);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 7px;font-size:11px}.section-tab.active .pill{color:inherit;background:#ffffff24}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.chip-row{flex-wrap:wrap;gap:5px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:5px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:flex}.chip:hover{background:var(--surface-2);color:var(--ink-0)}.chip.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-deep);font-weight:600}.chip .count{color:inherit;opacity:.7;font-size:11px}.search{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:8px;min-width:220px;padding:6px 10px;display:flex}.search input{color:var(--ink-0);width:100%;font-size:13px;font-family:var(--font-ui);background:0 0;border:none;outline:none}.search input::placeholder{color:var(--ink-3)}.date-range{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink-1);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:flex}.date-range input[type=date]{font-family:var(--font-ui);color:var(--ink-1);cursor:pointer;background:0 0;border:none;outline:none;font-size:12.5px}.btn{border-radius:var(--r);font-size:13px;font-weight:600;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;padding:8px 14px;text-decoration:none;transition:background .12s,border-color .12s,opacity .12s,transform .12s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-.5px)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink-0);color:#fff;border-color:var(--ink-0)}.btn-primary:hover:not(:disabled){background:oklch(22% .02 240);border-color:oklch(22% .02 240)}.btn-accent{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep)}.btn-accent:hover:not(:disabled){background:oklch(27% .07 215);border-color:oklch(27% .07 215)}.btn-ghost{background:var(--surface);color:var(--ink-1);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-subtle{background:var(--surface-2);color:var(--ink-1)}.btn-subtle:hover:not(:disabled){background:var(--line-soft)}.btn-danger{background:var(--danger-tint);color:var(--danger);border-color:#0000}.btn-danger:hover:not(:disabled){opacity:.88}.btn-sm{padding:5px 10px;font-size:12px}.row-action{border-radius:var(--r-sm);width:28px;height:28px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;transition:background .12s,color .12s;display:grid}.row-action:hover{background:var(--surface-3);color:var(--ink-0)}.row-actions{justify-content:flex-end;gap:2px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.table thead th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);z-index:1;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:600;position:sticky;top:0}.table thead th.sortable{cursor:pointer}.table thead th.sortable:hover{color:var(--ink-1)}.table tbody tr{cursor:pointer;transition:background .1s}.table tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;color:var(--ink-1);padding:12px 14px}.table tbody tr:hover td{background:var(--accent-wash)}.table tbody tr.selected td{background:var(--accent-tint)}.table tbody tr:last-child td{border-bottom:0}.table-wrap{max-width:100%;overflow-x:auto}.id-cell{font-family:var(--font-mono);color:var(--ink-3);white-space:nowrap;font-size:12px}.phone-cell{font-family:var(--font-mono);white-space:nowrap;font-size:12.5px}.time-cell{white-space:nowrap}.time-cell .day{color:var(--ink-0);font-size:13px;font-weight:600;display:block}.time-cell .hr{color:var(--ink-3);font-size:11.5px;display:block}.patient-cell{align-items:center;gap:10px;display:flex}.patient-name{color:var(--ink-0);font-size:13.5px;font-weight:600}.patient-meta{color:var(--ink-3);margin-top:1px;font-size:11.5px}.data-grid{grid-template-columns:1fr 320px;align-items:start;gap:14px;display:grid}.detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);flex-direction:column;gap:14px;padding:18px;display:flex;position:sticky;top:0}.detail-empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg);min-height:300px;color:var(--ink-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.detail-head{align-items:center;gap:12px;display:flex}.detail-name{color:var(--ink-0);align-items:center;gap:5px;margin:0;font-size:15px;font-weight:700;display:flex}.detail-meta{color:var(--ink-3);align-items:center;gap:5px;margin-top:2px;font-size:12px;display:flex}.detail-section{flex-direction:column;gap:8px;display:flex}.detail-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.sep{color:var(--line)}.kbd-inline{font-family:var(--font-mono);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink-2);padding:1px 5px;font-size:11px}.ai-toggle{background:var(--accent-wash);border:1px solid var(--accent-tint);border-radius:var(--r);justify-content:space-between;align-items:center;padding:10px 13px;display:flex}.ai-toggle.ai-off{background:var(--surface-2);border-color:var(--line)}.ai-toggle-label{color:var(--accent-deep);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.ai-toggle.ai-off .ai-toggle-label{color:var(--ink-3)}.ai-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulse}.ai-toggle.ai-off .ai-dot{background:var(--ink-3);animation:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.call-event{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);gap:10px;padding:10px 12px;display:flex}.call-event.done{border-color:var(--ok);background:var(--ok-tint)}.call-event.pending{border-color:var(--warn);background:var(--warn-tint)}.call-event.skipped{border-color:var(--line);background:var(--surface-2);opacity:.7}.call-ico{background:var(--surface);border:1px solid var(--line);width:28px;height:28px;color:var(--ink-2);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.call-event.done .call-ico{background:var(--ok);border-color:var(--ok);color:#fff}.call-event.pending .call-ico{color:var(--warn)}.call-body{flex:1;min-width:0}.call-title{color:var(--ink-0);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12.5px;font-weight:600;display:flex}.call-summary{color:var(--ink-2);font-size:12px;line-height:1.45}.action-row{flex-wrap:wrap;gap:8px;display:flex}.avatar{border-radius:var(--r);background:var(--accent-tint);width:34px;height:34px;color:var(--accent-deep);letter-spacing:.02em;-webkit-user-select:none;user-select:none;flex-shrink:0;place-items:center;font-size:12.5px;font-weight:700;display:grid}.avatar.sm{border-radius:6px;width:28px;height:28px;font-size:11px}.avatar.lg{border-radius:10px;width:42px;height:42px;font-size:15px}.badge{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.badge.plain{background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}.badge.plain:before{display:none}.badge.outline{border-color:var(--line);color:var(--ink-1);background:#fff}.badge.outline:before{display:none}.badge.confirmed{background:var(--ok-tint);color:oklch(40% .1 155)}.badge.pending{background:var(--warn-tint);color:oklch(42% .1 75)}.badge.cancelled{background:var(--ink-4);color:var(--ink-1)}.badge.noanswer{background:var(--danger-tint);color:oklch(45% .14 25)}.badge.rescheduled{background:var(--info-tint);color:oklch(42% .12 260)}.badge.inprogress{background:var(--accent-tint);color:var(--accent-deep)}.badge.status-pending{background:var(--warn-tint);color:oklch(42% .1 75)}.badge.status-confirmed{background:var(--ok-tint);color:oklch(40% .1 155)}.badge.status-cancelled,.badge.status-canceled{background:var(--ink-4);color:var(--ink-1)}.badge.status-no_answer,.badge.status-noanswer{background:var(--danger-tint);color:oklch(45% .14 25)}.badge.status-rescheduled{background:var(--info-tint);color:oklch(42% .12 260)}.badge.status-inprogress{background:var(--accent-tint);color:var(--accent-deep)}.badge.status-completed{background:var(--ok-tint);color:oklch(40% .1 155)}.status-badge{letter-spacing:.01em;white-space:nowrap;background:var(--surface-2);color:var(--ink-2);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.status-badge.status-pending{background:var(--warn-tint);color:oklch(42% .1 75)}.status-badge.status-confirmed,.status-badge.status-completed{background:var(--ok-tint);color:oklch(40% .1 155)}.status-badge.status-cancelled,.status-badge.status-canceled{background:var(--ink-4);color:var(--ink-1)}.status-badge.status-no_answer,.status-badge.status-noanswer{background:var(--danger-tint);color:oklch(45% .14 25)}.status-badge.status-rescheduled{background:var(--info-tint);color:oklch(42% .12 260)}.status-badge.status-inprogress{background:var(--accent-tint);color:var(--accent-deep)}.switch{flex-shrink:0;width:38px;height:22px;position:relative}.switch input{opacity:0;width:0;height:0}.switch-track{background:var(--line);cursor:pointer;border-radius:99px;transition:background .2s;position:absolute;inset:0}.switch input:checked+.switch-track{background:var(--accent)}.switch-thumb{pointer-events:none;background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px oklch(0% 0 0/.2)}.switch input:checked~.switch-thumb{transform:translate(16px)}.field{flex-direction:column;gap:5px;display:flex}.field-label{color:var(--ink-1);align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:flex}.field-label .req{color:var(--danger)}.field-label .hint{color:var(--ink-3);font-size:11.5px;font-weight:400}.input,.select,.textarea{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);width:100%;font-family:var(--font-ui);color:var(--ink-0);outline:none;padding:8px 11px;font-size:13px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px oklch(from var(--accent) l c h / .12)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}.input-readonly{border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);color:var(--ink-1);align-items:center;min-height:38px;padding:9px 12px;font-size:13.5px;display:flex}.textarea{resize:vertical;min-height:80px;line-height:1.5}.input-group{grid-template-columns:1fr 1fr;gap:12px;display:grid}.input-group.three{grid-template-columns:1fr 1fr 1fr}.modal-scrim{z-index:200;background:oklch(0% 0 0/.45);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-3);flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 40px);display:flex;overflow-y:auto}.modal.wide{max-width:820px}.modal-head{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding:18px 20px;display:flex}.modal-head h2{color:var(--ink-0);margin:0;font-size:16px;font-weight:700}.modal-head .sub{color:var(--ink-3);margin-top:2px;font-size:12px}.modal-close{border-radius:var(--r);width:30px;height:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;place-items:center;margin-left:auto;transition:background .12s;display:grid}.modal-close:hover{background:var(--surface-3);color:var(--ink-0)}.modal-body{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:var(--surface-2);flex-shrink:0;align-items:center;gap:8px;padding:14px 20px;display:flex}.ai-console{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;gap:14px;padding:16px;display:flex}.audio-player{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);padding:12px}.audio-player audio{width:100%}.transcript{flex-direction:column;gap:10px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.bubble{align-items:flex-start;gap:10px;display:flex}.bubble.ai{flex-direction:row}.bubble.patient{flex-direction:row-reverse}.bubble-avatar{background:var(--surface-3);border:1px solid var(--line);width:28px;height:28px;color:var(--ink-2);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.bubble.ai .bubble-avatar{background:var(--accent-tint);color:var(--accent-deep)}.bubble-body{max-width:75%}.bubble-meta{color:var(--ink-3);margin-bottom:3px;font-size:10.5px}.bubble.patient .bubble-meta{text-align:right}.bubble-text{background:var(--surface-3);border-radius:var(--r);color:var(--ink-0);padding:8px 12px;font-size:13px;line-height:1.45}.bubble.ai .bubble-text{background:var(--accent-wash);border:1px solid var(--accent-tint)}.toast-container{z-index:300;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--ink-0);color:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-3);pointer-events:all;align-items:center;gap:10px;max-width:320px;padding:11px 16px;font-size:13px;font-weight:500;animation:.25s toast-in;display:flex}.toast.success{background:var(--ok)}.toast.error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown{width:340px}.notif-item{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:flex-start;gap:10px;padding:11px 14px;transition:background .12s;display:flex}.notif-item:hover{background:var(--surface-2)}.notif-item.unread{background:var(--accent-wash)}.notif-item:last-child{border-bottom:none}.notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notif-title{color:var(--ink-0);font-size:13px;font-weight:600}.notif-body{color:var(--ink-2);margin-top:2px;font-size:12px}.notif-time{color:var(--ink-3);margin-top:3px;font-size:11px}.empty-state{text-align:center;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty-state .empty-icon{border-radius:var(--r-lg);background:var(--surface-3);place-items:center;width:44px;height:44px;margin-bottom:4px;display:grid}.empty-state h3{color:var(--ink-1);margin:0;font-size:14px;font-weight:600}.empty-state p{margin:0;font-size:12.5px}.login-screen{background:var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-3);width:100%;max-width:400px;padding:36px 32px}.login-card h1{color:var(--ink-0);margin:0 0 4px;font-size:22px;font-weight:700}.login-card .sub{color:var(--ink-3);margin-bottom:24px;font-size:13px}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.settings-section-head{border-bottom:1px solid var(--line);background:var(--surface-2);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.settings-section-head h3{color:var(--ink-0);margin:0;font-size:14px;font-weight:700}.settings-list{margin:0;padding:0;list-style:none}.settings-list-item{border-bottom:1px solid var(--line-soft);color:var(--ink-1);justify-content:space-between;align-items:center;padding:10px 18px;font-size:13.5px;display:flex}.settings-list-item:last-child{border-bottom:none}.muted{color:var(--ink-3)}.strong{color:var(--ink-0);font-weight:600}.text-danger{color:var(--danger)}.text-ok{color:var(--ok)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-header-left{min-width:0}.page-header h1,.main-title{letter-spacing:-.01em;color:var(--ink-0);margin:0 0 4px;font-size:22px;font-weight:700}.page-header .sub,.main-sub{color:var(--ink-3);margin:0;font-size:13px}.page-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.header-row{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);gap:12px;margin-bottom:8px;padding:12px 16px;font-size:11px;font-weight:600;display:grid}.appointment-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:14px 16px;transition:background .1s,box-shadow .15s}.appointment-card:hover{background:var(--accent-wash)}.count-pill{background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.skeleton{background:var(--surface-2);border-radius:var(--r-sm);animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-row{height:44px;margin-bottom:8px}.empty-state.compact{padding:24px 16px}@media (width<=900px){.stats{grid-template-columns:repeat(2,1fr)}.data-grid{grid-template-columns:1fr}.detail{position:static}.settings-grid{grid-template-columns:1fr}}@media (width<=600px){:root{--sidebar-w:0px}.sidebar{display:none}.page{padding:14px}.stats{grid-template-columns:repeat(2,1fr);gap:8px}.toolbar{flex-direction:column;align-items:stretch}.search{min-width:unset}}
