:root{font-family:Inter,Microsoft YaHei UI,PingFang SC,sans-serif;color:#172326;background:#f2f6f5;font-synthesis:none;--teal: #087f72;--teal-dark: #075f57;--teal-soft: #e5f4f1;--ink: #172326;--muted: #637377;--line: #d8e1df;--surface: #fff;--danger: #b83b3b;--warning: #a65d05}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid rgba(8,127,114,.25);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}svg{width:17px;height:17px;flex:0 0 auto}.admin-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:14px 12px;color:#dceae7;background:#162827;border-right:1px solid #243b39}.sidebar-brand,.login-brand{display:flex;align-items:center;gap:10px}.sidebar-brand{padding:4px 8px 20px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:#fff;background:var(--teal);font-weight:900}.sidebar-brand div:last-child,.login-brand div:last-child{display:grid;gap:2px}.sidebar-brand strong{color:#fff;font-size:13px}.sidebar-brand span{color:#90aaa5;font-size:11px}.sidebar nav{display:grid;gap:3px}.sidebar nav button{min-height:42px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:5px;color:#b9cfcb;background:transparent;text-align:left;transition:background .18s ease,color .18s ease}.sidebar nav button:hover{color:#fff;background:#203b38}.sidebar nav button.active{color:#fff;background:#0a756a}.sidebar nav b{margin-left:auto;min-width:20px;padding:2px 5px;border-radius:10px;color:#11322e;background:#d5f3ed;text-align:center;font-size:10px}.sidebar nav .danger-badge{color:#fff;background:#b94a48}.server-note{margin-top:auto;display:flex;gap:9px;padding:11px 9px;border-top:1px solid #2d4441}.server-note div{display:grid;gap:2px}.server-note strong{font-size:11px}.server-note span{color:#8da9a4;font-size:10px}.main{min-width:0}.topbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;padding:8px 22px;background:#fff;border-bottom:1px solid var(--line)}.eyebrow{color:var(--teal);font-size:10px;font-weight:900;text-transform:uppercase}.topbar h1{margin:2px 0 0;font-size:20px;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:7px}.admin-direction-filter{display:flex;gap:3px;padding:3px;border:1px solid #bdd7d2;border-radius:6px;background:#eef6f4}.admin-direction-filter button{min-height:34px;padding:0 12px;border:0;border-radius:4px;color:#4e6c67;background:transparent;font-size:12px;font-weight:800}.admin-direction-filter button.active{color:#fff;background:var(--teal)}.top-actions>button,.secret-dialog header button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;color:#48605d;background:#fff;transition:background .18s ease}.top-actions>button:hover,.secret-dialog header button:hover{background:#edf4f2}.user{height:38px;display:flex;align-items:center;gap:7px;padding:0 11px;color:#40524f;background:#edf4f2;border-radius:5px;font-size:12px}.content{padding:18px 22px 32px}.page-stack{display:grid;gap:14px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{min-width:0;display:grid;gap:5px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:6px}.metric span{color:var(--muted);font-size:11px}.metric strong{overflow:hidden;font-size:24px;line-height:1.1;text-overflow:ellipsis}.metric small{color:#7a898b;font-size:10px}.overview-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:14px}.direction-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.direction-comparison article{padding:14px;border:1px solid var(--line);border-radius:6px;background:#f8fbfa}.direction-comparison article>span{color:var(--teal);font-size:11px;font-weight:900}.direction-comparison article>strong{display:block;margin:5px 0 12px;font-size:19px}.direction-comparison dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.direction-comparison dl div{display:grid;gap:2px}.direction-comparison dt{color:var(--muted);font-size:10px}.direction-comparison dd{margin:0;font-size:13px;font-weight:800}.surface,.provider-group{min-width:0;background:#fff;border:1px solid var(--line);border-radius:6px}.surface>header,.provider-group>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}.surface>header h2,.provider-group>header h2,.secret-dialog h2{margin:0 0 3px;font-size:14px}.surface>header span,.provider-group>header span{color:var(--muted);font-size:10px}.surface>header>svg{color:var(--teal)}.engagement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.engagement-grid .metric,.distill-row .metric{border:0;border-right:1px solid var(--line);border-radius:0}.engagement-grid .metric:last-child,.distill-row .metric:last-child{border-right:0}.engagement-grid .metric strong{font-size:18px}.notice{display:flex;align-items:center;gap:8px;margin:0 14px 12px;padding:9px 10px;color:#65521c;background:#fff8df;border:1px solid #efdfa8;border-radius:4px;font-size:11px}.status-list{margin:0}.status-list>div{display:flex;justify-content:space-between;padding:11px 14px;border-bottom:1px solid #edf1f0;font-size:12px}.status-list>div:last-child{border-bottom:0}.status-list dd{margin:0;font-weight:900}.danger{color:var(--danger)!important}.distill-row{display:grid;grid-template-columns:repeat(4,1fr)}.table-surface{overflow:hidden}.data-table{min-width:780px}.thead,.tr{display:grid;align-items:center;column-gap:12px;min-height:48px;padding:7px 14px;border-bottom:1px solid #e9efed}.thead{min-height:36px;color:#6c7c7e;background:#f7f9f9;font-size:10px;font-weight:800}.tr{font-size:11px}.tr:hover{background:#f9fbfa}.tr>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr>span:first-child{display:flex;align-items:center;gap:7px}.tr b{font-size:11px}.tr small{display:block;color:#819091;font-size:9px}.devices-table .thead,.devices-table .tr{grid-template-columns:1.3fr .65fr .55fr .55fr .8fr 1.1fr}.jobs-table .thead,.jobs-table .tr{grid-template-columns:1fr .65fr .65fr .65fr 1.35fr .75fr}.assets-table .thead,.assets-table .tr{grid-template-columns:.55fr 1.6fr .55fr .8fr 1fr .8fr}.dot{width:7px;height:7px;display:inline-block;margin-right:6px;border-radius:50%;background:#899694}.dot.online,.dot.completed,.dot.running{background:#16836f;box-shadow:0 0 0 3px #dff2ed}.dot.failed,.dot.revoked{background:#bb4744}.dot.leased,.dot.queued{background:#b87b15}.row-actions{display:flex;gap:5px;overflow:visible!important}.row-actions button,.provider-grid button,.ghost,.primary{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;border:1px solid var(--line);border-radius:4px;color:#3c5551;background:#fff;font-size:10px}.primary{color:#fff;background:var(--teal);border-color:var(--teal);font-weight:800}.primary:hover{background:var(--teal-dark)}.mini-progress{width:70px;height:5px;display:inline-block;margin-right:5px;overflow:hidden;border-radius:4px;background:#e5ecea;vertical-align:middle}.mini-progress i{height:100%;display:block;background:var(--teal)}.empty{padding:52px 20px;color:#7c898b;text-align:center;font-size:12px}.review-list{padding:12px;display:grid;gap:10px}.review-list>article{border:1px solid var(--line);border-radius:5px}.review-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px}.review-head>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 8px}.review-head small{grid-column:2;color:var(--muted);font-size:9px}.status{width:fit-content;padding:3px 6px;border-radius:3px;color:#5f6d6d;background:#edf2f1;font-size:9px;font-weight:800}.status.online,.status.approved{color:#0b675b;background:#dff3ef}.status.failed,.status.returned{color:#9a3333;background:#f9e5e4}.actions{display:flex;gap:6px}.package-list>div{min-height:42px;display:grid;grid-template-columns:28px 1fr .7fr 38px;align-items:center;gap:8px;padding:5px 10px;border-top:1px solid #edf1f0}.package-list>div>span:first-child{width:22px;height:22px;display:grid;place-items:center;border-radius:3px;color:var(--teal);background:var(--teal-soft);font-size:10px;font-weight:900}.package-list small{color:var(--muted)}.direction-tag{display:inline-block;margin-right:6px;padding:2px 5px;border-radius:3px;color:#08756c;background:#e5f4f1;font-size:9px}.package-list button{width:32px;height:32px;display:grid;place-items:center;border:0;color:var(--danger);background:transparent}.provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px}.provider-grid article{min-height:142px;display:flex;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:5px}.provider-grid article>div{display:flex;align-items:center;justify-content:space-between;color:var(--teal)}.provider-grid strong{margin-top:12px;font-size:13px}.provider-grid p{margin:5px 0 12px;color:var(--muted);font-size:10px}.provider-grid button{margin-top:auto}.modal-scrim{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#0e1f1d94}.secret-dialog{width:min(440px,100%);padding:16px;background:#fff;border-radius:7px;box-shadow:0 24px 70px #00000047}.secret-dialog header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.secret-dialog header p{margin:3px 0;color:var(--muted);font-size:11px}.secret-dialog label{display:block;margin-bottom:6px;font-size:11px;font-weight:800}.secret-dialog input{width:100%;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:4px}.secret-dialog .notice{margin:10px 0}.secret-dialog>.primary{width:100%;min-height:40px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(430px,560px) minmax(300px,1fr);background:#f4f7f6}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,7vw,90px);background:#fff;border-right:1px solid var(--line)}.login-brand{position:absolute;top:28px}.login-brand strong{font-size:13px}.login-brand span{color:var(--muted);font-size:10px}.login-copy h1{margin:7px 0 8px;font-size:28px;letter-spacing:0}.login-copy p{max-width:420px;margin:0 0 28px;color:var(--muted);font-size:12px;line-height:1.7}.login-panel form{display:grid;gap:7px}.login-panel form label{margin-top:6px;font-size:11px;font-weight:800}.login-panel form input{height:44px;padding:0 11px;border:1px solid var(--line);border-radius:5px}.login-panel form>button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;border:0;border-radius:5px;color:#fff;background:var(--teal);font-weight:800}.login-aside{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#d8e8e4;background:#172b29}.login-aside svg{width:46px;height:46px;margin-bottom:17px;color:#5fc9ba}.login-aside strong{font-size:18px}.login-aside span{max-width:280px;margin-top:8px;color:#8eaaa5;text-align:center;font-size:11px;line-height:1.7}.form-error,.error-banner{display:flex;align-items:center;gap:8px;color:#932e2e;background:#fbe9e8;border:1px solid #efc9c7;border-radius:4px;font-size:11px}.form-error{padding:8px}.error-banner{margin-bottom:12px;padding:9px 11px}.error-banner button{margin-left:auto;border:0;color:inherit;background:transparent}.center-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.mono{font-family:Consolas,monospace}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:1000px){.admin-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar-brand div:last-child,.sidebar nav button:not(.active):after,.sidebar nav button{font-size:0}.sidebar-brand{padding-inline:7px}.sidebar nav button{justify-content:center}.sidebar nav b{position:absolute;margin:-25px 0 0 26px;font-size:9px}.server-note div{display:none}.overview-grid{grid-template-columns:1fr}.provider-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.admin-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:auto 0 0;z-index:10;width:100%;height:62px;padding:6px;flex-direction:row}.sidebar-brand,.server-note{display:none}.sidebar nav{width:100%;display:flex;justify-content:space-around}.sidebar nav button{width:54px;min-height:48px}.main{padding-bottom:64px}.content{padding:12px;overflow-x:hidden}.topbar{padding-inline:14px}.top-actions>button{width:44px;height:44px}.user{display:none}.metrics,.engagement-grid,.distill-row{grid-template-columns:repeat(2,1fr)}.provider-grid{grid-template-columns:1fr}.provider-grid button{min-height:44px}.login-page{grid-template-columns:1fr}.login-panel{min-height:100vh;padding:32px 24px}.login-aside{display:none}.data-table{min-width:0}.devices-table .thead,.devices-table .tr{grid-template-columns:1.25fr .7fr .55fr 1fr}.devices-table .thead>:nth-child(4),.devices-table .thead>:nth-child(5),.devices-table .tr>:nth-child(4),.devices-table .tr>:nth-child(5){display:none}.jobs-table .thead,.jobs-table .tr{grid-template-columns:1.1fr .7fr .65fr .75fr}.jobs-table .thead>:nth-child(3),.jobs-table .thead>:nth-child(5),.jobs-table .tr>:nth-child(3),.jobs-table .tr>:nth-child(5){display:none}.assets-table .thead,.assets-table .tr{grid-template-columns:.55fr 1.2fr .75fr .8fr}.assets-table .thead>:nth-child(3),.assets-table .thead>:nth-child(4),.assets-table .tr>:nth-child(3),.assets-table .tr>:nth-child(4){display:none}.row-actions{flex-direction:column}.row-actions button{min-height:36px;padding-inline:5px}}@media(max-width:700px){.admin-direction-filter{order:3;width:100%}.admin-direction-filter button{flex:1}.direction-comparison{grid-template-columns:1fr}}
