:root{color-scheme:light;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;--sidebar:#1e293b;--sidebar-hover:#293548;--bg:#f5f6f8;--surface:#fff;--text:#18181b;--muted:#71717a;--border:#e4e4e7;--brand:#2457e6;--brand-hover:#173fb6;--success:#16803c;--warning:#b7791f;--danger:#c9151e;--info:#2457e6;--sidebar-width:248px;--topbar-height:58px;--radius:5px;--control-height:38px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-size:14px}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{transition:border-color .12s,background-color .12s,color .12s,box-shadow .12s}svg{width:18px;height:18px;fill:currentColor}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:24px;line-height:1.25;letter-spacing:-.025em}h2{margin-bottom:4px;font-size:14px;line-height:1.4}p{color:var(--muted);line-height:1.5}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-width);display:flex;flex-direction:column;background:var(--sidebar);color:#d4d4d8}.sidebar-brand{height:68px;padding:0 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #27272a}.brand-mark{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid #547cff;background:var(--brand);color:#ffffff;font-weight:800;font-size:16px}.sidebar-brand strong,.sidebar-brand small,.login-identity strong,.login-identity small{display:block}.sidebar-brand strong{color:#fafafa;font-size:14px}.sidebar-brand small{margin-top:2px;color:#71717a;font-size:11px}.sidebar-nav{padding:17px 10px;overflow-y:auto}.nav-section+.nav-section{margin-top:20px}.nav-label{display:block;padding:0 10px 7px;color:#63636a;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.nav-item{height:38px;padding:0 10px;display:flex;align-items:center;gap:10px;border-left:2px solid transparent;color:#a1a1aa;font-size:13px;font-weight:550}.nav-item svg{width:16px;height:16px}.nav-item:hover{background:var(--sidebar-hover);color:#f4f4f5}.nav-item.active{border-left-color:var(--brand);background:#102e68;color:#fff}.sidebar-footer{margin-top:auto;padding:16px 20px;border-top:1px solid #27272a}.sidebar-footer small{display:block;margin-top:6px;color:#5f5f66;font-size:10px}.service-state{font-size:11px;color:#a1a1aa}.service-state i{width:6px;height:6px;margin-right:6px;display:inline-block;border-radius:50%;background:var(--success)}.workspace{min-height:100vh;margin-left:var(--sidebar-width)}.topbar{position:sticky;top:0;z-index:25;height:var(--topbar-height);padding:0 28px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97)}.topbar-context{display:flex;align-items:center;gap:9px}.topbar-context strong{font-size:13px}.topbar-context span{padding-left:9px;border-left:1px solid var(--border);color:var(--muted);font-size:11px}.user-menu{margin-left:auto;display:flex;align-items:center;gap:9px}.user-avatar{width:28px;height:28px;display:grid;place-items:center;border:1px solid #d6d3d1;background:#f4f4f5;font-size:11px;font-weight:700}.user-meta strong,.user-meta small{display:block}.user-meta strong{font-size:12px}.user-meta small{margin-top:1px;color:var(--muted);font-size:10px}.user-menu form{margin-left:5px}.main-content{width:min(1480px,100%);margin:0 auto;padding:26px 30px 48px}.page-header{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.page-header p{margin-bottom:0}.eyebrow{display:block;margin-bottom:6px;color:#1d4ed8;font-size:10px;font-weight:750;letter-spacing:.11em}.button{height:var(--control-height);padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d4d4d8;border-radius:var(--radius);background:#fff;color:#27272a;font-weight:650;font-size:12px;white-space:nowrap;cursor:pointer}.button:hover{border-color:#a1a1aa;background:#fafafa}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav-item:focus-visible{outline:2px solid rgba(36,87,230,.28);outline-offset:1px}.button-primary{border-color:var(--brand-hover);background:var(--brand);color:#ffffff}.button-primary:hover{border-color:#123696;background:var(--brand-hover);color:#fff}.button-sm{height:32px;padding:0 10px}.button-quiet{border-color:transparent;background:transparent;color:var(--muted)}.button-full{width:100%}.icon-button{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer}.menu-toggle{display:none;margin-right:12px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.card-header{min-height:58px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border)}.card-header p{margin-bottom:0;font-size:12px}.data-caption{color:var(--muted);font-size:11px}.metrics-grid{margin-bottom:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric-card{position:relative;min-height:94px;padding:17px 18px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden}.metric-card span{display:block;color:var(--muted);font-size:12px}.metric-card strong{display:block;margin-top:10px;font-size:25px;line-height:1}.metric-accent{position:absolute;top:0;right:0;width:3px;height:100%;background:#a1a1aa}.metric-accent.brand{background:var(--brand)}.metric-accent.success{background:var(--success)}.metric-accent.danger{background:var(--danger)}.dashboard-grid{margin-bottom:16px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:16px}.unit-list{padding:2px 16px}.unit-row{padding:13px 0;display:grid;grid-template-columns:minmax(130px,1fr) auto 120px;align-items:center;gap:18px;border-bottom:1px solid #eeeeef}.unit-row:last-child{border-bottom:0}.unit-name strong,.unit-name span{display:block}.unit-name strong{font-size:12px}.unit-name span{margin-top:3px;color:var(--muted);font-size:10px}.unit-counts{display:flex;gap:14px;font-size:11px}.unit-counts i{width:6px;height:6px;margin-right:5px;display:inline-block;border-radius:50%}.count-online i{background:var(--success)}.count-offline i{background:#a1a1aa}.availability-bar{height:5px;background:#e4e4e7}.availability-bar span{height:100%;display:block;background:var(--success)}.health-list{margin:0;padding:2px 16px}.health-list>div{min-height:46px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeeeef}.health-list>div:last-child{border:0}.health-list dt{font-size:12px}.health-list dt small{margin-left:5px;color:var(--muted);font-weight:400}.health-list dd{margin:0;font-size:12px}.info-note{margin:5px 16px 15px;padding:9px 10px;border-left:2px solid var(--info);background:#f4f7ff;color:#52525b;font-size:10px;line-height:1.45}.badge,.status-indicator{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:650}.badge{height:24px;padding:0 8px;border:1px solid var(--border);border-radius:3px}.badge-neutral{background:#fafafa;color:#52525b}.status-indicator{gap:6px}.status-indicator i{width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}.status-indicator.online{color:var(--success)}.status-indicator.delayed{color:var(--warning)}.status-indicator.offline{color:var(--danger)}.status-indicator.unknown,.status-indicator.unavailable{color:#71717a}.table-card{overflow:hidden}.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{height:46px;padding:9px 12px;border-bottom:1px solid #ececee;text-align:left;vertical-align:middle;white-space:nowrap}th{height:38px;background:#fafafa;color:#71717a;font-size:10px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}tbody tr:hover{background:#fafafa}tbody tr:last-child td{border-bottom:0}.device-primary{display:block;color:var(--text)}.device-primary strong,.device-primary small,.cell-secondary{display:block}.device-primary strong{font-size:12px}.device-primary small,.cell-secondary{margin-top:3px;color:var(--muted);font-size:10px}.row-action,.text-link{color:#1746c7;font-size:11px;font-weight:700}.row-action:hover,.text-link:hover{text-decoration:underline}.copy-field{display:flex;align-items:center;gap:6px}code{padding:3px 6px;border:1px solid var(--border);border-radius:3px;background:#fafafa;color:#3f3f46;font-family:"SFMono-Regular",Consolas,monospace;font-size:11px}.plain-code{padding:0;border:0;background:transparent;font-weight:400}.copy-button{height:25px;padding:0 7px;border:1px solid var(--border);border-radius:3px;background:#fff;color:#52525b;font-size:10px;cursor:pointer}.copy-button:hover{border-color:var(--brand);color:#1746c7}.copy-button.copied{border-color:#a7d7b5;color:var(--success)}.truncate{max-width:145px;display:block;overflow:hidden;text-overflow:ellipsis}.filter-bar{margin-bottom:16px;padding:12px;display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(5,minmax(130px,.7fr)) auto auto;gap:8px}.search-field{position:relative}.search-field svg{position:absolute;top:10px;left:10px;width:16px;height:16px;color:#71717a}.search-field input{padding-left:34px}input,select,textarea{width:100%;min-height:var(--control-height);padding:8px 10px;border:1px solid #d4d4d8;border-radius:var(--radius);outline:0;background:#fff;color:var(--text);font-size:12px}select{padding-right:28px}textarea{min-height:100px;resize:vertical}input::placeholder{color:#a1a1aa}.empty-state{min-height:180px;padding:28px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);text-align:center}.empty-state.compact{min-height:120px}.empty-state strong{color:#3f3f46;font-size:13px}.empty-state span{margin-top:5px;font-size:11px}.empty-state .button{margin-top:14px}.empty-icon{font-size:22px!important}.pagination{min-height:54px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.pagination div{display:flex;align-items:center}.pagination a,.pagination .disabled,.pagination .current{height:30px;padding:0 10px;display:flex;align-items:center;border:1px solid var(--border);margin-left:-1px}.pagination a:hover{background:#fafafa}.pagination .disabled{color:#c4c4c7}.pagination .current{background:#fafafa;color:#52525b}.breadcrumb{margin-bottom:16px;display:flex;gap:8px;color:var(--muted);font-size:11px}.breadcrumb a{color:#1746c7}.title-status{display:flex;align-items:center;gap:12px}.title-status h1{margin:0}.header-actions{display:flex;gap:8px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.detail-main{display:grid;gap:16px}.details-grid{margin:0;display:grid;grid-template-columns:repeat(2,1fr)}.details-grid>div{min-height:72px;padding:14px 16px;border-right:1px solid #eeeeef;border-bottom:1px solid #eeeeef}.details-grid>div:nth-child(2n){border-right:0}.details-grid>div:nth-last-child(-n+2){border-bottom:0}.details-grid dt{margin-bottom:6px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.details-grid dd{margin:0;font-size:12px;font-weight:550}.detail-aside{display:grid;align-content:start;gap:16px}.access-card{padding:16px}.access-card h2{font-size:14px}.access-card p{font-size:11px}.access-card>small{margin-top:10px;display:block;color:var(--muted);font-size:10px;line-height:1.4}.access-id{margin:14px 0;padding:12px;border:1px solid var(--border);background:#fafafa}.access-id span,.access-id strong{display:block}.access-id span{color:var(--muted);font-size:10px}.access-id strong{margin-top:5px;font-family:Consolas,monospace;font-size:18px}.timeline{margin:0;padding:14px 16px;list-style:none}.timeline li{position:relative;min-height:52px;padding-left:20px}.timeline li:not(:last-child)::before{content:"";position:absolute;top:13px;bottom:-2px;left:3px;width:1px;background:var(--border)}.timeline li>i{position:absolute;top:4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--brand)}.timeline strong,.timeline span{display:block}.timeline strong{font-size:11px}.timeline span{margin-top:3px;color:var(--muted);font-size:10px}.notes{margin:0;padding:14px 16px;font-size:12px}.form-card{max-width:1000px}.form-section-header{padding:16px;border-bottom:1px solid var(--border)}.form-section-header p{margin-bottom:0;font-size:11px}.form-grid{padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.field label{display:block;margin-bottom:6px;color:#3f3f46;font-size:11px;font-weight:700}.field label span{color:var(--danger)}.field.wide{grid-column:1/-1}.field small{margin-top:5px;display:block;color:var(--muted);font-size:10px}.field .error{color:var(--danger)}.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}.form-actions{padding:14px 18px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);background:#fafafa}.alert{margin-bottom:16px;padding:11px 12px;border:1px solid;border-radius:var(--radius);font-size:11px}.alert strong,.alert span{display:block}.alert span{margin-top:3px}.alert-danger{border-color:#efb5b5;background:#fff7f7;color:#922727}.text-muted{color:var(--muted)}.toast{position:fixed;right:20px;bottom:20px;z-index:100;padding:10px 13px;border:1px solid #3f3f46;border-radius:var(--radius);background:#18181b;color:#fff;font-size:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.15s}.toast.visible{opacity:1;transform:none}.auth-layout{background:#ececee}.auth-main{min-height:100vh;display:grid;place-items:center;padding:24px}.login-shell{width:min(390px,100%)}.login-identity{margin-bottom:18px;display:flex;align-items:center;gap:10px}.login-identity strong{font-size:14px}.login-identity small{margin-top:2px;color:var(--muted);font-size:10px}.login-card{padding:25px;border:1px solid #d4d4d8;background:#fff}.login-card header{padding-bottom:17px;border-bottom:1px solid var(--border)}.login-card h1{font-size:20px}.login-card header p{margin-bottom:0;font-size:12px}.login-card form{margin-top:18px}.login-card .field{margin-bottom:14px}.login-help{margin:13px 0 0;text-align:center;font-size:10px}.sidebar-backdrop{display:none}
.brand-mark{position:relative;border-color:#dbe5ff;background:#fff;color:#1746c7}.brand-mark::after{content:"";position:absolute;top:-1px;right:-1px;left:-1px;height:4px;background:#e00018}.nav-item.active{border-left-color:#e00018}.login-identity .brand-mark{box-shadow:0 0 0 1px #dbe5ff}.access-id{border-left:3px solid var(--brand)}
@media(max-width:1200px){.filter-bar{grid-template-columns:2fr repeat(3,1fr)}.filter-bar .button{width:100%}.dashboard-grid{grid-template-columns:1.35fr 1fr}.inventory-table{min-width:1180px}}
@media(max-width:900px){:root{--sidebar-width:228px}.sidebar{transform:translateX(-100%);transition:transform .16s}.sidebar-open .sidebar{transform:none}.sidebar-backdrop{position:fixed;inset:0;z-index:35;background:rgba(0,0,0,.38)}.sidebar-open .sidebar-backdrop{display:block}.workspace{margin-left:0}.menu-toggle{display:grid}.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-layout{grid-template-columns:1fr}.detail-aside{grid-template-columns:repeat(2,1fr)}.filter-bar{grid-template-columns:repeat(2,1fr)}.search-field{grid-column:1/-1}}
@media(max-width:640px){.main-content{padding:20px 14px 36px}.topbar{padding:0 14px}.topbar-context span,.user-meta{display:none}.user-menu{gap:4px}.page-header{align-items:stretch;flex-direction:column}.page-header>.button{width:100%}.metrics-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-card{min-height:82px;padding:14px}.metric-card strong{font-size:22px}.filter-bar,.form-grid,.details-grid,.detail-aside{grid-template-columns:1fr}.search-field,.field.wide{grid-column:auto}.details-grid>div{border-right:0}.details-grid>div:nth-last-child(2){border-bottom:1px solid #eeeeef}.unit-row{grid-template-columns:1fr auto}.availability-bar{grid-column:1/-1}.card-header{align-items:flex-start}.pagination{align-items:flex-start;gap:10px;flex-direction:column}.header-actions{width:100%}.header-actions .button{flex:1}.title-status{align-items:flex-start;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
