:root{
  /* Light (default) */
  --bg:#f4f5f7;--panel:#fff;--ink:#16181d;--muted:#667085;--line:#e4e7ec;--soft:#f9fafb;
  --side:#111418;--side-ink:#c9ced6;--side-hi:#fff;--side-hover:#1c2026;--side-active:#1f2a27;--side-active-ink:#7ee2c5;--side-label:#6b7280;
  --accent:#0e7c66;--accent-ink:#fff;--accent-soft:#e6f4f1;
  --ok:#0e7c66;--warn:#b54708;--warn-soft:#fef3e2;--err:#b42318;--err-soft:#fee4e2;--info-soft:#eef4ff;
  --viz-1:#0b8a6c;--viz-grid:#eceef1;--viz-tick:#7a8290;
  --mono:ui-monospace,"JetBrains Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --radius:10px;color-scheme:light;
}
/* Grey: neutral grey surfaces and a slate sidebar, easy on the eyes in bright offices */
:root[data-theme=grey]{
  --bg:#e6e8eb;--panel:#f5f6f7;--ink:#1d2125;--muted:#5b636d;--line:#d0d4d9;--soft:#eceef0;
  --side:#2e3338;--side-ink:#d3d7dc;--side-hi:#fff;--side-hover:#3a4046;--side-active:#474e55;--side-active-ink:#fff;--side-label:#8c949c;
  --accent:#3e6383;--accent-ink:#fff;--accent-soft:#dde6ee;--ok:#2f7a5f;
  --viz-1:#3e6383;--viz-grid:#dde0e4;--viz-tick:#6b737c;
}
/* Ocean: white panels, navy sidebar, blue accent */
:root[data-theme=ocean]{
  --bg:#f0f4f9;--panel:#fff;--ink:#14213a;--muted:#5d6b82;--line:#dde4ee;--soft:#f6f8fb;
  --side:#0f2747;--side-ink:#c2d1e6;--side-hi:#fff;--side-hover:#173560;--side-active:#1d4478;--side-active-ink:#fff;--side-label:#7f95b3;
  --accent:#1c64c8;--accent-ink:#fff;--accent-soft:#e6effb;--ok:#13795b;
  --viz-1:#1c64c8;--viz-grid:#e6ebf2;--viz-tick:#6e7c92;
}
:root[data-theme=dark]{
  --bg:#0c0e11;--panel:#15181d;--ink:#e6e8eb;--muted:#8b93a1;--line:#262a31;--soft:#1b1f25;
  --side:#08090b;--side-ink:#c9ced6;--side-hi:#fff;--side-hover:#16191e;--side-active:#13241f;--side-active-ink:#7ee2c5;--side-label:#5d6470;
  --accent:#2bb594;--accent-ink:#06120f;--accent-soft:#12302a;--ok:#2bb594;
  --warn:#e8913a;--warn-soft:#3a2510;--err:#f2645a;--err-soft:#3b1512;--info-soft:#16223a;
  --viz-1:#22a37e;--viz-grid:#252a31;--viz-tick:#8b93a1;color-scheme:dark;
}
@media (prefers-color-scheme:dark){:root[data-theme=auto]{
  --bg:#0c0e11;--panel:#15181d;--ink:#e6e8eb;--muted:#8b93a1;--line:#262a31;--soft:#1b1f25;
  --side:#08090b;--side-ink:#c9ced6;--side-hi:#fff;--side-hover:#16191e;--side-active:#13241f;--side-active-ink:#7ee2c5;--side-label:#5d6470;
  --accent:#2bb594;--accent-ink:#06120f;--accent-soft:#12302a;--ok:#2bb594;
  --warn:#e8913a;--warn-soft:#3a2510;--err:#f2645a;--err-soft:#3b1512;--info-soft:#16223a;
  --viz-1:#22a37e;--viz-grid:#252a31;--viz-tick:#8b93a1;color-scheme:dark;
}}
*{box-sizing:border-box}
html,body{margin:0}
body{font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
code,pre,.mono{font-family:var(--mono);font-size:12.5px}
h1{font-size:22px;margin:0 0 4px;letter-spacing:-.01em}
h2{font-size:15px;margin:0 0 12px}
h3{font-size:13px;margin:16px 0 8px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.layout{display:grid;grid-template-columns:232px 1fr;min-height:100vh;background:linear-gradient(90deg,var(--side) 232px,transparent 232px)}
.sidebar{background:var(--side);color:var(--side-ink);padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;gap:10px;align-items:center;color:var(--side-hi);font-weight:700;font-size:15px;padding:4px 10px 18px}
.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);font-size:13px}
.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--side-label);padding:14px 10px 6px}
.sidebar a{display:flex;gap:10px;align-items:center;color:var(--side-ink);padding:7px 10px;border-radius:7px;font-size:13.5px}
.sidebar a:hover{background:var(--side-hover);text-decoration:none;color:var(--side-hi)}
.sidebar a.active{background:var(--side-active);color:var(--side-active-ink)}
.sidebar a .ic{width:16px;text-align:center;opacity:.85}
main{min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}
.topbar form{margin:0}
.switcher{display:flex;align-items:center;gap:8px;color:var(--muted)}
.switcher select{min-width:200px}
.userbox{display:flex;gap:12px;align-items:center;color:var(--muted)}
.content{padding:24px 28px 60px;max-width:1280px}
.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.pagehead p{margin:0;color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px}
.card.flush{padding:0;overflow:hidden}
.card.flush>h2{padding:16px 18px 0}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.layout{grid-template-columns:1fr;background:none}.sidebar{position:static;height:auto}.g2,.g3,.g4{grid-template-columns:1fr}.content,.topbar{padding-left:16px;padding-right:16px}.topbar{flex-wrap:wrap}}
.stat .k{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.stat .v{font-size:26px;font-weight:650;letter-spacing:-.02em;margin-top:4px}
.stat .s{color:var(--muted);font-size:12.5px}
.bar{height:6px;background:var(--soft);border-radius:4px;overflow:hidden;margin-top:10px}
.bar i{display:block;height:100%;background:var(--accent)}
.bar i.hot{background:var(--warn)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;background:var(--soft)}
tr:last-child td{border-bottom:0}
td.actions{text-align:right;white-space:nowrap}
td.actions form{display:inline}
.scroll{overflow:auto}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11.5px;font-weight:600;background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.badge.ok{background:var(--accent-soft);color:var(--ok);border-color:transparent}
.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.badge.err{background:var(--err-soft);color:var(--err);border-color:transparent}
.flash{padding:10px 14px;border-radius:8px;margin:0 0 14px;border:1px solid var(--line);background:var(--info-soft)}
.flash.ok{background:var(--accent-soft);border-color:transparent}
.flash.warn{background:var(--warn-soft);border-color:transparent}
.flash.error{background:var(--err-soft);color:var(--err);border-color:transparent}
.flashes{padding:16px 28px 0;max-width:1280px}
label{display:block;font-weight:550;font-size:13px;margin-bottom:5px}
label.inline{display:inline-flex;gap:7px;align-items:center;font-weight:450;margin-right:14px}
.field{margin-bottom:14px}
.hint{color:var(--muted);font-size:12.5px;margin-top:4px}
input[type=text],input[type=password],input[type=email],input[type=number],input:not([type]),select,textarea{
  width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font:inherit}
textarea{font-family:var(--mono);font-size:12.5px;min-height:120px;resize:vertical}
textarea.editor{min-height:60vh;tab-size:4;white-space:pre}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.row>.field{flex:1;min-width:150px}
.btn,button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;font-weight:550;cursor:pointer;white-space:nowrap}
.btn:hover,button:hover{border-color:var(--muted);text-decoration:none}
.btn.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.danger,button.danger{color:var(--err);border-color:var(--err-soft)}
.btn.danger:hover,button.danger:hover{background:var(--err-soft)}
.btn.sm,button.sm{padding:4px 9px;font-size:12.5px}
button.link{background:none;border:0;padding:0;color:var(--accent);font-weight:450}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}
.tabs a{padding:9px 14px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}
.tabs a.active{color:var(--ink);border-color:var(--accent);font-weight:600}
.tabs a:hover{text-decoration:none;color:var(--ink)}
pre.log{background:#0b0d10;color:#d1d5db;padding:14px;border-radius:8px;overflow:auto;max-height:70vh;white-space:pre-wrap;word-break:break-all;margin:0}
.kv{display:grid;grid-template-columns:160px 1fr;gap:6px 14px}
.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}
.muted{color:var(--muted)}
.empty{padding:28px;text-align:center;color:var(--muted)}
.secret{font-family:var(--mono);background:var(--soft);padding:2px 8px;border-radius:5px;user-select:all}
.crumbs{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:13px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--soft)}
.toolbar input{width:auto}
details.panel{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:10px;background:var(--panel)}
details.panel summary{cursor:pointer;font-weight:600}
.check{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.check:last-child{border-bottom:0}
.auth{min-height:100vh;display:grid;place-items:center;padding:20px}
.auth .card{width:100%;max-width:380px}
.right{text-align:right}
.danger-zone{border-color:var(--err-soft)}
.qr svg{width:180px;height:180px;background:#fff;padding:8px;border-radius:8px}
[data-show-when]{display:none}
[data-show-when].shown{display:block}
/* ---- statistics / charts (validated: #0b8a6c on #fff, #22a37e on #15181d) ---- */
.chart{width:100%;height:auto;display:block}
.chart .grid{stroke:var(--viz-grid);stroke-width:1}
.chart .axis{stroke:var(--line);stroke-width:1}
.chart .tick{fill:var(--viz-tick);font-size:11px;font-variant-numeric:tabular-nums}
.chart .mark{fill:var(--viz-1)}
.chart .hit{fill:transparent}
.chart .bar:hover .mark{opacity:.75}
.chart .bar:hover .hit{fill:var(--viz-grid);opacity:.5}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips a{padding:5px 11px;border-radius:99px;border:1px solid var(--line);color:var(--muted);font-size:12.5px}
.chips a.on{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.chips a:hover{text-decoration:none;color:var(--ink)}
.chips a.on:hover{color:var(--panel)}
.delta{font-size:12px;color:var(--muted);margin-top:4px}
.toplist{width:100%}
.toplist td{padding:6px 12px;border-bottom:1px solid var(--line);font-size:13px}
.toplist td.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;width:1%}
.toplist .nm{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.minibar{height:6px;border-radius:3px;background:var(--viz-1);margin-top:4px;min-width:2px}
.split{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px;margin:10px 0 6px}
.split i{display:block;height:100%}
.split .s2{background:var(--viz-1)}.split .s3{background:var(--viz-tick)}.split .s4{background:var(--warn)}.split .s5{background:var(--err)}
.chart-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:760px){.chart-wrap .chart{min-width:560px}.chart-wrap .chart[viewBox^="0 0 400"]{min-width:340px}}
/* ---- domain-centric layout (Websites & Domains) ---- */
.crumbs-nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted);margin-bottom:8px}
.crumbs-nav a{color:var(--muted)}.crumbs-nav a:hover{color:var(--accent)}
.dcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}
.dcard>summary{list-style:none;cursor:pointer}
.dcard>summary::-webkit-details-marker{display:none}
.dhead{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap;padding:14px 18px}
.dhead .dn{font-size:16px;font-weight:650;color:var(--ink)}
.dhead .meta{color:var(--muted);font-size:12.5px;display:flex;gap:4px 12px;flex-wrap:wrap}
.dhead .sp{flex:1}
.dhead .chev{color:var(--muted);font-size:12px}
.dhead .chev::before{content:'▾ tools'}
details[open]>summary .chev::before{content:'▴ hide'}
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));background:var(--panel);border-top:1px solid var(--line);margin-right:-1px;margin-bottom:-1px}
.tool{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--panel);color:var(--ink);min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
a.tool:hover{background:var(--soft);text-decoration:none}
.tool .ti{flex:none;width:34px;height:34px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.tool .ti svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tool b{display:block;font-size:13.5px;font-weight:600}
.tool small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}
.tool.locked{opacity:.6}.tool.locked .ti{background:var(--soft);color:var(--muted)}
.lockline{font-size:11.5px;color:var(--warn);margin-top:3px;display:block}
.hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.hub ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.hub li a{display:block;padding:6px 8px;border-radius:6px;color:var(--ink)}
.hub li a:hover{background:var(--soft);text-decoration:none}
.hub li small{color:var(--muted);display:block;font-size:12px}
.planhead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.price{font-size:18px;font-weight:650;white-space:nowrap}
.perm{display:flex;flex-wrap:wrap;gap:6px}
.perm span{font-size:12px;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.perm span.on{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:12px 0;font-size:13px}
.limits div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);padding-bottom:4px}
.limits dt{color:var(--muted)}.limits dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.attn{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.attn:last-child{border-bottom:0}
.attn .dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:7px;background:var(--warn)}
.attn .dot.err{background:var(--err)}
.rtype{display:inline-block;min-width:52px;text-align:center;font:600 11.5px/1.8 var(--mono);border-radius:5px;background:var(--soft);border:1px solid var(--line)}
td.val{font-family:var(--mono);font-size:12.5px;word-break:break-all;max-width:440px}
.brandpreview{display:flex;align-items:center;gap:10px;background:var(--side);color:var(--side-hi);border-radius:8px;padding:12px 14px;font-weight:700}
.mini-usage{display:grid;gap:3px;min-width:110px}
.mini-usage .bar{margin-top:0;height:5px}
.mini-usage span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:760px){.limits{grid-template-columns:minmax(0,1fr)}.tools{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* ---- themes picker ---- */
.thememenu{position:relative}
.thememenu>summary svg{width:15px;height:15px}
.thememenu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;padding:5px 9px;border:1px solid var(--line);border-radius:7px}
.thememenu>summary::-webkit-details-marker{display:none}
.thememenu>summary:hover{color:var(--ink)}
.thememenu .menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:6px;min-width:190px;z-index:20}
.thememenu .menu button{display:flex;width:100%;align-items:center;gap:10px;background:none;border:0;padding:7px 9px;border-radius:6px;color:var(--ink);font-size:13px;text-align:left;cursor:pointer}
.thememenu .menu button:hover{background:var(--soft)}
.thememenu .menu button.on{font-weight:600}
.thememenu .menu button.on::after{content:'✓';margin-left:auto;color:var(--accent)}
.swatch{flex:none;width:30px;height:20px;border-radius:5px;border:1px solid rgba(0,0,0,.18);display:grid;grid-template-columns:9px 1fr;overflow:hidden}
.swatch i{display:block}.swatch b{display:grid;place-items:center;font-size:0}
.swatch b::after{content:'';width:9px;height:4px;border-radius:2px;background:var(--sw-acc)}
.themegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.themecard{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel);color:var(--ink);cursor:pointer;text-align:left;display:grid;gap:8px;font:inherit;min-width:0;width:100%;height:auto;white-space:normal;align-content:start}
.themecard b{font-size:13.5px}
.themecard:hover{border-color:var(--accent)}
.themecard.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.themecard .pv{width:100%;height:62px;border-radius:7px;display:grid;grid-template-columns:28% 1fr;overflow:hidden;border:1px solid rgba(0,0,0,.12)}
.themecard .pv .pb{padding:7px;display:grid;gap:5px;align-content:start}
.themecard .pv .pb span{height:7px;border-radius:3px;display:block}
.themecard .pv.auto{grid-template-columns:1fr 1fr}.themecard .pv.auto>span{display:grid;grid-template-columns:28% 1fr}
.themecard small{color:var(--muted);font-size:12px}
.pv-split{display:grid;grid-template-rows:1fr 1fr}
@media (max-width:760px){.thememenu .menu{right:auto;left:0}}
