:root{--paper: #f2f2f0;--paper-raised: #ffffff;--ink: #0a0a0a;--muted: #6b6b6b;--faint: #999999;--line: rgba(0,0,0,.08);--gold: #B5853A;--gold-soft: #FBF6EC;--ok: #2F7A55;--ok-soft: #E8F1EC;--warn: #A8741B;--warn-soft: #F7F0E2;--danger: #9E3232;--danger-soft: #F6E9E9;--radius: 10px;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);--font: "DM Sans", -apple-system, ui-sans-serif, system-ui, "Segoe UI", sans-serif;--serif: "DM Serif Display", Georgia, serif;--mono: "DM Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000024;border-radius:10px}.page-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px}.page-head h1{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.01em;margin:0}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.section-label{font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:0 0 10px 2px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-bottom:26px}.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s}.card.clickable{cursor:pointer}.card.clickable:hover{box-shadow:0 2px 4px #0000000f,0 8px 20px #00000012;transform:translateY(-1px)}.card .label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:500}.card .value{font-size:28px;font-weight:500;letter-spacing:-.03em;margin-top:6px}.card .value small{font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0}.card.alert .value{color:var(--danger)}.card.warn .value{color:var(--warn)}.signal-band{background:var(--paper-raised);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow);margin-bottom:26px;overflow:hidden}.signal-band-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line);background:var(--gold-soft)}.signal-band-head .title{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);font-weight:600}.signal-band-head .counts{font-size:12px;color:var(--muted)}.signal-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s}.signal-band{flex-shrink:0}.signal-row:last-child{border-bottom:none}.signal-row:hover{background:#fafaf8}.signal-row .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.signal-row .dot.critical{background:var(--danger)}.signal-row .dot.warning{background:var(--warn)}.signal-row .dot.info{background:var(--faint)}.signal-row .body{flex:1;min-width:0}.signal-row .body .t{font-size:13.5px;font-weight:500}.signal-row .body .d{font-size:12px;color:var(--muted);margin-top:2px}.signal-row .when{font-size:11px;color:var(--faint);flex-shrink:0}.signal-empty{padding:26px 18px;text-align:center;color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}th{text-align:left;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:11px 14px;border-bottom:1px solid var(--line);font-weight:500}td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fafaf8;cursor:pointer}.reg{font-family:var(--mono);font-size:13px}.pill{display:inline-block;padding:2px 9px;border-radius:100px;font-size:11px;font-weight:500;letter-spacing:.02em}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.neutral{background:#edeae4;color:var(--muted)}.pill.signal-pill{background:var(--gold-soft);color:var(--gold)}.login-wrap{display:grid;place-items:center;min-height:100vh;position:relative}.login{width:348px;background:var(--paper-raised);border:1px solid var(--line);border-radius:14px;padding:30px;box-shadow:var(--shadow);position:relative;z-index:1}.login h1{font-family:var(--serif);font-size:22px;font-weight:400;margin:0 0 2px}.login p.sub{margin:0 0 22px;color:var(--muted);font-size:13px}label{display:block;font-size:12px;font-weight:500;margin:14px 0 5px;color:var(--muted)}input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:var(--font);background:#fff}input:focus{outline:2px solid var(--ink);outline-offset:-1px;border-color:transparent}button.primary{width:100%;margin-top:20px;padding:11px;background:var(--ink);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font)}button.primary:disabled{opacity:.45;cursor:default}.err{margin-top:14px;padding:9px 11px;background:var(--danger-soft);color:var(--danger);border-radius:8px;font-size:13px}.empty{padding:40px;text-align:center;color:var(--muted);font-size:14px}.toolbar{display:flex;gap:8px;align-items:center}button.ghost{padding:8px 13px;background:transparent;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:var(--font);color:var(--muted);cursor:pointer}button.ghost:hover{background:#fff;color:var(--ink)}.tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--line)}.tab{padding:9px 15px;background:transparent;border:none;border-bottom:2px solid transparent;font-family:var(--font);font-size:14px;color:var(--muted);cursor:pointer}.tab:hover{color:var(--ink)}.tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}select{padding:8px 11px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:var(--font);background:#fff;color:var(--ink)}.banner{border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:6px;padding:13px 15px;display:flex;flex-direction:column;gap:5px;background:var(--paper-raised, #fff)}.banner.ok{border-left-color:var(--ok)}.banner.warn{border-left-color:var(--warn)}.banner.danger{border-left-color:var(--danger)}.banner-detail{font-size:12.5px;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:16px;background:var(--paper-raised, #fff)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-weight:500}.form-grid input,.form-grid select{font:inherit;font-size:13.5px;text-transform:none;letter-spacing:0;color:var(--ink);padding:7px 9px;border:1px solid var(--line);border-radius:5px;background:#fff}.form-grid input:focus-visible,.form-grid select:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.muted{color:var(--muted)}
