@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: oklch(.982 .003 180);--surface: #ffffff;--surface-2: oklch(.965 .005 180);--border: oklch(.912 .008 190);--border-strong: oklch(.86 .012 190);--ink: oklch(.235 .015 210);--ink-2: oklch(.42 .02 205);--muted: oklch(.5 .02 200);--primary: oklch(.5 .095 172);--primary-hover: oklch(.44 .095 172);--primary-ink: #ffffff;--primary-soft: oklch(.955 .025 172);--primary-soft-ink: oklch(.38 .09 172);--ok: oklch(.55 .14 150);--ok-soft: oklch(.955 .04 150);--warn: oklch(.6 .13 70);--warn-soft: oklch(.965 .045 85);--danger: oklch(.55 .19 25);--danger-soft: oklch(.96 .025 20);--info: oklch(.52 .12 250);--info-soft: oklch(.955 .025 250);--side-bg: oklch(.235 .022 205);--side-ink: oklch(.82 .012 190);--side-ink-dim: oklch(.62 .015 195);--side-active: oklch(.5 .095 172);--side-hover: oklch(.3 .022 205);--side-border: oklch(.32 .02 205);--radius: 12px;--radius-sm: 8px;--shadow-1: 0 1px 2px oklch(.2 .02 210 / .06);--shadow-2: 0 4px 8px oklch(.2 .02 210 / .08);--ease: cubic-bezier(.22, 1, .36, 1);--dur: .18s;--z-sticky: 30;--z-dropdown: 40;--z-drawer: 60;--z-toast: 80}:root[data-theme=dark]{--bg: oklch(.185 .012 210);--surface: oklch(.225 .014 210);--surface-2: oklch(.26 .015 210);--border: oklch(.31 .015 210);--border-strong: oklch(.38 .015 210);--ink: oklch(.93 .005 190);--ink-2: oklch(.76 .01 195);--muted: oklch(.68 .012 195);--primary: oklch(.72 .09 172);--primary-hover: oklch(.78 .09 172);--primary-ink: oklch(.18 .03 200);--primary-soft: oklch(.3 .045 175);--primary-soft-ink: oklch(.85 .07 170);--ok: oklch(.72 .13 150);--ok-soft: oklch(.3 .05 152);--warn: oklch(.78 .12 80);--warn-soft: oklch(.31 .05 80);--danger: oklch(.7 .16 25);--danger-soft: oklch(.3 .05 22);--info: oklch(.72 .1 250);--info-soft: oklch(.3 .04 250);--side-bg: oklch(.16 .012 210);--side-border: oklch(.26 .015 210);--side-hover: oklch(.24 .015 210);--shadow-1: 0 1px 2px oklch(0 0 0 / .3);--shadow-2: 0 4px 8px oklch(0 0 0 / .35)}:root{--panel: var(--surface);--text: var(--ink);--primary-dark: var(--primary-hover);--green: var(--ok);--amber: var(--warn);--red: var(--danger);--sidebar: var(--side-bg)}*{box-sizing:border-box}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{margin:0;font-family:Inter Variable,Inter,system-ui,-apple-system,sans-serif;font-size:14px;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11"}h1,h2,h3{text-wrap:balance}h2{font-size:22px;font-weight:650;letter-spacing:-.015em;margin:0 0 4px}h3{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--ink)}a{color:var(--primary)}a:hover{color:var(--primary-hover)}.app{display:flex;min-height:100vh}.sidebar{width:236px;background:var(--side-bg);color:var(--side-ink);padding:20px 12px 16px;flex-shrink:0;display:flex;flex-direction:column}.sidebar h1{font-size:16px;font-weight:700;letter-spacing:-.01em;color:#fff;margin:0 12px 20px;display:flex;align-items:center;gap:8px}.sidebar h1 .logo-dot{width:26px;height:26px;border-radius:8px;background:var(--side-active);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.sidebar h1 span{color:#77cab1}.sidebar nav{flex:1}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--side-ink);text-decoration:none;font-size:13.5px;font-weight:500;margin-bottom:1px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.sidebar nav a svg{width:16px;height:16px;flex-shrink:0;opacity:.75}.sidebar nav a:hover{background:var(--side-hover);color:#fff}.sidebar nav a.active{background:var(--side-active);color:#fff}.sidebar nav a.active svg{opacity:1}.nav-section{font-size:10.5px;letter-spacing:.09em;color:var(--side-ink-dim);margin:18px 12px 6px;font-weight:600}.viewas{margin:0 12px 12px}.viewas label{display:block;font-size:10.5px;letter-spacing:.09em;color:var(--side-ink-dim);font-weight:600;margin-bottom:5px}.viewas select,.branch-chip{width:100%;background:var(--side-hover);color:var(--side-ink);border:1px solid var(--side-border);border-radius:var(--radius-sm);padding:7px 9px;font-size:12.5px;font-family:inherit}.user-box{padding:12px;font-size:12.5px;border-top:1px solid var(--side-border);color:var(--side-ink)}.user-box button{margin-top:8px;background:none;border:1px solid var(--side-border);color:var(--side-ink);padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-family:inherit;transition:border-color var(--dur) var(--ease)}.user-box button:hover{border-color:var(--side-ink-dim);color:#fff}.main{flex:1;padding:12px 32px 32px;max-width:1360px;margin:0 auto;min-width:0}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:52px;margin:0 -8px 4px 0;position:sticky;top:0;background:var(--bg);z-index:var(--z-sticky)}.subtitle{color:var(--muted);font-size:13.5px;margin:0 0 4px}.viewas-banner{background:var(--warn-soft);border:1px solid var(--warn);color:var(--ink);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;margin:16px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;position:relative;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.card .label{font-size:11.5px;color:var(--muted);font-weight:550;letter-spacing:.02em;display:flex;align-items:center;gap:6px}.card .label svg{width:14px;height:14px}.card .value{font-size:24px;font-weight:680;margin-top:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.card.alert{border-color:var(--danger)}.card.alert .value{color:var(--danger)}.card .muted{font-size:12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px}.panel h3{display:flex;align-items:center;gap:8px}.panel h3 svg{width:15px;height:15px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;color:var(--muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:8px;border-bottom:1px solid var(--border)}td{padding:10px 8px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--surface-2);color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap}.badge.green{background:var(--ok-soft);color:var(--ok)}.badge.amber{background:var(--warn-soft);color:var(--warn)}.badge.red{background:var(--danger-soft);color:var(--danger)}.badge.blue{background:var(--info-soft);color:var(--info)}.delta{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.delta.up{color:var(--ok)}.delta.down{color:var(--danger)}button.btn{background:var(--primary);color:var(--primary-ink);border:none;padding:8px 15px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:550;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}button.btn:hover{background:var(--primary-hover)}button.btn:active{transform:scale(.98)}button.btn:disabled{opacity:.5;cursor:not-allowed}button.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--border-strong)}button.btn.ghost:hover{background:var(--surface-2);border-color:var(--muted)}button.btn.small{padding:4px 10px;font-size:12px}a.btn{background:var(--primary);color:var(--primary-ink);padding:8px 15px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:550;text-decoration:none;display:inline-flex;align-items:center;gap:6px}a.btn:hover{background:var(--primary-hover);color:var(--primary-ink)}a.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--border-strong)}input,select,textarea{padding:8px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13.5px;font-family:inherit;background:var(--surface);color:var(--ink);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;align-items:center}.toolbar input[type=text]{min-width:220px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 960px){.grid-2{grid-template-columns:1fr}}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{border:none;background:none;padding:5px 13px;border-radius:6px;font-size:12.5px;font-weight:550;cursor:pointer;color:var(--muted);font-family:inherit;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}.qa{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 13px;font-size:12.5px;font-weight:550;color:var(--ink);text-decoration:none;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.qa:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.sparkline{display:block;margin-top:8px;width:100%;height:28px}.sparkline path.line{fill:none;stroke:var(--primary);stroke-width:1.5}.sparkline path.fill{fill:var(--primary-soft);stroke:none;opacity:.8}.icon-chip{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-soft);color:var(--primary-soft-ink);position:absolute;top:14px;right:14px}.icon-chip svg{width:15px;height:15px}.icon-chip.warn{background:var(--warn-soft);color:var(--warn)}.icon-chip.danger{background:var(--danger-soft);color:var(--danger)}.icon-chip.ok{background:var(--ok-soft);color:var(--ok)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.notif-wrap{position:relative;z-index:var(--z-dropdown)}.notif-bell,.icon-btn{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;color:var(--ink-2);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.notif-bell:hover,.icon-btn:hover{border-color:var(--muted);color:var(--ink)}.notif-bell svg,.icon-btn svg{width:16px;height:16px}.notif-badge{position:absolute;top:-5px;right:-5px;background:var(--danger);color:#fff;border-radius:999px;font-size:10px;font-weight:700;padding:1px 5px;animation:pop .3s var(--ease)}@keyframes pop{0%{transform:scale(.5)}to{transform:scale(1)}}.notif-panel{position:absolute;top:46px;right:0;width:360px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-2);animation:drop-in .18s var(--ease)}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.notif-head{padding:12px 14px;font-weight:650;font-size:13px;border-bottom:1px solid var(--border)}.notif-item{padding:10px 14px;border-bottom:1px solid var(--border)}.notif-item:last-child{border-bottom:none}.notif-title{font-size:13px;font-weight:550}.notif-body{font-size:12.5px;color:var(--muted);margin-top:2px}.notif-time{font-size:11px;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:6px;position:relative}.pulse-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background:var(--ok);opacity:.35;animation:pulse 1.8s var(--ease) infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.5}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b191b80;display:flex;align-items:center;justify-content:center;z-index:var(--z-drawer);animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:14px;padding:22px;width:460px;max-width:92vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;animation:drop-in .2s var(--ease)}.modal label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.slot-grid{display:flex;flex-wrap:wrap;gap:6px;min-height:30px}.slot{border:1px solid var(--border-strong);background:var(--surface);border-radius:var(--radius-sm);padding:5px 11px;font-size:12.5px;cursor:pointer;color:var(--ink);font-family:inherit;font-variant-numeric:tabular-nums;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.slot:hover{border-color:var(--primary)}.slot.on{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.cal-grid{display:grid;grid-template-columns:52px repeat(6,minmax(140px,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border);min-width:900px;border-radius:var(--radius-sm);overflow:hidden}.cal-head{padding:8px 6px;font-weight:600;font-size:12.5px;text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2)}.cal-time{font-size:10.5px;color:var(--muted);text-align:right;padding:4px 6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.cal-cell{min-height:30px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:2px;background:var(--surface)}.cal-cell.leave{background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,var(--bg) 6px,var(--bg) 12px)}.cal-appt{border-radius:6px;padding:3px 7px;font-size:11.5px;cursor:pointer;margin-bottom:2px;border:1px solid var(--border);transition:filter var(--dur) var(--ease)}.cal-appt:hover{filter:brightness(.96)}:root[data-theme=dark] .cal-appt{color:#10181a}.chat-list{max-height:65vh;overflow-y:auto}.chat-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;border-bottom:1px solid var(--border);transition:background var(--dur) var(--ease)}.chat-item:hover,.chat-item.selected{background:var(--primary-soft)}:root[data-theme=dark] .chat-item:hover,:root[data-theme=dark] .chat-item.selected{background:var(--surface-2)}.chat-item .name{font-weight:600;font-size:13.5px}.chat-item .preview{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread{display:inline-block;background:var(--danger);color:#fff;border-radius:999px;font-size:10.5px;font-weight:700;padding:1px 6px;margin-left:6px}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.messages{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:8px 0}.bubble{max-width:75%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.45}.bubble.inbound{background:var(--surface-2);align-self:flex-start;border-bottom-left-radius:4px}.bubble.outbound{background:var(--primary);color:var(--primary-ink);align-self:flex-end;border-bottom-right-radius:4px}.bubble .meta{font-size:10.5px;opacity:.7;margin-top:4px}.copilot-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--primary);color:var(--primary-ink);border:none;font-size:20px;cursor:pointer;box-shadow:var(--shadow-2);z-index:var(--z-drawer);display:flex;align-items:center;justify-content:center;transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.copilot-fab:hover{background:var(--primary-hover);transform:scale(1.06)}.copilot-drawer{position:fixed;bottom:88px;right:24px;width:380px;max-width:calc(100vw - 48px);height:520px;max-height:calc(100vh - 130px);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-2);z-index:var(--z-drawer);display:flex;flex-direction:column;overflow:hidden;animation:drop-in .22s var(--ease)}.copilot-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--surface-2)}.copilot-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.copilot-msg{display:flex;flex-direction:column}.copilot-msg.user{align-items:flex-end}.copilot-msg.ai{align-items:flex-start}.copilot-bubble{max-width:88%;padding:9px 13px;border-radius:14px;font-size:13px;background:var(--surface-2);white-space:pre-line;line-height:1.45}.copilot-msg.user .copilot-bubble{background:var(--primary);color:var(--primary-ink)}.copilot-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.copilot-chips button{background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:4px 11px;font-size:11.5px;cursor:pointer;color:var(--primary);font-family:inherit;transition:border-color var(--dur) var(--ease)}.copilot-chips button:hover{border-color:var(--primary)}.copilot-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border)}.copilot-input input{flex:1}.login-wrap{min-height:100vh;display:flex}.login-brand{flex:1.1;background:var(--side-bg);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:8vh 7vw;gap:28px}.login-brand .wordmark{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700}.login-brand .wordmark .logo-dot{width:34px;height:34px;border-radius:10px;background:#08745d;display:flex;align-items:center;justify-content:center}.login-brand h1{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:700;letter-spacing:-.025em;line-height:1.15;margin:0}.login-brand h1 em{font-style:normal;color:#77cab1}.login-brand .points{display:flex;flex-direction:column;gap:14px}.login-brand .point{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#c7d0cf}.login-brand .point svg{width:17px;height:17px;color:#77cab1;flex-shrink:0;margin-top:1px}.login-brand .footnote{font-size:12px;color:#7c8989}.login-form-side{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.login-card{width:360px;display:flex;flex-direction:column;gap:12px}.login-card h2{font-size:20px;margin-bottom:2px}.login-card .field{display:flex;flex-direction:column;gap:5px}.login-card .field label{font-size:12px;font-weight:600;color:var(--ink-2)}.login-card input{padding:10px 12px}.login-card button.btn{padding:10px;justify-content:center;font-size:14px;margin-top:4px}@media (max-width: 860px){.login-brand{display:none}}.error{color:var(--danger);font-size:13px}.muted{color:var(--muted);font-size:13px}.alert-row{display:flex;gap:8px;align-items:baseline;margin-bottom:9px;font-size:13.5px}.alert-row a{color:var(--ink)}.split-bar{display:flex;height:20px;border-radius:6px;overflow:hidden;gap:2px}.legend-row{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:8px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.mini-stats .label{font-size:11.5px;color:var(--muted);font-weight:550;letter-spacing:.02em}.mini-stats .num{font-size:22px;font-weight:680;font-variant-numeric:tabular-nums}@media print{.sidebar,.topbar,.copilot-fab,.copilot-drawer{display:none}}.doctor-workspace{padding-bottom:24px}.doctor-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.doctor-live{display:inline-flex;gap:7px;align-items:center;color:var(--ok);font-weight:600;font-size:12px;padding:7px 10px;background:var(--ok-soft);border-radius:var(--radius-sm)}.doctor-kpis{display:grid;grid-template-columns:.85fr 1.4fr 1.35fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.doctor-kpis>div{background:var(--surface);padding:13px 16px;min-width:0}.doctor-kpis span,.billing-head span,.current-label{display:block;font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.07em}.doctor-kpis strong{display:block;font-size:17px;margin-top:5px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-kpis small{font-size:11px;color:var(--muted);font-weight:500}.doctor-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px;align-items:start}.doctor-clinical,.billing-sheet,.doctor-queue{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.doctor-clinical{min-width:0;overflow:hidden}.current-patient{padding:18px 20px;display:flex;gap:16px;align-items:flex-start;justify-content:space-between;background:var(--primary-soft)}.current-patient h3{margin:5px 0 3px;font-size:19px}.current-patient h3 span{font-size:12px;color:var(--ink-2);font-weight:500;margin-left:5px}.current-patient p{margin:0;color:var(--ink-2);font-size:13px}.medical-alerts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;max-width:43%}.clinical-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 12px}.clinical-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:11px 10px 9px;color:var(--muted);font:600 12.5px inherit;cursor:pointer}.clinical-tabs button.on{color:var(--primary);border-color:var(--primary)}.odontogram-panel,.soap-panel,.xray-workbench{padding:18px 20px}.tooth-chart{display:grid;grid-template-columns:repeat(16,1fr);gap:5px;margin:16px 0}.tooth-chart button{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-2);border-radius:6px;padding:8px 2px;font:600 11px inherit;cursor:pointer}.tooth-chart button:hover,.tooth-chart button.selected{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.soap-panel{display:grid;gap:12px}.soap-panel label,.billing-sheet label,.xray-controls label{display:grid;gap:6px;color:var(--ink-2);font-size:12px;font-weight:600}.soap-panel textarea{resize:vertical}.xray-workbench{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px;overflow:hidden}.xray-image{min-height:235px;background:#080e10;border:1px solid var(--border-strong);color:#97a9a8;display:grid;place-content:center;text-align:center;gap:12px;border-radius:var(--radius-sm);transition:filter var(--dur) var(--ease),transform var(--dur) var(--ease)}.xray-controls{display:grid;align-content:start;gap:13px}.xray-controls input{padding:0;width:100%}.billing-sheet{grid-column:2;grid-row:1 / span 2;padding:17px;position:sticky;top:64px}.billing-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.billing-head h3{margin:4px 0 0;font-size:16px}.billing-sheet select{width:100%}.add-charge{margin:9px 0 10px;width:100%;justify-content:center}.charge-items{border-top:1px solid var(--border);min-height:112px}.charge-row{display:flex;gap:8px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.charge-row strong,.charge-row span{display:block;font-size:12px}.charge-row span{color:var(--muted);margin-top:2px}.quantity{display:flex;align-items:center;gap:5px}.quantity button{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:5px;display:inline-grid;place-items:center;width:23px;height:23px;cursor:pointer}.quantity .remove{color:var(--danger);margin-left:3px}.billing-total{display:flex;justify-content:space-between;padding:14px 0;align-items:baseline}.billing-total span{color:var(--muted);font-size:12px}.billing-total strong{font-size:21px;letter-spacing:-.02em}.send-billing{width:100%;justify-content:center;padding:10px}.billing-sheet>p{font-size:11.5px;color:var(--muted);line-height:1.45;margin:9px 0 0}.doctor-queue{grid-column:1;overflow:hidden}.queue-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border)}.queue-head h3{margin:0}.queue-head span{color:var(--muted);font-size:12px}.queue-row{width:100%;display:grid;grid-template-columns:46px minmax(110px,1fr) auto 120px;gap:8px;align-items:center;text-align:left;padding:10px 16px;background:var(--surface);color:var(--ink);border:0;border-bottom:1px solid var(--border);cursor:pointer;font-family:inherit}.queue-row:hover,.queue-row.active{background:var(--primary-soft)}.queue-row>span{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.queue-row strong{font-size:13px}.queue-row i{font-style:normal;color:var(--primary);justify-self:end;display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600}.doctor-toast{position:fixed;right:20px;bottom:20px;z-index:var(--z-toast);display:flex;align-items:center;gap:8px;background:var(--side-bg);color:#fff;padding:12px 15px;border-radius:var(--radius-sm);box-shadow:var(--shadow-2);font-size:13px;animation:toast-in .18s var(--ease)}.doctor-toast svg{color:#77cab1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gallery-empty{border:1px dashed var(--border-strong);background:var(--surface);min-height:300px;border-radius:var(--radius);display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;color:var(--muted)}.gallery-empty h3{color:var(--ink);margin:14px 0 4px}.gallery-empty p{margin:0 0 16px}.frontdesk-billing{border:1px solid var(--warn);border-radius:var(--radius);overflow:hidden;margin:14px 0;background:var(--warn-soft)}.frontdesk-billing-head{border:0;width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;color:var(--ink);padding:11px 14px;cursor:pointer;font:600 13px inherit}.frontdesk-billing-head span{display:flex;gap:8px;align-items:center}.frontdesk-billing-head b{display:grid;place-items:center;min-width:19px;height:19px;border-radius:999px;background:var(--warn);color:#22190a;font-size:11px}.frontdesk-billing-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--warn)}.frontdesk-billing-list article{background:var(--surface);padding:14px}.frontdesk-billing-list article>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.frontdesk-billing-list h3{margin:7px 0 2px}.frontdesk-billing-list p{margin:0;font-size:12px;color:var(--muted)}.frontdesk-billing-list>article>strong{display:block;font-size:20px;margin:12px 0 8px}.frontdesk-billing-list ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--border)}.frontdesk-billing-list li{padding:7px 0;border-bottom:1px solid var(--border);color:var(--ink-2);font-size:12px;display:flex;justify-content:space-between;gap:6px}.frontdesk-billing-list li span{white-space:nowrap}.frontdesk-actions{margin-top:12px;display:flex;gap:7px}@media (max-width: 1100px){.doctor-grid{grid-template-columns:1fr}.billing-sheet{grid-column:1;grid-row:auto;position:static}.doctor-queue{grid-column:1}.doctor-kpis{grid-template-columns:1fr;gap:1px}}@media (max-width: 700px){.main{padding:8px 14px 24px}.doctor-header{align-items:flex-start}.doctor-live{display:none}.current-patient{flex-direction:column}.medical-alerts{max-width:100%;justify-content:flex-start}.tooth-chart{grid-template-columns:repeat(8,1fr)}.xray-workbench{grid-template-columns:1fr}.queue-row{grid-template-columns:42px minmax(90px,1fr) auto}.queue-row i{display:none}.doctor-kpis strong{white-space:normal}.frontdesk-actions{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.hamburger-btn{display:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-2);margin-right:auto;transition:border-color var(--dur) var(--ease)}.hamburger-btn:hover{border-color:var(--muted);color:var(--ink)}.mobile-backdrop{display:none}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:600px}@media (max-width: 900px){.hamburger-btn{display:inline-flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:70;transform:translate(-100%);transition:transform .22s cubic-bezier(.22,1,.36,1);width:260px}.sidebar.open{transform:translate(0)}.mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#020d108c;z-index:65;animation:fade-in .15s ease-out}.topbar{justify-content:flex-end;gap:8px;min-height:44px}.main{padding:8px 14px 24px}.cards{grid-template-columns:repeat(2,1fr)}.card{padding:12px}.card .value{font-size:20px}.panel{padding:14px 16px}.segmented button{padding:4px 10px;font-size:12px}.cal-grid{min-width:0;overflow-x:auto}.login-card{width:92vw;padding:28px 22px}}@media (max-width: 600px){.sidebar{width:80vw;max-width:300px}.main{padding:6px 10px 20px}.cards{grid-template-columns:1fr;gap:8px}.card .value{font-size:18px}.topbar{min-height:40px;gap:6px}.topbar button.icon-btn,.hamburger-btn{width:34px;height:34px}td,th{padding:6px;font-size:12px}.toolbar{flex-direction:column;align-items:stretch}.toolbar input[type=text]{min-width:0;width:100%}.modal{padding:16px;width:96vw}.notif-panel{width:92vw;right:-10px}.login-card{padding:24px 18px}.grid-2{grid-template-columns:1fr}.toolbar .segmented{flex:1}.toolbar .segmented button{flex:1;text-align:center;padding:6px}}@media (max-width: 400px){.main{padding:4px 8px 16px}.card .value{font-size:16px}.card .label{font-size:10.5px}.panel h3{font-size:13px}table{font-size:11.5px}td,th{padding:4px 5px}}:root{--gold: #D4AF37;--gold-soft: rgba(212, 175, 55, .12);--ice: #F0F9FF;--teal-glow: rgba(13, 148, 136, .3);--glass-bg: rgba(255, 255, 255, .62);--glass-border: rgba(255, 255, 255, .35);--glass-blur: blur(14px);--shadow-3d: 0 8px 32px oklch(.2 .03 200 / .1), 0 2px 6px oklch(.2 .03 200 / .06);--shadow-float: 0 20px 48px oklch(.2 .03 200 / .14), 0 4px 12px oklch(.2 .03 200 / .08);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}:root[data-theme=dark]{--glass-bg: rgba(30, 41, 59, .72);--glass-border: rgba(255, 255, 255, .08);--shadow-3d: 0 8px 32px oklch(0 0 0 / .35);--shadow-float: 0 20px 48px oklch(0 0 0 / .45)}.font-display{font-family:Playfair Display,serif;letter-spacing:-.02em}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius)}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-3d);transition:transform .3s var(--ease-bounce),box-shadow .3s var(--ease)}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float)}.tilt-card{transition:transform .4s var(--ease),box-shadow .4s var(--ease);transform-style:preserve-3d}.tilt-card:hover{transform:rotateY(4deg) rotateX(3deg) scale(1.02);box-shadow:var(--shadow-float)}.gold-border{border-left:4px solid var(--gold)}.gold-text{background:linear-gradient(135deg,#d4af37,#f9f6ee,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pulse-ai{animation:pulse-teal 2.2s ease infinite}@keyframes pulse-teal{0%{box-shadow:0 0 0 0 var(--teal-glow)}70%{box-shadow:0 0 0 10px #0d948800}to{box-shadow:0 0 #0d948800}}.stagger-in{animation:slideUpFade .7s var(--ease) forwards;opacity:0;transform:translateY(18px)}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}@keyframes slideUpFade{to{opacity:1;transform:translateY(0)}}.counter-up{font-variant-numeric:tabular-nums;transition:all .5s var(--ease)}.bg-ice{background:var(--ice)}.bg-gradient-clinic{background:linear-gradient(135deg,#f0f9ff,#fff5f0,#f0fdfa)}.float-particle{position:fixed;pointer-events:none;opacity:.08;z-index:0;animation:float-up 22s linear infinite}@keyframes float-up{0%{transform:translateY(110vh) rotate(0)}to{transform:translateY(-10vh) rotate(360deg)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;position:relative}.stat-card .stat-value{font-family:Playfair Display,serif;font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:6px 0 2px}.stat-card .stat-label{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.stat-card .stat-trend{font-size:11.5px;font-weight:650;display:flex;align-items:center;gap:4px}.insight-card{background:var(--side-bg);border:2px solid oklch(.5 .095 172 / .3);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;color:var(--side-ink);box-shadow:0 0 40px var(--teal-glow)}.insight-card:before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:#08745d1f;border-radius:50%;filter:blur(40px)}.hero-gradient{background:linear-gradient(135deg,#08745d,#298271,#3f9086);color:#fff}.glass-dark{background:#1e293be0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid rgba(255,255,255,.06)}
