:root{--surface-0: #121211;--surface-1: #1a1a19;--surface-2: #232322;--border: #34342f;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #8a8a80;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b;--accent: #3987e5;--radius: 8px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Pretendard,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.55}a{color:var(--accent)}.shell{max-width:1080px;margin:0 auto;padding:24px 20px 64px}.topbar{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--border)}.topbar h1{font-size:18px;margin:0;font-weight:650}.topbar .spacer{flex:1}.tabs{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.tabs button{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:7px 14px;border-radius:var(--radius);cursor:pointer;font-size:14px}.tabs button:hover{color:var(--text-primary);background:var(--surface-1)}.tabs button.active{background:var(--surface-2);color:var(--text-primary);border-color:var(--border)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.card h2{font-size:15px;margin:0 0 4px;font-weight:620}.card .hint{color:var(--text-muted);font-size:12.5px;margin:0 0 16px}.field{margin-bottom:16px}.field>label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px;font-weight:550}.field .desc{font-size:12px;color:var(--text-muted);margin-top:5px}input[type=text],input[type=password],input[type=number],select,textarea{width:100%;background:var(--surface-0);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13.5px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea{min-height:220px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px;line-height:1.6;resize:vertical}.row{display:flex;gap:12px;flex-wrap:wrap}.row>.field{flex:1 1 180px}.checkbox{display:flex;align-items:flex-start;gap:9px;margin-bottom:14px}.checkbox input{margin-top:3px;flex-shrink:0;width:15px;height:15px;accent-color:var(--accent)}.checkbox label{font-size:13.5px}.checkbox .desc{font-size:12px;color:var(--text-muted)}button.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13.5px;cursor:pointer;font-weight:550}button.btn:hover{filter:brightness(1.1)}button.btn:disabled{opacity:.5;cursor:not-allowed}button.btn.secondary{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border)}button.btn.danger{background:transparent;color:var(--status-critical);border:1px solid var(--border)}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary)}.badge .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.badge.good .dot{background:var(--status-good)}.badge.critical .dot{background:var(--status-critical)}.badge.warning .dot{background:var(--status-warning)}.badge.muted .dot{background:var(--text-muted)}.notice{padding:10px 12px;border-radius:6px;font-size:13px;border:1px solid var(--border);background:var(--surface-2);margin-bottom:14px}.notice.good{border-left:3px solid var(--status-good)}.notice.critical{border-left:3px solid var(--status-critical)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .label{font-size:12px;color:var(--text-secondary);margin-bottom:6px}.stat .value{font-size:26px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat .unit{font-size:13px;color:var(--text-muted);margin-left:3px;font-weight:400}.stat .sub{font-size:12px;color:var(--text-muted);margin-top:5px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--text-secondary);font-weight:550;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:hover{background:var(--surface-2)}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.truncate{max-width:300px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.empty{padding:32px;text-align:center;color:var(--text-muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:340px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:26px}.login-card h1{font-size:17px;margin:0 0 20px}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:16px;color:var(--text-secondary);font-size:13px}
