:root{--bg:#eceff2;--panel:#fff;--panel-2:#f5f7f9;--ink:#18212b;--muted:#5a6573;--line:#d2d8de;--brand-navy:#061b2f;--brand-amber:#f69700;--accent:#f69700;--accent-ink:#061b2f;--accent-text:#9c5a00;--accent-soft:#fff1da;--sign:#f6c400;--bar-bg:#061b2f;--bar-ink:#fff;--bar-muted:#a9b7c8;--logo-lane:var(--panel);--ok:#2c7a4b;--ok-soft:#e3f3e9;--warn:#9a5b00;--warn-soft:#fff4dc;--bad:#b4332a;--bad-soft:#fbe7e5;--admin:#2f3d8f;--font:"Overpass", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Overpass Mono", ui-monospace, Consolas, monospace;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#11161b;--panel:#192028;--panel-2:#1f2731;--ink:#e5e9ee;--muted:#99a4b0;--line:#2d3641;--accent:#f69700;--accent-ink:#061b2f;--accent-text:#f7a733;--accent-soft:#33240c;--bar-bg:#0a1828;--bar-muted:#9aaabd;--ok:#5cc98a;--ok-soft:#12291c;--warn:#f0b452;--warn-soft:#33270f;--bad:#ff7a6e;--bad-soft:#3a1714;--admin:#9fb0ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{font-family:var(--font);font-size:15px;line-height:1.45}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.2}h1{font-size:26px;font-weight:800}h2{font-size:18px;font-weight:800}a{color:var(--accent-text)}.muted{color:var(--muted)}.hint{color:var(--muted);margin:0;font-size:13px}.mono,td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;padding:8px 10px}textarea{resize:vertical;min-height:96px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{font:600 14px/1 var(--font);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-danger{color:var(--bad)}.btn-danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn-small{padding:6px 10px;font-size:13px}.btn-block{width:100%}.btn-link{color:var(--accent-text);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.field{gap:5px;min-width:0;display:grid}.field>label{color:var(--muted);font-size:13px;font-weight:700}.stack{gap:14px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=560px){.grid-2{grid-template-columns:1fr}}.note{border-radius:6px;padding:10px 12px;font-size:14px}.note-error{background:var(--bad-soft);color:var(--bad)}.note-ok{background:var(--ok-soft);color:var(--ok)}.note-warn{background:var(--warn-soft);color:var(--warn)}.note-detail{white-space:pre-wrap;font-family:var(--mono);margin:6px 0 0;font-size:12px}.copybox{gap:8px;display:flex}.copybox input{font-family:var(--mono);font-size:12px}.chip{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:3px 8px;font-size:12px;font-weight:700;display:inline-block}.chip-ok{color:var(--ok);background:var(--ok-soft);border-color:#0000}.chip-warn{color:var(--warn);background:var(--warn-soft);border-color:#0000}.chip-bad{color:var(--bad);background:var(--bad-soft);border-color:#0000}.chip-admin{color:var(--admin)}.auth-page{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:14px;width:100%;max-width:420px;padding:28px;display:grid}.auth-card h1{font-size:24px}.auth-footer{border-top:1px solid var(--line);color:var(--muted);padding-top:14px;font-size:14px}.logo{align-items:center;gap:.45em;line-height:1;display:inline-flex}.logo-mark{flex:none;display:block}.logo-word{font-family:"Figtree", var(--font);letter-spacing:-.01em;white-space:nowrap;font-weight:800}.auth-card .logo{color:var(--brand-navy)}@media (prefers-color-scheme:dark){.auth-card .logo{color:#fff}}.admin-tag{font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-navy);background:#9fb0ff;border-radius:4px;padding:4px 7px 3px;font-size:11px;font-weight:800}.topbar{z-index:5;background:var(--bar-bg);color:var(--bar-ink);border-bottom:3px solid var(--brand-amber);--logo-lane:var(--bar-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-wrap:wrap;align-items:center;gap:10px 24px;padding:10px 20px;display:flex;position:sticky;top:0}.shell-admin .topbar{border-bottom-color:#9fb0ff}.topbar a.home{color:var(--bar-ink);text-decoration:none}.topbar .btn{color:var(--bar-ink);background:0 0;border-color:#ffffff40}.topbar .btn:hover{border-color:var(--bar-ink)}.topbar select{color:var(--bar-ink);background:#ffffff14;border-color:#ffffff40}.mainnav{flex-wrap:wrap;gap:4px;display:flex}.mainnav a{color:var(--bar-muted);border-radius:6px;padding:7px 12px;font-weight:700;text-decoration:none}.mainnav a:hover{color:var(--bar-ink);background:#ffffff14}.mainnav a.active{color:var(--bar-ink);box-shadow:inset 0 -2px 0 var(--brand-amber);background:#f697002e}.shell-admin .mainnav a.active{background:#9fb0ff29;box-shadow:inset 0 -2px #9fb0ff}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-right select{width:auto;padding:6px 8px}.org-name{color:var(--bar-muted);font-weight:700}.usermenu{position:relative}.usermenu summary{background:var(--brand-amber);width:36px;height:36px;color:var(--brand-navy);cursor:pointer;border-radius:50%;place-items:center;font-size:13px;font-weight:800;list-style:none;display:grid}.usermenu summary::-webkit-details-marker{display:none}.usermenu-panel{color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:4px;width:260px;padding:14px;display:grid;position:absolute;top:44px;right:0;box-shadow:0 8px 24px #00000026}@media (prefers-color-scheme:dark){.usermenu-panel{--lightningcss-light: ;--lightningcss-dark:initial}}.usermenu-panel .btn{margin-top:8px}.banner{background:var(--panel-2);border-bottom:1px solid var(--line);padding:10px 20px;font-weight:600}.banner-warn{background:var(--warn-soft);color:var(--warn)}.content{max-width:1400px;margin:0 auto;padding:24px 20px 48px}.page{gap:18px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head .sub{color:var(--muted);margin-top:4px}.page-loading{text-align:center;color:var(--muted);padding:40px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);justify-items:center;gap:10px;padding:40px 20px;display:grid}.empty h1{color:var(--ink)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:12px;min-width:0;padding:16px;display:grid}.card h2{font-size:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}.table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);font-size:12px;font-weight:700}.table tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right}.table a.rowlink{color:var(--ink);font-weight:700;text-decoration:none}.table a.rowlink:hover{color:var(--accent);text-decoration:underline}.table .sub{color:var(--muted);font-size:12px;font-weight:400;display:block}.kv{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}dialog{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;width:min(520px,100% - 32px);padding:0}dialog::backdrop{background:#0a0e148c}.dialog-body{gap:14px;padding:22px;display:grid}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.choice{border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:6px;align-items:flex-start;gap:10px;padding:10px;font-weight:400;display:flex}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice input{margin-top:3px}.choice .sub{color:var(--muted);font-size:13px;display:block}.small{font-size:13px}.editor{gap:14px;display:grid}.editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-title{flex:320px;align-items:center;gap:12px;min-width:0;display:flex}.back{white-space:nowrap;text-decoration:none}.title-input{font:800 22px/1.2 var(--font);background:0 0;border:1px solid #0000;padding:4px 8px}.title-input:hover,.title-input:focus{border-color:var(--line);background:var(--panel)}.editor-body{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=980px){.editor-body{grid-template-columns:minmax(0,1fr)}}.rail{max-height:calc(100vh - 92px);position:sticky;top:76px;overflow-y:auto}@media (width<=980px){.rail{max-height:none;position:static}}.rail fieldset{border:0;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;margin:0;padding:0;display:grid}.rail h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);margin-top:10px;padding-top:12px;font-size:12px}.lbl{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.check{align-items:center;gap:8px;font-size:14px;display:flex}.editor-main{gap:16px;min-width:0;display:grid}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.toolbar .lbl{letter-spacing:.12em;text-transform:uppercase;margin:0 4px 0 0}.select-small,.input-small{width:auto;padding:5px 8px;font-size:13px}.selection{margin-left:auto}.sheet-card{gap:0;padding:0;overflow:hidden}.sheet-card>.card-head{border-bottom:1px solid var(--line);padding:12px 16px}.sheet-card>.note{margin:10px 16px 0}.sheet-wrap{background:#d9dcd6;max-height:75vh;margin-top:10px;padding:14px;overflow:auto}.sheet{-webkit-user-select:none;user-select:none;margin:0 auto;display:block;box-shadow:0 1px 4px #00000040}.sheet [data-xid]{cursor:move;touch-action:none}.table-wrap.flat{background:0 0;border:0;border-radius:0}.ai-btn{border-style:dashed;border-color:var(--accent);color:var(--accent-text)}.ai-box{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);gap:10px;padding:12px;display:grid}.ai-result{background:var(--panel);border-radius:6px;gap:8px;padding:12px;display:grid}.ai-result ul{margin:0;padding-left:18px}.invite-form{grid-template-columns:minmax(200px,1fr) minmax(200px,1.4fr) auto;align-items:end;gap:12px;display:grid}@media (width<=760px){.invite-form{grid-template-columns:1fr}}.table .chip{margin-left:8px}.back{text-decoration:none;display:inline-block}.search{flex-wrap:nowrap;max-width:520px}.pager{justify-content:flex-end}.subhead{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:12px}.plain{margin:0;padding-left:18px}.nowrap{white-space:nowrap}td.detail{color:var(--muted);max-width:420px;font-size:13px}h1 .chip{vertical-align:middle;margin-left:8px;font-size:12px}.table td .chip{margin-left:8px}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);gap:2px;padding:14px 16px;text-decoration:none;display:grid}.kpi-link:hover{border-color:var(--muted)}.kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.kpi-value{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.1}.kpi-sub{color:var(--muted);font-size:13px}:root{--chart-bar:#c27700;--chart-grid:#d8dde2;--chart-axis:#5a6573}@media (prefers-color-scheme:dark){:root{--chart-bar:#c98000;--chart-grid:#2d3641;--chart-axis:#99a4b0}}.minicharts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px 24px;display:grid}.minichart{gap:6px;margin:0;display:grid}.minichart figcaption{justify-content:space-between;gap:8px;font-size:14px;font-weight:700;display:flex}.minichart-value{font-variant-numeric:tabular-nums}.minichart svg{width:100%;height:auto;display:block;overflow:visible}.minichart .bar{fill:var(--chart-bar)}.minichart .bar-hover{fill:var(--ink)}.minichart .grid{stroke:var(--chart-grid);stroke-width:1px;stroke-dasharray:2 3}.minichart .baseline{stroke:var(--chart-axis);stroke-width:1px}.minichart .axis{fill:var(--chart-axis);font-size:9px;font-family:var(--mono)}.inspector{border-color:#1e6fd9}.inspector-row,.panels{gap:6px;display:grid}.panel-row{flex-wrap:nowrap}.num-input{width:90px;font-family:var(--mono)}.note-info{background:var(--panel-2);color:var(--ink);border:1px solid var(--line)}.grow{flex:260px;min-width:0}.sheet [data-sid]{cursor:grab;touch-action:none}.sheet [data-sid]:active{cursor:grabbing}.sheet-tabs{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.sheet-tab{font:700 13px/1.2 var(--font);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;max-width:260px;padding:7px 12px;overflow:hidden}.sheet-tab:hover{border-color:var(--accent)}.sheet-tab.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.sheet-title{flex:1;min-width:0;font-size:18px}.check.small{font-size:13px}.rev-row{grid-template-columns:44px minmax(0,1fr) 64px auto;grid-template-areas:"rev date by x""desc desc desc desc";gap:4px;margin-bottom:8px;display:grid}.rev-row>:first-child{grid-area:rev}.rev-row>:nth-child(2){grid-area:date}.rev-row>:nth-child(3){grid-area:desc}.rev-row>:nth-child(4){grid-area:by}.rev-row>:nth-child(5){grid-area:x}.rev-row input{min-width:0;padding:5px 6px;font-size:13px}.enquiries{gap:10px;display:grid}.enquiry{padding:14px 16px}.enquiry.handled{opacity:.72}.enquiry-head{flex-wrap:wrap;align-items:center;gap:10px}.enquiry p.row{gap:16px;margin:8px 0}.enquiry-message{white-space:pre-wrap;background:var(--panel-2);border-radius:var(--radius);margin:8px 0;padding:8px 10px}.demo-bar .btn-primary{background:var(--brand-amber);color:#061b2f;border-color:var(--brand-amber);font-weight:800}.demo-bar .btn-primary:hover{filter:brightness(1.08);border-color:var(--brand-amber)}.demo-label{opacity:.85;font-weight:700}.demo-tips{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--brand-amber);border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:6px 16px;max-width:1400px;margin:16px 20px 0;padding:12px 16px;font-size:14px;display:flex}@media (width>=1440px){.demo-tips{margin-left:auto;margin-right:auto}}.demo-tips ol{flex:520px;margin:0;padding-left:20px}.demo-tips li{margin-bottom:2px}.demo-ai{margin-bottom:14px}.demo-small-screen{background:var(--warn-soft);color:var(--warn);margin:12px 20px 0;display:none}@media (width<=900px){.demo-small-screen{display:block}.demo-label{display:none}}.rail{scrollbar-gutter:stable;overflow-x:hidden}.rail .grid-2>*,.rail input,.rail select,.rail textarea{min-width:0;max-width:100%}.rail select{text-overflow:ellipsis;width:100%}.rail .inspector{border-radius:var(--radius);border:1px solid #1e6fd9;margin:-4px -4px 14px;padding:12px}.rail .inspector .row{flex-wrap:wrap}.rail .inspector .panel-row{flex-wrap:nowrap}.rail .inspector .panel-row select{flex:1 1 0;width:auto}.rail .inspector{grid-template-columns:minmax(0,1fr)}.rail .inspector>*,.rail .inspector .inspector-row,.rail .inspector .panels{min-width:0}.rail .inspector .panels{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.rail .inspector .panel-row select{min-width:0}.rail .inspector h2{overflow-wrap:anywhere;font-size:17px}.rail .inspector .row>.muted{flex:140px;min-width:0}.sheet-checks{gap:8px;padding:0 16px;display:grid}.sheet-checks:not(:empty){padding:12px 16px 14px}.sheet-card .sheet-wrap{margin-top:0}.chip-warn{background:var(--warn-soft);color:var(--warn);text-decoration:none}.toolbar>.muted,.toolbar>.selection{align-items:center;min-height:30px;display:inline-flex}
