:root{color:#172b36;font-synthesis:none;text-rendering:optimizelegibility;font-optical-sizing:auto;--ink:#172b36;--muted:#6b7b82;--line:#dce6e8;--teal:#197d77;--teal-light:#e5f3f1;--nav:#142c37;--red:#b44941;--amber:#956111;--green:#387756;--blue:#356b8d;--shadow:0 4px 18px #1736410a;background:#f3f7f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}code{background:#eef3f4;border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.hidden{display:none!important}.muted,.micro{color:var(--muted)}.micro{font-size:10px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--teal);margin:0 0 7px;font-size:10px;font-weight:750}.lede{color:var(--muted);font-size:12px;line-height:1.6}.brand-mark{color:#155a55;background:#c8e8e2;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:18px;font-weight:800;display:grid}.setup-screen,.login-screen{background:radial-gradient(at 0 0,#e5f2f0 0,#0000 46%),#f3f7f8;place-items:center;min-height:100vh;padding:24px;display:grid}.setup-card,.login-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(520px,100%);padding:34px;box-shadow:0 18px 65px #1b35410e}.setup-card h1,.login-card h1{letter-spacing:-.04em;margin:13px 0 9px;font-size:26px;line-height:1.15}.setup-card .brand-mark{margin-bottom:22px}.setup-steps{color:#425963;padding-left:19px;font-size:12px;line-height:2}.notice{color:#74541b;background:#fff8ea;border-left:3px solid #dda242;border-radius:6px;margin:18px 0 12px;padding:12px;font-size:11px;line-height:1.5}.brand-row{align-items:center;gap:10px;margin-bottom:32px;display:flex}.brand-row strong{letter-spacing:.035em;font-size:12px;display:block}.brand-row small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.login-card form{gap:8px;margin-top:22px;display:grid}.login-card label{color:#435962;font-size:11px;font-weight:650}.login-card input,.table-tools input,.table-tools select,.user-tools select{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:7px;outline:none;padding:0 11px}.login-card input:focus,.table-tools input:focus,.table-tools select:focus,.user-tools select:focus{border-color:#62a9a0;box-shadow:0 0 0 3px #197d7714}.btn{border:1px solid var(--line);height:34px;color:var(--ink);background:#fff;border-radius:7px;padding:0 12px;font-size:11px;font-weight:650}.btn:hover{border-color:#9ab4bb}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:disabled{opacity:.7;cursor:wait}.btn.ghost{color:#546970}.btn.full{width:100%;height:40px;margin-top:12px}.footnote{margin:17px 0 0;font-size:10px;line-height:1.55}.error-box{color:#a24039;background:#fff3f1;border:1px solid #f0c4bf;border-radius:7px;padding:11px 12px;font-size:11px;line-height:1.5}.shell{grid-template-columns:228px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--nav);color:#dce8ea;flex-direction:column;min-height:100vh;padding:22px 14px;display:flex}.sidebar .brand-row{margin-bottom:35px;padding:0 9px}.sidebar .brand-row small{color:#98abb0}.nav-label{color:#849ba2;letter-spacing:.12em;margin:0 10px 10px;font-size:10px;font-weight:750}.nav-item{color:#b8c8cd;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;margin:2px 0;padding:11px;font-size:12px;display:flex}.nav-item span{text-align:center;width:17px;font-size:15px}.nav-item:hover,.nav-item.active{color:#fff;background:#29434d}.sidebar-bottom{color:#cbddd9;border-top:1px solid #304a53;margin-top:auto;padding:16px 10px 3px;font-size:10px}.sidebar-bottom p{color:#8ea4aa;margin:8px 0 0;line-height:1.6}.status-dot{background:#68c697;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.status-dot.offline{background:#d49a40}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:2;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.crumb{color:var(--muted);font-size:11px}.crumb span{color:#b1bec2;padding:0 8px}.crumb strong{color:var(--ink)}.user-tools{align-items:center;gap:10px;display:flex}.user-tools select{max-width:250px;height:31px;font-size:10px}.auth-pill,.freshness{background:var(--teal-light);color:#17675f;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:7px 10px;font-size:9px;font-weight:750;display:inline-flex}.auth-pill .status-dot{width:6px;height:6px}.content{max-width:1500px;margin:0 auto;padding:27px 29px 38px}.page-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:19px;display:flex}.page-heading h1{letter-spacing:-.04em;margin:0 0 5px;font-size:25px}.page-heading .lede{margin:0}.freshness{color:#47765e;background:#ecf4f0}.freshness.warn{color:#855e1b;background:#fff4de}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px;display:grid}.stat{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;min-height:89px;padding:14px 15px}.stat span{color:var(--muted);font-size:10px;display:block}.stat strong{letter-spacing:-.04em;margin:10px 0 5px;font-size:24px;line-height:1;display:block}.stat small{color:#809097;font-size:9px}.feed-notice{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding:14px 16px;display:flex}.feed-notice strong{font-size:11px}.feed-notice p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.feed-list{flex-wrap:wrap;gap:14px;margin-top:9px;display:flex}.feed-item{align-items:center;gap:6px;font-size:10px;display:flex}.feed-item small{color:var(--muted)}.feed-state{letter-spacing:.06em;white-space:nowrap;border-radius:20px;padding:6px 8px;font-size:8px;font-weight:800}.feed-state.disconnected{color:#8c5b13;background:#fff4dd}.feed-state.connected{color:#3d7458;background:#eaf5ed}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:9px;margin-bottom:14px;overflow:hidden}.panel-heading{border-bottom:1px solid #ebf0f1;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;display:flex}.panel-heading h2{margin:0;font-size:13px}.panel-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.table-tools{gap:7px;display:flex}.table-tools input,.table-tools select{height:31px;font-size:10px}.table-tools input{width:200px}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%}th{color:#78888e;letter-spacing:.08em;text-transform:uppercase;background:#fbfcfc;padding:10px 13px;font-size:8px;font-weight:750}td{color:#344a54;border-top:1px solid #edf1f2;padding:11px 13px;font-size:10px}td strong{font-size:10px}td small{color:#84939a;margin-top:4px;font-size:9px;display:block}.pill{text-transform:capitalize;border-radius:20px;padding:4px 7px;font-size:8px;font-weight:750;display:inline-block}.pill.red{color:#ad463e;background:#fff0ed}.pill.amber{color:#936216;background:#fff4de}.pill.green{color:#3e7858;background:#e9f5ed}.pill.blue{color:#376a88;background:#eaf2f7}.pill.neutral{color:#65757b;background:#eff3f4}.empty-state{text-align:center;padding:44px 24px}.empty-state h3{margin:11px 0 5px;font-size:14px}.empty-state p{color:var(--muted);max-width:500px;margin:0 auto;font-size:11px;line-height:1.6}.empty-state.compact{padding:30px 20px}.empty-icon{width:37px;height:37px;color:var(--teal);background:#eaf4f1;border-radius:11px;place-items:center;margin:0 auto;font-size:19px;display:grid}.table-foot{color:#7c8b91;border-top:1px solid #edf1f2;padding:10px 14px;font-size:9px}.facility-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;padding:14px;display:grid}.facility{border:1px solid #e6edef;border-radius:8px;padding:13px}.facility-top,.facility-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.facility-top strong{font-size:11px}.facility p{color:var(--muted);margin:8px 0 14px;font-size:10px}.facility-bottom{font-size:9px}.facility-bottom small{color:var(--muted);text-align:right}.safety-note{color:#436466;background:#eaf4f2;border-left:3px solid #5e9c8d;border-radius:5px;align-items:flex-start;gap:9px;padding:11px 13px;font-size:9px;line-height:1.55;display:flex}.safety-note strong{white-space:nowrap;color:#275b59}.loading{color:var(--muted);padding:24px;font-size:11px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #5daea4}@media (width<=1060px){.shell{grid-template-columns:70px 1fr}.sidebar{padding:20px 8px}.sidebar .brand-row{padding:0 8px}.sidebar .brand-row>div:nth-child(2),.nav-label,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center;padding:11px 0;font-size:0}.nav-item span{font-size:15px}.sidebar-bottom{padding:14px 9px}.sidebar-bottom span:not(.status-dot),.sidebar-bottom p{display:none}.content{padding:22px 19px}}@media (width<=760px){.shell{display:block}.sidebar{display:none}.topbar{gap:8px;height:auto;min-height:56px;padding:9px 13px}.crumb{display:none}.user-tools{justify-content:flex-end;width:100%}.auth-pill{display:none}.user-tools select{max-width:55%;margin-right:auto}.content{padding:19px 13px 28px}.page-heading{flex-direction:column;align-items:flex-start;gap:9px}.page-heading h1{font-size:22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{min-height:81px;padding:11px}.stat strong{font-size:21px}.feed-notice{gap:8px;padding:12px}.table-tools{flex-wrap:wrap}.table-tools input{width:145px}.panel-heading{flex-direction:column;align-items:flex-start}.facility-grid{grid-template-columns:1fr}.safety-note{flex-direction:column;gap:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.project-link{color:var(--teal);margin-top:10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-block}.project-link:hover{text-decoration:underline}
