:root{--ink:#14181c;--paper:#f7f5f0;--brass:#c08a3e;--brass-dark:#8f631f;--border:#ddd7ca;--danger:#b1443a;--ok:#0b6f5f;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.topbar .logo{letter-spacing:-.01em;font-size:18px;font-weight:800}.topbar-nav{gap:4px;margin-left:auto;margin-right:24px;display:flex}.topbar-nav button{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:600}.topbar-nav button.active{background:var(--paper-dim,#efeae1);color:var(--ink)}.field select,.field input[type=time],.field input[type=number]{border:1px solid var(--border);border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.button{background:var(--ink);color:var(--paper);cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:600}.button.secondary{color:var(--ink);border:1px solid var(--border);background:0 0}.button.brass{background:var(--brass)}.button:disabled{opacity:.5;cursor:not-allowed}.auth-wrap{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.card{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;max-width:380px;padding:32px}.card h1{margin:0 0 4px;font-size:22px}.card .sub{color:#666;margin:0 0 24px;font-size:14px}.field{margin-bottom:16px}.field label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input{border:1px solid var(--border);border-radius:6px;width:100%;padding:10px 12px;font-size:14px}.field input:focus{outline:2px solid var(--brass);outline-offset:1px}.error{color:var(--danger);background:#fbeae7;border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:13px}.switch-mode{text-align:center;color:#666;margin-top:20px;font-size:13px}.switch-mode button{color:var(--brass-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.dashboard{flex:1;width:100%;max-width:800px;margin:0 auto;padding:32px 24px}.dashboard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.dashboard h1{margin:0 0 4px;font-size:24px}.dashboard .sub{color:#666;margin:0 0 32px}.scu-badge{color:#dfe2e6;white-space:nowrap;background:#12161b;border:1px solid #333c45;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:12.5px;display:flex}.scu-dot{border-radius:50%;flex:none;width:8px;height:8px}.scu-online .scu-dot{background:var(--ok);box-shadow:0 0 0 3px #0b6f5f40}.scu-degraded .scu-dot{background:var(--brass);box-shadow:0 0 0 3px #c08a3e40}.scu-offline .scu-dot{background:var(--danger);box-shadow:0 0 0 3px #b1443a40}.scu-label{font-weight:700}.scu-metrics{color:#8b96a3}.scada-tiles-wrap{border-top:1px solid var(--border);background:#f2efe6;padding:16px}.scada-tiles-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.scada-tiles-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.scada-tile-live{background:#12161b;border:1px solid #333c45;border-radius:8px;padding:12px 14px}.scada-tile-live .tname{text-transform:uppercase;letter-spacing:.04em;color:#8b96a3;font-size:11px}.scada-tile-live .tval{color:#fff;margin-top:4px;font-size:15px;font-weight:700}.scada-tile-live.state-arm .tval,.scada-tile-live.state-on .tval{color:var(--ok)}.scada-tile-live.state-disarm .tval,.scada-tile-live.state-off .tval{color:var(--brass,#c08a3e)}.scada-tile-live.state-unknown .tval{color:#8b96a3}.panel-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.panel-card{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.panel-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.panel-row .name{font-weight:600}.panel-row .row-actions{align-items:center;gap:10px;display:flex}.panel-row .link-button{color:var(--brass-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.panel-row .status{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600}.panel-row .status.pending{color:var(--brass-dark);background:#fdf1dd}.panel-row .status.active{color:var(--ok);background:#e2f3ef}.empty-state{border:1px dashed var(--border);text-align:center;color:#777;border-radius:8px;margin-bottom:24px;padding:32px}.add-panel-form{border:1px solid var(--border);background:#fff;border-radius:8px;padding:20px}.add-panel-form h2{margin:0 0 4px;font-size:16px}.add-panel-form .sub{margin-bottom:16px;font-size:13px}.wizard{border-top:1px solid var(--border);background:var(--paper);padding:20px 16px}.wizard-steps{color:#999;flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:12px;font-weight:600;display:flex}.wizard-steps .active{color:var(--brass-dark)}.wizard-subhead{margin:16px 0 8px;font-size:13px;font-weight:700}.service-list,.check-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.service-row{border:1px solid var(--border);cursor:pointer;text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.service-row:hover{border-color:var(--brass)}.check-row{align-items:center;gap:8px;font-size:14px;display:flex}
