*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:Inter,Segoe UI,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#111827;color:#fff;padding:24px}.brand{font-size:20px;font-weight:800;line-height:1.15}.brand span{font-size:12px;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em}.sidebar nav{display:grid;gap:8px;margin-top:32px}.sidebar a,.logout button{display:block;color:#dbeafe;text-decoration:none;background:transparent;border:0;text-align:left;padding:10px 12px;border-radius:6px;font:inherit}.sidebar a:hover,.logout button:hover{background:#1f2937}.logout{position:absolute;bottom:24px;left:24px;right:24px}.main{margin-left:250px;padding:32px;min-height:100vh}.main section{scroll-margin-top:24px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}h1{margin:0 0 18px;font-size:28px}h2{font-size:18px;margin-top:28px}.button,.primary,button{border:0;border-radius:6px;background:#2563eb;color:#fff;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}button:disabled{background:#94a3b8;cursor:not-allowed}.metrics{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:14px;margin-bottom:28px}.metrics div,.detail-grid div,.login-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.metrics strong{display:block;font-size:30px}.metrics span,.detail-grid span{display:block;color:#667085;font-size:13px;margin-bottom:6px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #eef2f7}th{background:#f9fafb;color:#667085;font-size:12px;text-transform:uppercase}.badge{display:inline-flex;align-items:center;min-width:70px;justify-content:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#e5e7eb;color:#374151}.badge.online{background:#dcfce7;color:#166534}.badge.offline{background:#dbeafe;color:#1e3a8a}.badge.error{background:#fee2e2;color:#991b1b}.badge.warning{background:#ffedd5;color:#9a3412}.alert{border-radius:8px;padding:12px 14px;margin-bottom:18px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.alert.warning{background:#fff7ed;color:#9a3412}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px;max-width:980px}.grid-form label,.login-panel label{display:grid;gap:6px;font-weight:700;color:#344054}.grid-form input,.grid-form textarea,.login-panel input,.inline-form input,.inline-form select{border:1px solid #cbd5e1;border-radius:6px;padding:10px 12px;font:inherit;background:#fff}.grid-form .full{grid-column:1/-1}.login-panel{max-width:420px;margin:8vh auto}.login-panel.wide-panel{max-width:none;margin:0 0 22px}.login-panel form{display:grid;gap:16px}.tabs{display:flex;gap:4px;overflow:auto;margin-bottom:18px;border-bottom:1px solid #dbe3ef}.tabs a{display:inline-flex;padding:10px 12px;color:#475467;text-decoration:none;border-bottom:3px solid transparent}.tabs a:hover{color:#1d4ed8;background:#eef4ff}.tabs .active{color:#1d4ed8;border-bottom-color:#2563eb}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}code{background:#111827;color:#dbeafe;border-radius:5px;padding:2px 5px}.inline-form{display:flex;gap:8px;align-items:center}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.check-grid label{display:flex;align-items:center;gap:8px;font-weight:600}.check-grid input{width:16px;height:16px}.code-block,.mini-log{background:#111827;color:#dbeafe;border-radius:8px;padding:16px;overflow:auto;max-height:420px}.mini-log{max-width:420px;max-height:180px;font-size:12px}summary{cursor:pointer;color:#2563eb;font-weight:700}@media(max-width:860px){.sidebar{position:static;width:auto}.main{margin-left:0;padding:18px}.metrics,.detail-grid,.grid-form{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}table{display:block;overflow-x:auto}.inline-form{align-items:stretch;flex-direction:column}}
