*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;background:#0f172a;color:#e5e7eb;padding-bottom:72px}
.nav{background:#0b1220;color:#fff;padding:12px 16px;display:flex;gap:16px;align-items:center;border-bottom:1px solid #0f1b34;position:sticky;top:0;z-index:10}
.nav a{color:#9aa4b2;text-decoration:none;padding:6px 10px;border-radius:6px}
.nav a.active{color:#fff;background:#1f2937}
.container{max-width:1150px;margin:24px auto;padding:0 16px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.card{background:linear-gradient(180deg,#111827, #0b1220);border:1px solid #1f2937;border-radius:12px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.stat-title{font-size:13px;color:#9aa4b2}
.stat-value{font-size:32px;font-weight:800;margin-top:8px;color:#fff}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
table{width:100%;border-collapse:collapse}
th,td{border-bottom:1px solid #1f2937;padding:10px 8px;font-size:13px;text-align:left}
.login,.install{max-width:420px;margin:80px auto;background:#111827;border:1px solid #1f2937;border-radius:12px;padding:24px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.login h1,.install h1{margin:0 0 12px 0;font-size:20px;color:#fff}
.err{background:#2b2020;border:1px solid #a33;padding:8px;border-radius:8px;margin-bottom:10px;color:#fca5a5}
input,select{width:100%;padding:10px;border:1px solid #334155;background:#0b1220;color:#e5e7eb;border-radius:8px;margin:6px 0}
button{padding:10px 14px;border:0;border-radius:8px;background:#4f46e5;color:#fff;cursor:pointer}
button:hover{filter:brightness(1.05)}
.filter{margin-bottom:14px;display:flex;align-items:center;gap:8px}
.filter form{display:flex;align-items:center;gap:8px}
.filter label{font-size:13px;color:#9aa4b2}
.filter select{width:auto;min-width:280px;flex:0}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px}
.card .card-title{font-size:16px;font-weight:700;margin-bottom:6px;color:#fff}
.card .muted{color:#9aa4b2;font-size:12px}
.actions{display:flex;gap:8px;margin-top:10px}
.btn{padding:8px 12px;border-radius:8px;text-decoration:none;display:inline-block}
.btn-secondary{background:#334155;color:#fff}
.btn-outline{border:1px solid #334155;color:#e5e7eb;background:transparent}
.btn-primary{background:#4f46e5;color:#fff}
.btn-list{background:#0ea5e9;color:#fff;border:1px solid #0284c7}
.btn-list:hover{filter:brightness(1.08)}
.btn-list::after{content:"→";display:inline-block;margin-left:6px}
.input-row{display:flex;gap:8px;margin-bottom:12px}
.input-row input{flex:1}
.badge{display:inline-block;background:#1f2937;color:#e5e7eb;border:1px solid #334155;border-radius:999px;padding:2px 8px;font-size:11px;margin-left:8px}
.code-row{display:flex;gap:10px;align-items:flex-start;margin-top:8px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;background:#0b1220;border:1px solid #1f2937;border-radius:8px;padding:8px 10px;display:block;word-break:break-all;color:#e5e7eb;flex:1}
.stat{position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;right:-30px;top:-30px;width:180px;height:180px;background:radial-gradient(closest-side,#4f46e5,transparent)}
.footer{position:fixed;left:0;right:0;bottom:0;padding:12px 16px;color:#9aa4b2;text-align:center;background:#0b1220;border-top:1px solid #1f2937}
.footer a{color:#9aa4b2}
