*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#0f172a;color:#e5e7eb}.layout{display:flex;min-height:100vh}.sidebar{width:305px;background:#111827;border-right:1px solid #334155;padding:24px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:26px;font-weight:bold}.version{font-size:12px;color:#94a3b8;margin:4px 0 26px}.nav a{display:block;color:#cbd5e1;text-decoration:none;padding:10px 14px;border-radius:10px;margin:0 0 5px}.nav a:hover,.nav a.active{background:#1f2937;color:#fff}.main{flex:1;padding:28px;max-width:1850px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.card{background:#1f2937;border:1px solid #334155;border-radius:14px;padding:18px;min-height:116px}.card h3{margin:0 0 8px;font-size:17px}.card p{font-size:22px;margin:0 0 6px;word-break:break-word}.muted{color:#94a3b8}.ok{color:#86efac}.warn{color:#fde68a}.danger{color:#fca5a5}.info{color:#93c5fd}.bar{height:12px;background:#334155;border-radius:99px;overflow:hidden}.bar span{display:block;height:12px;background:#60a5fa}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#334155;font-size:12px}table{width:100%;border-collapse:collapse;background:#1f2937;border-radius:14px;overflow:hidden}th,td{padding:12px;border-bottom:1px solid #334155;text-align:left;vertical-align:top}th{background:#111827}.login{max-width:420px;margin:10vh auto;background:#1f2937;padding:28px;border:1px solid #334155;border-radius:16px}.input,select{width:100%;padding:12px;margin:8px 0 14px;background:#0f172a;color:#fff;border:1px solid #334155;border-radius:10px}.btn{background:#2563eb;color:white;border:none;padding:10px 14px;border-radius:10px;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#475569}.notice{background:#172554;color:#bfdbfe;padding:12px;border-radius:10px;margin-bottom:16px}pre.log{background:#020617;border:1px solid #334155;border-radius:14px;padding:16px;overflow:auto;max-height:680px;line-height:1.4}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:16px}code{color:#bfdbfe}.path{font-family:monospace;color:#bfdbfe}a{color:#93c5fd}@media(max-width:900px){.layout{display:block}.sidebar{width:auto;height:auto;position:relative}.grid2{grid-template-columns:1fr}}