:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202a32;background:#f5f7f9;font-synthesis:none;font-size:14px;line-height:1.5;letter-spacing:0;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9bd8c5;outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.25;margin-bottom:6px;font-weight:680}h2{font-size:17px;line-height:1.4;font-weight:650;margin-bottom:16px}h3{font-size:15px}svg{flex-shrink:0}input,select{width:100%;min-width:0;height:42px;border:1px solid #d5dde2;background:#fff;color:#243039;padding:9px 12px;border-radius:5px}input[type=checkbox]{accent-color:#16876a;width:17px;height:17px}input:focus,select:focus{border-color:#16876a}input::placeholder{color:#8a959f}.shell{display:flex;min-height:100dvh}.sidebar{width:232px;flex-shrink:0;background:#fff;border-right:1px solid #dde3e8;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:60}.brand{height:85px;display:flex;align-items:center;gap:11px;padding:0 25px;color:#162d2a;flex-shrink:0}.brand img{width:36px;height:36px;object-fit:contain}.brand>div{font-size:20px;font-weight:750;line-height:1.15}.brand span{display:block;font-size:10px;letter-spacing:0;color:#76858d;font-weight:600;margin-top:4px}.workspace-label{font-size:10px;color:#83909b;padding:24px 24px 12px;font-weight:600}.sidebar nav{padding:0 12px;overflow-y:auto}.nav-item{border:0;display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:12px 13px;color:#64727c;background:transparent;min-height:45px;border-radius:5px;margin-bottom:3px;font-size:13px}.nav-item:hover{background:#f3f6f7;color:#293d45}.nav-item.selected{background:#e8f4ef;color:#08785a;font-weight:650}.nav-item b{font-size:10px;background:#d6ebe2;border-radius:4px;min-width:21px;height:19px;text-align:center;margin-left:auto;line-height:19px}.sidebar-bottom{display:flex;align-items:center;padding:18px 15px;gap:10px;margin-top:auto;border-top:1px solid #e8edef}.avatar{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;background:#e8eef5;color:#3e6384;border:1px solid #d5e0eb;border-radius:6px;font-weight:700}.user-label{flex:1;min-width:0;font-size:12px}.user-label strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-label span{font-size:11px;color:#8a959d}.main-column{margin-left:232px;flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:76px;background:#fff;border-bottom:1px solid #e1e6e9;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:18px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:12px;color:#919ba3;min-width:0}.breadcrumb strong{color:#46565e;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.server-live{display:flex;align-items:center;gap:7px;font-size:11px;color:#74858c}.server-live>span,.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#24a579}.icon{width:32px;height:32px;border:0;background:transparent;border-radius:4px;color:#74828d;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px}.icon:hover{background:#edf2f4;color:#293b43}.button{min-height:38px;border:1px solid #d5dfe3;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border-radius:5px;padding:8px 13px;color:#465862;font-size:12px;font-weight:600;text-align:center;line-height:1.35;max-width:100%}.button:hover{background:#f5f8f9;border-color:#b8c9ce}.button.primary{background:#148365;border-color:#148365;color:#fff}.button.primary:hover{background:#096d52}.button.danger{background:#fff;color:#b13d40;border-color:#e5c6c8}.button.full{width:100%}.button span{overflow-wrap:anywhere}.main-column main{padding:30px 34px 45px;flex:1;min-width:0;max-width:1720px;width:100%;align-self:center}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 27px;min-height:64px}.eyebrow{font-size:9px;font-weight:650;color:#8a989f;margin-bottom:9px}.heading-actions{display:flex;gap:10px;flex-shrink:0}.key-line{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;color:#84929b;margin:7px 0 0}.key-line span{font-family:Inter,-apple-system,sans-serif}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:32px}.metric{background:#fff;border:1px solid #e1e7eb;border-radius:6px;padding:19px 20px 16px;min-height:120px}.metric>div{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px;color:#75858f;min-height:30px}.metric svg{color:#4d91ca}.metric-1 svg{color:#916bb6}.metric-2 svg{color:#d4a049}.metric-3 svg{color:#378c70}.metric>strong{font-size:31px;font-weight:600;display:block;color:#27333c;margin-top:8px}.band{margin-bottom:30px;padding-top:3px;min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;min-height:32px}.section-heading h2{margin:0}.link{background:none;border:0;color:#148365;display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:3px 0}.link:hover{text-decoration:underline}.table-wrap{overflow-x:auto;width:100%;border:1px solid #e1e7eb;border-radius:6px;background:#fff}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}thead{background:#f9fbfc;color:#8a98a2;font-size:10px;font-weight:500}th{text-align:left;padding:13px 18px;font-weight:550;line-height:1.4}td{padding:16px 18px;border-top:1px solid #edf0f2;color:#52636e;height:69px}td strong{font-weight:600;color:#35434b;display:block;font-size:12px}td small{display:block;font-size:10px;color:#99a4ad;margin-top:3px}.device-name{display:flex;gap:13px;align-items:center;padding:0;background:none;border:0;color:#687d88;text-align:left}.device-name>svg{color:#648898;background:#eef4f7;box-sizing:content-box;padding:8px;border-radius:5px}.device-name:hover strong{color:#148365}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.firmware-version{max-width:240px;overflow:hidden;text-overflow:ellipsis}.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;height:69px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:10px;line-height:1.4;padding:4px 7px;border-radius:4px;white-space:nowrap;background:#f0f3f5;color:#7c8a93}.badge>span{width:4px;height:4px;background:currentColor;border-radius:50%}.badge.active,.badge.approved,.badge.issued{background:#e9f5ed;color:#2d8a5a}.badge.pending{background:#fff4df;color:#b38228}.badge.rejected,.badge.revoked,.badge.blocked{background:#fbecee;color:#ad575e}.connection{font-size:10px;color:#99a4ac;display:inline-flex;align-items:center;gap:6px}.connection:before{content:"";width:5px;height:5px;display:inline-block;border-radius:50%;background:currentColor}.connection.on{color:#26855f}.muted{color:#99a3ab;font-size:11px}.grow{flex:1}.empty{padding:54px 20px;text-align:center;color:#90a0a9;border:1px dashed #d9e2e7;border-radius:6px}.empty>svg{color:#9eb2be;margin-bottom:15px}.empty h3{color:#62727d;font-size:14px;font-weight:500}.empty .button{margin-top:8px}.notice{display:flex;gap:10px;align-items:center;border:1px solid #d4e9dc;border-radius:5px;font-size:12px;padding:11px 13px;margin-bottom:16px;background:#edf8f1;color:#36694d;overflow-wrap:anywhere}.notice>span{flex:1;min-width:0}.notice.error{border-color:#ebced1;background:#fdf0f1;color:#a0444e}.notice .icon{height:24px;width:24px}.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;color:#88959e;font-size:11px}.search{display:flex;align-items:center;position:relative;width:320px;max-width:100%;color:#8b9ba6}.search>svg{position:absolute;left:11px}.search input{padding-left:37px;font-size:12px;height:38px}.device-status{display:flex;gap:18px;align-items:center;font-size:11px;color:#84929d;padding:17px 0;border-top:1px solid #e1e7eb;flex-wrap:wrap}.device-status .connection:before{display:none}.tabs{display:flex;gap:21px;border-bottom:1px solid #dce4e9;margin-bottom:25px;overflow-x:auto;scrollbar-width:thin}.tabs button{padding:13px 0 12px;white-space:nowrap;border:0;border-bottom:2px solid transparent;background:none;color:#8a97a0;font-size:12px;font-weight:550;min-height:44px}.tabs button.active{color:#148365;border-bottom-color:#148365}.details{margin:20px 0 26px;max-width:100%;background:#fff;border-top:1px solid #e6ecef;border-bottom:1px solid #e6ecef}.details>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:14px 16px;border-bottom:1px solid #edf1f3;align-items:start;font-size:12px}.details>div:last-child{border:0}dt{color:#8a99a3}dd{margin:0;color:#4a5d68;overflow-wrap:anywhere}.full-key{overflow-wrap:anywhere;white-space:normal;word-break:break-word}.action-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;font-size:12px;color:#6c7b86;min-width:0}.field>span{font-weight:550}.field code{background:#edf3f4;padding:10px;border-radius:4px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:740px;margin-top:20px}.form-grid .field{margin:0 0 12px}.subheading{border-top:1px solid #e0e7eb;padding-top:24px;margin-top:32px;color:#62737e}.output{background:#fff;border:1px solid #dfe6eb;border-radius:5px;padding:20px;min-height:120px;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 ui-monospace,SFMono-Regular,monospace;color:#60737d}.terminal{background:#20272c;color:#d6e3e7;padding:23px;min-height:300px;max-height:500px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:5px 5px 0 0;font:12px/1.8 ui-monospace,SFMono-Regular,monospace;margin-bottom:0}.terminal-input{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #d6e0e5;padding:9px 12px;border-radius:0 0 5px 5px}.terminal-input>span{color:#2e886c;font-weight:700;font-size:22px}.terminal-input input{border:0;font:12px ui-monospace,monospace;flex:1}.terminal-input .button{min-width:100px}.firmware-filter{display:flex;align-items:center;justify-content:space-between;max-width:none;margin:24px 0 18px;gap:24px}.firmware-filter>.field{min-width:260px;width:420px;max-width:100%;margin:0}.format{font:9px ui-monospace,monospace;border:1px solid #d8e3ea;border-radius:4px;padding:4px 6px;color:#62849b;background:#f5f9fb}.post-flash{display:flex;align-items:flex-start;gap:15px;background:#ecf5f1;border-top:1px solid #cee4d9;border-bottom:1px solid #cee4d9;margin-top:26px;padding:20px;color:#3e7561}.post-flash h3{margin-bottom:7px;font-size:13px}.post-flash p{margin:0;max-width:750px;font-size:12px}.channel-list{margin-top:30px;border-top:1px solid #e1e8eb}.channel-list>div{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #e1e8eb}.channel-list strong{flex:1;font-size:12px}.toggle-row{display:flex;gap:10px;align-items:center;margin:25px 0;color:#637680;font-size:12px}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#14202a70;z-index:200;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:480px;max-width:100%;min-width:0;max-height:calc(100dvh - 40px);overflow-y:auto;background:#fff;border:1px solid #d5dfe4;border-radius:8px;padding:22px;box-shadow:0 16px 60px #0c263126}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.import-commands{display:block;width:100%;height:260px;min-height:160px;resize:vertical;white-space:pre;overflow:auto;font-size:12px;line-height:1.6}.modal-head h2{margin:0;font-size:19px}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:28px}.segmented{display:flex;border:1px solid #dce5e9;border-radius:5px;background:#f5f8f9;padding:3px;margin:20px 0;gap:3px}.segmented button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:35px;border:0;border-radius:3px;background:none;color:#7b8d97;font-size:12px}.segmented button.selected{background:#fff;box-shadow:0 1px 3px #243c5015;color:#178365;font-weight:650}.qr{display:grid;place-items:center;padding:16px;background:#fff;margin-bottom:20px}.setup{padding:80px 0;text-align:center}.setup>svg{color:#1d8d6a;margin-bottom:25px}.setup h1{font-size:23px;margin-bottom:25px}.main-column footer{padding:16px 34px;border-top:1px solid #e1e7eb;background:#fff;display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:10px;color:#97a2ab;position:relative}.main-column footer>span:first-child{display:flex;gap:7px;align-items:center}.operation-progress{position:fixed;z-index:150;bottom:20px;left:calc(50% + 100px);transform:translate(-50%);display:flex;gap:10px;align-items:center;max-width:calc(100vw - 30px);padding:12px 20px;border:1px solid #c6e2d8;background:#eff9f4;box-shadow:0 3px 15px #25333e15;border-radius:6px;color:#26765c;font-size:12px}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{min-height:100dvh;display:flex;gap:10px;align-items:center;justify-content:center;color:#789087}.mobile-menu{display:none}.auth-page{min-height:100dvh;display:flex;flex-direction:column;background:#fff}.auth-page>header{height:90px;border-bottom:1px solid #e4eaee;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.auth-page .brand{padding:0;height:auto}.auth-caption{font-size:12px;color:#94a0a8}.auth-form{width:390px;max-width:calc(100% - 40px);margin:auto;padding:42px 0}.auth-form h1{font-size:24px;margin:0 0 24px}.auth-symbol{width:54px;height:54px;background:#edf7f1;color:#25866b;border:1px solid #d8ece2;display:grid;place-items:center;border-radius:8px;margin-bottom:23px}.auth-form .eyebrow{font-size:10px;margin-bottom:10px}.auth-form .field{margin-bottom:18px}.auth-form .button.full{margin-top:7px;min-height:43px}.auth-note{font-size:11px;line-height:1.8;color:#94a1a9;text-align:center;margin:20px 0 0}.auth-page>footer{padding:20px;text-align:center;font-size:10px;color:#a0aab1}@media(min-width:1500px){.main-column main{padding-left:46px;padding-right:46px}.topbar{padding-left:46px;padding-right:46px}}@media(max-width:1150px){.sidebar{width:205px}.main-column{margin-left:205px}.topbar{padding:0 22px}.main-column main{padding:24px 22px}.top-actions{gap:8px}.server-live{display:none}.metrics{gap:12px}.metric{padding:16px 14px}.metric>div{font-size:10px}.table-wrap th,.table-wrap td{padding-left:14px;padding-right:14px}.operation-progress{left:calc(50% + 90px)}}@media(max-width:900px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:190px}.nav-item{font-size:12px;padding:11px 9px;gap:9px}.main-column{margin-left:190px}.brand{padding-left:19px}.brand>div{font-size:19px}.sidebar-bottom{padding-left:10px;padding-right:10px}.details>div{grid-template-columns:170px minmax(0,1fr)}.firmware-filter{align-items:flex-start;flex-direction:column;gap:14px}}@media(max-width:720px){.sidebar{transform:translate(-100%);width:240px;transition:transform .18s ease;box-shadow:5px 0 30px #1c354423}.sidebar.open{transform:translate(0)}.main-column{margin-left:0}.topbar{height:65px;padding:0 16px;gap:9px}.mobile-menu{display:inline-flex}.breadcrumb{flex:1;gap:6px;font-size:10px}.breadcrumb>strong{max-width:135px}.top-actions{gap:5px}.top-actions>.icon{display:none}.top-actions>.button{min-height:34px;font-size:10px;padding:7px 9px;gap:5px}.main-column main{padding:20px 16px 32px}.page-heading{margin:3px 0 23px;align-items:flex-start;gap:12px;min-height:62px}h1{font-size:24px;overflow-wrap:anywhere}.eyebrow{font-size:8px}.heading-actions .button{font-size:10px;padding:8px 10px}.metrics{gap:10px;margin-bottom:25px}.metric{min-height:105px;padding:13px 14px}.metric>strong{font-size:28px}.metric>div{font-size:10px}.metric>div>svg{width:17px}.section-heading h2{font-size:15px}.section-heading>.link{font-size:10px}.band{margin-bottom:26px}.table-wrap{border-radius:5px}.table-wrap table{min-width:620px}.table-wrap th{font-size:9px}.table-wrap td{font-size:11px;padding-top:13px;padding-bottom:13px}.table-actions{height:66px}.list-toolbar{align-items:flex-start}.list-toolbar>span{padding-top:10px;white-space:nowrap}.details>div{grid-template-columns:1fr;gap:5px;padding:12px 13px}.details dd{font-size:11px}.form-grid{grid-template-columns:1fr;gap:7px;margin-top:18px}.device-status{gap:12px;font-size:10px;padding:13px 0}.device-status>.button{min-height:30px;font-size:10px}.tabs{gap:20px;margin-bottom:19px}.tabs button,.action-strip .button{font-size:11px}.terminal{padding:15px;min-height:280px;font-size:11px}.terminal-input{gap:7px;padding:7px}.terminal-input .button{min-width:38px;padding:8px}.terminal-input .button span{display:none}.firmware-filter>.field{width:100%;min-width:0}.post-flash{padding:16px 13px;gap:11px}.post-flash p{font-size:11px}.post-flash>svg{width:20px}.operation-progress{left:50%;font-size:11px;bottom:12px;padding:10px 14px}.main-column footer{padding:14px 16px}.modal{padding:20px}.modal-shade{padding:12px}.modal-head h2{font-size:18px}.auth-page>header{padding:0 20px;height:75px}.auth-caption{display:none}.auth-form{padding:36px 0}.auth-form h1{font-size:23px}.setup{padding:45px 0}.setup h1{font-size:21px}.toggle-row{align-items:flex-start}.toggle-row input{flex-shrink:0}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}
