:root{color-scheme:light;--paper:#f3f0eb;--card:#ffffff;--field:#ffffff;--thead:#f8f5ef;--zebra:#fbf9f5;--track:#e6dfd1;--hover:#f3eadb;--disabled:#efeae0;--ink:#2a2112;--head:#3b2f12;--mut:#5f5643;--line:#e3ddd0;--line2:#8a7f6a;--link:#0b5a8a;--brand:#614f25;--brand2:#4a3c1c;--on-brand:#ffffff;--accent:#f68d2e;--on-accent:#2a1700;--focus:#3b2f12;--side:#614f25;--side-text:#f6efe2;--side-mut:#e0d3b6;--side-active-bg:#fbf7ef;--side-active-ink:#3b2f12;--gai-brown:#614f25;--ok:#2f6b22;--ok-soft:#e6f2dc;--warn:#7a4200;--warn-soft:#fde8c8;--warn-line:#f0cf96;--bad:#a3200f;--bad-soft:#fde7e4;--bad-line:#efc3bd;--info:#0a4f7a;--info-soft:#e2eff8;--violet:#5a3fa5;--violet-soft:#efe8fb;--grey-ink:#4a4538;--grey-soft:#ebe6db;--sk1:#efe9dd;--sk2:#f8f5ee;--overlay:rgba(42,33,18,.5);--shadow:0 1px 2px rgba(42,33,18,.07),0 4px 14px rgba(42,33,18,.06);--pop-shadow:0 12px 36px rgba(42,33,18,.2);--caret:%233b2f12;--s1:#c9620a;--st-ok:#3b8f2a;--st-info:#2a76c2;--st-warn:#d17f00;--st-violet:#7a58cf;--st-neutral:#8f8676}[data-theme=dark]{color-scheme:dark;--paper:#15120c;--card:#211c12;--field:#15120c;--thead:#2a2417;--zebra:#1d1810;--track:#3a3220;--hover:#33291a;--disabled:#1b1710;--ink:#f1ebdf;--head:#f8f1e4;--mut:#bdb19a;--line:#3a3220;--line2:#8d7f64;--link:#8cc4ea;--brand:#d4ad63;--brand2:#e3c283;--on-brand:#1d1606;--focus:#ffc27a;--side:#2b2413;--side-text:#f3ece0;--side-mut:#c9bb9d;--ok:#8fd38a;--ok-soft:#1c3319;--warn:#f5bd6b;--warn-soft:#3b2a0d;--warn-line:#6b4c17;--bad:#ff9d90;--bad-soft:#3e1b16;--bad-line:#74332b;--info:#8cc4ea;--info-soft:#1b3144;--violet:#c8b2ff;--violet-soft:#2d2350;--grey-ink:#c9bfa9;--grey-soft:#2e2819;--sk1:#2a2417;--sk2:#352d1c;--overlay:rgba(0,0,0,.6);--shadow:0 1px 2px rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.3);--pop-shadow:0 12px 36px rgba(0,0,0,.55);--caret:%23f1ebdf;--s1:#d4731a;--st-ok:#4fa83d;--st-info:#3d8fe0;--st-warn:#c97a00;--st-violet:#8d6ae0;--st-neutral:#8d8470}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:16px/1.5 Inter,Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}a{color:var(--link)}::placeholder{color:var(--mut);opacity:1}.hidden{display:none!important}.logo-tile{background:var(--gai-brown);border-radius:10px;padding:14px 12px 10px;text-align:center}.logo-tile img{display:block;width:112px;height:auto;margin:0 auto}.logo-tile span{display:block;font-size:.7rem;letter-spacing:.22em;color:#f6efe2;margin-top:6px;font-weight:600}.app{display:flex;min-height:100vh}.side{width:224px;flex:none;background:var(--side);color:var(--side-text);padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}.side .logo-tile{margin-bottom:20px}.nav-h{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--side-mut);margin:18px 10px 6px;font-weight:600}.side a{display:block;padding:9px 12px;color:var(--side-text);text-decoration:none;border-radius:8px;margin-bottom:2px;font-weight:500}.side a:hover{background:#ffffff1a}.side a.on{background:var(--side-active-bg);color:var(--side-active-ink);font-weight:600}.view{flex:1;min-width:0;padding:26px 32px}h1,h2{margin:0 0 4px;color:var(--head);letter-spacing:-.01em}h2{font-size:24px;font-weight:600}.sub{color:var(--mut);margin:0 0 14px;max-width:880px}.sub code{background:var(--hover);color:var(--head);padding:1px 6px;border-radius:4px;font-size:.8rem}.btn{display:inline-block;background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:8px 14px;cursor:pointer;font:inherit;font-weight:600;font-size:.95rem;min-height:38px}.btn:hover{border-color:var(--brand);color:var(--link)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand2);border-color:var(--brand2);color:var(--on-brand)}.btn.primary:disabled{opacity:.45;cursor:not-allowed}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.small{padding:5px 12px;font-size:.85rem;min-height:32px}.btn.danger{color:var(--bad);border-color:var(--bad-line)}.btn.danger:hover{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}input,select,textarea{background:var(--field);color:var(--ink);border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font:inherit}.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.bar .grow{flex:1}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chips button{background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--mut);padding:8px 16px;cursor:pointer;font:inherit;font-size:.9rem;font-weight:500;letter-spacing:.01em}.chips button b{color:var(--head);margin-right:6px;font-size:1rem;font-weight:600;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"zero" 1,"ss01" 1}.chips button:hover{border-color:var(--brand)}.chips button.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.chips button.on b{color:var(--on-brand)}.banner{background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn);padding:8px 14px;border-radius:8px;margin-bottom:14px;display:inline-block;font-weight:600}.tw{overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:calc(100vh - 230px)}table{border-collapse:separate;border-spacing:0;width:100%}th{position:sticky;top:0;background:var(--thead);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);text-align:left;padding:0;white-space:nowrap;z-index:1;border-bottom:1px solid var(--line2);font-weight:600}th .th-btn{all:unset;box-sizing:border-box;display:block;width:100%;padding:12px;cursor:pointer;font-weight:600;letter-spacing:inherit;text-transform:inherit;color:inherit}th:hover .th-btn{color:var(--link)}th.plain{padding:12px}td{font-size:.95rem;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:nth-child(2n) td{background:var(--zebra)}tbody tr:hover td{background:var(--hover)}td.wr{font-weight:600;color:var(--head);white-space:nowrap}td.desc{min-width:240px;max-width:420px}td.notes{min-width:200px;max-width:300px;color:var(--mut)}.num{text-align:right;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"zero" 1}.mut{color:var(--mut)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.s-COMPLETED{background:var(--ok-soft);color:var(--ok)}.s-IN-PROGRESS,.s-SCHEDULED{background:var(--info-soft);color:var(--info)}.s-UNDER-REVIEW,.s-PENDING{background:var(--warn-soft);color:var(--warn)}.s-NEED-ADDITIONAL-FIELD-WORK{background:var(--violet-soft);color:var(--violet)}.s-NO-WORK-NEEDED{background:var(--grey-soft);color:var(--grey-ink)}.actions-col{text-align:right}.act{white-space:nowrap;text-align:right}.act button{background:none;border:0;color:var(--mut);cursor:pointer;font-size:1.1rem;padding:4px 8px;min-width:34px;min-height:34px;border-radius:6px}.act button+button{margin-left:24px}.act button:hover{background:var(--hover);color:var(--link)}button.link{all:unset;cursor:pointer;color:var(--link);text-decoration:underline;text-underline-offset:2px;font-weight:600}.wr-link{color:var(--head);text-decoration:none}.wr-link:hover{text-decoration:underline;color:var(--link)}.none-found{padding:28px;text-align:center;color:var(--mut)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:36px 12px;z-index:20}.modal.center{align-items:center}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;width:min(760px,100%);padding:26px;box-shadow:0 20px 60px #00000059}.card.small{width:min(440px,100%)}.card.small p{color:var(--mut);margin:6px 0 0}.card h3{margin:0 0 6px;font-size:20px;color:var(--head)}.card h4{margin:20px 0 10px;font-size:.8rem;letter-spacing:.12em;color:var(--link);text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:6px}.card .foot{position:sticky;bottom:-26px;background:var(--card);padding:14px 0 2px;margin-top:18px;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--mut);font-weight:600}.grid label.w2{grid-column:span 2}.grid label.w3{grid-column:span 3}.grid input,.grid select,.grid textarea{width:100%}.checks{display:flex;gap:18px;flex-wrap:wrap}.checks label{display:flex;gap:6px;align-items:center;font-weight:500}.foot{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn.danger.solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger.solid:hover{background:#82180b;border-color:#82180b;color:#fff}[data-theme=dark] .btn.danger.solid{background:#c43a28;border-color:#c43a28}.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:20px}.kpi{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}.kpi.bad{border-top-color:var(--bad)}.kpi.bad .v{color:var(--bad)}.kpi .l{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:600}.kpi .v{font-size:34px;font-weight:650;color:var(--head);margin:4px 0 2px;letter-spacing:-.02em;font-variant-numeric:lining-nums;font-feature-settings:"zero" 1}.kpi .d{font-size:.88rem;color:var(--mut)}.panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}.panel h3{margin:0 0 12px;font-size:15px;color:var(--head)}.hb{margin:10px 0}.hb .r{display:flex;justify-content:space-between;font-size:.9rem;font-weight:600;font-variant-numeric:lining-nums tabular-nums}.hb .t{height:8px;background:var(--track);border-radius:999px;margin-top:4px;overflow:hidden}.hb .t i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#f9b571)}.rates{max-width:760px}.rates .panel+.panel{margin-top:18px}.rates h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rates h3 small{font-weight:500;color:var(--mut);font-size:.85rem}.rates .row{display:grid;grid-template-columns:1fr 130px 130px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.rates .row:first-of-type{border-top:0}.rates .row>*{min-width:0}.rates .row input{width:100%}.rates input:disabled{background:var(--disabled);color:var(--mut)}.drop{border:2px dashed var(--line2);background:var(--card);border-radius:14px;padding:44px;text-align:center;color:var(--mut);cursor:pointer;font-weight:600}.drop:hover,.drop.over{border-color:var(--brand);background:var(--hover);color:var(--link)}.ok{color:var(--ok);font-weight:600}.err{color:var(--bad);font-weight:600}.invhead{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--brand);padding:14px 18px;border-radius:12px;margin-bottom:14px;display:grid;grid-template-columns:90px 1fr;gap:6px 12px;width:max-content;min-width:320px;box-shadow:var(--shadow)}.invhead span{color:var(--mut);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;align-self:center}.cols-help{margin:0 0 14px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.cols-help summary{cursor:pointer;font-weight:600;color:var(--head)}.cols-help code{display:inline-block;margin:4px 6px 0 0;background:var(--hover);color:var(--head);padding:2px 8px;border-radius:6px;font-size:.8rem}.login{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px;background:radial-gradient(1200px 600px at 20% -10%,#7a6431 0,transparent 60%),var(--side);position:relative}.login-card{background:var(--card);border-radius:16px;padding:30px;width:min(400px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 70px #0006}.login-card h1{font-size:22px;margin:4px 0 0}.login-card label{display:flex;flex-direction:column;gap:5px;color:var(--mut);font-weight:600;font-size:.9rem}.login-card .logo-tile{margin-bottom:4px}.login-links{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.login .theme-btn{position:absolute;top:16px;right:16px}.toast{position:fixed;bottom:22px;right:22px;background:var(--brand);color:var(--on-brand);padding:12px 18px;border-radius:10px;z-index:30;font-weight:600;box-shadow:0 8px 30px #00000059}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-head .sub{margin:2px 0 0}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}a.btn{text-decoration:none;display:inline-flex;align-items:center}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.filters .chips{margin:0}.filters .search{width:300px;max-width:100%}.field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:var(--mut)}.seg{display:inline-flex;border:1px solid var(--line2);border-radius:10px;overflow:hidden;background:var(--card)}.seg button{border:0;background:transparent;padding:9px 18px;font:inherit;font-weight:600;color:var(--mut);cursor:pointer}.seg button+button{border-left:1px solid var(--line2)}.seg button.on{background:var(--brand);color:var(--on-brand)}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}.menu[open] summary{border-color:var(--brand);color:var(--link)}.menu-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:10;background:var(--card);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--pop-shadow);padding:10px;min-width:260px;max-height:70vh;overflow:auto;display:flex;flex-direction:column;gap:2px}.menu-pop.narrow{min-width:180px}.menu-pop label{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:.92rem}.menu-pop label:hover,.menu-item:hover{background:var(--hover)}.menu-item{all:unset;box-sizing:border-box;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:.95rem;color:var(--ink)}.menu-list{display:flex;flex-direction:column;gap:2px}.menu-pop .menu-list>.btn{margin-top:8px}.empty{background:var(--card);border:1px dashed var(--line2);border-radius:14px;padding:48px 24px;text-align:center}.empty h3{margin:0 0 6px;font-size:1.25rem;color:var(--head)}.empty p{margin:0 auto 18px;color:var(--mut);max-width:460px}.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.skeleton{height:44px;margin:10px 14px;border-radius:8px;background:linear-gradient(90deg,var(--sk1),var(--sk2),var(--sk1));background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}.side-foot{margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:10px;border-top:1px solid rgba(255,255,255,.25);padding-top:14px;color:var(--side-mut);font-size:.85rem}.who{display:flex;align-items:center;gap:10px;min-width:0}.avatar{flex:none;width:34px;height:34px;border-radius:50%;background:var(--side-active-bg);color:var(--side-active-ink);font-weight:700;display:grid;place-items:center}.who-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.who-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--side-text);font-size:.85rem}.who-role{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--side-mut);font-weight:600}.foot-link{color:var(--side-text);font-size:.88rem;text-align:center;padding:6px;border-radius:6px;text-decoration:underline;text-underline-offset:2px}.foot-link:hover{background:#ffffff1a}.signout,.theme-btn{background:transparent;color:var(--side-text);border:1px solid rgba(255,255,255,.6);border-radius:8px;padding:8px 12px;font:inherit;font-weight:600;cursor:pointer;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:8px}.signout:hover,.theme-btn:hover{background:#ffffff24}.theme-btn svg{width:18px;height:18px;flex:none}.login .theme-btn{color:#fff;background:#0000002e}.pw{position:relative;display:block}.pw input{width:100%;padding-right:46px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;background:transparent;border:0;border-radius:8px;color:var(--mut);cursor:pointer}.pw-toggle:hover{color:var(--head);background:var(--hover)}.pw-toggle svg{width:22px;height:22px}.role-key{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:16px;color:var(--mut);font-size:.9rem}.role-key>div{display:flex;gap:8px;align-items:center}.role-admin{background:var(--violet-soft);color:var(--violet)}.role-member{background:var(--info-soft);color:var(--info)}.role-viewer{background:var(--grey-soft);color:var(--grey-ink)}.act-insert{background:var(--ok-soft);color:var(--ok)}.act-update{background:var(--info-soft);color:var(--info)}.act-delete{background:var(--bad-soft);color:var(--bad)}.act-text{white-space:nowrap;text-align:right}.nowrap{white-space:nowrap}.secret{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--hover);border:1px solid var(--line2);border-radius:10px;padding:12px 14px;margin:14px 0}.secret code{font-size:1.15rem;font-weight:600;letter-spacing:.04em;color:var(--head);word-break:break-all;-webkit-user-select:all;user-select:all}.narrow-form{max-width:420px;display:flex;flex-direction:column;gap:14px}.panel.narrow-form h1{margin:0}select{-webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%233b2f12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%23f1ebdf' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.side :focus-visible,.topnav :focus-visible,.login :focus-visible{outline-color:#fff}.login-card :focus-visible{outline-color:var(--focus)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:12px;top:-60px;background:var(--brand);color:var(--on-brand);padding:10px 16px;border-radius:8px;z-index:100;font-weight:600;text-decoration:none}.skip:focus{top:12px}.drop:focus-within{outline:3px solid var(--focus);outline-offset:2px}.tw:focus-visible{outline-offset:-3px}main:focus{outline:none}.topnav,.toast[hidden]{display:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.pill,.btn{border:1px solid CanvasText}select{background-image:none;-webkit-appearance:auto;appearance:auto;padding-right:10px}}@media (max-width:800px){.side{display:none}.app{flex-direction:column}.view{padding:16px}.grid{grid-template-columns:1fr}.grid label.w2,.grid label.w3{grid-column:auto}.topnav{display:flex;flex-wrap:wrap;gap:6px;background:var(--side);padding:10px 12px;align-items:center}.topnav .logo-tile{padding:5px 10px;border-radius:8px;margin-right:6px}.topnav .logo-tile img{width:56px}.topnav .logo-tile span{display:none}.topnav a{color:var(--side-text);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600}.topnav a[aria-current=page]{background:var(--side-active-bg);color:var(--side-active-ink)}.topnav .signout,.topnav .theme-btn{margin-left:auto}.topnav .theme-btn{margin-left:0}.tw{max-height:none}.menu-pop{right:auto;left:0}.filters .search{width:100%}.filters .chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.filters .chips button{flex:none;white-space:nowrap}.filters .field,.filters select{flex:1 1 140px}.page-head{margin-bottom:12px}.head-actions .btn{flex:1 1 auto;justify-content:center}.rates .row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rates .row>span:last-child,.rates .row>button{grid-column:1 / -1}}.made-by{margin:6px 0 0;padding-top:14px;border-top:1px solid var(--line);text-align:center;color:var(--mut);font-size:.85rem;letter-spacing:.02em}.copyright{margin:2px 0 0;text-align:center;color:var(--side-mut);font-size:.78rem}.chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chart-grid .span-all{grid-column:1/-1}.chart-grid .span-2{grid-column:span 2}.chart h3{margin:0 0 2px}.chart-sub{margin:0 0 16px;color:var(--mut);font-size:.88rem}.stack{display:flex;gap:2px;height:28px}.stack i{display:block;min-width:4px;border-radius:4px}.legend{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 32px}.legend li{display:flex;align-items:center;gap:8px;font-size:.92rem}.legend .sw{width:12px;height:12px;border-radius:3px;flex:none}.lg-n{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"zero" 1}.lg-p{color:var(--mut);font-size:.85rem}.twin{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.twin summary{cursor:pointer;color:var(--link);font-size:.88rem;font-weight:600;width:max-content}.twin table{margin-top:8px}.twin th,.twin td{font-size:.88rem;padding:8px 10px;position:static}.twin tbody tr:hover td{background:transparent}.cols{display:flex;gap:10px;padding-bottom:34px}.y-axis{display:flex;flex-direction:column;justify-content:space-between;height:190px;width:30px;text-align:right;color:var(--mut);font-size:.8rem;line-height:1;font-variant-numeric:lining-nums tabular-nums}.plot{position:relative;flex:1;height:190px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.gl{position:absolute;left:0;right:0;height:1px;background:var(--line);pointer-events:none}.col{position:relative;height:100%}.bar-slot{position:relative;height:100%;display:flex;justify-content:center;align-items:flex-end}.cbar{display:block;width:min(24px,70%);background:var(--st-neutral);border-radius:4px 4px 0 0}.cbar.now{background:var(--s1)}.cv{position:absolute;left:50%;transform:translate(-50%);font-size:.85rem;font-weight:600;color:var(--head);font-variant-numeric:lining-nums}.mo{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;font-size:.78rem;color:var(--mut);white-space:nowrap}.hbars{list-style:none;margin:0;padding:0;display:grid;gap:12px}.hbars li{display:grid;grid-template-columns:minmax(70px,40%) minmax(0,1fr);gap:12px;align-items:center}.hb-label{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-track{display:flex;align-items:center;gap:8px;min-width:0}.hb-bar{display:block;flex:none;height:14px;width:calc((100% - 44px) * var(--r));min-width:3px;background:var(--s1);border-radius:0 4px 4px 0}.hb-val{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"zero" 1}.attn{list-style:none;margin:0;padding:0}.attn li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:10px 0;border-top:1px solid var(--line);align-items:baseline}.attn-wr{font-weight:600;white-space:nowrap}.attn-d{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mut);font-size:.92rem}.attn-age{white-space:nowrap;color:var(--bad);font-size:.92rem}@media (max-width:1100px){.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid .span-2{grid-column:1/-1}}@media (max-width:800px){.chart-grid{grid-template-columns:minmax(0,1fr)}.mo{font-size:.72rem}.col:nth-child(2n) .mo{display:none}.hbars li{grid-template-columns:minmax(70px,45%) minmax(0,1fr)}}.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.kpi .v{font-size:30px;overflow-wrap:anywhere}.hbars li{grid-template-columns:minmax(90px,46%) minmax(0,1fr)}@media (max-width:1200px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.menu-pop.wide{min-width:min(460px,calc(100vw - 32px))}.menu-pop.wide .menu-list{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.menu-pop.wide .menu-list>.btn{grid-column:1 / -1}@media (max-width:560px){.menu-pop.wide .menu-list{grid-template-columns:1fr}}.back-link{display:inline-block;margin-bottom:10px;color:var(--link);font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}.banner.info{background:var(--info-soft);border-color:var(--line2);color:var(--info);display:block}.banner.info a{color:var(--info);font-weight:700}.check-line{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.92rem;color:var(--ink)}.check-line input{margin-top:4px}.invoice-sheet{position:relative;max-width:900px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:40px 44px}.inv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.inv-top .logo-tile{width:150px;padding:10px 8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-top .logo-tile img{width:96px}.inv-title{text-align:right}.inv-title h1{margin:0;font-size:30px;letter-spacing:.06em;color:var(--head)}.inv-title p{margin:2px 0 0;font-size:1.05rem}.inv-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;margin:0 0 26px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inv-meta dt{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);font-weight:600}.inv-meta dd{margin:2px 0 0;font-weight:600}.inv-table{width:100%;border-collapse:collapse}.inv-table th,.inv-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:.9rem;position:static;box-shadow:none;background:transparent}.inv-table thead th{background:var(--brand);color:var(--on-brand);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-table .num{text-align:right}.inv-table .inv-scope th{background:var(--hover);color:var(--head);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}.inv-table tfoot td{border-top:2px solid var(--brand);border-bottom:0;font-size:1.05rem;padding-top:12px}.inv-table td.wr{white-space:nowrap}.inv-notes{margin:22px 0 0;font-size:.92rem}.inv-foot{margin:26px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--mut);font-size:.88rem}.void-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:140px;font-weight:800;letter-spacing:.1em;color:var(--bad);opacity:.1;transform:rotate(-24deg);pointer-events:none}@media (max-width:800px){.invoice-sheet{padding:20px 16px}.inv-top{flex-direction:column}.inv-title{text-align:left}.inv-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis-3{grid-template-columns:minmax(0,1fr)}.inv-table{display:block;overflow-x:auto}}@media print{@page{margin:14mm}.side,.topnav,.no-print,.toast,.skip,.theme-btn{display:none!important}html,body{background:#fff!important}.app{display:block}.view{padding:0!important}.invoice-sheet{--card:#fff;--ink:#2a2112;--head:#3b2f12;--mut:#5f5643;--line:#e3ddd0;--brand:#614f25;--on-brand:#fff;--hover:#f3eadb;--bad:#a3200f;border:0;box-shadow:none;border-radius:0;padding:0;max-width:none;background:#fff;color:#2a2112}.inv-table tr{break-inside:avoid}}.sticky-cols th.stick,.sticky-cols td.stick{position:sticky}.sticky-cols td.stick{background:var(--card);z-index:1}.sticky-cols tbody tr:nth-child(2n) td.stick{background:var(--zebra)}.sticky-cols tbody tr:hover td.stick,.sticky-cols tbody tr.selected td.stick{background:var(--hover)}.sticky-cols th.stick{z-index:3;background:var(--thead)}.sticky-cols .stick.wr{left:0;box-shadow:1px 0 0 var(--line)}.sticky-cols.with-select .stick.sel{left:0;width:46px;min-width:46px;padding:12px 0 12px 14px}.sticky-cols.with-select .stick.wr{left:46px}tbody tr.selected td{background:var(--hover)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.bulk{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;background:var(--hover);border:1px solid var(--line2);border-radius:12px;padding:10px 14px;margin-bottom:12px;position:sticky;top:8px;z-index:6;box-shadow:var(--shadow)}.bulk-field{display:flex;gap:6px;align-items:center;font-size:.88rem;font-weight:600;color:var(--mut)}.bulk-field select{padding:5px 34px 5px 8px;font-size:.9rem}.pager{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:12px;font-size:.92rem}.pager .grow{flex:1}.field-inline{display:flex;gap:6px;align-items:center;color:var(--mut);font-weight:600;font-size:.88rem}.field-inline select{padding:5px 34px 5px 8px;font-size:.9rem}.snack{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;gap:14px;align-items:center;background:var(--brand);color:var(--on-brand);padding:10px 14px 10px 18px;border-radius:12px;box-shadow:0 10px 36px #00000059;z-index:35;max-width:calc(100vw - 24px)}.snack .btn{background:transparent;color:inherit;border-color:currentColor}.snack-x{background:none;border:0;color:inherit;cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:6px}.view-row{display:flex;align-items:center;gap:2px}.view-row .menu-item:first-child{flex:1}.view-row .del{color:var(--bad)}.view-tag{margin-left:8px;font-size:.7rem}.menu-note{padding:6px 10px;margin:0;font-size:.88rem}.kb-list{margin:12px 0 0;display:grid;gap:10px}.kb-list div{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center}.kb-list dt,.kb-list dd{margin:0}kbd{display:inline-block;min-width:30px;text-align:center;padding:3px 8px;border:1px solid var(--line2);border-bottom-width:2px;border-radius:6px;background:var(--card);font:600 .85rem ui-monospace,Menlo,monospace}.print-only{display:none}@media print{.print-only{display:block}.print-title{margin:0 0 8px;font-weight:600;font-size:11pt}@page{size:landscape;margin:10mm}.tw{max-height:none!important;overflow:visible!important;border:0;box-shadow:none;border-radius:0}.tw table{font-size:7pt}.tw td,.tw th{padding:3px 4px!important;font-size:7pt!important;position:static!important;box-shadow:none!important}.tw thead{display:table-header-group}.tw tr{break-inside:avoid}.tw .th-btn{padding:0!important}.pill{border:1px solid #999;background:#fff!important;color:#000!important}.panel,.kpi{break-inside:avoid;box-shadow:none}.chart-grid{display:block}.chart-grid .panel{margin-bottom:10px}details.twin{display:none}.filters{display:none}}@media (max-width:800px){.bulk{position:static}.snack{bottom:12px;width:calc(100vw - 24px);justify-content:space-between}}.history{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.history summary{cursor:pointer;color:var(--link);font-weight:600;font-size:.9rem;width:max-content}.history ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px;max-height:200px;overflow:auto;font-size:.9rem}.history li{padding-left:10px;border-left:3px solid var(--line2)}.conflict{margin-top:14px;padding:12px 14px;border:1px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);border-radius:10px}.conflict ul{margin:8px 0 0 18px;padding:0;font-size:.9rem;color:var(--ink)}.conflict-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.plan{margin:6px 0 12px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--zebra)}.plan summary{cursor:pointer;font-weight:600;color:var(--head)}.plan ul{margin:10px 0 0;padding-left:18px;font-size:.9rem;display:grid;gap:6px}.code-input{font-size:1.4rem;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;max-width:230px}.nudge{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.nudge-actions{display:flex;gap:8px}.mfa-setup ol{margin:8px 0 12px;padding-left:20px;display:grid;gap:4px}.mfa-setup .qr{display:block;border:1px solid var(--line2);border-radius:10px;background:#fff;padding:8px;margin:6px 0 10px}.secret-key{font-weight:600;letter-spacing:.06em;word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--head)}@media (max-width:800px){.cards{display:grid;gap:10px;list-style:none;margin:0;padding:0}.pcard{display:flex;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.pcard.selected{background:var(--hover);border-color:var(--line2)}.pcard-sel{margin-top:3px;flex:none}.pcard-main{flex:1;min-width:0}.pcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.pcard-top .wr-link{font-size:1.05rem;min-height:36px}.pcard-desc{margin:4px 0 8px;color:var(--ink);font-size:.92rem;overflow-wrap:anywhere}.pcard-facts{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}.pcard-facts dt{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:600}.pcard-facts dd{margin:0;font-size:.88rem;overflow-wrap:anywhere}.none-found{padding:20px;text-align:center;color:var(--mut)}}
