:root{--page: #0d0d0d;--surface: #1a1a19;--surface-2: #222221;--ink: #ffffff;--ink-2: #c3c2b7;--ink-muted: #898781;--hairline: rgba(255, 255, 255, .1);--grid: #2c2c2a;--accent: #3987e5;--accent-dim: rgba(57, 135, 229, .15);--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--radius: 10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--hairline);display:flex;flex-direction:column;padding:20px 12px;position:sticky;top:0;height:100vh}.logo{font-size:20px;font-weight:700;letter-spacing:-.02em;padding:0 10px 20px}.logo span{color:var(--accent)}.nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav a{padding:8px 10px;border-radius:8px;color:var(--ink-2);font-weight:500}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{background:var(--accent-dim);color:var(--ink)}.worker-pill{margin:0 4px;padding:8px 10px;border-radius:8px;border:1px solid var(--hairline);font-size:12px;color:var(--ink-2);display:flex;align-items:center;gap:8px}.account{margin:12px 4px 0;padding-top:12px;border-top:1px solid var(--hairline)}.account-email{font-size:12px;color:var(--ink-2);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot.ok{background:var(--good)}.dot.bad{background:var(--critical)}.dot.warn{background:var(--warning)}.main{flex:1;padding:28px 32px;max-width:1100px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.page-head h1{font-size:20px;margin:0;letter-spacing:-.01em}.page-head p{margin:2px 0 0;color:var(--ink-muted);font-size:13px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:24px}.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:14px 16px}.tile .label{color:var(--ink-muted);font-size:12px}.tile .value{font-size:28px;font-weight:600;margin-top:2px}.tile .sub{color:var(--ink-2);font-size:12px;margin-top:2px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card h2{font-size:14px;margin:0 0 12px;color:var(--ink-2);font-weight:600}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--ink-muted);font-size:12px;font-weight:500;padding:6px 10px;border-bottom:1px solid var(--grid)}td{padding:9px 10px;border-bottom:1px solid var(--grid);vertical-align:top;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:none}tr.clickable:hover td{background:var(--surface-2);cursor:pointer}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--hairline);color:var(--ink-2)}.badge.accent{background:var(--accent-dim);color:var(--accent);border-color:transparent}.badge.good{color:var(--good)}.badge.bad{color:var(--critical)}.badge.off{color:var(--ink-muted)}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{background:var(--surface-2);border:1px solid var(--hairline);border-radius:6px;padding:1px 7px;font-size:12px;color:var(--ink-2)}.chip.exclude{text-decoration:line-through;opacity:.7}.btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--hairline)}.btn.ghost:hover{background:var(--surface-2);filter:none}.btn.danger{background:transparent;color:var(--critical);border:1px solid var(--hairline)}.btn.sm{padding:4px 10px;font-size:12px}label.field{display:block;margin-bottom:12px}label.field .name{display:block;font-size:12px;color:var(--ink-2);margin-bottom:4px;font-weight:500}label.field .hint{font-size:11px;color:var(--ink-muted);margin-top:3px}input[type=text],input[type=password],input[type=number],input[type=url],select,textarea{width:100%;background:var(--page);color:var(--ink);border:1px solid var(--hairline);border-radius:8px;padding:8px 10px;font-size:13px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}textarea{resize:vertical;min-height:60px}.row{display:flex;gap:12px}.row>*{flex:1}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--ink-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:50;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;width:100%;max-width:520px;padding:20px}.modal h2{margin:0 0 16px;font-size:16px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.deal{border-bottom:1px solid var(--grid);padding:12px 2px;display:flex;gap:12px;align-items:flex-start}.deal:last-child{border-bottom:none}.deal .title{font-weight:600}.deal .meta{color:var(--ink-muted);font-size:12px;margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}.deal .price{color:var(--good);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.filters{display:flex;gap:8px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.filters input[type=text]{max-width:260px}.filters select{max-width:200px;width:auto}.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;color:var(--ink-muted);font-size:13px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:32px;width:100%;max-width:360px}.login-card h1{font-size:22px;margin:0 0 4px}.login-card .tag{color:var(--ink-muted);margin-bottom:20px;font-size:13px}.error-text{color:var(--critical);font-size:13px;margin-top:8px}.ok-text{color:var(--good);font-size:13px;margin-top:8px}.empty{color:var(--ink-muted);text-align:center;padding:28px 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
