:root{color-scheme:dark;--bg:#080909;--sidebar:#0c0e0d;--surface:#101312;--surface-2:#151918;--surface-3:#1b201e;--border:#262c29;--border-strong:#343d38;--text:#f0f4f1;--muted:#919a95;--muted-2:#69716d;--green:#55d68c;--green-strong:#75e7a4;--green-ink:#082716;--amber:#e6bf6a;--red:#ef8374;--blue:#81acd9;--font:Inter,"Segoe UI",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);letter-spacing:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;letter-spacing:0}.compactSelect{width:auto;min-width:150px;max-width:220px}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}code{color:#b9c4be;font:12px/1.4 var(--mono);overflow-wrap:anywhere}h1,h2,h3,p{margin:0;letter-spacing:0}h1{margin-top:5px;font-size:30px;line-height:1.15}h2{font-size:17px}h3{font-size:13px;color:var(--muted);text-transform:uppercase}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;width:244px;flex-direction:column;border-right:1px solid var(--border);background:var(--sidebar)}.brand{display:flex;height:76px;align-items:center;gap:10px;padding:0 20px;border-bottom:1px solid var(--border)}.brandMark{display:flex;height:20px;align-items:flex-end;gap:3px}.brandMark span{width:4px;border-radius:1px;background:var(--green)}.brandMark span:first-child{height:9px}.brandMark span:nth-child(2){height:18px}.brandMark span:nth-child(3){height:13px}.brandName{font-size:18px;font-weight:750}.brandTag{padding:3px 6px;border:1px solid #24543a;border-radius:4px;background:#0f2117;color:var(--green);font:700 9px/1.2 var(--mono)}.nav{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:18px 12px}.navItem{display:flex;min-height:42px;align-items:center;gap:11px;padding:0 12px;border-radius:6px;color:var(--muted);font-weight:550}.navItem:hover{background:var(--surface-2);color:var(--text)}.navItemActive{background:#122019;color:var(--green)}.sidebarFooter{padding:14px;border-top:1px solid var(--border)}.backLink{display:flex;align-items:center;gap:7px;padding:8px 7px 12px;color:var(--muted);font-size:12px}.backLink:hover{color:var(--text)}.userLine{display:grid;grid-template-columns:30px 1fr 34px;align-items:center;grid-gap:9px;gap:9px;min-width:0}.userLine strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-2);color:var(--green);font:700 11px var(--mono)}.content{width:calc(100% - 244px);max-width:1500px;min-height:100vh;margin-left:244px;padding:38px 42px 80px}.mobileHeader{display:none}.pageHeader{display:flex;min-height:64px;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.kicker{color:var(--green);font:650 10px/1.3 var(--mono);text-transform:uppercase}.deviceStatus,.headerActions,.iconActions,.modalActions,.tagRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:0 13px;border:1px solid var(--border-strong);border-radius:6px;cursor:pointer;font-size:13px;font-weight:650;white-space:nowrap}.button:disabled,.iconButton:disabled{cursor:not-allowed;opacity:.42}.button-secondary{background:var(--surface-2);color:var(--text)}.button-secondary:hover:not(:disabled),.iconButton:hover:not(:disabled){border-color:#4b5751;background:var(--surface-3)}.button-primary{border-color:var(--green);background:var(--green);color:var(--green-ink)}.button-primary:hover:not(:disabled){background:var(--green-strong)}.button-danger{border-color:#6b342e;background:#261312;color:var(--red)}.button-ghost{border-color:transparent;background:transparent;color:var(--green)}.iconButton{display:inline-flex;width:34px;height:34px;flex:0 0 34px;justify-content:center;padding:0;background:transparent;color:var(--muted);cursor:pointer}.iconButton,.notice{align-items:center;border:1px solid var(--border);border-radius:6px}.notice{display:flex;min-height:42px;gap:9px;margin:0 0 14px;padding:10px 13px;font-size:13px}.notice-warn{border-color:#5d4b25;background:#211b0f;color:var(--amber)}.notice-error{border-color:#63342f;background:#231311;color:var(--red)}.notice-ok{border-color:#28523a;background:#102018;color:var(--green)}.centered,.empty,.loading{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted)}.empty,.loading{min-height:150px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.centered{min-height:100vh}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.tableFrame{border:1px solid var(--border);border-radius:7px;background:var(--surface)}.tableFrame,.tableScroll{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:13px 14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{height:40px;color:var(--muted-2);font:650 10px/1.3 var(--mono);text-transform:uppercase;white-space:nowrap}td{font-size:13px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:rgba(255,255,255,.018)}.actionsCell{text-align:right}.actionsCell .iconActions{justify-content:flex-end;flex-wrap:nowrap}.subline{display:block;margin-top:3px;color:var(--muted-2);font-size:11px}.truncate{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modelMeta,.muted{color:var(--muted)}.tag{min-height:22px;padding:0 7px;border:1px solid var(--border);border-radius:4px;background:var(--surface-2);color:#b8c0bc;font:10px/1.2 var(--mono)}.status,.tag{display:inline-flex;align-items:center}.status{min-height:23px;padding:0 8px;border:1px solid transparent;border-radius:999px;font:600 10px/1.2 var(--mono);white-space:nowrap}.status-ok{border-color:#28523a;background:#102018;color:var(--green)}.status-warn{border-color:#594822;background:#201a0e;color:var(--amber)}.status-bad{border-color:#63342f;background:#231311;color:var(--red)}.status-neutral{border-color:var(--border);background:var(--surface-2);color:var(--muted)}.drawerBackdrop,.modalBackdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.7)}.modal{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface);box-shadow:0 28px 80px rgba(0,0,0,.48)}.modal-wide{width:min(820px,100%)}.modalHeader{display:flex;height:60px;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border)}.modalBody{max-height:calc(100vh - 108px);overflow-y:auto;padding:20px}.modalActions{justify-content:flex-end;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.formStack{display:flex;flex-direction:column;gap:15px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.formSection{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.formSection h3{margin-bottom:12px}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.fieldLabel{color:#c7ceca;font-size:12px;font-weight:650}.fieldHint{color:var(--muted-2);font-size:11px}input,select,textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:5px;background:#0b0d0c;color:var(--text)}textarea{min-height:120px;resize:vertical;font-family:var(--mono);font-size:12px}input:disabled,select:disabled,textarea:disabled{color:var(--muted);opacity:.7}input::placeholder,textarea::placeholder{color:#505854}.checkGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.check{display:flex;min-height:34px;align-items:center;gap:8px;color:#c1c9c5;font-size:12px}.check input{width:16px;min-height:16px;accent-color:var(--green)}.modelList{overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.modelRow+.modelRow{border-top:1px solid var(--border)}.modelSummary{display:grid;grid-template-columns:34px minmax(190px,1.2fr) auto minmax(150px,.8fr) auto auto minmax(150px,auto);min-height:68px;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px}.modelIdentity{display:flex;min-width:0;flex-direction:column;gap:3px}.routeArea{padding:0 18px 18px 58px;border-top:1px solid var(--border);background:#0c0f0e}.routeHeader{display:flex;min-height:52px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:650}.compactTable{background:#0e1110}.toggleDot{position:relative;width:22px;height:12px;border-radius:999px;background:#3a403d}.toggleDot:after{position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:50%;background:#89918d;content:"";transition:transform .15s ease}.toggleDotOn{background:#245b3b}.toggleDotOn:after{background:var(--green);transform:translateX(10px)}.tabs{display:inline-flex;gap:2px;margin-bottom:20px;padding:3px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.tabs button{min-width:92px;min-height:34px;padding:0 13px;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;font-weight:650}.tabs .tabActive{background:var(--surface-3);color:var(--text)}.quotaCell{min-width:190px}.quota+.quota{margin-top:8px}.quotaLabel{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--muted);font-size:10px}.quotaLabel strong{color:#cdd4d0}.quotaFill,.quotaTrack{display:block;height:4px;border-radius:999px}.quotaTrack{background:#2a302d}.quotaFill{background:var(--green)}.counterOk,.textOk{color:var(--green)}.counterBad,.textBad{color:var(--red)}.counterDivider{margin:0 5px;color:var(--muted-2)}.splitPanels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.dataPanel{margin-top:18px;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.panelHeader{display:flex;min-height:60px;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--border)}.panelHeader span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.inlineIcon{margin-right:6px;vertical-align:-2px;color:var(--muted)}.deviceCode{margin:8px 0 16px;padding:13px 14px;border:1px dashed var(--border-strong);border-radius:5px;background:#0b0d0c;color:var(--text);font:700 24px/1.2 var(--mono);text-align:center;-webkit-user-select:all;-moz-user-select:all;user-select:all}.externalAction{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:650}.deviceStatus{margin-top:18px}.metricStrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.metric{min-width:0;padding:15px 16px;border-right:1px solid var(--border)}.metric:last-child{border-right:0}.metric span{display:block;margin-bottom:6px;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.metric strong{font:700 22px/1 var(--mono)}.loginPage{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(rgba(85,214,140,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(85,214,140,.025) 1px,transparent 1px),var(--bg);background-size:32px 32px}.loginPanel{width:min(410px,100%);padding:26px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface)}.loginBrand{display:flex;align-items:center;gap:13px;margin-bottom:24px}.loginIcon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #28523a;border-radius:7px;background:#102018;color:var(--green)}.loginPanel h1{margin-top:4px;font-size:21px}.drawerBackdrop{display:none}@media (max-width:1120px){.content{padding-right:24px;padding-left:24px}.modelSummary{grid-template-columns:34px minmax(160px,1fr) auto auto minmax(140px,auto)}.modelSummary>.modelMeta{display:none}.metricStrip{grid-template-columns:repeat(3,minmax(0,1fr))}.metric:nth-child(3){border-right:0}.metric:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media (max-width:780px){.sidebar{display:none}.mobileHeader{position:-webkit-sticky;position:sticky;top:0;z-index:25;display:flex;height:56px;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--border);background:rgba(12,14,13,.96)}.mobileTitle{font-weight:700}.content{width:100%;margin-left:0;padding:24px 14px 60px}.pageHeader{align-items:flex-start;flex-direction:column}.headerActions{width:100%}.headerActions .button{flex:1 1}.drawerBackdrop{display:flex;align-items:stretch;justify-content:flex-start;padding:0}.drawer{position:relative;display:flex;width:min(290px,86vw);flex-direction:column;background:var(--sidebar)}.drawer .brand{padding-right:56px}.drawerClose{position:absolute;top:20px;right:12px;z-index:2}.checkGrid,.formGrid,.splitPanels{grid-template-columns:1fr}.modelSummary{grid-template-columns:34px minmax(130px,1fr) auto}.modelSummary>.modelMeta,.modelSummary>.status{display:none}.modelSummary>.iconActions{grid-column:2/-1;justify-content:flex-end}.routeArea{padding-left:12px}.metricStrip{grid-template-columns:repeat(2,minmax(0,1fr))}.metric,.metric:nth-child(3){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.metric:nth-child(2n){border-right:0}.metric:nth-last-child(-n+2){border-bottom:0}.modalBackdrop{align-items:flex-end;padding:0}.modal,.modal-wide{width:100%;max-height:94vh;border-radius:8px 8px 0 0}}