.surface{background:var(--paper,#f2f4f1);height:100%;color:var(--ink,#14201b);font-family:var(--font-ui,Inter, system-ui, sans-serif);font-size:14px;overflow:auto}.surface-main{max-width:1400px;padding:24px 32px 64px}.surface-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.surface-head h1{font-family:var(--font-read,Georgia, serif);margin:0;font-size:28px;font-weight:500}.surface-head p{color:var(--ink-3,#7e8983);margin:6px 0 0}.surface-grid{gap:16px;display:grid}.surface-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.surface-card{background:var(--surface,#fff);border:1px solid var(--hairline,#e0e4df);box-shadow:var(--sh,0 1px 2px #14201b0d);border-radius:12px;padding:18px 20px}.surface-card.hoverable{cursor:pointer;transition:transform .18s,box-shadow .18s}.surface-card.hoverable:hover{box-shadow:var(--sh-2,0 10px 30px -12px #14201b33);transform:translateY(-1px)}.kpi-row{flex-wrap:wrap;gap:10px;display:flex}.kpi{border:1px solid var(--hairline,#e0e4df);background:var(--surface-2,#fafbfa);border-radius:10px;min-width:120px;padding:10px 14px}.kpi .l{font-family:var(--font-data,monospace);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3,#7e8983);font-size:10px}.kpi .v{margin-top:4px;font-size:18px;font-weight:600}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--hairline,#e0e4df);padding:10px 12px}.data-table th{font-family:var(--font-data,monospace);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3,#7e8983);font-size:10px}.badge{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.ok{color:#2e7d52;background:#2e7d5218}.badge.warn{color:#c98a2c;background:#c98a2c18}.badge.bad{color:#bc4a33;background:#bc4a3318}.badge.neutral{color:#4a554f;background:#7e898318}.surface-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.chip{border:1px solid var(--hairline,#e0e4df);background:var(--surface,#fff);cursor:pointer;color:var(--ink-2,#4a554f);border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;text-decoration:none;display:inline-flex}.chip.on{background:var(--teal,#0e6e63);color:#fff;border-color:var(--teal,#0e6e63)}.search-box{gap:8px;margin-bottom:16px;display:flex}.search-box input{border:1px solid var(--hairline,#e0e4df);font:inherit;background:var(--surface,#fff);color:var(--ink,#14201b);border-radius:10px;flex:1;padding:11px 14px}.search-box button,.btn{background:var(--teal,#0e6e63);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}a.btn{border:none}.btn.secondary{color:var(--teal,#0e6e63);background:0 0;border:1px solid #0e6e6333}.surface-empty{text-align:center;color:var(--ink-3,#7e8983);padding:32px}.surface-link-card{color:inherit;text-decoration:none;display:block}.surface-card .data-table th:first-child,.surface-card .data-table td:first-child{padding-left:20px}.surface-card .data-table th:last-child,.surface-card .data-table td:last-child{padding-right:20px}.admin-ops-nav{flex-wrap:wrap}.eyebrow{font-family:var(--font-data,monospace);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3,#7e8983);font-size:10.5px;font-weight:500}@media (max-width:900px){.surface-grid.two,.surface-grid.three{grid-template-columns:1fr}}html[data-theme=dark] .surface-card.hoverable:hover{box-shadow:var(--sh-2,0 14px 36px -14px #0000008c)}html[data-theme=dark] .data-table tbody tr:hover td{background:var(--surface-2,#0f1814)}html[data-theme=dark] .btn.secondary{color:var(--teal-deep,#7fd6c6);background:0 0;border-color:#2ea39544}html[data-theme=dark] .btn.secondary:hover{background:#2ea39514}html[data-theme=dark] .badge.ok{color:#7fcf9b;background:#4fb07a22}html[data-theme=dark] .badge.warn{color:#e8c673;background:#d9a44522}html[data-theme=dark] .badge.bad{color:#e89a86;background:#d96a5222}html[data-theme=dark] .badge.neutral{color:#aebbb4;background:#7c8b8322}html[data-theme=dark] .search-box input::placeholder{color:var(--ink-3,#7c8b83)}
