/* AMON 1.0 / ver1.0 */
:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:15px;color:#18202a;background:#f4f6f8;line-height:1.45}*{box-sizing:border-box}body{margin:0}header{height:56px;background:#111820;color:#fff;display:flex;align-items:center;gap:12px;padding:0 24px}header span{opacity:.65;font-size:.85rem}nav{position:fixed;top:56px;bottom:0;width:190px;background:#fff;border-right:1px solid #dde2e7;padding:18px 10px}nav a{display:block;padding:9px 12px;border-radius:7px;color:#34404c;text-decoration:none;margin:2px 0}nav a.active{background:#edf1f4;font-weight:650}main{margin-left:190px;padding:28px;max-width:1250px}h1{font-size:1.65rem;margin:0 0 22px}h2{font-size:1.1rem}.grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px}article,section:not(.grid){background:#fff;border:1px solid #dde2e7;border-radius:10px;padding:18px;margin-bottom:18px}article small{display:block;color:#697582;margin-bottom:8px}article b{font-size:1.2rem}.login{margin:8vh auto 0;max-width:390px}.login form{display:grid;gap:15px}label{display:grid;gap:6px;font-weight:600}input{font:inherit;padding:10px 11px;border:1px solid #b9c2ca;border-radius:7px}input:focus,button:focus,a:focus{outline:3px solid currentColor;outline-offset:2px}button{font:inherit;font-weight:650;border:0;border-radius:7px;padding:10px 14px;background:#18202a;color:#fff;cursor:pointer}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e3e7ea}th{font-size:.85rem;color:#697582}.empty{text-align:center;color:#697582}code{font-size:.9rem;overflow-wrap:anywhere}.secondary{background:#e9edf0;color:#18202a}.error{color:#9d1c1c}@media(max-width:760px){header{padding:0 16px}nav{position:static;width:auto;display:flex;overflow:auto;border-right:0;border-bottom:1px solid #dde2e7;padding:8px}nav a{white-space:nowrap}main{margin:0;padding:18px}.grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:420px){.grid{grid-template-columns:1fr}.login{margin:20px 12px}}

.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}.project-card{padding:18px}.project-head{display:flex;gap:14px;align-items:flex-start}.project-icon{display:grid;place-items:center;min-width:48px;height:48px;border:1px solid #41506a;border-radius:12px;font-weight:800}.project-card h2{margin:0 0 6px}.pill,.chip{display:inline-block;border:1px solid #41506a;border-radius:999px;padding:3px 8px;font-size:.78rem}.pill.healthy,.chip.ok{border-color:#27875a}.pill.degraded{border-color:#b98220}.pill.offline,.chip.bad{border-color:#a94242}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.actions{margin:14px 0}.button-link{display:inline-block;padding:9px 12px;border-radius:8px;background:#d7ff45;color:#111;text-decoration:none;font-weight:700}details{margin-top:10px}details code{overflow-wrap:anywhere}.title-row,.section-head,.session-line{display:flex;align-items:center;justify-content:space-between;gap:16px}.title-row h1{margin-bottom:4px}.muted,.card-note{color:#697582}.card-note{display:block;margin-top:7px;font-size:.82rem}.card-link{display:block;margin-top:9px;font-size:.86rem;color:#34404c}.health{padding:7px 11px;border-radius:999px;font-weight:700;font-size:.85rem;background:#edf1f4}.health.ok{border:1px solid #27875a}.health.warn{border:1px solid #b98220}.section-head h2{margin:0}.section-head a{color:#34404c}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#697582;margin-right:7px}.quick-links{display:flex;gap:9px;flex-wrap:wrap}.quick-links a{padding:8px 11px;border:1px solid #cdd4da;border-radius:7px;color:#27333e;text-decoration:none;background:#fafbfc}.session-line{font-size:.88rem;color:#697582}.session-line form{margin:0}.login-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 12px}.login-mode{background:#e9edf0;color:#18202a;padding:9px 7px}.login-mode.active{background:#18202a;color:#fff}.login-panel{display:none;margin:0;padding:16px}.login-panel.active{display:block}.login-panel form{display:grid;gap:14px}.table-wrap{width:100%;overflow:auto}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.mini-grid>div{border:1px solid #e1e5e9;border-radius:8px;padding:12px}.mini-grid small,.mini-grid span{display:block;color:#697582;font-size:.82rem}.mini-grid strong{display:block;margin-top:4px}.kpi-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.attention-box{border-color:#d5ad58}.filters{display:grid;grid-template-columns:minmax(230px,2fr) minmax(180px,1fr) minmax(110px,.6fr) auto;gap:12px;align-items:end}.filters select{font:inherit;padding:10px 11px;border:1px solid #b9c2ca;border-radius:7px;background:#fff}.periods a{display:inline-block;padding:6px 9px;border:1px solid #d7dde2;border-radius:6px;text-decoration:none;color:#27333e;margin-right:4px}@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.mini-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.filters{grid-template-columns:1fr 1fr}}@media(max-width:560px){.login-tabs{grid-template-columns:1fr}.kpi-grid,.mini-grid,.filters{grid-template-columns:1fr}.title-row,.section-head,.session-line{align-items:flex-start;flex-direction:column}}.credential-actions{display:flex;gap:6px;flex-wrap:wrap}.credential-actions button{padding:6px 9px;font-size:.82rem}.secret-value{display:inline-block;max-width:360px;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.secret-value[data-visible="0"]{letter-spacing:.08em}.admin-form{display:grid;gap:12px}.admin-form .form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;align-items:end}.admin-form label{display:grid;gap:5px;font-size:.9rem}.admin-form input,.admin-form select,.admin-form textarea{font:inherit;padding:9px 10px;border:1px solid #b9c2ca;border-radius:7px;background:#fff;box-sizing:border-box;width:100%}.admin-form select[multiple]{min-height:120px}.admin-form textarea{resize:vertical}.admin-form .check{display:flex;align-items:center;gap:8px}.admin-form .check input{width:auto}.admin-form .span-2{grid-column:span 2}.admin-form.compact{margin-top:12px;padding-top:12px;border-top:1px solid #e4e8eb}.danger-form{margin-top:10px}.danger{border-color:#a83d3d;background:#fff;color:#8b2020}.success-note{padding:10px 12px;border:1px solid #89b996;border-radius:8px;background:#f4fbf6}.error{padding:10px 12px;border:1px solid #d58a8a;border-radius:8px;background:#fff6f6}details summary{cursor:pointer;font-weight:600}details[open] summary{margin-bottom:8px}@media(max-width:900px){.admin-form .form-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:560px){.admin-form .form-grid{grid-template-columns:1fr}.admin-form .span-2{grid-column:auto}}
.vpn-level{display:inline-block;padding:5px 8px;border-radius:999px;font-size:.78rem;font-weight:750;border:1px solid #9aa5af}.vpn-level.full{border-color:#4169a1}.vpn-level.restricted{border-color:#b98220}.vpn-export-actions{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin-top:12px}.vpn-export-actions form{display:grid;gap:8px;padding:10px;border:1px solid #e4e8eb;border-radius:8px}.vpn-export-actions label{font-size:.82rem}.vpn-export-actions input{width:100%}button:disabled{opacity:.5;cursor:not-allowed}.danger-form{border-top:1px solid #d6a1a1!important}.table-wrap details{min-width:260px}.table-wrap details form{margin-top:10px}.table-wrap td{vertical-align:top}@media(max-width:760px){.vpn-export-actions{grid-template-columns:1fr}}

/* WiFi control subnavigation and device detail */
.subtabs{position:static;top:auto;bottom:auto;width:auto;background:transparent;border:0;padding:0;margin:0 0 18px;display:flex;gap:8px;flex-wrap:wrap}.subtabs a{display:inline-block;margin:0;padding:9px 13px;border:1px solid #cdd4da;border-radius:8px;background:#fff}.subtabs a.active{background:#18202a;color:#fff;border-color:#18202a}.filter-bar{display:grid;grid-template-columns:minmax(240px,2fr) minmax(160px,1fr) minmax(150px,1fr) auto auto;gap:10px;align-items:end;margin:14px 0}.filter-bar input,.filter-bar select{font:inherit;padding:9px 10px;border:1px solid #b9c2ca;border-radius:7px;background:#fff;width:100%}.inline-action{display:inline-grid;grid-template-columns:minmax(110px,135px) auto;gap:5px;margin:2px;vertical-align:top}.inline-action input{padding:6px 7px;font-size:.78rem}.inline-action button{padding:6px 8px;font-size:.78rem}.device-dialog{width:min(920px,calc(100vw - 36px));max-height:82vh;overflow:auto;border:1px solid #cfd6dc;border-radius:12px;padding:20px;box-shadow:0 18px 60px #0004}.device-dialog::backdrop{background:#1118}.device-dialog .mini-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.close-dialog{display:inline-block;padding:8px 10px;border:1px solid #cdd4da;border-radius:7px;text-decoration:none;color:#27333e;background:#f7f9fa}@media(max-width:900px){.filter-bar{grid-template-columns:1fr 1fr}.device-dialog .mini-grid{grid-template-columns:1fr}}@media(max-width:560px){.subtabs{display:grid;grid-template-columns:1fr 1fr}.filter-bar{grid-template-columns:1fr}.inline-action{grid-template-columns:1fr}.device-dialog{width:calc(100vw - 20px);padding:14px}}
