:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #142236;--bg-elevated: #192a40;--sidebar: #101d2d;--surface: #1c2d43;--surface-solid: #203248;--surface-soft: #24374e;--surface-hover: #2a3e56;--line: #30445a;--line-strong: #40566f;--text: #eef4f8;--muted: #9baaba;--primary: #12bde0;--primary-strong: #08a7c8;--primary-soft: rgba(18, 189, 224, .12);--success: #20d29d;--warning: #e8cf75;--danger: #ed6971;--info: #7f91ef;--radius: 4px;--control-radius: 3px;--shadow: 0 18px 52px rgba(2, 9, 17, .36);--shadow-soft: 0 1px 2px rgba(3, 10, 18, .2)}:root[data-theme=light]{color-scheme:light;--bg: #edf1f5;--bg-elevated: #ffffff;--sidebar: #172538;--surface: #ffffff;--surface-solid: #ffffff;--surface-soft: #f6f8fa;--surface-hover: #eef3f6;--line: #d9e0e7;--line-strong: #c2ccd6;--text: #263447;--muted: #697789;--primary-soft: rgba(18, 163, 194, .1);--shadow: 0 18px 52px rgba(33, 47, 63, .16);--shadow-soft: 0 1px 3px rgba(33, 47, 63, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg);font-size:13px}button,input,select,textarea{font:inherit}a{color:var(--primary);text-decoration:none}a:hover{color:var(--text)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.3rem;font-size:1.42rem;line-height:1.2;letter-spacing:-.025em}h2{margin-bottom:.7rem;font-size:.91rem;line-height:1.3}h3{margin-bottom:.55rem;font-size:.8rem}p{color:var(--muted);line-height:1.55}button,.button-link{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.48rem .78rem;border:1px solid var(--primary);border-radius:var(--control-radius);color:#062431;background:var(--primary);cursor:pointer;font-weight:700;font-size:.72rem}button:hover,.button-link:hover{filter:brightness(1.06);color:#062431}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:disabled,.button-link.disabled{opacity:.42;cursor:not-allowed;pointer-events:none}button.secondary,.secondary,.glass-button{color:var(--text);border-color:var(--line);background:var(--surface-soft);box-shadow:none}button.ghost,.ghost{min-height:30px;padding:.32rem .5rem;color:var(--muted);border-color:transparent;background:transparent}button.danger-button,.danger-button{color:#fff;border-color:var(--danger);background:var(--danger)}button.compact,.compact{min-height:30px;padding:.35rem .6rem;font-size:.68rem}.icon-button{width:34px;min-width:34px;padding:0}input,select,textarea{width:100%;min-height:36px;padding:.52rem .65rem;color:var(--text);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-soft);outline:0}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}input[type=checkbox],input[type=radio]{width:15px;min-height:15px;accent-color:var(--primary);box-shadow:none}textarea{resize:vertical}label{display:grid;gap:.35rem;color:var(--muted);font-size:.69rem;font-weight:600}form{display:grid;gap:.75rem}table{width:100%;border-collapse:collapse}th,td{padding:.68rem .72rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);background:var(--surface-soft);font-size:.62rem;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}td{font-size:.7rem}tbody tr:hover{background:color-mix(in srgb,var(--primary) 3%,var(--surface))}dl{margin:0}dt{color:var(--muted);font-size:.65rem}dd{margin:.12rem 0 0;overflow-wrap:anywhere}summary{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:200;top:.5rem;left:.5rem;transform:translateY(-180%);padding:.6rem;color:#062431;background:var(--primary)}.skip-link:focus{transform:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.muted,.hint{color:var(--muted)}.hint{font-size:.7rem}.eyebrow{display:block;margin-bottom:.25rem;color:var(--primary);font-size:.58rem;font-weight:800;letter-spacing:.12em}.empty{min-height:92px;display:grid;place-items:center;padding:1rem;color:var(--muted);text-align:center}.loading-state,.soft-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:110px;color:var(--muted)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box,.success-box{margin:0 0 .75rem;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--danger) 50%,var(--line));color:#ffc3c7;background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.success-box{color:#a7f2da;border-color:color-mix(in srgb,var(--success) 50%,var(--line));background:color-mix(in srgb,var(--success) 9%,var(--surface))}.card{min-width:0;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.badge{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;width:max-content;padding:.18rem .42rem;border:1px solid var(--line);border-radius:2px;color:var(--muted);background:var(--surface-soft);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.badge.success{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 8%,var(--surface))}.badge.warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.badge.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.badge.info{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:var(--primary-soft)}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--muted)}.status-dot.success{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent)}.table-wrap{width:100%;overflow-x:auto}.center-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.center-screen>.card{width:min(500px,100%)}.actions,.header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.section-heading,.card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.section-heading h2,.card-title h2{margin:0}.card-title{justify-content:flex-start}.card-title>svg{color:var(--primary)}.card-title span{color:var(--muted);font-size:.64rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:.7rem}.form-row>button{align-self:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.two-columns,.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:.8rem}.metric-grid,.profile-grid,.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:.8rem}.hub-link{color:var(--text)}.hub-link .card{min-height:150px;display:flex;flex-direction:column}.hub-link .card>svg{color:var(--primary)}.hub-link .card p{flex:1;font-size:.72rem}.hub-link .card>span{color:var(--primary);font-weight:700;font-size:.7rem}.hub-link:hover .card{border-color:var(--primary);background:var(--surface-soft)}.hub-disabled{opacity:.58}.entity-list,.timeline{display:grid}.entity-list article,.timeline article{min-width:0;display:flex;align-items:center;gap:.7rem;padding:.65rem .1rem;border-bottom:1px solid var(--line)}.entity-list article>div,.timeline article>div{min-width:0;flex:1;display:grid;gap:.16rem}.entity-list small,.timeline small{color:var(--muted);overflow-wrap:anywhere}.avatar,.entity-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:var(--primary);background:var(--primary-soft);font-weight:800}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 1rem}.page-header p,.firmware-page-heading p,.api-clients-heading p{margin:0;font-size:.72rem}.reference-breadcrumb,.cpe-breadcrumb{display:flex;align-items:center;gap:.35rem;margin-bottom:.85rem;color:var(--muted);font-size:.64rem}.reference-breadcrumb strong,.cpe-breadcrumb strong{color:var(--text);font-weight:600}.app-shell{min-height:100vh;display:grid;grid-template-columns:205px minmax(0,1fr)}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:205px;overflow-y:auto;color:#eaf3f7;background:var(--sidebar);border-right:1px solid rgba(255,255,255,.05)}.sidebar-brand-row{min-height:55px;display:flex;align-items:center;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:inline-flex;align-items:center;gap:.52rem;color:#fff;font-size:.98rem;font-weight:700}.brand>span{width:28px;height:28px;display:grid;place-items:center;border-radius:3px;color:#082934;background:var(--primary);font-size:.85rem;font-weight:900}.brand small{color:var(--primary);font-size:inherit}.reference-navigation{display:grid;gap:2px;padding:.75rem .6rem}.reference-navigation>a,.tools-navigation>summary{min-height:38px;display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:3px;color:#aebdca;font-size:.72rem;font-weight:600;list-style:none}.reference-navigation>a:hover,.reference-navigation>a.active,.tools-navigation>summary:hover,.tools-navigation>summary.active{color:#fff;background:#ffffff0f;box-shadow:inset 2px 0 var(--primary)}.tools-navigation summary::-webkit-details-marker{display:none}.tools-navigation summary b{margin-left:auto;color:var(--primary);font-size:.56rem;letter-spacing:.03em}.tools-navigation-items{display:grid;gap:1px;padding:.15rem 0 .3rem 2.05rem}.tools-navigation-items a{padding:.42rem .55rem;color:#8fa0af;font-size:.65rem;border-radius:2px}.tools-navigation-items a:hover,.tools-navigation-items a.active{color:var(--primary);background:#ffffff09}.sidebar-close{display:none;margin-right:.5rem}.sidebar-backdrop{display:none}.workspace{min-width:0;grid-column:2}.topbar{position:sticky;z-index:30;top:0;min-height:55px;display:flex;align-items:center;padding:0 1.15rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 97%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-page-name{color:var(--muted);font-size:.68rem}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.38rem}.topbar .icon-button{color:var(--muted);border-color:var(--line);background:transparent}.sync-indicator{position:relative}.sync-indicator span{position:absolute;right:5px;bottom:5px;width:6px;height:6px;border-radius:50%;background:var(--success)}.mobile-menu{display:none!important;margin-right:.5rem}.user-menu{position:relative}.user-menu>summary{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:#062431;background:var(--primary);font-weight:800;list-style:none}.user-menu>summary::-webkit-details-marker{display:none}.user-menu>div{position:absolute;z-index:50;top:calc(100% + .45rem);right:0;width:220px;display:grid;gap:.35rem;padding:.75rem;border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow)}.user-menu small{color:var(--muted);text-transform:capitalize}.user-menu button{margin-top:.45rem;color:var(--text);border-color:var(--line);background:var(--surface-soft)}.page-content{width:100%;min-height:calc(100vh - 55px);padding:1rem 1.15rem 4.5rem}.reference-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.72rem}.dashboard-tile{min-width:0;min-height:210px;margin:0;padding:.85rem;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.dashboard-tile h2{color:var(--text);font-size:.72rem;font-weight:600}.dashboard-status-tile{grid-column:span 3;display:grid;grid-template-rows:auto 1fr}.dashboard-total-tile{grid-column:span 3;display:grid;grid-template-rows:auto auto 1fr}.dashboard-manufacturers,.dashboard-resets-month,.dashboard-evolution,.dashboard-hourly,.dashboard-resets-maker{grid-column:span 6}.dashboard-tile>header{display:flex;align-items:center;justify-content:space-between}.dashboard-tile>header svg{color:var(--muted)}.dashboard-chart{width:100%;height:165px}.dashboard-total-tile>strong{margin:.1rem 0;font-size:2.15rem;font-weight:500}.total-sparkline{height:105px}.online-gauge{width:150px;height:150px;place-self:center;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--primary) var(--gauge),#31465c 0);position:relative}.online-gauge:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:inherit;background:var(--surface)}.online-gauge>div{z-index:1;display:grid;gap:.25rem;text-align:center}.online-gauge small{color:var(--muted);font-size:.58rem}.online-gauge strong{font-size:1.55rem;font-weight:500}.chart-legend{display:flex;justify-content:center;gap:1rem;color:var(--muted);font-size:.62rem}.chart-legend span:before{content:"";width:7px;height:7px;display:inline-block;margin-right:.3rem;border-radius:50%}.chart-legend .online:before{background:var(--success)}.chart-legend .offline:before{background:var(--danger)}.reference-inventory{padding:0;overflow:visible}.reference-inventory-toolbar{min-height:58px;display:flex;align-items:center;gap:.5rem;padding:.7rem;border-bottom:1px solid var(--line)}.reference-device-search{min-width:220px;flex:1;position:relative;display:block}.reference-device-search svg{position:absolute;z-index:1;top:9px;left:10px;color:var(--muted)}.reference-device-search input{padding-left:2.2rem}.reference-favorite{color:var(--warning)!important}.reference-saved-views{position:relative}.reference-saved-views>summary{display:grid;place-items:center;min-height:34px;padding:0;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface-soft);list-style:none;cursor:pointer}.reference-saved-views>summary::-webkit-details-marker{display:none}.reference-saved-views>div{position:absolute;z-index:25;top:calc(100% + .35rem);left:0;min-width:220px;display:grid;gap:.3rem;padding:.7rem;border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow)}.reference-saved-views>div>strong{margin-bottom:.25rem;font-size:.68rem}.reference-saved-views>div>button{width:100%;justify-content:flex-start}.reference-column-menu{position:relative}.reference-column-menu>summary{min-height:30px;display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:3px;color:var(--text);background:var(--surface-soft);list-style:none;font-size:.68rem;font-weight:700}.reference-column-menu>summary::-webkit-details-marker{display:none}.reference-column-menu>div{position:absolute;z-index:20;top:calc(100% + .35rem);right:0;min-width:190px;display:grid;gap:.52rem;padding:.7rem;border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow)}.reference-column-menu label{display:flex;align-items:center;gap:.45rem;color:var(--text)}.reference-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:.65rem;padding:.7rem;border-bottom:1px solid var(--line);background:var(--surface-soft)}.reference-device-table{min-height:260px;overflow-x:auto}.reference-device-table table{min-width:980px}.reference-device-table tbody tr{cursor:pointer}.reference-device-table td:first-child{width:80px}.reference-row-actions{display:flex;align-items:center;gap:.2rem}.reference-row-actions button,.reference-row-actions a{width:26px;height:26px;display:grid;place-items:center;padding:0;color:var(--muted);border:1px solid transparent;background:transparent}.reference-row-actions button:hover,.reference-row-actions a:hover{color:var(--primary);border-color:var(--line);background:var(--surface-soft)}.pagination{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .75rem;color:var(--muted);border-top:1px solid var(--line);font-size:.66rem}.pagination>div,.page-buttons{display:flex;align-items:center;gap:.25rem}.pagination select{width:auto;min-height:30px;margin-right:.3rem;padding:.35rem 1.6rem .35rem .5rem}.page-number{min-width:30px;min-height:30px;padding:.2rem;color:var(--muted);border-color:var(--line);background:var(--surface-soft)}.page-number.active{color:#062431;border-color:var(--primary);background:var(--primary)}.page-ellipsis{min-width:22px;text-align:center}.device-workspace-header{margin:0;padding:0;border:1px solid var(--line);border-bottom:0;background:var(--surface)}.reference-device-info{min-height:102px;display:flex;align-items:center;gap:.8rem;padding:.75rem .85rem}.device-avatar{position:relative;width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:4px;background:var(--primary-soft)}.device-avatar>span{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:var(--danger)}.device-avatar>span.online{background:var(--success)}.reference-device-name{min-width:150px}.reference-device-name h1{margin:0 0 .2rem;font-size:.94rem}.reference-device-name p{margin:0;font-size:.63rem}.reference-device-facts,.reference-device-network{display:grid;gap:.25rem;padding-left:.8rem;border-left:1px solid var(--line);color:var(--muted);font-size:.61rem}.reference-device-facts strong,.reference-device-network strong{color:var(--text);font-weight:600}.reference-device-network{min-width:170px}.device-quick-actions{margin-left:auto;display:flex;align-items:center;gap:.35rem}.device-quick-actions button:not(.icon-button){min-height:31px;padding:.35rem .55rem}.device-quick-actions button.active{color:#062431;border-color:var(--primary);background:var(--primary)}.device-subnav{min-height:43px;display:flex;align-items:stretch;gap:.1rem;padding:0 .7rem;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-soft)}.device-subnav a{min-width:max-content;display:flex;align-items:center;padding:.65rem .7rem;color:var(--muted);border-bottom:2px solid transparent;font-size:.66rem;font-weight:600}.device-subnav a.active{color:var(--primary);border-color:var(--primary)}.device-workspace-body{padding-top:.8rem}.reference-device-summary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.7rem}.reference-device-summary .card{margin:0}.summary-general{grid-column:span 6}.summary-bytes{grid-column:span 3;display:grid;align-content:center;min-height:132px}.summary-wan,.summary-wifi{grid-column:span 6}.summary-traffic{grid-column:span 8}.summary-ports,.summary-clients{grid-column:span 4}.summary-model{display:flex;align-items:center;gap:.55rem;margin-bottom:.8rem}.summary-model svg{color:var(--primary)}.summary-model span{display:grid;gap:.15rem}.summary-model small{color:var(--muted)}.summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.summary-stats div{padding:.55rem;border:1px solid var(--line);background:var(--surface-soft)}.summary-stats small{display:block;margin-bottom:.25rem;color:var(--muted);font-size:.59rem}.summary-bytes span{color:var(--muted);font-size:.64rem}.summary-bytes strong{margin:.25rem 0;font-size:1.55rem;font-weight:500}.summary-bytes.received{border-left:2px solid var(--primary)}.summary-bytes.sent{border-left:2px solid var(--info)}.summary-wan h2,.summary-wifi h2{display:flex;align-items:center;gap:.4rem}.summary-wan dl,.summary-wifi dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.summary-wifi dl+h2{margin-top:1rem}.chart-frame{width:100%;height:215px}.summary-ports>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem}.summary-ports>div span{min-height:58px;display:grid;place-items:center;color:var(--muted);border:1px solid var(--line);background:var(--surface-soft);font-size:.63rem}.summary-ports>div span.active{color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,var(--line))}.clients-ring{width:115px;height:115px;display:grid;place-items:center;margin:.5rem auto;border:12px solid #31465c;border-top-color:var(--primary);border-radius:50%}.clients-ring strong{font-size:1.7rem;font-weight:500}.device-section-layout{min-height:490px;display:grid;grid-template-columns:185px minmax(0,1fr);border:1px solid var(--line);background:var(--surface)}.device-side-navigation{padding:.55rem;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface))}.device-side-navigation a{display:block;padding:.65rem .7rem;color:var(--muted);border-left:2px solid transparent;font-size:.67rem}.device-side-navigation a:hover,.device-side-navigation a.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.device-section-content{min-width:0;padding:1rem}.connectivity-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.connectivity-heading p{font-size:.7rem}.wifi-band-tabs{display:flex;gap:.2rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}.wifi-band-tabs button{min-width:120px;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.wifi-band-tabs button.active{color:var(--primary);border-color:var(--primary)}.wifi-interface-screen{max-width:920px}.wifi-interface-panel{border-bottom:1px solid var(--line)}.wifi-interface-panel>header{display:flex;align-items:center;justify-content:space-between;padding:.7rem .15rem}.wifi-interface-panel>header h3{margin:0}.wifi-interface-row{min-height:49px;display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.55rem .15rem;border-top:1px solid var(--line)}.wifi-interface-row>span:first-child{color:var(--muted);font-size:.67rem}.masked-value{letter-spacing:.13em}.reference-switch{width:35px;height:19px;position:relative;display:inline-block;border-radius:20px;background:#405268}.reference-switch:after{content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#d9e1e8;transition:.18s}.reference-switch.on{background:var(--primary)}.reference-switch.on:after{left:19px;background:#fff}.internet-panel{max-width:920px;padding:0}.internet-setting-block{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:.8rem;padding:1rem;border-bottom:1px solid var(--line)}.internet-setting-block:last-child{border-bottom:0}.internet-setting-block>div{display:grid;gap:.3rem}.internet-setting-block strong{font-size:.72rem}.internet-setting-block span,.internet-setting-block small{color:var(--muted);font-size:.65rem}.host-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.7rem}.host-card{padding:.75rem;border:1px solid var(--line);background:var(--surface-soft)}.host-card>div{display:flex;align-items:flex-start;gap:.6rem}.host-device-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft)}.host-card>div>span:nth-child(2){min-width:0;flex:1;display:grid;gap:.15rem}.host-card small{color:var(--muted)}.host-state{width:7px;height:7px;margin-top:.35rem;border-radius:50%;background:var(--danger)}.host-state.active{background:var(--success)}.host-card dl{display:grid;grid-template-columns:80px minmax(0,1fr);gap:.35rem .6rem;margin-top:.7rem}.capability-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:.6rem;border-style:dashed;text-align:center}.capability-empty svg{color:var(--warning)}.operation-form button{justify-self:start}.field-capability-note{padding:.55rem;border-left:2px solid var(--warning);background:color-mix(in srgb,var(--warning) 7%,var(--surface));font-size:.67rem}.change-review{margin-top:.8rem}.reference-files-page>header,.reference-property-page>header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem}.reference-files-page>header label,.reference-property-page>header label{width:min(340px,100%)}.reference-files-layout{min-height:470px;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);border:1px solid var(--line);background:var(--surface)}.reference-file-list{overflow-y:auto;border-right:1px solid var(--line)}.reference-file-list>button{width:100%;min-height:66px;display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;gap:.65rem;padding:.7rem;color:var(--text);border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.reference-file-list>button:hover,.reference-file-list>button.selected{color:var(--text);background:var(--primary-soft);box-shadow:inset 2px 0 var(--primary)}.reference-file-list>button svg{color:var(--primary)}.reference-file-list>button span{min-width:0;display:grid;gap:.15rem}.reference-file-list small{color:var(--muted)}.selected-file-panel{padding:1.25rem}.selected-file-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1rem 0}.reference-property-page>header{align-items:flex-end}.reference-property-tree{border:1px solid var(--line);background:var(--surface)}.reference-property-tree details{border-bottom:1px solid var(--line)}.reference-property-tree summary{padding:.58rem .7rem;color:var(--text);background:var(--surface-soft);font-family:ui-monospace,monospace;font-size:.67rem}.reference-property-tree details>div>div{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) 90px 110px 120px;gap:.6rem;padding:.52rem .7rem .52rem 1.5rem;border-top:1px solid var(--line);font-family:ui-monospace,monospace;font-size:.63rem}.reference-property-tree details>div>div span:not(:first-child){color:var(--muted)}.firmware-page-heading,.api-clients-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.firmware-stepper{max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto 1rem;padding:0;list-style:none}.firmware-stepper li{position:relative;display:grid;justify-items:center;gap:.35rem;color:var(--muted);font-size:.65rem}.firmware-stepper li:before{content:"";position:absolute;z-index:0;top:14px;right:50%;left:-50%;height:1px;background:var(--line)}.firmware-stepper li:first-child:before{display:none}.firmware-stepper b{z-index:1;width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:.7rem}.firmware-stepper li.active{color:var(--primary)}.firmware-stepper li.active b{color:#062431;border-color:var(--primary);background:var(--primary)}.firmware-stepper li.active:before{background:var(--primary)}.firmware-wizard{max-width:920px;min-height:440px;display:grid;grid-template-rows:1fr auto;margin:auto;padding:0}.firmware-wizard>section{padding:1.25rem}.firmware-wizard>footer{display:flex;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--line)}.wizard-selection-count{margin-top:.8rem;display:flex;align-items:baseline;gap:.45rem;color:var(--muted)}.wizard-selection-count strong{color:var(--primary);font-size:1.4rem}.wizard-artifact-list{display:grid;gap:.45rem}.wizard-artifact-list>button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;gap:.65rem;padding:.7rem;color:var(--text);border-color:var(--line);background:var(--surface-soft);text-align:left}.wizard-artifact-list>button.selected{border-color:var(--primary);background:var(--primary-soft)}.wizard-artifact-list>button>span{display:grid;gap:.2rem}.wizard-artifact-list small{color:var(--muted)}.firmware-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.8rem}.firmware-summary-cards>div{min-height:85px;display:grid;align-content:center;gap:.3rem;padding:.7rem;border:1px solid var(--line);background:var(--surface-soft)}.firmware-summary-cards small{color:var(--muted)}.firmware-summary>aside{margin-top:.8rem;padding:.8rem;border:1px solid var(--line);background:var(--surface-soft)}.check-row,.checkbox-label{display:flex;align-items:center;gap:.5rem}.firmware-catalog-admin,.provisioning-create{max-width:920px;margin:1rem auto 0}.firmware-catalog-admin>summary,.provisioning-create>summary{color:var(--primary);font-size:.7rem}.firmware-catalog-admin .card,.provisioning-create .card{margin-top:.5rem}.firmware-catalog-admin form{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:end}.rollout-history{margin-top:1rem}.reference-provisioning{padding:0}.reference-provisioning>header{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding:.75rem .9rem;border-bottom:1px solid var(--line)}.reference-provisioning>header h2{margin:0}.provisioning-overview{display:grid;grid-template-columns:170px 1fr;gap:1rem;padding:1rem}.provisioning-ring{width:130px;height:130px;display:grid;place-items:center;border:12px solid var(--line);border-top-color:var(--primary);border-radius:50%}.provisioning-ring>div{display:grid;text-align:center}.provisioning-ring strong{font-size:1.45rem;font-weight:500}.provisioning-ring small{color:var(--muted);font-size:.6rem}.provisioning-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.provisioning-counters>div{display:grid;align-content:center;gap:.25rem;padding:.75rem;border:1px solid var(--line);background:var(--surface-soft)}.provisioning-counters small{color:var(--muted)}.provisioning-counters strong{font-size:1.2rem}.provisioning-trigger{grid-column:2;display:flex;align-items:center;gap:1rem;color:var(--muted)}.provisioning-trigger label{display:flex;align-items:center;gap:.4rem}.provisioning-policy-list{margin-top:.8rem}.api-client-create{margin-bottom:.8rem}.api-clients-layout{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(420px,1.3fr);gap:.8rem}.api-client-list{padding:0;overflow:hidden}.api-client-list .card-title{padding:.8rem;margin:0;border-bottom:1px solid var(--line)}.api-client-list>button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;gap:.6rem;padding:.72rem;color:var(--text);border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.api-client-list>button:hover,.api-client-list>button.active{color:var(--text);background:var(--primary-soft);box-shadow:inset 2px 0 var(--primary)}.api-client-list>button>span:nth-child(2){display:grid;gap:.18rem}.api-client-list small{color:var(--muted)}.api-client-symbol{width:31px;height:31px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft)}.api-client-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:.8rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.api-client-note{margin:.8rem 0;padding:.7rem;border-left:2px solid var(--primary);background:var(--primary-soft)}.api-client-note p{margin:.25rem 0 0;font-size:.68rem}.api-webhooks{margin-top:.8rem}.secret-box{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem;padding:.75rem;border:1px solid color-mix(in srgb,var(--warning) 40%,var(--line));background:color-mix(in srgb,var(--warning) 6%,var(--surface))}.secret-box>div{min-width:0;display:grid;gap:.3rem}.secret-box span{overflow-wrap:anywhere;color:var(--warning)}.profile-card{display:grid;gap:.6rem}.profile-meta,.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.profile-meta>div,.detail-list>div{padding:.55rem;border:1px solid var(--line);background:var(--surface-soft)}.settings-tabs>[role=tablist]{display:flex;gap:.2rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}.settings-tabs [role=tab]{color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent}.settings-tabs [role=tab][data-state=active]{color:var(--primary);border-color:var(--primary)}.account-security{margin-bottom:.8rem}.recovery-codes,.mfa-qr,.totp-setup{display:grid;gap:.7rem;padding:.75rem;border:1px solid var(--line);background:var(--surface-soft)}.recovery-codes code{padding:.6rem;overflow-wrap:anywhere;color:var(--warning);background:var(--bg)}.audit-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.audit-icon,.profile-symbol{width:34px;height:34px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft)}.confirm-overlay,.sheet-overlay,.ixc-modal-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;background:#030a12b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-content,.ixc-modal{position:fixed;z-index:100;top:50%;left:50%;width:min(520px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow-y:auto;transform:translate(-50%,-50%);padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-solid);box-shadow:var(--shadow)}.ixc-modal>header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.sheet-content{position:fixed;z-index:100;inset:0 0 0 auto;width:min(440px,100vw);display:grid;grid-template-rows:auto 1fr auto;border-left:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow)}.sheet-content.wide{width:min(700px,100vw)}.sheet-header,.sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.85rem;border-bottom:1px solid var(--line)}.sheet-header h2{margin:0}.sheet-body{overflow-y:auto;padding:.85rem}.sheet-footer{border-top:1px solid var(--line);border-bottom:0}.task-drawer-trigger{position:fixed;z-index:45;right:1rem;bottom:1rem;min-height:39px}.task-drawer-trigger b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--danger);font-size:.6rem}.task-drawer-list{display:grid}.task-drawer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;padding:.65rem 0;color:var(--text);border-bottom:1px solid var(--line)}.task-drawer-row>div{display:grid;gap:.15rem}.task-drawer-row small{color:var(--muted)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}.login-showcase{display:grid;align-content:center;padding:clamp(2rem,7vw,6rem);background:linear-gradient(135deg,#102438,#153b4e)}.login-heading h1{font-size:clamp(2.4rem,5vw,5rem)}.login-heading span{color:var(--primary)}.login-features{display:grid;gap:.7rem;margin-top:2rem}.login-features article{display:flex;gap:.7rem}.login-card{width:min(430px,calc(100% - 2rem));place-self:center;padding:1.4rem}.password-field{position:relative}.password-field button{position:absolute;top:1px;right:1px;width:34px;border:0;background:transparent}.table-skeleton{display:grid;gap:.5rem;padding:1rem}.skeleton-row{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:.6rem}.skeleton{height:14px;display:block;border-radius:2px;background:linear-gradient(90deg,var(--surface-soft),var(--line),var(--surface-soft));background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:1180px){.dashboard-status-tile,.dashboard-total-tile{grid-column:span 6}.dashboard-manufacturers,.dashboard-resets-month,.dashboard-evolution,.dashboard-hourly,.dashboard-resets-maker{grid-column:span 12}.reference-device-facts,.reference-device-network{display:none}.reference-device-summary .summary-general{grid-column:span 12}.summary-bytes{grid-column:span 6}.summary-wan,.summary-wifi,.summary-traffic,.summary-ports,.summary-clients{grid-column:span 12}}@media(max-width:820px){.app-shell{display:block}.sidebar{transform:translate(-105%);transition:transform .2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.sidebar-close{display:inline-flex}.sidebar-backdrop{position:fixed;z-index:35;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;padding:0;border:0;background:#02080f9e}.workspace{width:100%}.mobile-menu{display:inline-flex!important}.page-content{padding:.8rem .75rem 4.5rem}.reference-dashboard{grid-template-columns:1fr}.dashboard-tile,.dashboard-status-tile,.dashboard-total-tile,.dashboard-manufacturers,.dashboard-resets-month,.dashboard-evolution,.dashboard-hourly,.dashboard-resets-maker{grid-column:1}.reference-device-info{flex-wrap:wrap}.device-quick-actions{width:100%;margin-left:0;overflow-x:auto}.device-section-layout{grid-template-columns:1fr}.device-side-navigation{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.device-side-navigation a{min-width:max-content;border-left:0;border-bottom:2px solid transparent}.device-side-navigation a.active{border-color:var(--primary)}.reference-files-layout,.api-clients-layout{grid-template-columns:1fr}.reference-file-list{max-height:280px;border-right:0;border-bottom:1px solid var(--line)}.reference-property-tree{overflow-x:auto}.reference-property-tree details{min-width:820px}.two-columns,.settings-grid,.login-page{grid-template-columns:1fr}.login-showcase{display:none}}@media(max-width:560px){h1{font-size:1.2rem}.page-header,.firmware-page-heading,.api-clients-heading,.reference-files-page>header,.reference-property-page>header{align-items:stretch;flex-direction:column}.reference-inventory-toolbar{flex-wrap:wrap}.reference-device-search{flex-basis:100%}.reference-filter-panel,.form-grid{grid-template-columns:1fr}.pagination{align-items:flex-start;flex-direction:column}.page-number,.page-ellipsis{display:none}.reference-device-info{align-items:flex-start}.device-avatar{width:40px;height:40px}.device-quick-actions button span{display:none}.reference-device-summary{grid-template-columns:1fr}.reference-device-summary>.card,.summary-general,.summary-bytes,.summary-wan,.summary-wifi,.summary-traffic,.summary-ports,.summary-clients{grid-column:1}.summary-stats,.summary-wan dl,.summary-wifi dl{grid-template-columns:1fr}.wifi-interface-row{grid-template-columns:1fr auto}.wifi-interface-row>:nth-child(2){grid-column:1}.internet-setting-block,.firmware-summary-cards,.provisioning-counters,.provisioning-overview{grid-template-columns:1fr}.provisioning-ring{justify-self:center}.provisioning-trigger{grid-column:1;flex-wrap:wrap}.api-client-facts,.selected-file-panel dl{grid-template-columns:1fr}}
