[hidden]{display:none!important}body.authenticated #loginScreen{display:none!important}body:not(.authenticated) #app{display:none!important}:root{--bg:#f4f6fa;--panel:#fff;--ink:#172033;--muted:#687386;--line:#e1e6ef;--primary:#167a5a;--primary-dark:#0f6046;--danger:#c43a42;--warning:#b66a00;--shadow:0 12px 35px rgba(20,32,55,.08);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#101827;color:#fff;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand div{display:flex;flex-direction:column}.brand small{color:#94a3b8;margin-top:2px}.brand-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#20a477,#0d654a);color:#fff;font-weight:800;letter-spacing:.5px;box-shadow:0 10px 24px rgba(22,122,90,.3)}.brand-mark.small{width:40px;height:40px;border-radius:12px;font-size:13px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.sidebar-footer button{border:0;background:transparent;color:#cbd5e1;text-align:left;padding:11px 13px;border-radius:10px}.sidebar nav button:hover,.sidebar nav button.active{background:#1d293b;color:#fff}.sidebar-footer{margin-top:auto;display:grid;gap:8px}.status-button.on{background:rgba(30,170,112,.16);color:#6ee7b7}.status-button.off{background:rgba(220,70,70,.16);color:#fca5a5}.workspace{min-width:0}.topbar{height:76px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 28px;position:sticky;top:0;z-index:5}.topbar h2{margin:0;font-size:20px}.topbar small{color:var(--muted)}.topbar .ghost{margin-left:auto}.content{padding:28px;max-width:1500px}.cards{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:14px;margin-bottom:22px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card{padding:18px}.card small{display:block;color:var(--muted);margin-bottom:8px}.card strong{font-size:27px}.panel{padding:20px;margin-bottom:20px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-header h3{margin:0}.actions-row{display:flex;gap:8px;flex-wrap:wrap}.primary,.ghost,.danger,.secondary{border:1px solid transparent;padding:9px 13px;border-radius:9px;font-weight:600}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary-dark)}.secondary{background:#e8f5f0;color:#14674d}.ghost{background:#fff;border-color:var(--line);color:var(--ink)}.danger{background:#fff0f1;color:var(--danger);border-color:#ffd5d8}.icon-button{border:0;background:transparent;font-size:22px;color:inherit}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f8fafc}tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;background:#eef2f7;color:#506079}.badge.green{background:#e7f8ef;color:#14734f}.badge.red{background:#ffecef;color:#a32632}.badge.orange{background:#fff3dc;color:#946000}.badge.blue{background:#e9f2ff;color:#225d9a}.muted{color:var(--muted)}.error{color:var(--danger)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#d7f2e7,transparent 35%),#eef2f7}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow);display:grid;gap:17px}.login-card h1{margin:0}.login-card p{margin:-10px 0 4px;color:var(--muted)}label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#445065}input,select,textarea{width:100%;border:1px solid #ced6e2;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink)}textarea{min-height:100px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:15px}.toolbar label{min-width:220px}.toolbar .grow{flex:1}.empty{text-align:center;padding:35px;color:var(--muted)}dialog{border:0;border-radius:16px;padding:0;width:min(900px,calc(100% - 24px));box-shadow:0 25px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,23,42,.55)}.modal-card{padding:0}.modal-card header,.modal-card footer{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-card footer{border-bottom:0;border-top:1px solid var(--line);justify-content:flex-end;gap:9px}.modal-card h3{margin:0}.modal-card #modalBody{padding:20px;max-height:70vh;overflow:auto}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#111827;color:white;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);max-width:420px}.toast.error{background:#991b1b}.log-details{white-space:pre-wrap;max-width:600px;font-size:12px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.settings-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.settings-tabs button.active{background:#152033;color:white}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f3f5f8;border-radius:8px;padding:8px}.callout{border-left:4px solid var(--warning);background:#fff8e9;padding:13px 15px;border-radius:8px;margin-bottom:15px}.mobile-only{display:none}#menuButton{display:none}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.app{display:block}.sidebar{position:fixed;left:-270px;z-index:20;width:250px;transition:.2s}.sidebar.open{left:0}.topbar{padding:0 16px}.content{padding:16px}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}#menuButton{display:block}.panel{padding:14px}.login-card{padding:25px}}
