:root{color-scheme:light dark;--brand-900: #05302A;--brand-800: #073B31;--brand-700: #0A4035;--brand-600: #0E5647;--teal-fill: #00B894;--teal-fill-hover: #00A888;--teal-bright: #00C49A;--teal-text: #00705B;--teal-text-strong: #00614F;--bg: #F2F9F6;--surface: #FFFFFF;--surface-sunken: #E5F7F1;--border: #DCE9E4;--border-strong: #C4D8D0;--text: #071A16;--text-secondary: #66756F;--text-muted: #5E6F69;--text-on-brand: #FFFFFF;--text-on-teal: #04211B;--success: #00A982;--success-text: #00614F;--success-soft: #DFF5EE;--warning: #F4A340;--warning-text: #8A5A12;--warning-soft: #FDF0DC;--danger: #E45C5C;--danger-text: #B83A36;--danger-soft: #FCE7E7;--info: #3B9EEB;--info-text: #1D6FB8;--info-soft: #E3F0FC;--nav-bg: var(--brand-800);--nav-text: #C8DCD5;--nav-text-inactive: #8AA79D;--nav-active-bg: #04251F;--nav-active-text: var(--teal-bright);--chart-1: #009C80;--chart-2: #1D6FB8;--chart-3: #C87F1E;--chart-4: #A32C4E;--chart-grid: var(--border);--chart-axis: var(--text-muted);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgb(7 26 22 / 6%);--shadow-md: 0 2px 8px rgb(7 26 22 / 8%);--shadow-lg: 0 8px 24px rgb(7 26 22 / 10%);--font: "Inter", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-page-title: 26px;--fs-section: 17px;--fs-metric: 32px;--fs-body: 14px;--fs-label: 13px;--fs-micro: 12px;--sidebar-w: 240px;--topbar-h: 56px;--page-pad: var(--sp-10);--tap-min: 44px;--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--teal-text)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0A1512;--surface: #111E1A;--surface-sunken: #18291F;--border: #23352F;--border-strong: #31463E;--text: #E6F0EC;--text-secondary: #9FB3AC;--text-muted: #7E928B;--teal-fill: #2ED6AE;--teal-fill-hover: #4AE0BC;--teal-bright: #2ED6AE;--teal-text: #2ED6AE;--teal-text-strong: #5BE5C3;--text-on-teal: #04211B;--success: #3FD6A8;--success-text: #3FD6A8;--success-soft: #10302A;--warning: #FFB259;--warning-text: #FFB259;--warning-soft: #33260F;--danger: #FF8A84;--danger-text: #FF8A84;--danger-soft: #351A1A;--info: #6FB9F2;--info-text: #6FB9F2;--info-soft: #10273A;--nav-bg: #061210;--nav-text: #C8DCD5;--nav-text-inactive: #8AA79D;--nav-active-bg: #0E2B24;--chart-1: #0BA484;--chart-2: #4491D6;--chart-3: #B77C2E;--chart-4: #C94C6B;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 2px 8px rgb(0 0 0 / 45%);--shadow-lg: 0 8px 24px rgb(0 0 0 / 55%);--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--teal-text)}}:root[data-theme=dark]{--bg: #0A1512;--surface: #111E1A;--surface-sunken: #18291F;--border: #23352F;--border-strong: #31463E;--text: #E6F0EC;--text-secondary: #9FB3AC;--text-muted: #7E928B;--teal-fill: #2ED6AE;--teal-fill-hover: #4AE0BC;--teal-bright: #2ED6AE;--teal-text: #2ED6AE;--teal-text-strong: #5BE5C3;--text-on-teal: #04211B;--success: #3FD6A8;--success-text: #3FD6A8;--success-soft: #10302A;--warning: #FFB259;--warning-text: #FFB259;--warning-soft: #33260F;--danger: #FF8A84;--danger-text: #FF8A84;--danger-soft: #351A1A;--info: #6FB9F2;--info-text: #6FB9F2;--info-soft: #10273A;--nav-bg: #061210;--nav-active-bg: #0E2B24;--chart-1: #0BA484;--chart-2: #4491D6;--chart-3: #B77C2E;--chart-4: #C94C6B;--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 2px 8px rgb(0 0 0 / 45%);--shadow-lg: 0 8px 24px rgb(0 0 0 / 55%)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font:var(--fs-body)/1.5 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}:where(a){color:var(--teal-text);text-decoration:none}:where(a:hover){text-decoration:underline}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh}.main{min-width:0;display:flex;flex-direction:column}.sidebar{background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;padding:var(--sp-3);gap:var(--sp-2);position:sticky;top:0;height:100dvh}.user-switcher{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:var(--tap-min);padding:var(--sp-2) var(--sp-3);border:1px solid rgb(255 255 255 / 12%);border-radius:var(--r-md);background:#ffffff0d;color:inherit;cursor:pointer;text-align:left;font:inherit}.user-switcher:hover{background:#ffffff17}.user-switcher .meta{flex:1;min-width:0;line-height:1.25}.user-switcher .name{display:block;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-switcher .role{display:block;font-size:var(--fs-micro);color:var(--nav-text-inactive);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav{display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-4);overflow-y:auto}.nav-section{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-text-inactive);padding:var(--sp-4) var(--sp-3) var(--sp-2)}.nav a{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap-min);padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--nav-text-inactive);font-size:14.5px;font-weight:500;text-decoration:none}.nav a:hover{background:#ffffff0f;color:var(--nav-text);text-decoration:none}.nav a svg{flex:none;width:18px;height:18px}.nav a .count{margin-left:auto;font-size:var(--fs-micro);font-weight:600;padding:1px var(--sp-2);border-radius:var(--r-pill);background:#ffffff1a;color:var(--nav-text)}.nav a[aria-current=page]{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:600;box-shadow:inset 3px 0 0 var(--teal-bright)}.sidebar-footer{margin-top:auto;padding:var(--sp-4) var(--sp-3) var(--sp-2);font-size:var(--fs-micro);color:var(--nav-text-inactive);text-align:center}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);padding:0 var(--page-pad);border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.topbar .spacer{margin-right:auto}.trial-badge{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--warning-soft);color:var(--warning-text);font-size:var(--fs-micro);font-weight:600}.page{padding:var(--sp-6) var(--page-pad) var(--sp-12)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-6)}.page-head h1{font-size:var(--fs-page-title);font-weight:700;margin:0 0 var(--sp-1);letter-spacing:-.02em}.page-head .sub{color:var(--text-secondary);font-size:var(--fs-body);margin:0}.page-head .actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap-min);padding:0 var(--sp-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:600 var(--fs-body)/1 var(--font);cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.btn:hover{background:var(--surface-sunken)}.btn svg{width:16px;height:16px;flex:none}.btn-primary{background:var(--teal-fill);border-color:var(--teal-fill);color:var(--text-on-teal)}.btn-primary:hover{background:var(--teal-fill-hover);border-color:var(--teal-fill-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-sunken);color:var(--text)}.btn-danger{border-color:var(--danger-text);color:var(--danger-text);background:var(--surface)}.btn-danger:hover{background:var(--danger-soft)}.btn-sm{min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-label)}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-secondary);cursor:pointer;position:relative}.icon-btn:hover{background:var(--surface-sunken);color:var(--text)}.icon-btn svg{width:18px;height:18px}.icon-btn .dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.avatar{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--surface-sunken);color:var(--teal-text-strong);font-size:var(--fs-label);font-weight:700;letter-spacing:.02em}.avatar-round{border-radius:50%}.avatar-sm{width:28px;height:28px;font-size:var(--fs-micro);border-radius:8px}.avatar-lg{width:64px;height:64px;font-size:22px;border-radius:16px}.sidebar .avatar{background:var(--teal-bright);color:var(--brand-900)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--sp-5)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card-head h2{font-size:var(--fs-section);font-weight:650;margin:0}.card-head .link{font-size:var(--fs-label);font-weight:600}.metric{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5)}.metric .label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.metric .value{font-size:var(--fs-metric);font-weight:700;line-height:1.05;letter-spacing:-.02em}.metric .foot{font-size:var(--fs-label);color:var(--text-secondary)}.metric-brand{background:var(--brand-800);border-color:var(--brand-800);color:var(--text-on-brand)}.metric-brand .label{color:var(--teal-bright)}.metric-brand .foot{color:#c8dcd5}.delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-micro);font-weight:600}.delta-up{color:var(--success-text)}.delta-down{color:var(--danger-text)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px var(--sp-2) 3px 7px;border-radius:var(--r-pill);font-size:var(--fs-micro);font-weight:600;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-neutral{background:var(--surface-sunken);color:var(--text-muted)}.badge-success{background:var(--success-soft);color:var(--success-text)}.badge-warning{background:var(--warning-soft);color:var(--warning-text)}.badge-danger{background:var(--danger-soft);color:var(--danger-text)}.badge-info{background:var(--info-soft);color:var(--info-text)}.badge-square:before{border-radius:2px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--fs-label);font-weight:600;color:var(--text-secondary)}.input,.select{min-height:var(--tap-min);padding:0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:var(--fs-body)/1 var(--font);width:100%}.input::placeholder{color:var(--text-muted)}.search{display:flex;align-items:center;gap:var(--sp-2);flex:1;min-width:min(240px,100%);min-height:var(--tap-min);padding:0 var(--sp-2) 0 var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);cursor:text;transition:border-color .15s ease,box-shadow .15s ease}.search:hover{border-color:var(--border-strong)}.search:focus-within{border-color:var(--teal-text);box-shadow:var(--focus-ring)}.search svg{width:18px;height:18px;color:var(--text-muted);flex:none;transition:color .15s ease}.search:focus-within svg{color:var(--teal-text)}.search input{flex:1;min-width:0;align-self:stretch;padding:0;margin:0;border:0;border-radius:0;background:none;color:inherit;font:var(--fs-body)/1 var(--font);-webkit-appearance:none;appearance:none}.search input::placeholder{color:var(--text-muted);opacity:1}.search input:focus,.search input:focus-visible{outline:none;box-shadow:none}.search input::-webkit-search-decoration{-webkit-appearance:none}.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-left:var(--sp-2);border-radius:var(--r-pill);background:var(--text-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 100 20 10 10 0 000-20zm3.5 12.1l-1.4 1.4L12 13.4l-2.1 2.1-1.4-1.4 2.1-2.1-2.1-2.1 1.4-1.4 2.1 2.1 2.1-2.1 1.4 1.4-2.1 2.1 2.1 2.1z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 100 20 10 10 0 000-20zm3.5 12.1l-1.4 1.4L12 13.4l-2.1 2.1-1.4-1.4 2.1-2.1-2.1-2.1 1.4-1.4 2.1 2.1 2.1-2.1 1.4 1.4-2.1 2.1 2.1 2.1z'/%3E%3C/svg%3E") center / contain no-repeat;cursor:pointer}.search input::-webkit-search-cancel-button:hover{background:var(--text)}.field-error{font-size:var(--fs-label);color:var(--danger-text);display:flex;gap:6px}.input[aria-invalid=true]{border-color:var(--danger-text)}.segmented{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.segmented button{min-height:36px;padding:0 var(--sp-4);border:0;border-radius:6px;background:none;color:var(--text-secondary);font:600 var(--fs-label)/1 var(--font);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--teal-fill);color:var(--text-on-teal)}.pills{display:flex;gap:var(--sp-2);flex-wrap:wrap}.pill{min-height:36px;padding:0 var(--sp-3);display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-secondary);font:600 var(--fs-label)/1 var(--font);cursor:pointer}.pill:hover{background:var(--surface-sunken)}.pill[aria-pressed=true]{background:var(--teal-fill);border-color:var(--teal-fill);color:var(--text-on-teal)}.pill .n{font-weight:700;opacity:.75}.tabs{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border);overflow-x:auto}.tabs a{padding:var(--sp-3) var(--sp-4);min-height:var(--tap-min);display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-weight:600;font-size:var(--fs-body);border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a[aria-selected=true]{color:var(--teal-text);border-bottom-color:var(--teal-fill)}.tabs .n{font-size:var(--fs-micro);font-weight:700;padding:1px 6px;border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--text-muted)}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-body)}table.data th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:var(--sp-3) var(--sp-4);background:var(--surface-sunken);white-space:nowrap}table.data th:first-child{border-top-left-radius:var(--r-md)}table.data th:last-child{border-top-right-radius:var(--r-md)}table.data td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);height:68px;vertical-align:middle}table.data tbody tr:hover{background:var(--surface-sunken)}table.data tbody tr:last-child td{border-bottom:0}.cell-person{display:flex;align-items:center;gap:var(--sp-3)}.cell-person .who{line-height:1.3;min-width:0}.cell-person .who strong{font-weight:600}.cell-person .who small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.right{text-align:right}.state{display:grid;place-items:center;gap:var(--sp-3);padding:var(--sp-12) var(--sp-6);text-align:center}.state .well{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-md);background:var(--surface-sunken);color:var(--teal-text)}.state .well svg{width:26px;height:26px}.state h3{margin:0;font-size:var(--fs-section);font-weight:650}.state p{margin:0;color:var(--text-secondary);max-width:42ch}.state-danger .well{background:var(--danger-soft);color:var(--danger-text)}.state-warning .well{background:var(--warning-soft);color:var(--warning-text)}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border) 37%,var(--surface-sunken) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.mobile-only{display:none!important}.grid{display:grid;gap:var(--sp-4)}.g-4{grid-template-columns:repeat(4,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-2{grid-template-columns:repeat(2,1fr)}.g-60-40{grid-template-columns:3fr 2fr}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.mt-6{margin-top:var(--sp-6)}@media(max-width:1199px){:root{--sidebar-w: 72px;--page-pad: var(--sp-6)}.sidebar .user-switcher .meta,.nav a span,.nav-section,.sidebar-footer{display:none}.nav a{justify-content:center}.g-4{grid-template-columns:repeat(2,1fr)}.g-60-40,.g-3{grid-template-columns:1fr 1fr}}@media(max-width:767px){:root{--page-pad: var(--sp-4)}.app{grid-template-columns:1fr}.sidebar{display:none}.mobile-only{display:inline-grid!important}.trial-badge{display:none}.topbar{padding:0 var(--sp-4)}.g-4,.g-3,.g-2,.g-60-40{grid-template-columns:1fr}.page-head{flex-direction:column;align-items:stretch}.page-head .actions .btn{flex:1}.kpis{display:flex;overflow-x:auto;gap:var(--sp-3);scroll-snap-type:x mandatory}.kpis>*{flex:0 0 78%;scroll-snap-align:start}}.state-switcher{position:fixed;bottom:var(--sp-4);left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2);border-radius:var(--r-pill);background:var(--brand-900);box-shadow:var(--shadow-lg);max-width:calc(100vw - var(--sp-8));overflow-x:auto}.state-switcher .lbl{padding:0 var(--sp-2) 0 var(--sp-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8aa79d}.state-switcher button{min-height:32px;padding:0 var(--sp-3);border:0;border-radius:var(--r-pill);background:none;color:#c8dcd5;font:600 var(--fs-micro)/1 var(--font);cursor:pointer;white-space:nowrap}.state-switcher button:hover{background:#ffffff1a}.state-switcher button[aria-pressed=true]{background:var(--teal-bright);color:var(--brand-900)}.auth{display:grid;grid-template-columns:minmax(320px,5fr) 7fr;min-height:100dvh}.auth-brand{display:flex;flex-direction:column;gap:var(--sp-8);padding:var(--sp-10);background:var(--nav-bg);color:var(--nav-text);border-right:1px solid var(--border);position:sticky;top:0;height:100dvh}.auth-logo{display:flex;align-items:center;gap:var(--sp-3);color:#fff;font-size:var(--fs-section);font-weight:700;letter-spacing:-.01em}.auth-logo .mark{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--teal-bright);color:var(--brand-900)}.auth-logo .mark svg{width:22px;height:22px}.auth-pitch{margin-top:auto;max-width:30rem}.auth-pitch h2{margin:0 0 var(--sp-3);color:#fff;font-size:var(--fs-page-title);font-weight:700;line-height:1.25;letter-spacing:-.02em}.auth-pitch p{margin:0;color:var(--nav-text)}.auth-points{display:grid;gap:var(--sp-3);margin:var(--sp-6) 0 0;padding:0;list-style:none}.auth-points li{display:flex;gap:var(--sp-3);align-items:flex-start}.auth-points svg{flex:none;width:20px;height:20px;margin-top:1px;color:var(--teal-bright)}.auth-foot{font-size:var(--fs-micro);color:var(--nav-text-inactive)}.auth-main{display:flex;flex-direction:column;min-width:0;padding:var(--sp-6) var(--sp-10)}.auth-top{display:flex;justify-content:flex-end;align-items:center;gap:var(--sp-3);font-size:var(--fs-body);color:var(--text-secondary)}.auth-panel{width:min(100%,26rem);margin:auto;padding:var(--sp-8) 0}.auth-panel-wide{width:min(100%,32rem)}.auth-head{margin-bottom:var(--sp-6)}.auth-head h1{margin:0 0 var(--sp-1);font-size:var(--fs-page-title);font-weight:700;letter-spacing:-.02em}.auth-head p{margin:0;color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:var(--sp-4)}.auth-form .btn-primary{width:100%;margin-top:var(--sp-2)}.auth-form fieldset{display:contents}.auth-legend{margin-top:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.auth-alt{margin:var(--sp-6) 0 0;text-align:center;color:var(--text-secondary)}.tenant-chip{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.tenant-chip .who{flex:1;min-width:0;line-height:1.3}.tenant-chip .who small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.tenant-chip .who strong{overflow-wrap:anywhere}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.field-hint{font-size:var(--fs-label);color:var(--text-muted);display:flex;gap:6px;align-items:center}.field-hint svg,.field-error svg{flex:none;width:16px;height:16px}.field-hint.met{color:var(--success-text)}.field-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.select{padding-right:var(--sp-8)}.input-group{display:flex;align-items:stretch;min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.input-group:focus-within{box-shadow:var(--focus-ring)}.input-group[aria-invalid=true],.input-group:has([aria-invalid=true]){border-color:var(--danger-text)}.input-group input{flex:1;min-width:0;padding:0 var(--sp-3);border:0;background:none;color:var(--text);font:var(--fs-body)/1 var(--font)}.input-group input:focus,.input-group input:focus-visible{outline:none;box-shadow:none}.input-group .suffix{display:flex;align-items:center;padding:0 var(--sp-3);border-left:1px solid var(--border);background:var(--surface-sunken);border-radius:0 calc(var(--r-sm) - 1px) calc(var(--r-sm) - 1px) 0;color:var(--text-muted);font-size:var(--fs-label);white-space:nowrap}.input-group .reveal{display:grid;place-items:center;width:var(--tap-min);flex:none;border:0;background:none;color:var(--text-muted);cursor:pointer}.input-group .reveal:hover{color:var(--text)}.input-group .reveal svg{width:18px;height:18px}.alert{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border:1px solid currentColor;border-radius:var(--r-sm);font-size:var(--fs-body)}.alert svg{flex:none;width:18px;height:18px;margin-top:1px}.alert p{margin:0;color:var(--text)}.alert strong{display:block}.alert-danger{background:var(--danger-soft);color:var(--danger-text)}.alert-info{background:var(--info-soft);color:var(--info-text)}.spinner{width:16px;height:16px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.auth-result{text-align:center}.auth-result .state{padding:0 0 var(--sp-6)}.auth-result .btn{width:100%}@media(max-width:899px){.auth{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-brand{position:static;height:auto;flex-direction:row;align-items:center;padding:var(--sp-4);border-right:0;border-bottom:1px solid var(--border)}.auth-pitch,.auth-foot{display:none}.auth-main{padding:var(--sp-4)}.auth-panel{margin-top:0;padding-top:var(--sp-4)}}@media(max-width:479px){.field-row{grid-template-columns:1fr}}.bell-wrap{position:relative}.notif{position:absolute;top:calc(100% + var(--sp-2));right:0;z-index:30;width:min(392px,calc(100vw - var(--sp-8)));max-height:min(560px,calc(100vh - var(--topbar-h) - var(--sp-8)));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden}.notif>header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border)}.notif>header h2{margin:0;font-size:var(--fs-section);font-weight:650;flex:1}.notif>header button{border:0;background:none;cursor:pointer;font:600 var(--fs-label)/1 var(--font);color:var(--teal-text);padding:var(--sp-2)}.notif>header button:hover{text-decoration:underline}.notif>header button:disabled{color:var(--text-muted);cursor:default;text-decoration:none}.notif .tabs-row{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.notif .feed{flex:1;overflow-y:auto}.notif .group{padding:var(--sp-3) var(--sp-4) var(--sp-2);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-sunken)}.notif a.item{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.notif a.item:hover{background:var(--surface-sunken);text-decoration:none}.notif a.item:last-child{border-bottom:0}.notif .ic{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--surface-sunken);color:var(--text-muted)}.notif .ic svg{width:16px;height:16px}.notif .ic.bad{background:var(--danger-soft);color:var(--danger-text)}.notif .ic.warn{background:var(--warning-soft);color:var(--warning-text)}.notif .ic.info{background:var(--info-soft);color:var(--info-text)}.notif .ic.good{background:var(--success-soft);color:var(--success-text)}.notif .txt{flex:1;min-width:0;line-height:1.4}.notif .txt strong{display:block;font-weight:600;font-size:var(--fs-body)}.notif .txt span{display:block;color:var(--text-secondary);font-size:var(--fs-label)}.notif .txt time{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--fs-micro)}.notif .unread-dot{width:8px;height:8px;border-radius:50%;background:var(--teal-fill);flex:none;margin-top:12px}.notif a.read .unread-dot{background:transparent}.notif>footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);text-align:center}.notif>footer a{font-size:var(--fs-label);font-weight:600}.notif .empty{padding:var(--sp-8) var(--sp-5);text-align:center;color:var(--text-secondary)}@media(max-width:767px){.notif{position:fixed;top:var(--topbar-h);right:var(--sp-2);left:var(--sp-2);width:auto}}.branch-menu button.b:hover{background:var(--surface-sunken)}.branch-menu .mark{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--surface-sunken);color:var(--teal-text-strong);font:700 10px/1 var(--font)}.branch-menu .n{font-size:var(--fs-micro);color:var(--text-muted);font-variant-numeric:tabular-nums}.branch-menu button.b[aria-checked=true]{background:var(--surface-sunken)}.branch-menu button.b[aria-checked=true] .t strong,.branch-menu .tick{color:var(--teal-text)}.branch-menu .tick svg{width:16px;height:16px}.branch-menu .foot{padding:var(--sp-2) var(--sp-3);display:grid;gap:2px}.branch-menu .foot a:hover{background:var(--surface-sunken);color:var(--text);text-decoration:none}.branch-menu .shared{padding:var(--sp-2) var(--sp-4) var(--sp-3);font-size:var(--fs-micro);color:var(--text-muted);line-height:1.45}@media(max-width:1199px){.branch-menu{left:calc(100% + var(--sp-2));right:auto;top:0}}.toast{position:fixed;left:50%;bottom:var(--sp-6);z-index:80;transform:translate(-50%,16px);display:flex;align-items:flex-start;gap:var(--sp-3);max-width:min(520px,calc(100vw - var(--sp-5) * 2));padding:var(--sp-3) var(--sp-4);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.toast.on{opacity:1;transform:translate(-50%)}.toast .ic{flex:none;width:22px;height:22px;margin-top:1px;display:grid;place-items:center;border-radius:50%;background:var(--teal-fill);color:var(--text-on-teal)}.toast .ic svg{width:13px;height:13px}.toast .t{min-width:0;line-height:1.4}.toast .t strong{display:block;font-weight:600;font-size:var(--fs-body)}.toast .t small{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--fs-micro)}@media(prefers-reduced-motion:reduce){.toast{transition:opacity .18s ease;transform:translate(-50%)}}.nav-scrim{position:fixed;inset:0;z-index:60;background:#0814127a}@media(max-width:899px){.sidebar.open{display:flex;position:fixed;z-index:61;inset:0 auto 0 0;width:min(280px,84vw);box-shadow:var(--shadow-lg)}.sidebar.open .user-switcher .meta,.sidebar.open .nav .label,.sidebar.open .sidebar-footer{display:revert}}.row-menu{position:fixed;z-index:70;min-width:208px;padding:var(--sp-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.row-menu button{display:block;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);border:0;border-radius:var(--r-sm);background:none;font:inherit;font-size:var(--fs-label);color:var(--text);cursor:pointer}.row-menu button:hover{background:var(--surface-sunken)}.row-menu button.danger{color:var(--danger-text)}.row-menu button.danger:hover{background:var(--danger-soft)}.patient-strip{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);flex-wrap:wrap}.patient-strip .who{flex:1;min-width:180px;line-height:1.3}.patient-strip .who strong{font-weight:700;font-size:var(--fs-section)}.patient-strip .who small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.clin-head{position:sticky;top:var(--topbar-h);z-index:5;margin-bottom:var(--sp-5);box-shadow:0 6px 12px -10px #071a1659}.clin-head .who h1{margin:0;font-size:var(--fs-section);font-weight:700;letter-spacing:-.01em}.clin-head .visit{line-height:1.35;min-width:220px}.clin-head .visit strong{display:block;font-weight:600;font-size:var(--fs-label)}.clin-head .visit small{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-muted);font-size:var(--fs-micro)}.clin-head .links{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.clin-head .allergy-banner{padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.clin-noalert{margin:0;padding:var(--sp-2) var(--sp-5);border-top:1px solid var(--border);font-size:var(--fs-micro);color:var(--text-muted)}.clin-tabs{padding:0 var(--sp-3);border-top:1px solid var(--border);border-bottom:0}.note-sec{padding:var(--sp-4) var(--sp-5)}.note-sec+.note-sec{border-top:1px solid var(--border)}.note-sec label{display:block}.note-sec .lbl{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:6px}.note-sec .lbl b{font-size:var(--fs-label);font-weight:600}.note-sec .lbl small{color:var(--text-muted);font-size:var(--fs-micro)}.note-sec textarea{width:100%;min-height:70px;resize:vertical}.note-sec p.ro{margin:0;white-space:pre-wrap;line-height:1.55;font-size:var(--fs-body)}.note-sec p.ro:empty:after{content:"\2014";color:var(--text-muted)}.from-intake{margin-left:auto}.sig{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);background:var(--surface-sunken);font-size:var(--fs-label)}.sig .who{flex:1;min-width:200px}.sig .who strong{display:block;font-weight:600}.sig .who small{color:var(--text-muted);font-size:var(--fs-micro)}.amend-of{margin:0;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border);background:var(--info-soft);color:var(--info-text);font-size:var(--fs-micro);line-height:1.5}.note-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.note-row .note-sec{display:flex}.note-row .note-sec label{display:flex;flex-direction:column;flex:1;min-width:0}.note-row .note-sec .lbl{min-height:24px;align-items:center}.note-row .note-sec textarea{flex:1;min-height:112px}.note-row .note-sec+.note-sec{border-top:0;border-left:1px solid var(--border)}@media(max-width:1099px){.note-row{grid-auto-flow:row;grid-template-columns:1fr}.note-row .note-sec+.note-sec{border-left:0;border-top:1px solid var(--border)}}.note-acts{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.note-acts:empty{display:none}.note-empty{padding:var(--sp-6) var(--sp-5);text-align:center;color:var(--text-secondary)}.note-empty p{margin:0 0 var(--sp-3)}.exam-cols{display:grid;grid-template-columns:1fr 1fr}@media(max-width:1299px){.exam-cols{grid-template-columns:1fr}}.exam-col{padding:var(--sp-3) var(--sp-5)}.exam-col+.exam-col{border-left:1px solid var(--border)}@media(max-width:1299px){.exam-col+.exam-col{border-left:0;border-top:1px solid var(--border)}}.exam-col h3{margin:0 0 var(--sp-1);font-size:var(--fs-label);font-weight:600}.exam-col .foot{margin:var(--sp-2) 0 0;font-size:var(--fs-micro);color:var(--text-muted);line-height:1.5}.exam{display:grid}.exam .r{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-2) 0}.exam .r+.r{border-top:1px solid var(--border)}.exam .site{flex:1;min-width:120px;font-size:var(--fs-label)}.exam .site small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.exam .segmented{flex:none}.exam .segmented button{min-width:48px}.exam .segmented button[data-v="Not examined"][aria-pressed=true]{color:var(--text-muted)}.exam .segmented button[data-v=Poor][aria-pressed=true],.exam .segmented button[data-v=Abnormal][aria-pressed=true]{background:var(--danger-soft);color:var(--danger-text)}.exam .val{font-size:var(--fs-label);font-weight:600}.exam .val.bad{color:var(--danger-text)}.exam .val.none{color:var(--text-muted);font-weight:400}.exam .desc{flex-basis:100%}.exam .desc input{width:100%}.exam .desc.missing input{border-color:var(--danger)}.exam .desc em{display:block;margin-top:4px;font-size:var(--fs-micro);color:var(--danger-text);font-weight:600;font-style:normal}.exam .desc p{margin:0;font-size:var(--fs-label);color:var(--danger-text)}.sign-dlg{width:min(480px,calc(100% - 32px));padding:0;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.sign-dlg::backdrop{background:#071a1673}.sign-dlg .body{padding:var(--sp-5)}.sign-dlg h2{margin:0;font-size:19px;font-weight:700}.sign-dlg .lead{margin:4px 0 var(--sp-4);color:var(--text-secondary);font-size:var(--fs-label)}.sg-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-sm)}.sg-list li{display:grid;grid-template-columns:120px 1fr;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-label);line-height:1.4}.sg-list li+li{border-top:1px solid var(--border)}.sg-list b{font-weight:600;color:var(--text-secondary)}.sign-dlg footer{display:flex;justify-content:flex-end;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border)}.finish-bar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.finish-bar[hidden]{display:none}.finish-bar .fb-text{flex:1;min-width:240px;line-height:1.4}.finish-bar .fb-text strong{display:block;font-weight:600}.finish-bar .fb-text small{color:var(--text-muted);font-size:var(--fs-micro)}.dd-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.done-warn{margin:0;padding:var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-label);background:var(--danger-soft);color:var(--danger-text);font-weight:600}.exam-line{display:grid;gap:4px;margin:0;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-label);color:var(--text-secondary);line-height:1.45}.exam-line b{color:var(--text);font-weight:600;margin-right:4px}.ik-review{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border)}.ik-review .t{flex:1;min-width:220px;line-height:1.4}.ik-review .t strong{display:block;font-weight:600}.ik-review .t small{color:var(--text-muted);font-size:var(--fs-micro)}.ik-sec{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);display:grid;gap:var(--sp-4)}.ik-sec h3{margin:0;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:var(--sp-2)}.ik-sec label>span{display:block;margin-bottom:6px;font-size:var(--fs-label);font-weight:600}.ik-sec textarea{width:100%;min-height:72px;resize:vertical}.ik-sec .hint{margin:4px 0 0;font-size:var(--fs-micro);color:var(--text-muted)}.ik-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}@media(max-width:899px){.ik-grid{grid-template-columns:1fr}}.ik-checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2) var(--sp-4)}@media(max-width:899px){.ik-checklist{grid-template-columns:repeat(2,1fr)}}@media(max-width:599px){.ik-checklist{grid-template-columns:1fr}}.ik-tick{display:flex;align-items:flex-start;gap:var(--sp-2);padding:4px 0}.ik-tick input{width:17px;height:17px;margin-top:2px;flex:none;accent-color:var(--teal-fill)}.ik-tick .lbl{line-height:1.35}.ik-tick .lbl b{display:block;font-weight:500;font-size:var(--fs-body)}.ik-tick .lbl small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.ik-tick .lbl small.from-reg{color:var(--info-text);font-weight:600}.ik-detail{grid-column:1 / -1;margin:0 0 var(--sp-2) 27px;max-width:520px}.ik-detail input{width:100%}.ik-detail.missing input{border-color:var(--danger)}.ik-detail .why{display:block;margin-top:4px;font-size:var(--fs-micro);color:var(--danger-text);font-weight:600}.ik-foot{margin:0;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-micro);color:var(--text-muted);line-height:1.5}.ik-acts{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.ik-acts[hidden]{display:none}.ik-summary{display:grid;gap:4px;padding:var(--sp-3) var(--sp-5);font-size:var(--fs-label)}.ik-summary b{font-weight:600}.ik-summary .muted{color:var(--text-muted)}.page-head h2.tab-title{font-size:var(--fs-section);font-weight:700;margin:0 0 var(--sp-1)}@media(max-width:767px){.clin-head{position:static}}.allergy-banner{display:flex;align-items:center;gap:var(--sp-2);margin:0;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);background:var(--danger-soft);color:var(--danger-text);font-weight:600;font-size:var(--fs-body)}.allergy-banner svg{width:18px;height:18px;flex:none}.card>.allergy-banner:last-child{border-radius:0 0 var(--r-md) var(--r-md)}textarea.input{min-height:72px;padding:var(--sp-3);line-height:1.5;resize:vertical}.checkline{display:flex;gap:var(--sp-3);align-items:flex-start;min-height:var(--tap-min);padding:var(--sp-2) 0;cursor:pointer;line-height:1.4}.checkline input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--teal-fill)}.checkline small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.checklist{list-style:none;margin:0;padding:var(--sp-2) var(--sp-5)}.checklist li{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) 0;border-bottom:1px solid var(--border);line-height:1.35}.checklist li:last-child{border-bottom:0}.checklist .mk{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);color:var(--text-muted);font-size:12px;font-weight:700}.checklist .done .mk{background:var(--success-soft);border-color:var(--success-text);color:var(--success-text)}.checklist .todo .mk{border-color:var(--warning-text);color:var(--warning-text)}.checklist .txt{flex:1;min-width:0}.checklist .txt small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.decide{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.decide button{min-height:36px;padding:0 var(--sp-3);border:0;border-radius:6px;background:none;color:var(--text-secondary);font:600 var(--fs-micro)/1 var(--font);cursor:pointer;white-space:nowrap}.decide button:hover{background:var(--surface-sunken);color:var(--text)}.decide button[aria-pressed=true][data-v=yes]{background:var(--success-soft);color:var(--success-text);box-shadow:inset 0 0 0 1.5px var(--success-text)}.decide button[aria-pressed=true][data-v=maybe]{background:var(--warning-soft);color:var(--warning-text);box-shadow:inset 0 0 0 1.5px var(--warning-text)}.decide button[aria-pressed=true][data-v=no]{background:var(--danger-soft);color:var(--danger-text);box-shadow:inset 0 0 0 1.5px var(--danger-text)}.decide-more{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end;padding:var(--sp-3);margin-top:var(--sp-2);border-radius:var(--r-sm);background:var(--surface-sunken)}.decide-more .field{flex:1;min-width:160px}.sumlist{list-style:none;margin:0;padding:0}.sumlist li{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border)}.sumlist li:last-child{border-bottom:0}.sumlist .k{color:var(--text-secondary);min-width:0}.sumlist .k small{display:block;color:var(--text-muted);font-size:var(--fs-micro)}.sumlist .v{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sumlist li.total{background:var(--surface-sunken);font-weight:700}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border);font-size:var(--fs-label);color:var(--text-muted)}.banner{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);border-radius:var(--r-sm);margin-bottom:var(--sp-5);font-size:var(--fs-label);background:var(--surface-sunken);color:var(--text-secondary)}.banner svg{width:18px;height:18px;flex:none;margin-top:1px}.banner strong{display:block;margin-bottom:2px}.banner .body{flex:1;min-width:0}.banner.warn{background:var(--warning-soft);color:var(--warning-text)}.banner.err,.banner.danger{background:var(--danger-soft);color:var(--danger-text)}.banner.info{background:var(--info-soft);color:var(--info-text)}.banner.ok{background:var(--success-soft);color:var(--success-text)}.scrim{position:fixed;inset:0;background:#071a1673;z-index:40}.drawer,.edit-drawer{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(560px,100%);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}.drawer>header,.edit-drawer>header{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5);border-bottom:1px solid var(--border)}.drawer>header h2,.edit-drawer>header h2{margin:0;font-size:19px;font-weight:700}.drawer>header p,.edit-drawer>header p{margin:2px 0 0;color:var(--text-secondary);font-size:var(--fs-label)}.drawer .scroll,.edit-drawer .scroll{flex:1;overflow-y:auto;padding:var(--sp-5)}.drawer>footer,.edit-drawer>footer{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--border)}@media(max-width:767px){.drawer,.edit-drawer{width:100%;border-left:0}.scrim{display:none}}.note{display:flex;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-label);line-height:1.45;background:var(--surface-sunken);color:var(--text-secondary)}.note svg{width:17px;height:17px;flex:none;margin-top:2px}.note.warn{background:var(--warning-soft);color:var(--warning-text)}.note.bad{background:var(--danger-soft);color:var(--danger-text)}.note.info{background:var(--info-soft);color:var(--info-text)}[hidden]{display:none!important}.field>label:has(.field-link){display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.field-link{font-size:var(--fs-micro);font-weight:600;color:var(--teal-text);text-decoration:none}.field-link:hover{text-decoration:underline}.switcher-wrap{position:relative}.switcher-wrap>.user-switcher{width:100%;border:0;text-align:left;font:inherit;cursor:pointer}.branch-menu{position:absolute;top:calc(100% + var(--sp-2));left:0;right:0;z-index:30;min-width:268px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden}.branch-menu .head{padding:var(--sp-3) var(--sp-4) var(--sp-2);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.branch-menu button.b{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:0;background:none;cursor:pointer;text-align:left;font:inherit;color:var(--text)}.branch-menu button.b:hover,.branch-menu button.b[aria-checked=true]{background:var(--surface-sunken)}.branch-menu button.b[aria-checked=true] .t strong{color:var(--teal-text)}.branch-menu .mark{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--surface-sunken);color:var(--teal-text);font:700 10px/1 var(--font)}.branch-menu .mark.all{background:var(--brand-800);color:var(--teal-bright)}.branch-menu .t{flex:1;min-width:0;line-height:1.3}.branch-menu .t strong{display:block;font-weight:600;font-size:var(--fs-body)}.branch-menu .t small{display:block;color:var(--text-muted);font-size:var(--fs-micro);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-menu hr{border:0;border-top:1px solid var(--border);margin:0}.branch-menu .shared{margin:0;padding:var(--sp-2) var(--sp-4) var(--sp-3);color:var(--text-muted);font-size:var(--fs-micro);line-height:1.4}.branch-menu .foot{padding:var(--sp-2) var(--sp-3)}.branch-menu .foot a{display:block;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-label);font-weight:600;color:var(--text-secondary);text-decoration:none}.branch-menu .foot a:hover{background:var(--surface-sunken);color:var(--text)}.print-only{display:none}@media print{.sidebar,.topbar,.app-toasts,.nav-scrim,.no-print,app-area-tabs,.btn,dialog:not([open]){display:none!important}.app{display:block}.page{padding:0}body{background:#fff}.card{box-shadow:none;break-inside:avoid}.print-only{display:block!important}.print-head{margin:0 0 12pt}.print-head h1{font-size:16pt;margin:0}.print-head p{margin:2pt 0 0;color:#444}}:root{--muted: var(--text-muted);--accent: var(--teal-text);--accent-soft: var(--surface-sunken)}button{font:inherit;padding:.55rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);cursor:pointer}button.primary{background:var(--teal-fill);border-color:var(--teal-fill);color:var(--text-on-teal)}.muted{color:var(--text-muted)}.error-text{color:var(--danger-text)}.hstack{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.vstack{display:grid;gap:var(--sp-3)}.spacer{flex:1}.card-pad{padding:var(--sp-4) var(--sp-5)}.empty-state{padding:var(--sp-6) var(--sp-5);color:var(--text-muted);text-align:center}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--sp-3)}.form-grid .span-all{grid-column:1/-1}.form-grid label,.vstack>label{display:grid;gap:4px;font-size:var(--fs-label);font-weight:600}dialog.app-dialog{border:1px solid var(--border);border-radius:var(--r-md);padding:0;width:min(560px,100vw - 32px);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}dialog.app-dialog::backdrop{background:#05302a73}dialog.app-dialog>header,dialog.app-dialog>footer{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5)}dialog.app-dialog>header{border-bottom:1px solid var(--border)}dialog.app-dialog>header h2{margin:0;font-size:var(--fs-section)}dialog.app-dialog>footer{justify-content:flex-end;border-top:1px solid var(--border)}dialog.app-dialog>.body{padding:var(--sp-4) var(--sp-5);display:grid;gap:var(--sp-3)}.backdrop{position:fixed;inset:0;z-index:40;padding:0;border:0;border-radius:0;cursor:default;background:#071a1666;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-fade .18s ease-out}.modal{--modal-w: 600px;position:fixed;inset:0;z-index:41;margin:auto;width:min(var(--modal-w),100% - 2 * var(--sp-6));height:fit-content;max-height:min(860px,100dvh - 2 * var(--sp-10));display:flex;flex-direction:column;overflow:hidden;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-xl, 20px);box-shadow:0 24px 64px -16px #071a164d,var(--shadow-lg);animation:modal-in .22s cubic-bezier(.2,.9,.3,1.1)}.modal>header{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-6) var(--sp-6) var(--sp-4);border-bottom:1px solid var(--border)}.modal>header h2{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em}.modal>header p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--fs-label);line-height:1.45}.modal>header>.icon-btn{flex:none;margin:-4px -8px 0 0;border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--text-secondary)}.modal>header>.icon-btn:hover{color:var(--text);background:var(--border)}.modal .scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-6)}.modal>footer{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-sunken) 45%,var(--surface))}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}@keyframes modal-fade{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}.modal-sm{--modal-w: 440px}.modal-lg{--modal-w: 760px}@media(max-width:767px){.modal{inset:auto 0 0;margin:0;width:100%;max-height:calc(100dvh - var(--sp-8));border-width:1px 0 0;border-radius:var(--r-xl, 20px) var(--r-xl, 20px) 0 0;animation-name:sheet-in;padding-bottom:env(safe-area-inset-bottom)}.modal>header{position:relative;padding:var(--sp-6) var(--sp-5) var(--sp-4)}.modal>header:before{content:"";position:absolute;top:var(--sp-2);left:50%;width:40px;height:4px;margin-left:-20px;border-radius:var(--r-pill);background:var(--border-strong)}.modal .scroll{padding:var(--sp-5)}.modal>footer{padding:var(--sp-3) var(--sp-5)}}@media(prefers-reduced-motion:reduce){.backdrop,.modal{animation:none}}button:disabled{opacity:.6;cursor:not-allowed}.auth{--brand-800: #073b31;--brand-900: #05302a;--teal-fill: #00b894;--teal-fill-hover: #00a888;--teal-bright: #00c49a;--teal-text: #00705b;--bg: #f2f9f6;--surface: #ffffff;--surface-sunken: #e5f7f1;--border: #dce9e4;--text: #071a16;--text-secondary: #66756f;--text-muted: #5e6f69;--text-on-teal: #04211b;--success-text: #00614f;--danger-text: #b83a36;--danger-soft: #fce7e7;--warning-text: #8a5a12;--warning-soft: #fdf0dc;--info-text: #1d6fb8;--info-soft: #e3f0fc;--success-soft: #dff5ee;--nav-bg: var(--brand-800);--nav-text: #c8dcd5;--nav-text-inactive: #8aa79d;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--r-sm: 8px;--r-md: 12px;--font: "Inter", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-page-title: 26px;--fs-section: 17px;--fs-body: 14px;--fs-label: 13px;--fs-micro: 12px;--tap-min: 44px;--focus-ring: 0 0 0 2px var(--surface), 0 0 0 4px var(--teal-text)}@media(prefers-color-scheme:dark){.auth{--bg: #0a1512;--surface: #111e1a;--surface-sunken: #18291f;--border: #23352f;--text: #e6f0ec;--text-secondary: #9fb3ac;--text-muted: #7e928b;--teal-fill: #2ed6ae;--teal-fill-hover: #4ae0bc;--teal-bright: #2ed6ae;--teal-text: #2ed6ae;--success-text: #3fd6a8;--danger-text: #ff8a84;--danger-soft: #351a1a;--warning-text: #ffb259;--warning-soft: #33260f;--info-text: #6fb9f2;--info-soft: #10273a;--success-soft: #10302a;--nav-bg: #061210}}
