*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#e2e8f0;min-height:100vh}a{color:#60a5fa;text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 24px}.btn{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s;display:inline-block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-secondary{background:#334155;color:#e2e8f0}.btn-secondary:hover:not(:disabled){background:#475569}.btn-sm{padding:4px 10px;font-size:.8rem}input,select,textarea{padding:8px 12px;border:1px solid #334155;border-radius:6px;background:#1e293b;color:#e2e8f0;font-size:.9rem;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:#3b82f6}input[type=checkbox]{width:auto}.page{padding:24px 0 48px}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}h1{font-size:1.6rem}h2{font-size:1.2rem;margin:20px 0 10px}h3{font-size:1rem;margin:12px 0 8px}.subtitle{color:#94a3b8;margin-bottom:16px}.muted{color:#94a3b8}.small{font-size:.8rem}.right{text-align:right}.nowrap{white-space:nowrap}.card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px 20px;margin-bottom:16px}.card h2:first-child,.card h3:first-child{margin-top:0}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.tile{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:14px 16px}.tile .label{color:#94a3b8;font-size:.8rem}.tile .value{font-size:1.4rem;font-weight:700;color:#60a5fa;margin-top:4px}.tile .value.warn{color:#fbbf24}.tile .value.bad{color:#f87171}table.grid{width:100%;border-collapse:collapse;margin-bottom:8px}table.grid th,table.grid td{padding:8px 10px;text-align:left;border-bottom:1px solid #334155;vertical-align:top}table.grid th{color:#94a3b8;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}table.grid td.right,table.grid th.right{text-align:right}table.grid tr.clickable{cursor:pointer}table.grid tr.clickable:hover td{background:#172033}table.grid tr.selected td{background:#3b82f61f}table.grid tfoot td{font-weight:700;border-top:2px solid #475569}table.grid input,table.grid select{width:100%;min-width:70px}.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;align-items:end}.form label,.field{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:#94a3b8}.form label.check,label.check{flex-direction:row;align-items:center;gap:8px;color:#e2e8f0;font-size:.9rem}.form .wide{grid-column:1 / -1}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input[type=search]{min-width:240px}.error{background:#ef44441f;border:1px solid #7f1d1d;color:#fca5a5;padding:8px 12px;border-radius:8px;margin:8px 0}.success{background:#22c55e1f;border:1px solid #14532d;color:#86efac;padding:8px 12px;border-radius:8px;margin:8px 0}.note{background:#3b82f61a;border:1px solid #1e3a8a;color:#bfdbfe;padding:8px 12px;border-radius:8px;margin:8px 0}.confirm{background:#fbbf241a;border:1px solid #78350f;color:#fde68a;padding:10px 12px;border-radius:8px;margin:8px 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.empty{color:#64748b;text-align:center;padding:24px}.loading{color:#94a3b8;padding:16px 0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:#334155;color:#e2e8f0;white-space:nowrap}.badge.good{background:#22c55e2e;color:#86efac}.badge.warn{background:#fbbf242e;color:#fde68a}.badge.bad{background:#ef44442e;color:#fca5a5}.badge.info{background:#3b82f62e;color:#93c5fd}.tabs{display:flex;gap:4px;border-bottom:1px solid #334155;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:none;border:none;color:#94a3b8;padding:8px 14px;cursor:pointer;font-size:.9rem;border-bottom:2px solid transparent}.tabs button:hover{color:#e2e8f0}.tabs button.active{color:#60a5fa;border-bottom-color:#60a5fa}
