@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-i1kdwugG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-CXnufCaW.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-CNE4GwkW.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}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) 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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-cyrillic-wght-normal-C1zWlyYG.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-greek-wght-normal--KUh6X2k.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-vietnamese-wght-normal-CvPE_C53.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-ext-wght-normal-D62tbE3i.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-wght-normal-DWlqe-xm.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{--ink: #0A2724;--forest: #0F4A42;--forest-2: #1C6B5E;--sage: #8DB3A2;--sage-2: #C9DDD3;--mint: #EAF3EE;--mint-2: #F4F8F5;--paper: #FBFAF6;--honey: #D9A441;--coral: #E2725B;--line: #DCE6E0;--muted: #55685F;--bg: var(--paper);--surface: #FFFFFF;--surface-2: var(--mint-2);--surface-3: var(--mint);--text: #11241F;--text-2: var(--muted);--text-3: #7F918A;--border: var(--line);--border-2: #C8D7CF;--accent: var(--forest);--accent-2: var(--forest-2);--accent-soft: #DCEDE4;--on-accent: #FFFFFF;--good: #2F8A5B;--good-soft: #E1F2E8;--warn: #B7791F;--warn-soft: #FBF0DA;--crit: #C2462F;--crit-soft: #FBE6E0;--info: #2D6A8E;--info-soft: #E2EEF5;--chart-1: #1C6B5E;--chart-2: #D9A441;--chart-3: #6A8FBF;--chart-4: #C2462F;--chart-5: #8DB3A2;--band: rgba(141, 179, 162, .16);--side: #0A2724;--side-2: #12352F;--side-text: #CFE0D7;--side-muted: #84A398;--side-active: #E9F3EC;--r-sm: 8px;--r: 12px;--r-lg: 18px;--r-xl: 24px;--shadow-sm: 0 1px 2px rgba(10, 39, 36, .06);--shadow: 0 1px 2px rgba(10, 39, 36, .05), 0 8px 24px -12px rgba(10, 39, 36, .18);--shadow-lg: 0 24px 64px -24px rgba(10, 39, 36, .45);--display: "Fraunces Variable", "Fraunces", Georgia, serif;--sans: "Manrope Variable", "Manrope", system-ui, sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #0B1715;--surface: #11211E;--surface-2: #152824;--surface-3: #1A302B;--text: #E3EDE8;--text-2: #A3B8AF;--text-3: #758B83;--border: #22392F;--border-2: #2E4A40;--accent: #6FC1A6;--accent-2: #8DD3BB;--accent-soft: #173B32;--on-accent: #08201B;--good: #6BC28F;--good-soft: #15322A;--warn: #E3B260;--warn-soft: #33291A;--crit: #EE8B76;--crit-soft: #3A1F1A;--info: #7DB5D6;--info-soft: #182B36;--chart-1: #6FC1A6;--chart-2: #E3B260;--chart-3: #8FB4E0;--chart-4: #EE8B76;--chart-5: #A9C9BA;--band: rgba(111, 193, 166, .12);--side: #071210;--side-2: #0F211D;--side-text: #C2D6CC;--side-muted: #6E8B80;--side-active: #E3EFE9;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 64px -24px rgba(0, 0, 0, .8);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1,"cv11" 1}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}.display{font-family:var(--display);font-optical-sizing:auto;font-variation-settings:"SOFT" 50,"WONK" 0}h1.display{font-size:28px;line-height:1.15;font-weight:560}h2.display{font-size:21px;font-weight:560}p{margin:0}::selection{background:var(--sage-2);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12.5px}.tiny{font-size:11.5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.row.top{align-items:flex-start}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.gap-4{gap:4px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-main{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-main{grid-template-columns:1fr}}@media (max-width: 760px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi .value{font-size:24px}}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100%}.side{position:sticky;top:0;height:100vh;background:var(--side);color:var(--side-text);display:flex;flex-direction:column;padding:18px 14px;gap:4px;overflow-y:auto;z-index:30;background-image:radial-gradient(120% 60% at 0% 0%,rgba(141,179,162,.14),transparent 60%),radial-gradient(80% 40% at 100% 100%,rgba(217,164,65,.08),transparent 60%)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.brand-mark{width:36px;height:36px;border-radius:11px;background:#f4f8f5;display:grid;place-items:center;overflow:hidden;flex:none}.brand-mark img{width:34px;height:34px;object-fit:contain}.brand b{font-family:var(--display);font-size:17px;font-weight:600;color:#f4f8f5;letter-spacing:.01em;display:block;line-height:1.1}.brand small{color:var(--side-muted);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.side-label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--side-muted);padding:14px 10px 6px}.nav-link{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;color:var(--side-text);font-weight:560;font-size:13.5px;transition:background .15s,color .15s;position:relative}.nav-link svg{width:17px;height:17px;opacity:.85;flex:none}.nav-link:hover{background:#ffffff0d;color:#fff}.nav-link.active{background:var(--side-active);color:var(--ink)}.nav-link.active svg{opacity:1;color:var(--forest-2)}.nav-link .count{margin-left:auto;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:#e2725be6;color:#fff}.nav-link.active .count{background:var(--coral)}.side-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid rgba(255,255,255,.07)}.side-user{display:flex;align-items:center;gap:10px}.side-user b{color:#f4f8f5;font-size:13px;display:block}.side-user small{color:var(--side-muted);font-size:11.5px}.main{min-width:0;display:flex;flex-direction:column;overflow-x:clip}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:12px 28px;height:64px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.search-trigger{display:flex;align-items:center;gap:10px;width:min(460px,50vw);height:38px;padding:0 12px;border:1px solid var(--border);background:var(--surface);border-radius:10px;color:var(--text-3);cursor:pointer;transition:border-color .15s}.search-trigger:hover{border-color:var(--border-2)}.search-trigger kbd{margin-left:auto;font-family:var(--sans);font-size:11px;padding:2px 6px;border:1px solid var(--border);border-radius:6px;color:var(--text-2);background:var(--surface-2)}.page{padding:26px 28px 60px;max-width:1480px;width:100%;margin:0 auto;animation:rise .35s ease both}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head .kicker{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);font-weight:700;margin-bottom:6px}.btn.burger{display:none}@media (max-width: 900px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:264px;transform:translate(-100%);transition:transform .25s;box-shadow:var(--shadow-lg)}.shell.nav-open .side{transform:none}.shell.nav-open:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#05141173;z-index:25}.btn.burger{display:inline-flex}.topbar{padding:10px 14px}.page{padding:18px 14px 80px}.search-trigger{width:auto;flex:1;min-width:0}.topbar>.grow{display:none}.topbar{gap:6px}.search-trigger kbd{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 0}.card-head h3{font-size:14.5px;font-weight:700}.card-head .sub{font-size:12px;color:var(--text-3)}.card-body{padding:14px 20px 18px}.divider{height:1px;background:var(--border);margin:12px 0}.section-title{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:700}.kpi{padding:16px 18px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.kpi .label{font-size:12px;color:var(--text-2);font-weight:600;display:flex;align-items:center;gap:6px}.kpi .label svg{width:15px;height:15px;color:var(--accent-2)}.kpi .value{font-family:var(--display);font-size:30px;font-weight:560;line-height:1.05;letter-spacing:-.02em}.kpi .foot{font-size:12px;color:var(--text-3)}.kpi.hl{background:linear-gradient(140deg,var(--forest) 0%,#134F45 60%,#1C6B5E 100%);color:#f4f8f5;border-color:transparent}.kpi.hl .label,.kpi.hl .foot{color:#bbd5c9}.kpi.hl .label svg{color:var(--honey)}.kpi.hl:after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface);color:var(--text);font-weight:650;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,transform .05s,box-shadow .15s;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:16px;height:16px;flex:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px #ffffff1f inset,0 4px 12px -6px var(--accent)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--crit)}.btn.danger.solid{background:var(--crit);border-color:var(--crit);color:#fff}.btn.sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px}.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}.btn.block{width:100%}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.seg button{border:0;background:transparent;padding:5px 12px;border-radius:7px;font-weight:650;font-size:12.5px;color:var(--text-2);cursor:pointer;white-space:nowrap}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg button .n{margin-left:6px;font-size:11px;color:var(--text-3)}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap;background:var(--surface-3);color:var(--text-2)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.crit{background:var(--crit-soft);color:var(--crit)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.outline{background:transparent;border:1px solid var(--border-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12.5px;font-weight:600}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span{font-size:12px;font-weight:700;color:var(--text-2)}.field .hint{font-size:11.5px;color:var(--text-3);font-weight:500}.field .err{font-size:12px;color:var(--crit);font-weight:600}.input,.select,.textarea{width:100%;height:38px;padding:0 11px;border:1px solid var(--border-2);border-radius:10px;background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:84px;padding:9px 11px;resize:vertical;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 15px) 16px,calc(100% - 10px) 16px;background-size:5px 5px;background-repeat:no-repeat}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-2) 18%,transparent)}.field.has-err .input,.field.has-err .select,.field.has-err .textarea{border-color:var(--crit)}.check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 640px){.form-grid,.form-grid.three{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}.form-error{background:var(--crit-soft);color:var(--crit);border-radius:10px;padding:9px 12px;font-size:13px;font-weight:600}.input-icon{position:relative}.input-icon svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-3);pointer-events:none}.input-icon .input{padding-left:34px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:700;padding:10px 14px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);position:sticky;top:0}.table td{padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .1s}.table tbody tr.click{cursor:pointer}.table tbody tr.click:hover{background:var(--surface-2)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12.5px;flex:none;color:var(--forest);background:var(--sage-2);letter-spacing:.02em}.avatar.lg{width:56px;height:56px;font-size:18px;font-family:var(--display)}.avatar.sm{width:26px;height:26px;font-size:10.5px}.person{display:flex;align-items:center;gap:10px;min-width:0}.person b{display:block;font-weight:700}.person small{color:var(--text-3);font-size:12px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:0;background:transparent;padding:11px 14px;font-weight:650;font-size:13px;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.tab svg{width:15px;height:15px}.tab:hover{color:var(--text)}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.tab .n{font-size:11px;padding:0 6px;border-radius:999px;background:var(--surface-3);color:var(--text-2)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0616137a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:grid;place-items:center;padding:20px;animation:fade .15s ease}.modal{width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);animation:pop .18s ease;display:flex;flex-direction:column}.modal.wide{width:min(900px,100%)}.modal.narrow{width:min(460px,100%)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 4px}.modal-head h2{font-family:var(--display);font-size:21px;font-weight:560}.modal-body{padding:14px 22px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px 20px;border-top:1px solid var(--border);margin-top:auto;position:sticky;bottom:0;background:var(--surface)}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#06161366;z-index:55;animation:fade .15s ease}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(560px,100%);background:var(--surface);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide .22s ease}.drawer-head{padding:20px 22px 14px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.drawer-body{padding:18px 22px;overflow-y:auto;flex:1}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes slide{0%{transform:translate(30px);opacity:0}}.toasts{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;gap:8px}.toast{display:flex;gap:10px;align-items:flex-start;min-width:280px;max-width:420px;padding:12px 14px;border-radius:12px;background:var(--ink);color:#e9f3ec;box-shadow:var(--shadow-lg);font-size:13px;font-weight:600;animation:pop .2s ease}.toast svg{width:18px;height:18px;flex:none;margin-top:1px}.toast.error{background:#5a1f14}.toast.warn{background:#4a3610}.palette{width:min(640px,100%);background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;align-self:start;margin-top:10vh;animation:pop .15s ease}.palette-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.palette-input input{border:0;outline:none;background:transparent;font-size:16px;flex:1}.palette-list{max-height:55vh;overflow-y:auto;padding:6px}.palette-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;cursor:pointer}.palette-item.on{background:var(--surface-3)}.palette-item .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--accent-2);flex:none}.palette-item .ic svg{width:16px;height:16px}.palette-group{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:10px 10px 4px;font-weight:700}.empty{padding:34px 20px;text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:8px}.empty svg{width:30px;height:30px;color:var(--sage)}.empty b{color:var(--text-2);font-size:14px}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite}@keyframes shimmer{to{background-position:-200% 0}}.spinner{width:18px;height:18px;border:2px solid var(--border-2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{display:grid;place-items:center;min-height:240px}.alert-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--border);align-items:flex-start}.alert-row:last-child{border-bottom:0}.alert-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none}.alert-ic svg{width:16px;height:16px}.alert-ic.critical{background:var(--crit-soft);color:var(--crit)}.alert-ic.warning{background:var(--warn-soft);color:var(--warn)}.alert-ic.info{background:var(--info-soft);color:var(--info)}.banner{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:12px;font-size:13px;font-weight:600}.banner svg{width:17px;height:17px;flex:none;margin-top:1px}.banner.crit{background:var(--crit-soft);color:var(--crit)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.info{background:var(--info-soft);color:var(--info)}.banner.good{background:var(--good-soft);color:var(--good)}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:1px;background:var(--border-2)}.tl-item{position:relative;padding:0 0 16px}.tl-item:before{content:"";position:absolute;left:-19px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--sage)}.tl-item.k-vitals:before{border-color:var(--chart-3)}.tl-item.k-visit:before{border-color:var(--accent-2)}.tl-item.k-billing:before{border-color:var(--honey)}.tl-item.k-status:before,.tl-item.k-clinical:before{border-color:var(--coral)}.tl-item.k-progress:before,.tl-item.k-plan:before,.tl-item.k-assessment:before{border-color:var(--good)}.tl-meta{font-size:11.5px;color:var(--text-3);margin-top:2px}.pulse{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:22px 24px;color:#eaf3ee;background:radial-gradient(70% 120% at 100% 0%,rgba(217,164,65,.18),transparent 55%),radial-gradient(60% 90% at 0% 100%,rgba(141,179,162,.22),transparent 60%),linear-gradient(135deg,#0a2724,#0f4a42 70%,#155b50)}.pulse:before{content:"";position:absolute;right:-60px;top:-120px;width:380px;height:380px;border-radius:50%;border:1px solid rgba(201,221,211,.14);box-shadow:0 0 0 40px #c9ddd308,0 0 0 90px #c9ddd306}.pulse h1{font-family:var(--display);font-weight:560;font-size:30px;color:#f7fbf8;letter-spacing:-.015em}.pulse .meta{color:#b5cec3;font-size:13px}.pulse .meta b{color:#e9f3ec;font-weight:650}.pulse .avatar{background:#eaf3ee;color:var(--forest)}.pulse-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:18px;position:relative}.pulse-tile{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 12px;min-width:0}.pulse-tile .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#9dbdb0;font-weight:700}.pulse-tile .v{font-family:var(--display);font-size:21px;color:#f7fbf8;margin-top:2px;font-weight:560}.pulse-tile .v small{font-family:var(--sans);font-size:11.5px;color:#9dbdb0;font-weight:600;margin-left:3px}.pulse-tile.warning{border-color:#e3b2608c;background:#e3b2601a}.pulse-tile.critical{border-color:#ee8b76b3;background:#ee8b7624}.pulse .badge{background:#ffffff1a;color:#e9f3ec}.pulse .badge.crit{background:#ee8b7638;color:#ffd6cb}.pulse .badge.warn{background:#e3b26038;color:#fbe3b5}.pulse .badge.good{background:#6bc28f33;color:#cdefd9}.pulse .btn{background:#ffffff14;border-color:#ffffff24;color:#eaf3ee}.pulse .btn:hover{background:#ffffff24}.pulse .btn.primary{background:#eaf3ee;color:var(--forest);border-color:#eaf3ee;box-shadow:none}.allergy-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px;position:relative}.allergy-strip .tag{background:#ee8b7633;color:#ffdcd2;border:1px solid rgba(238,139,118,.45);padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--forest-2),var(--sage));transition:width .5s ease}.bar.honey>i{background:linear-gradient(90deg,#C58E2D,var(--honey))}.ring-label{font-family:var(--display);font-weight:600}.kanban{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px}.lane{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px;min-height:300px;display:flex;flex-direction:column;gap:8px}.lane-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 6px;font-weight:700;font-size:13px}.lead-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 12px;cursor:pointer;transition:box-shadow .15s,transform .15s}.lead-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.lead-card.overdue{border-left:3px solid var(--coral)}.agenda-day{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.agenda-day:last-child{border-bottom:0}.agenda-date b{font-family:var(--display);font-size:26px;font-weight:560;display:block;line-height:1}.agenda-date span{font-size:12px;color:var(--text-3);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.agenda-date.today b{color:var(--accent)}.visit-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color .15s,box-shadow .15s}.visit-row+.visit-row{margin-top:6px}.visit-row:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.visit-row .t{font-weight:750;font-variant-numeric:tabular-nums}.visit-row.s-completed{opacity:.72}.visit-row.s-cancelled{opacity:.5;text-decoration:line-through}.visit-row.late{border-color:var(--warn);background:var(--warn-soft)}.visit-row.unassigned{border-style:dashed}.suggest{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.suggest:hover{border-color:var(--border-2)}.suggest.on{border-color:var(--accent);background:var(--accent-soft)}.suggest.busy{opacity:.55}.invoice-paper{background:#fff;color:#11241f;border-radius:var(--r-lg);padding:36px 40px;border:1px solid var(--line)}.invoice-paper table{width:100%;border-collapse:collapse;font-size:13px}.invoice-paper th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6e7f78;border-bottom:1.5px solid #0A2724;padding:8px 6px}.invoice-paper td{padding:9px 6px;border-bottom:1px solid #E3EAE6}.invoice-paper .tot td{border:0;padding:4px 6px}.invoice-paper .grand td{font-weight:800;font-size:15px;border-top:1.5px solid #0A2724;padding-top:8px}.print-only{display:none}@media print{@page{margin:14mm}body{background:#fff!important}.side,.topbar,.no-print,.toasts,.overlay>.modal>.modal-head,.modal-foot{display:none!important}.shell{display:block}.page{padding:0;max-width:none;animation:none}.print-only{display:block}.overlay{position:static;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;display:block}.modal{box-shadow:none;max-height:none;width:100%!important;border-radius:0}.invoice-paper{border:0;padding:0}.card{box-shadow:none;break-inside:avoid}.pulse{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.login{min-height:100%;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,520px)}.login-art{position:relative;overflow:hidden;color:#eaf3ee;padding:44px 52px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(60% 50% at 85% 15%,rgba(217,164,65,.22),transparent 60%),radial-gradient(70% 60% at 10% 90%,rgba(141,179,162,.3),transparent 60%),linear-gradient(150deg,#071c19,#0f4a42 65%,#1c6b5e)}.login-art:before,.login-art:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(201,221,211,.16)}.login-art:before{width:620px;height:620px;right:-220px;top:120px}.login-art:after{width:420px;height:420px;right:-120px;top:220px}.login-art h1{font-family:var(--display);font-size:clamp(34px,4vw,52px);font-weight:520;line-height:1.04;letter-spacing:-.02em;max-width:13ch;position:relative;z-index:1}.login-art h1 em{font-style:italic;color:var(--honey);font-weight:480}.login-art p{color:#b5cec3;max-width:44ch;margin-top:16px;font-size:15px;position:relative;z-index:1}.login-form{display:flex;flex-direction:column;justify-content:center;padding:48px;gap:16px;background:var(--surface)}.demo-users{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-users button{text-align:left;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:8px 10px;cursor:pointer;font-size:12px}.demo-users button:hover{border-color:var(--accent-2)}.demo-users b{display:block;font-size:12.5px}@media (max-width: 860px){.login{grid-template-columns:1fr}.login-art{min-height:260px;padding:28px}.login-form{padding:28px 20px}}.chart{width:100%;display:block;overflow:visible}.chart text{font-family:var(--sans);fill:var(--text-3);font-size:11px}.chart .grid line{stroke:var(--border)}.chart-tip{position:absolute;pointer-events:none;background:var(--ink);color:#eaf3ee;border-radius:10px;padding:7px 10px;font-size:12px;box-shadow:var(--shadow-lg);white-space:nowrap;transform:translate(-50%,-110%);z-index:5}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--text-2);font-weight:600}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.metric-pick{display:flex;gap:6px;flex-wrap:wrap}.metric-pick button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:650;cursor:pointer;color:var(--text-2);display:inline-flex;gap:6px;align-items:center}.metric-pick button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.metric-pick button .flag{width:7px;height:7px;border-radius:50%;background:var(--coral)}.kv{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 14px;font-size:13px}.kv dt{color:var(--text-3);font-weight:600}.kv dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere}.list-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.score-pill{font-family:var(--display);font-weight:600;font-size:18px}.soap{display:grid;gap:10px}.soap .s{padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.soap .s b{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2);display:block;margin-bottom:2px}.sticky-actions{position:sticky;bottom:0;background:var(--surface);padding-top:12px}.kbd{font-size:11px;padding:1px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text-2)}@media (max-width: 760px){.hide-sm{display:none!important}.kv{grid-template-columns:110px minmax(0,1fr)}}
