.admin-body { display: block; }
.admin-head { display: flex; align-items: center; gap: 24px; padding: 14px 28px; background: var(--bg-2); border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.admin-head .brand small { color: var(--accent); font-weight: 700; }
.tabs { display: flex; gap: 4px; flex: 1; }
.tabs button { border: 0; background: transparent; padding: 8px 14px; border-radius: 999px; cursor: pointer; color: var(--ink-2); font-weight: 600; }
.tabs button.active { background: var(--card); color: var(--ink); box-shadow: var(--shadow); }
.admin-me { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--ink-2); }
.admin-main { padding: 24px 28px; max-width: 1400px; margin: auto; display: flex; flex-direction: column; gap: 20px; }
.tab { display: flex; flex-direction: column; gap: 20px; }
.denied { text-align: center; padding: 60px 0; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.stat { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; box-shadow: var(--shadow); }
.stat b { display: block; font-size: 28px; letter-spacing: -.02em; }
.stat span { color: var(--ink-3); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.stat.live b { color: var(--warn); }
.grid2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; }
.bars { display: flex; align-items: flex-end; gap: 3px; height: 160px; padding-top: 10px; }
.bars .day { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 1px; position: relative; min-width: 0; }
.bars .day i { display: block; border-radius: 3px 3px 0 0; }
.bars .day i.b { background: var(--accent); }
.bars .day i.e { background: #b6d8c9; }
.bars .day:hover::after { content: attr(data-tip); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: var(--ink); color: #fff; font-size: 11px; padding: 3px 7px; border-radius: 6px; white-space: nowrap; z-index: 2; }
.legend { color: var(--ink-3); font-size: 12px; margin-top: 8px; }
.legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; vertical-align: -1px; margin-right: 4px; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0; font-size: 13px; }
.kv dt { color: var(--ink-3); } .kv dd { margin: 0; font-family: var(--mono); font-size: 12.5px; word-break: break-all; }
.table-card { padding: 14px 18px; }
.table-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.table-head .name-small { width: 260px; margin: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }
th { text-align: left; color: var(--ink-3); font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; padding: 8px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 8px 10px; border-bottom: 1px solid var(--bg-2); vertical-align: middle; }
tr:hover td { background: var(--bg); }
td.mono, .mono { font-family: var(--mono); font-size: 12px; color: var(--ink-2); }
td select { border: 1px solid var(--line); border-radius: 8px; padding: 3px 6px; background: var(--card); }
.badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--bg-2); color: var(--ink-2); text-transform: capitalize; }
.badge.admin { background: var(--accent-soft); color: #9a3f1c; }
.badge.ready, .badge.success { background: #dff3ea; color: #24774f; }
.badge.building, .badge.running { background: #fff1c9; color: #7a5c00; }
.badge.error, .badge.cancelled, .badge.interrupted, .badge.missing { background: #fde0df; color: #9b2f2d; }
.active-build { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--bg-2); font-size: 13px; }
.active-build .muted { flex: 1; }
.you { color: var(--accent); font-weight: 700; font-size: 11px; margin-left: 4px; }
@media (max-width: 900px) { .grid2 { grid-template-columns: 1fr; } .admin-main { padding: 16px; } }
