:root{--teal: #0f7d77;--teal-d: #0a5b56;--teal-dd: #073f3b;--brand-accent: var(--teal);--teal-grad-2: var(--teal-d);--teal-l: #eef4f2;--teal-l2: #dcebe8;--ink: #16241f;--ink-2: #38463f;--mut: #657270;--mut-2: #93a09a;--line: #e4ebe7;--line-2: #eef2f0;--bg: #f4f7f5;--card: var(--surface-1);--mut-2-text: #657270;--on-brand: #ffffff;--surface-1: #ffffff;--surface-2: var(--bg);--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23657270' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--control-track: #cdd8d3;--control-track-hover: #b4c2bc;--line-strong: #86918c;--urg: #c64634;--urg-bg: #fdeeeb;--urg-d: #a8341f;--warn: #c0860f;--warn-bg: #fbf2e0;--warn-ink: #8a5e08;--warn-line: #ecdba8;--ok: #2f9e6f;--ok-bg: #e6f5ee;--ok-ink: #19704b;--ok-line: #c3e6d4;--info: #2b6cb0;--info-bg: #e8f1fa;--info-line: #cfe1f3;--purple: #6b5bd6;--purple-bg: #eeecfb;--purple-ink: #4a3da8;--urg-line: #f4cfc8;--focus-ring-color: var(--teal);--focus-ring-width: 2px;--focus-ring-offset: 2px;--r-sm: 8px;--r: 11px;--r-md: 14px;--r-lg: 18px;--r-xl: 22px;--sh-1: 0 1px 2px rgba(16, 40, 34, .05);--sh-2: 0 4px 16px rgba(16, 40, 34, .07);--sh-3: 0 12px 40px rgba(16, 40, 34, .14);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--sp-8: 40px;--fs-xs: 11.5px;--fs-sm: 12.5px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 27px;--fs-num: 36px;--lh-tight: 1.2;--lh: 1.5;--z-popover: 60;--z-overlay: 100;--z-modal: 101;--z-nav: 110;--z-nav-scrim: 120;--z-layered: 150;--z-toast: 200;--z-skip: 300;--nav-w: 244px;--top-h: 68px;--font-sans: "Hanken Grotesk", system-ui, sans-serif;font-family:var(--font-sans)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ink: #e6edea;--ink-2: #c3cecb;--mut: #9daca7;--mut-2: #6e7d78;--mut-2-text: #9daca7;--line: #27332f;--line-2: #202b28;--line-strong: #6b7a75;--bg: #0f1614;--surface-1: #18211e;--teal-l: #143029;--teal-l2: #1b4038;--brand-accent: #4ecec2;--teal-d: #86e4da;--teal-grad-2: #0a5b56;--chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239daca7' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--control-track: #35423d;--control-track-hover: #46544f;--urg-bg: #331a16;--urg-d: #ffa593;--urg-line: #4d2620;--warn-bg: #2e2410;--warn-ink: #e8c06a;--warn-line: #463819;--ok-bg: #10291f;--ok-ink: #6fd3a2;--ok-line: #1d4234;--info: #7fb3e8;--info-bg: #131f2e;--info-line: #22374d;--purple: #9c8ef0;--purple-bg: #201c38;--purple-ink: #b3a8f0;--focus-ring-color: #4ecec2;--sh-1: 0 1px 2px rgba(0, 0, 0, .4);--sh-2: 0 4px 16px rgba(0, 0, 0, .45);--sh-3: 0 12px 40px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button{font-family:inherit;cursor:pointer}::selection{background:var(--teal-l2)}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--lh-tight)}h1{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.7px}h2{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.4px}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}h5,h6{font-size:var(--fs-base)}.mut{color:var(--mut)}.mut2{color:var(--mut-2-text)}.nowrap{white-space:nowrap}.mono{font-variant-numeric:tabular-nums}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--control-track);border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--control-track-hover);background-clip:padding-box}.app{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:var(--nav-w);flex-shrink:0;background:var(--surface-1);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 14px 14px;height:100dvh;position:sticky;top:0;align-self:flex-start}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 6px}.brand-logo{width:34px;height:34px;border-radius:10px;background:var(--teal);color:var(--on-brand);display:grid;place-items:center;box-shadow:var(--sh-1)}.brand-logo svg{width:19px;height:19px}.brand-name{font-size:22px;font-weight:800;letter-spacing:-.6px}.brand-name span{color:var(--brand-accent)}.nav-section{font-size:10.5px;font-weight:800;letter-spacing:1.2px;color:var(--mut-2-text);padding:20px 10px 7px}.nav{display:flex;flex-direction:column;gap:1px;overflow-y:auto;flex:1;margin:0 -4px;padding:0 4px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r);font-size:14.5px;font-weight:500;color:var(--ink-2);border:0;background:transparent;text-align:left;width:100%;position:relative;transition:background .12s}.nav-item:hover{background:var(--teal-l)}.nav-item .ic{width:19px;height:19px;color:var(--mut-2);flex-shrink:0}.nav-item.active{background:var(--teal);color:var(--on-brand);font-weight:600;box-shadow:var(--sh-1)}.nav-item.active .ic{color:var(--on-brand)}.nav-item .nav-count{margin-left:auto;font-size:11.5px;font-weight:700;background:var(--urg);color:var(--on-brand);padding:1px 7px;border-radius:10px}.nav-item.active .nav-count{background:#ffffff40}.nav-foot{margin-top:10px;background:var(--bg);border-radius:var(--r-md);padding:12px;flex-shrink:0}.nav-foot .h{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:7px;white-space:nowrap}.nav-foot .dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}.nav-foot .s{font-size:12px;color:var(--mut);margin-top:3px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:var(--top-h);flex-shrink:0;background:var(--surface-1);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px}.search{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:0 14px;height:42px;width:340px;color:var(--mut)}.search svg{width:17px;height:17px;flex-shrink:0}.search input{border:0;background:transparent;outline:none;font-family:inherit;font-size:14px;width:100%;color:var(--ink)}.mobile-search{display:none;align-items:center;gap:10px;flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:0 14px;height:42px;color:var(--mut)}.mobile-search svg{width:17px;height:17px;flex-shrink:0}.mobile-search input{border:0;background:transparent;outline:none;font-family:inherit;font-size:14px;width:100%;min-width:0;color:var(--ink)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.role-switch{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:0 6px 0 13px;height:42px}.role-switch label{font-size:12px;font-weight:700;color:var(--mut-2-text);letter-spacing:.3px}.role-switch select{border:0;background:var(--surface-1);border-radius:8px;padding:7px 9px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}.lang-btn{border:1px solid var(--line);background:var(--surface-1);border-radius:var(--r);padding:0 13px;height:42px;font-size:13px;font-weight:700;color:var(--ink-2)}.um-lang{display:block;margin:2px 0 10px}.um-lang .lang-select{display:block}.topbar .nav-toggle,.topbar .search-toggle{display:none}.icon-btn{position:relative;width:42px;height:42px;border:1px solid var(--line);background:var(--surface-1);border-radius:var(--r);display:grid;place-items:center;color:var(--ink-2)}.icon-btn:hover{background:var(--teal-l)}.icon-btn svg{width:19px;height:19px}.icon-btn .dot{position:absolute;top:9px;right:9px;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:var(--urg);border:2px solid var(--surface-1);color:var(--on-brand);font-size:9px;font-weight:800;display:grid;place-items:center}.avatar{width:42px;height:42px;border-radius:var(--r);background:linear-gradient(135deg,var(--teal),var(--teal-grad-2));color:var(--on-brand);font-weight:700;font-size:14px;display:grid;place-items:center;flex-shrink:0}.avatar.sm{width:34px;height:34px;border-radius:9px;font-size:12px}.avatar.lg{width:56px;height:56px;border-radius:var(--r-md);font-size:19px}.content{flex:1;overflow-y:auto;padding:26px 28px 60px}.content.narrow{max-width:1180px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}.page-head h1{font-size:27px;font-weight:800;letter-spacing:-.7px;margin:0}.page-head .sub{color:var(--mut);font-size:14px;margin-top:4px}.page-head .actions{display:flex;gap:10px;align-items:center}.page-head .actions-more,.page-head .actions-more-items{display:contents}.page-head .actions-more-toggle{display:none}.page-head .actions-more:not(:has(.actions-more-items>*)){display:none}.crumb{font-size:var(--fs-sm);color:var(--mut);margin-bottom:var(--sp-2);font-weight:600}.crumb ol{display:flex;align-items:center;gap:7px;margin:0;padding:0;list-style:none}.crumb li{display:flex;align-items:center;gap:7px}.crumb a{color:var(--brand-accent)}.crumb a[aria-current=page]{color:var(--mut);text-decoration:none}.crumb svg{width:13px;height:13px}.list-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}.list-toolbar-filters,.list-toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.list-toolbar-actions{margin-inline-start:auto}@media(max-width:640px){.list-toolbar-actions{width:100%}.list-toolbar-actions .btn{flex:1 1 auto}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 17px;border-radius:var(--r);font-size:14px;font-weight:700;border:1px solid transparent;white-space:nowrap;transition:filter .12s,background .12s}.btn svg{width:17px;height:17px}.btn-primary{background:var(--teal);color:var(--on-brand);box-shadow:var(--sh-1)}.btn-primary:hover{filter:brightness(1.07)}.btn-ghost{background:var(--surface-1);color:var(--ink-2);border-color:var(--line)}.btn-ghost:hover{background:var(--teal-l);border-color:var(--teal-l2)}.btn-soft{background:var(--teal-l);color:var(--teal-d)}.btn-soft:hover{background:var(--teal-l2)}.btn-danger{background:var(--urg);color:var(--on-brand)}.btn-danger:hover{filter:brightness(1.06)}.btn-danger-soft{background:var(--urg-bg);color:var(--urg-d)}.btn-sm{height:34px;padding:0 12px;font-size:13px;border-radius:9px}.btn-sm svg{width:15px;height:15px}.btn-icon{width:42px;padding:0}.btn-icon.btn-sm{width:34px}.btn:disabled{cursor:not-allowed;background:var(--line-2);border-color:var(--line);color:var(--mut);box-shadow:none;filter:none}.btn-block{width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line-2)}.card-head h2{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:9px}.card-head h2 .ic{width:18px;height:18px;color:var(--brand-accent)}.card-body{padding:20px}.card-foot{padding:14px 20px;border-top:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between}.card--brand{background:linear-gradient(160deg,var(--teal),var(--teal-grad-2));border:0;color:var(--on-brand)}.card--brand .card-head,.card--brand .card-foot{border-color:#ffffff29}.card--brand .mut,.card--brand .mut2{color:#ffffffbf}.card--brand .empty{color:#fffc}.card--brand .empty .empty-title{color:var(--on-brand)}.btn-inverse{background:var(--on-brand);color:var(--teal-grad-2)}.btn-inverse:hover{filter:brightness(.97)}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:18px}.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stat-ic{width:38px;height:38px;border-radius:var(--r);background:var(--teal-l);color:var(--brand-accent);display:grid;place-items:center}.stat-ic svg{width:19px;height:19px}.stat-ic.urg{background:var(--urg-bg);color:var(--urg-d)}.stat-ic.warn{background:var(--warn-bg);color:var(--warn-ink)}.stat-ic.ok{background:var(--ok-bg);color:var(--ok-ink)}.stat-ic.info{background:var(--info-bg);color:var(--info)}.stat-num{font-size:36px;font-weight:800;letter-spacing:-1.4px;line-height:1;font-variant-numeric:tabular-nums}.stat-num .den{font-size:18px;font-weight:600;color:var(--mut);letter-spacing:0}.stat-lbl{font-size:13.5px;font-weight:600;margin-top:8px}.stat-sub{font-size:12px;color:var(--mut);margin-top:3px}.stat.is-urg{background:linear-gradient(180deg,var(--surface-1),var(--urg-bg));border-color:var(--urg-line)}a.stat{display:block;cursor:pointer;text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s}a.stat:hover{border-color:var(--teal-l2);box-shadow:var(--sh-2)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:7px;background:var(--teal-l);color:var(--teal-d);white-space:nowrap}.badge svg{width:12px;height:12px}.badge.urg{background:var(--urg-bg);color:var(--urg-d)}.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}.badge.ok{background:var(--ok-bg);color:var(--ok-ink)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.purple{background:var(--purple-bg);color:var(--purple-ink)}.badge.gray{background:var(--bg);color:var(--mut)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:20px;background:var(--bg);color:var(--ink-2);border:1px solid var(--line)}.pill--warn{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line)}.risk{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:7px}.risk:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.risk.high{background:var(--urg-bg);color:var(--urg-d)}.risk.med{background:var(--warn-bg);color:var(--warn-ink)}.risk.low{background:var(--ok-bg);color:var(--ok-ink)}.tbl-wrap{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;overflow-x:auto}table.tbl{width:100%;border-collapse:collapse}.tbl thead th{text-align:left;font-size:11.5px;font-weight:800;letter-spacing:.5px;color:var(--mut-2-text);text-transform:uppercase;padding:13px 18px;background:var(--bg);border-bottom:1px solid var(--line)}.tbl tbody td{padding:13px 18px;border-bottom:1px solid var(--line-2);font-size:14px;vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--teal-l)}.tbl .who{display:flex;align-items:center;gap:11px}.tbl .who .nm{font-weight:700}.tbl .who .meta{font-size:12px;color:var(--mut)}.row-actions{display:flex;gap:6px}.ghost-ic{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface-1);display:grid;place-items:center;color:var(--mut)}.ghost-ic:hover{background:var(--teal-l);color:var(--brand-accent);border-color:var(--teal-l2)}.ghost-ic svg{width:16px;height:16px}.week-grid .week-cell{vertical-align:top;min-width:116px}.week-grid .week-cell .badge{display:inline-flex;align-items:center;gap:4px;margin:0 4px 4px 0}.week-grid .week-cell .badge .ghost-ic{width:16px;height:16px;min-width:0;border:0;border-radius:50%;background:transparent;color:inherit}.week-grid .week-cell .badge .ghost-ic:hover{background:#0000001f}.week-grid .week-cell .badge .ghost-ic svg{width:12px;height:12px}.week-grid th[scope=row]{text-align:start;white-space:nowrap}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden}.tab{padding:12px 15px;border:0;background:transparent;font-size:14px;font-weight:600;color:var(--mut);border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--ink)}.tab.active{color:var(--teal-d);border-bottom-color:var(--brand-accent)}.tab .tab-n{font-size:11px;background:var(--bg);color:var(--mut);padding:1px 6px;border-radius:8px;margin-left:6px;font-weight:700}.tab.active .tab-n{background:var(--teal-l);color:var(--teal-d)}.seg{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:3px}.seg button{border:0;background:transparent;padding:7px 15px;border-radius:8px;font-size:13px;font-weight:600;color:var(--mut)}.seg button.on{background:var(--surface-1);color:var(--teal-d);box-shadow:var(--sh-1)}.field{margin-bottom:17px}.field>label,.field>.field-group-label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--ink-2)}.field>label .req,.field>.field-group-label .req{color:var(--urg);margin-left:2px}.field .hint{font-size:12px;color:var(--mut);margin-top:5px}.field .err{font-size:12px;color:var(--urg-d);margin-top:5px;font-weight:600;display:flex;align-items:center;gap:5px}.input,.select,.textarea{width:100%;border:1px solid var(--line-strong);background:var(--surface-1);border-radius:var(--r);padding:11px 13px;font-family:inherit;font-size:var(--fs-base);color:var(--ink);outline:none;transition:border .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-accent);outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:1px}.input.invalid{border-color:var(--urg)}.textarea{resize:vertical;min-height:84px}.select{appearance:none;background-image:var(--chevron);background-repeat:no-repeat;background-position:right 13px center;padding-right:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .col-2{grid-column:span 2}.fieldset-title{font-size:12px;font-weight:800;letter-spacing:.8px;color:var(--teal-d);text-transform:uppercase;margin:8px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line-2)}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{display:none}.switch .track{width:42px;height:24px;border-radius:14px;background:var(--control-track);position:relative;transition:background .15s}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--surface-1);box-shadow:var(--sh-1);transition:left .15s}.switch input:checked+.track{background:var(--teal)}.switch input:checked+.track:after{left:20px}.checkrow{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;font-size:14px}.checkrow input{width:18px;height:18px;accent-color:var(--teal)}.scrim{position:fixed;inset:0;background:#1028226b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:flex;animation:fade .15s ease}.scrim-layered{z-index:150}@keyframes fade{0%{opacity:0}}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101;background:var(--surface-1);border-radius:var(--r-xl);box-shadow:var(--sh-3);width:560px;max-width:calc(100vw - 40px);max-height:calc(100vh - 60px);padding:24px;overflow-y:auto;display:flex;flex-direction:column;animation:pop .18s cubic-bezier(.2,.8,.3,1.2)}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.96);opacity:0}}.modal.wide{width:760px}.modal.sm{width:440px}.modal-head{padding:20px 22px;border-bottom:1px solid var(--line-2);display:flex;align-items:flex-start;justify-content:space-between}.modal-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.4px}.modal-head .sub{font-size:13px;color:var(--mut);margin-top:3px}.modal-body{padding:22px;overflow-y:auto}.modal-foot{padding:16px 22px;border-top:1px solid var(--line-2);display:flex;gap:10px;justify-content:flex-end}.modal-foot>[modalFooter]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.drawer-scrim{justify-content:flex-end}.drawer-scrim-transparent{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.drawer{position:fixed;top:0;right:0;height:auto;max-height:100dvh;width:480px;max-width:100vw;background:var(--surface-1);border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:var(--sh-3);z-index:101;display:flex;flex-direction:column;animation:slidein .22s cubic-bezier(.2,.8,.3,1)}.drawer.lg{width:720px}@keyframes slidein{0%{transform:translate(100%)}}@keyframes slideout{to{transform:translate(100%)}}.drawer-leaving{animation:fade .22s ease reverse forwards}.drawer-leaving .drawer{animation:slideout .22s cubic-bezier(.2,.8,.3,1) forwards}.drawer-head{padding:20px 22px;border-bottom:1px solid var(--line-2);display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto}.drawer-head h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.4px}.drawer-head .sub{font-size:13px;color:var(--mut);margin-top:3px}.drawer-body{padding:22px;overflow-y:auto;flex:1 1 auto}.drawer-foot{padding:16px 22px;border-top:1px solid var(--line-2);display:flex;gap:10px;justify-content:flex-end;flex:0 0 auto}.popover-scrim{position:fixed;inset:0;z-index:60}.row-menu>.btn{width:100%;justify-content:flex-start}app-row-menu:not(:has(.row-menu>*)){display:none}.x-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface-1);display:grid;place-items:center;color:var(--mut)}.x-btn:hover{background:var(--bg)}.x-btn svg{width:18px;height:18px}.alert-bar{display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:var(--r-md);font-size:14px;font-weight:600}.alert-bar svg{width:19px;height:19px;flex-shrink:0}.alert-bar.urg{background:var(--urg-bg);color:var(--urg-d);border:1px solid var(--urg-line)}.alert-bar.warn{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line)}.alert-bar.info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-line)}.alert-bar.ok{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line)}.divider{height:1px;background:var(--line-2);margin:18px 0}.kv{display:flex;flex-direction:column;gap:3px}app-kv{display:contents}.kv-list{margin:0}.text-urgent{color:var(--urg-d)}.kv dt,.kv dd{margin:0}.kv .k{font-size:12px;color:var(--mut);font-weight:600}.kv .v{font-size:15px;font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column}.empty{text-align:center;padding:26px 20px;color:var(--mut)}.empty .ic{width:40px;height:40px;border-radius:var(--r-md);background:var(--teal-l);color:var(--brand-accent);display:grid;place-items:center;margin:0 auto 10px}.empty .ic svg{width:20px;height:20px}.empty .empty-title{margin:0 0 4px;font-size:15px;font-weight:700;line-height:var(--lh-tight);color:var(--ink)}.empty p{margin:0;font-size:13px;line-height:1.4}.progress{height:8px;border-radius:5px;background:var(--line);overflow:hidden}.progress i{display:block;height:100%;background:var(--teal);border-radius:5px}.progress i.urg{background:var(--urg)}.progress i.warn{background:var(--warn)}.progress i.ok{background:var(--ok)}.avatar-photo{background-size:cover;background-position:center}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}.tl-item{position:relative;padding:0 0 18px}.tl-item:before{content:"";position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--surface-1);border:3px solid var(--teal)}.tl-item.urg:before{border-color:var(--urg)}.tl-item.warn:before{border-color:var(--warn)}.tl-item.ok:before{border-color:var(--ok)}.tl-time{font-size:12px;color:var(--mut);font-weight:600}.tl-title{font-weight:700;font-size:14px;margin-top:1px}.tl-desc{font-size:13px;color:var(--mut)}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:10px;align-items:center}.toast{background:var(--ink);color:var(--on-brand);padding:13px 20px;border-radius:var(--r);font-size:14px;font-weight:600;box-shadow:var(--sh-3);display:flex;align-items:center;gap:10px;animation:pop .2s ease}.toast svg{width:18px;height:18px;color:currentColor}.toast{border-left:4px solid var(--teal)}.toast.ok{border-left-color:var(--ok)}.toast.ok svg{color:var(--ok)}.toast.info{border-left-color:var(--info)}.toast.info svg{color:var(--info)}.toast.warn{border-left-color:var(--warn)}.toast.warn svg{color:var(--warn)}.toast.urg{border-left-color:var(--urg)}.toast.urg svg{color:var(--urg)}.toast-msg{flex:1}.toast-x{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;margin:-4px -8px -4px 0;border:0;border-radius:7px;background:transparent;color:inherit;opacity:.75;cursor:pointer}.toast-x:hover,.toast-x:focus-visible{opacity:1;background:#ffffff26}.toast-x svg{width:15px;height:15px;color:currentColor}.m-0{margin:0}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mt-xs{margin-top:var(--sp-1)}.mb-xs{margin-bottom:var(--sp-1)}.gap-xs{gap:var(--sp-1)}.mt-1{margin-top:8px}.mt-2{margin-top:12px}.mt-3{margin-top:16px}.mt-4{margin-top:22px}.mt-5{margin-top:var(--sp-7)}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:22px}.mb-5{margin-bottom:var(--sp-7)}.gap-1{gap:8px}.gap-2{gap:12px}.gap-3{gap:16px}.gap-4{gap:22px}.gap-5{gap:var(--sp-7)}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}.fs-base{font-size:var(--fs-base)}.fs-md{font-size:var(--fs-md)}.fs-lg{font-size:var(--fs-lg)}.stack-2>*+*{margin-top:12px}.stack-3>*+*{margin-top:16px}@media(max-width:1024px){.topbar{padding:0 16px;gap:10px}.search{width:200px}}@media(min-width:901px)and (max-width:1024px){.sidebar{--nav-w: 76px;padding:20px 10px 14px;align-items:center}.brand{justify-content:center}.sidebar .brand-name,.sidebar .nav-label,.sidebar .nav-section,.sidebar .nav-foot .s{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sidebar .nav-item{justify-content:center;gap:0;padding:11px 0}.sidebar .nav-section{position:static;width:auto;height:1px;clip-path:none;margin:12px 8px 6px;background:var(--line);color:transparent;font-size:0}.sidebar .nav-foot{padding:10px 0;text-align:center}.sidebar .nav-foot .h{justify-content:center;gap:0;font-size:0}}@media(max-width:900px){.topbar .nav-toggle{display:grid}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:120;width:min(82vw,300px);transform:translate(-100%);transition:transform .24s cubic-bezier(.2,.8,.3,1);box-shadow:var(--sh-3)}.sidebar.open{transform:translate(0)}.nav-scrim{position:fixed;inset:0;z-index:110;background:#1028226b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .15s ease}}@media(max-width:640px){.topbar{padding:0 12px;gap:8px}.search{display:none}.topbar .search-toggle{display:grid}.mobile-search{display:flex}.crumb-hidden{display:none}.content{padding:16px 14px 48px}.content.narrow{max-width:100%}.crumb>a:not(:nth-of-type(2)),.crumb>app-icon{display:none}.crumb>a:nth-of-type(2){max-width:52vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.grid-6{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4,.grid-6,.form-grid{grid-template-columns:1fr}.form-grid .col-2{grid-column:span 1}.page-head h1{font-size:22px}.page-head .actions{width:100%;flex-wrap:wrap}.page-head .actions .btn{flex:1 1 auto}.page-head .actions-more{display:block;position:relative;margin-left:auto}.page-head .actions-more-toggle{display:grid}.page-head .actions-more-items{display:none;position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:200px;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-1);box-shadow:var(--sh-2, 0 8px 24px rgb(0 0 0 / 12%))}.page-head .actions-more.is-open .actions-more-items{display:flex;flex-direction:column;gap:6px}.page-head .actions-more-items .btn{width:100%;justify-content:flex-start}}@media(max-width:640px){.scrim{align-items:flex-end}.modal,.modal.wide{width:100%;max-width:100%;max-height:92dvh;margin:0;border-radius:var(--r-xl) var(--r-xl) 0 0;animation:sheetup .2s cubic-bezier(.2,.8,.3,1)}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}.drawer{width:100vw}.drawer-foot{flex-direction:column-reverse}.drawer-foot .btn{width:100%}}@keyframes sheetup{0%{transform:translateY(16px);opacity:0}}@media(max-width:640px){.tbl thead{display:none}.tbl,.tbl tbody,.tbl tbody tr,.tbl tbody td{display:block;width:100%}.tbl tbody tr{border:1px solid var(--line);border-radius:var(--r-md);margin:0 0 12px;padding:4px 2px;background:var(--surface-1)}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line-2);text-align:right}.tbl tbody td:before{content:attr(data-label);flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:.4px;color:var(--mut-2-text);text-transform:uppercase;text-align:left}.tbl tbody td[data-label=""]{justify-content:flex-end}.tbl tbody td[data-label=""]:before{content:none}.tbl tbody td .who,.row-actions{justify-content:flex-end}.week-grid tbody th[scope=row]{display:block;width:100%;padding:10px 14px 4px;text-align:left;white-space:normal;border-bottom:1px solid var(--line-2)}}@media(max-width:640px){.row.wrap>.input,.row.wrap>.select{flex:1 1 100%}}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}@media print{body *{visibility:hidden}.print-slip,.print-slip *{visibility:visible;display:block!important}.print-slip{position:absolute;left:0;top:0;padding:24px}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;left:0;top:0;width:100%;padding:0}.print-area .btn,.print-area button,.print-area input[type=file],.no-print{display:none!important}}.card,.stat{box-shadow:var(--sh-1)}.stat{transition:box-shadow .16s ease,transform .16s ease}.stat:hover{box-shadow:var(--sh-2)}.tbl tbody tr{transition:background .12s ease}.tbl tbody tr:hover{background:var(--line-2)}.btn{transition:filter .12s,background .12s,box-shadow .12s,transform .06s}.btn:active{transform:translateY(1px)}.btn:focus-visible,.tab:focus-visible,.icon-btn:focus-visible,.ghost-ic:focus-visible,.x-btn:focus-visible,.seg button:focus-visible,.nb-item:focus-visible,.fac-item:focus-visible,.assess-opt:focus-visible,.checkrow:focus-visible,.switch:focus-visible,.search:focus-within,.mobile-search:focus-within,[role=button]:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.tab{transition:color .14s ease,border-color .14s ease}.input:hover:not(:focus),.select:hover:not(:focus),.textarea:hover:not(:focus){border-color:var(--line-strong)}@media(pointer:coarse){.btn-sm,.ghost-ic:not(.week-grid .week-cell .badge .ghost-ic),.x-btn,.icon-btn{min-width:44px;min-height:44px}.tbl td a,.tbl td .row-link{display:inline-flex;align-items:center;min-height:44px}}@media(min-width:641px){.tbl-wrap--sticky{max-height:min(70vh,680px);overflow-y:auto}.tbl-wrap--sticky thead th{position:sticky;top:0;z-index:1}}.tbl-wrap--flush{border:0;border-radius:0;background:transparent}.tbl--compact thead th,.tbl--compact tbody td{padding:var(--sp-2) var(--sp-3)}.search--md{max-width:280px}.search--topbar{margin-left:18px}.tenant-exit{margin-left:var(--sp-1)}.select-sm{width:auto;padding:6px 30px 6px 10px;font-size:var(--fs-sm);background-position:right 9px center}.section-title{margin:0 0 var(--sp-3);font-size:var(--fs-lg);font-weight:700;color:var(--ink)}.flex-1{flex:1;min-width:0}.w-auto{width:auto}.grow{flex:1}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.border-0{border:0}.hidden{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;left:-9999px;z-index:300;background:var(--teal);color:var(--on-brand);padding:10px 16px;border-radius:var(--r);font-weight:700}.skip-link:focus{left:16px;top:12px}
