:root{--basalt:#0d1b24;--snow:#f7f8f6;--glacier:#0a5c77;--glacier-hover:#084b62;--ice:#e3eef2;--ice-border:#cbdde4;--aurora:#6fe3a5;--ember:#e3a23c;--fog:#44555f;--muted:#5e6e78;--faint:#8b99a1;--line:#e2e8e6;--fix:#b5482d;--fix-bg:#f7e9e4;--font-display:var(--font-serif),Georgia,serif;--font-ui:var(--font-sans),system-ui,sans-serif;--shadow-float:0 12px 40px rgba(13,27,36,0.14)}.admin-root{min-height:100vh;background:var(--snow);color:var(--basalt);font-family:var(--font-ui);font-size:14px}.admin-root a{color:inherit}.wrap{max-width:1440px;margin:0 auto}.px{padding-left:44px;padding-right:44px}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.crumbs{gap:14px}.brand,.crumbs{display:flex;align-items:baseline}.brand{gap:6px}.brand b{font:800 17px var(--font-ui);letter-spacing:-.5px;color:var(--basalt)}.brand span{font:400 13px var(--font-ui);letter-spacing:2.5px;color:var(--muted)}.crumbs .sl{font:400 14px var(--font-ui);color:var(--line)}.crumbs .cur{font:600 14.5px var(--font-ui);color:var(--basalt)}.topright{display:flex;gap:14px}.chip,.topright{align-items:center}.chip{display:inline-flex;gap:7px;padding:8px 14px;background:var(--ice);border-radius:999px;font:600 12.5px var(--font-ui);color:var(--glacier)}.chip i{width:7px;height:7px;border-radius:50%;background:var(--glacier);display:inline-block}.refreshed{font:400 12.5px var(--font-ui);color:var(--muted)}.btn{display:inline-flex;align-items:center;height:44px;padding:0 20px;background:var(--glacier);color:#fff;border:none;cursor:pointer;border-radius:999px;font:600 14px var(--font-ui);text-decoration:none}.btn:hover{background:var(--glacier-hover)}.btn.ghost{background:transparent;color:var(--basalt);border:1px solid var(--ice-border)}.btn.ghost:hover{background:var(--ice)}.hero{position:relative;background:var(--basalt);overflow:hidden}.hero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,#0d1b24 46%,rgba(13,27,36,.55) 78%,rgba(13,27,36,.25))}.hero .inner{position:relative;padding-top:52px;padding-bottom:96px}.eyebrow-a{font:600 14px var(--font-ui);color:var(--aurora);letter-spacing:.3px}.hero h1{margin:12px 0 0;font:500 56px/1.05 var(--font-display);letter-spacing:-1.5px;color:#fff}.hero h1 em{font-style:italic}.hero .status{display:flex;align-items:center;gap:9px;margin-top:16px;font:400 15px var(--font-ui);color:rgba(255,255,255,.65)}.hero .status i{width:8px;height:8px;border-radius:50%;background:var(--aurora);display:inline-block}.float{margin:-52px 44px 0;position:relative;background:#fff;border-radius:20px;box-shadow:var(--shadow-float);display:grid;grid-template-columns:repeat(4,1fr)}.fcol{padding:24px 30px}.fcol+.fcol{border-left:1px solid var(--line)}.flabel{font:600 12.5px var(--font-ui);color:var(--muted)}.fnum{font:500 36px/1.1 var(--font-display);letter-spacing:-.5px;color:var(--basalt);margin-top:6px}.fsub{font:400 12.5px var(--font-ui);color:var(--faint);margin-top:4px}.fnum.good{color:#177a4c}.fnum.warn{color:var(--ember)}.fixpill,.fnum.bad{color:var(--fix)}.fixpill{padding:5px 11px;background:var(--fix-bg);border-radius:999px;font:600 11.5px var(--font-ui)}.section{padding-top:56px}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.sec-eyebrow{font:600 14px var(--font-ui);color:var(--glacier)}.sec-title{margin:8px 0 0;font:500 34px/1.15 var(--font-display);letter-spacing:-.5px;color:var(--basalt)}.sec-link{font:600 14.5px var(--font-ui);color:var(--basalt);text-decoration:underline;-webkit-text-decoration-color:var(--ice-border);text-decoration-color:var(--ice-border);text-underline-offset:5px}.legend{display:flex;gap:16px;font:400 12.5px var(--font-ui);color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.vgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;margin-top:26px}.vcard{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.vimg{position:relative;height:108px;background:var(--ice)}.vimg img{width:100%;height:108px;object-fit:cover;display:block}.vtag{position:absolute;top:10px;left:10px;padding:6px 12px;background:rgba(255,255,255,.92);border-radius:999px;font:600 12px var(--font-ui);color:var(--basalt)}.vtag.dark{background:var(--basalt);color:#fff}.vbody{padding:16px 18px 18px}.vnum{font:500 42px/1 var(--font-display);letter-spacing:-1px;color:var(--basalt)}.vlabel{font:600 13px var(--font-ui);color:var(--muted);margin-top:6px}.vfoot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.vfoot .l{font:400 12.5px var(--font-ui);color:var(--muted)}.vfoot .l b.tick{color:var(--glacier);font-weight:700}.vfoot .p{font:700 13px var(--font-ui)}.strip{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:repeat(9,1fr);overflow:hidden}.scol{padding:20px 22px}.scol+.scol{border-left:1px solid var(--line)}.snum{font:800 26px/1 var(--font-ui);letter-spacing:-.5px;color:var(--basalt)}.slabel{font:400 12.5px var(--font-ui);color:var(--muted);margin-top:6px}.hgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-top:26px}.hcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 26px 26px}.htitle{font:500 19px/1.3 var(--font-display);color:var(--basalt)}.hsub{font:400 12.5px var(--font-ui);color:var(--muted);margin-top:5px}.cov{margin-top:16px}.cov:first-of-type{margin-top:20px}.cov .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.cov .row .n{font:400 13.5px var(--font-ui);color:var(--fog)}.cov .row .v{font:600 13px var(--font-ui);color:var(--basalt)}.cov .track{height:6px;border-radius:999px;background:var(--ice);margin-top:7px;overflow:hidden}.cov .fill{height:100%;border-radius:999px}.wcard{background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:26px}.pgrid{display:grid;grid-template-columns:repeat(7,1fr)}.pcol{padding:22px 24px}.pcol+.pcol{border-left:1px solid var(--line)}.pnum{font:500 30px/1.1 var(--font-display);letter-spacing:-.5px;color:var(--basalt)}.pnum.good{color:#177a4c}.pnum.warn{color:var(--ember)}.pnum.bad{color:var(--fix)}.plabel{font:600 11.5px var(--font-ui);color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.06em}table{width:100%;border-collapse:collapse;font:400 13.5px var(--font-ui)}td,th{text-align:left;padding:10px 24px;border-bottom:1px solid var(--line)}th{color:var(--muted);font:600 11px var(--font-ui);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}th .arrow{font-size:9px;color:var(--glacier)}.chartbox{position:relative;height:260px;padding:10px 16px 16px}.chartbox.tall{height:400px}.card-pad{padding:20px 24px}.pill{display:inline-block;font:600 11px var(--font-ui);padding:3px 10px;border-radius:999px;background:var(--ice);color:var(--glacier-hover);margin-right:6px}ul.gap{list-style:none;font:400 13.5px var(--font-ui);color:var(--fog)}ul.gap li{padding:8px 0;border-bottom:1px solid var(--line)}ul.gap li:last-child{border-bottom:none}.ok{color:#177a4c;font:400 13.5px var(--font-ui)}.grid2x{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:26px}.stpill{display:inline-block;font:600 11px var(--font-ui);padding:3px 10px;border-radius:999px;white-space:nowrap}.stpill.bookable{background:#e2f3e9;color:#177a4c}.stpill.leadForm{background:#f9efdd;color:#8c5e2e}.stpill.forbidden,.stpill.notFound{background:var(--fix-bg);color:var(--fix)}.stpill.error{background:var(--ice);color:var(--fog)}.scroll-table{max-height:480px;overflow-y:auto}.scroll-table thead th{position:-webkit-sticky;position:sticky;top:0;background:#fff}.foot{padding:48px 44px 40px;font:400 12.5px var(--font-ui);color:var(--faint)}.placeholder{background:#fff;border:1px dashed var(--ice-border);border-radius:18px;padding:28px 30px;margin-top:26px}.placeholder h3{font:500 19px var(--font-display);color:var(--basalt);margin:0 0 6px}.placeholder p{font:400 13.5px var(--font-ui);color:var(--muted);margin:0}.roadmap{list-style:none;margin:16px 0 0;padding:0}.roadmap li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font:400 13.5px var(--font-ui);color:var(--fog)}.roadmap li:last-child{border-bottom:none}.roadmap b{color:var(--basalt);font-weight:600;min-width:30px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--basalt);padding:24px}.login-card{width:100%;max-width:380px;background:#fff;border-radius:20px;box-shadow:var(--shadow-float);padding:36px 34px}.login-brand{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}.login-brand b{font:800 17px var(--font-ui);letter-spacing:-.5px}.login-brand span{font:400 13px var(--font-ui);letter-spacing:2.5px;color:var(--muted)}.login-card h1{font:500 26px/1.15 var(--font-display);letter-spacing:-.5px;margin:14px 0 6px}.login-card p.sub{font:400 13.5px var(--font-ui);color:var(--muted);margin:0 0 22px}.login-card label{display:block;font:600 12.5px var(--font-ui);color:var(--fog);margin-bottom:7px}.login-card input{width:100%;height:46px;padding:0 14px;border:1px solid var(--ice-border);border-radius:12px;font:400 15px var(--font-ui);background:var(--snow)}.login-card input:focus{outline:none;border-color:var(--glacier)}.login-card .btn{width:100%;justify-content:center;margin-top:18px;height:46px}.login-err{margin-top:14px;background:var(--fix-bg);color:var(--fix);border-radius:10px;padding:10px 14px;font:400 13px var(--font-ui)}@media (max-width:1100px){.px{padding-left:20px;padding-right:20px}.float{margin:-52px 20px 0;grid-template-columns:1fr 1fr}.fcol+.fcol{border-left:none}.vgrid{grid-template-columns:1fr 1fr}.strip{grid-template-columns:repeat(3,1fr)}.scol+.scol{border-left:none}.hgrid{grid-template-columns:1fr}.pgrid{grid-template-columns:repeat(3,1fr)}.pcol+.pcol{border-left:none}.grid2x{grid-template-columns:1fr}.hero h1{font-size:38px}.topright .refreshed{display:none}}@media (max-width:640px){.vgrid{grid-template-columns:1fr}.pgrid,.strip{grid-template-columns:1fr 1fr}.sec-title{font-size:27px}}