@import url("../../packages/design-system/tokens.css");

*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;background:var(--paper-2);color:var(--ink-soft);
  font-family:var(--font-ui);font-weight:500;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}
a{color:var(--ink);text-decoration:none}

/* top bar */
.topbar{height:56px;background:#0E0E0C;color:#FAFAF6;display:flex;align-items:center;gap:16px;padding:0 22px;
  position:sticky;top:0;z-index:20}
.topbar .brand img{height:24px;display:block}
.topbar .brand-tag{color:#A6A39A}
.topbar .who{color:#FAFAF6;opacity:.85}
.topbar .sp{flex:1}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--hairline);background:var(--paper);
  color:var(--ink);padding:7px 13px;border-radius:4px;font-family:var(--font-ui);font-weight:600;font-size:13px;cursor:pointer}
.btn:hover{border-color:var(--baobab);color:var(--baobab)}
.btn-ghost{background:transparent;border-color:#FAFAF6;color:#FAFAF6}
.btn-ghost:hover{border-color:var(--baobab);color:var(--baobab)}
.btn-primary{background:var(--baobab);border-color:var(--baobab);color:#FAFAF6}
.btn-primary:hover{color:#FAFAF6;opacity:.92}

/* layout */
.layout{display:grid;grid-template-columns:212px 1fr;min-height:calc(100vh - 56px)}
.side{background:var(--paper);border-right:1px solid var(--hairline);padding:14px 10px}
.side a{display:block;padding:9px 12px;border-radius:4px;color:var(--ink-soft);font-size:13.5px;margin-bottom:2px}
.side a:hover{background:var(--paper-2);color:var(--ink)}
.side a.act{background:var(--paper-2);color:var(--ink);font-weight:600;border-left:2px solid var(--baobab)}
.main{padding:26px 30px;max-width:1100px}

/* typography */
h1{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:28px;color:var(--ink);margin:0 0 4px;letter-spacing:-.01em}
h2{font-family:var(--font-ui);font-weight:600;font-size:13px;color:var(--ink-mute);margin:0 0 18px;text-transform:uppercase;letter-spacing:.05em}
.lead{color:var(--ink-mute);max-width:70ch;margin:0 0 22px}

/* cards / stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:24px}
.stat{background:var(--paper);border:1px solid var(--hairline);border-radius:4px;padding:16px}
.stat .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute)}
.stat .v{font-family:var(--font-display);font-style:italic;font-size:30px;color:var(--ink);line-height:1.1;margin-top:6px}

/* table */
.panel{background:var(--paper);border:1px solid var(--hairline);border-radius:4px;overflow:hidden;margin-bottom:22px}
.panel .hd{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--hairline)}
.panel .hd h3{margin:0;font-size:14px;color:var(--ink);font-weight:600}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--hairline);font-size:13px}
thead th{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-mute);font-weight:500;background:var(--paper-2)}
tbody tr:last-child td{border-bottom:0}
td .pill{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;padding:2px 7px;border-radius:3px;border:1px solid var(--hairline);color:var(--ink-mute)}
td .pill.on{color:var(--baobab);border-color:var(--baobab)}
td .pill.off{color:#FAFAF6;background:var(--ink);border-color:var(--ink)}
.muted{color:var(--ink-mute)}
.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}
.toolbar input{flex:1;background:var(--paper);border:1px solid var(--hairline);border-radius:4px;padding:8px 12px;font-family:var(--font-ui);font-size:13px;color:var(--ink)}
.toolbar input:focus{outline:2px solid var(--baobab);outline-offset:1px}
.note{font-family:var(--font-mono);font-size:11px;color:var(--ink-mute);background:var(--paper-2);border:1px dashed var(--hairline);border-radius:4px;padding:10px 14px;margin-top:6px}
.kvs{display:grid;grid-template-columns:200px 1fr;gap:8px 18px;font-size:13px}
.kvs .k{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-mute)}
@media(max-width:760px){ .layout{grid-template-columns:1fr} .side{display:none} }
