:root{--radius-card: 12px;--radius-container: 8px;--radius-control: 6px;color:#172026;background:#f3f6f7;font-family:Inter,Microsoft YaHei UI,Segoe UI,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;height:100%;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100vh;overflow:hidden;background:#f3f6f7}#root{height:100vh;min-height:100vh}button,input,select{font:inherit}button{align-items:center;background:#173f4f;border:0;border-radius:var(--radius-control);color:#fff;cursor:pointer;display:inline-flex;gap:8px;font-weight:700;min-height:38px;padding:0 12px;white-space:nowrap;transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease}button:hover:not(:disabled){background:#0f5365;box-shadow:0 8px 18px #0f536529}button.secondary,.tab-button{background:#eef3f4;color:#173f4f}button.danger{background:#8c2d2d}button.danger:hover:not(:disabled){background:#a33232}button:disabled{cursor:not-allowed;opacity:.55}input,select{background:#fff;border:1px solid #c5ccd1;border-radius:var(--radius-control);min-height:38px;padding:0 10px;width:100%}input[type=file]{padding:7px 10px}input:focus,select:focus{border-color:#2b8790;box-shadow:0 0 0 3px #2b879024;outline:none}label{color:#30414a;display:grid;gap:6px;font-size:.9rem}.login-shell{align-items:center;background:linear-gradient(135deg,#0c202bf5,#152f38fa);display:grid;min-height:100vh;padding:24px}.login-panel{background:#fff;border:1px solid rgba(255,255,255,.74);border-radius:var(--radius-card);box-shadow:0 26px 70px #04141c47;display:grid;gap:18px;margin:auto;max-width:420px;padding:32px;width:100%}.login-panel h1{font-size:2rem;letter-spacing:0}.login-panel p{color:#667783;margin-top:2px}.login-purpose{background:#f3f7f7;border:1px solid #dbe5e7;border-radius:var(--radius-container);color:#53666f;padding:10px 12px}.login-brand{align-items:center;display:flex;gap:12px}.login-brand img{height:58px;width:58px}.field-with-icon{gap:8px}.input-shell{align-items:center;background:#fff;border:1px solid #c5ccd1;border-radius:var(--radius-container);color:#2b8790;display:flex;gap:10px;min-height:42px;padding:0 12px}.input-shell:focus-within{border-color:#2b8790;box-shadow:0 0 0 3px #2b879024}.input-shell input{border:0;box-shadow:none;min-height:40px;padding:0}.input-shell input:focus{border:0;box-shadow:none}.login-submit{justify-content:center;min-height:44px}h1,h2,p{margin:0}.app-shell{align-items:start;background:#f3f6f7;display:grid;grid-template-columns:248px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden}.sidebar{background:#0f1f29;color:#dbe4ee;display:grid;grid-template-rows:auto 1fr auto;gap:16px;height:100vh;max-height:100vh;min-height:100vh;overflow:hidden;padding:22px 16px;position:sticky;top:0}.brand-lockup{align-items:center;display:flex;gap:10px;min-height:54px;padding:0 4px}.brand-lockup>img{align-items:center;border-radius:var(--radius-container);display:inline-flex;height:42px;justify-content:center;width:42px}.brand-lockup strong{font-size:1.1rem}.brand-lockup small{color:#91a3b4;display:block}.sidebar-account{align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-container);display:flex;gap:10px;justify-content:space-between;min-width:0;padding:10px}.sidebar-account-name{display:grid;gap:1px;min-width:0}.sidebar-account-name strong,.sidebar-account-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-name span,.sidebar-foot{color:#91a3b4}.sidebar-bottom{align-self:end;display:grid;gap:10px;min-width:0}.sidebar-foot{display:block;line-height:1.55;padding:4px}.sidebar-logout{flex:0 0 auto;min-height:38px;padding:0 10px}.workspace{align-content:start;display:grid;gap:16px;height:100vh;max-height:100vh;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:20px 24px 32px;scrollbar-gutter:stable}.topbar,.panel-title{align-items:center;display:flex;justify-content:space-between;gap:12px}.topbar{background:#fff;border:1px solid #d9e2e5;border-radius:var(--radius-container);box-shadow:0 10px 28px #1720260a;padding:14px 16px;position:sticky;top:0;z-index:5}.topbar h1{color:#102733;font-size:1.5rem}.topbar p{color:#5f6f77}.toolbar{display:flex;gap:8px}.tabbar{align-content:start;display:grid;gap:4px;grid-auto-rows:min-content;min-height:0;overflow-y:auto}.tab-button{justify-content:flex-start;min-height:42px;white-space:nowrap}.tab-button.active{background:#dff7f5;color:#113845}.sidebar .tab-button{background:transparent;border-left:3px solid transparent;color:#c6d3df;padding-left:12px;width:100%}.sidebar .tab-button:hover:not(:disabled){background:#182d38;box-shadow:none}.sidebar .tab-button.active{background:#203944;border-left-color:#57c5ba;color:#fff}.status-line{background:#fff7df;border-left:4px solid #b98413;border-radius:var(--radius-control);padding:10px 12px}.status-line.success{background:#dff2e5;border-left-color:#1b6a3a}.status-line.error{background:#f3dede;border-left-color:#8c2d2d}.summary-band{background:transparent;border:0;display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{background:#fff;border:1px solid #d9e2e5;border-radius:var(--radius-card);box-shadow:0 10px 24px #1720260b;color:#53666f;display:grid;gap:4px;grid-template-columns:auto 1fr;min-height:96px;padding:16px}.summary-card strong{color:#102733;font-size:1.8rem;font-weight:700;line-height:1}.summary-card>span:not(.summary-icon),.summary-card small{grid-column:2}.summary-icon{align-items:center;background:#e6f4f2;border-radius:var(--radius-container);color:#1d7774;display:inline-flex;grid-row:1 / -1;height:38px;justify-content:center;width:38px}.summary-card.attention{background:#fff8e6;border-color:#ecd194}.summary-card.attention .summary-icon{background:#fff1cf;color:#8a5a00}.summary-cta{align-items:center;background:#173f4f;border-radius:999px;color:#fff;display:inline-flex;font-size:.8rem;font-weight:700;justify-self:start;margin-top:6px;min-height:28px;padding:0 12px}button.summary-card{font-weight:400;text-align:left;white-space:normal;width:100%}button.summary-card:hover:not(:disabled){background:#fff;border-color:#b9cdd1;box-shadow:0 14px 30px #17202614}button.summary-card.attention:hover:not(:disabled){background:#fff3d6;border-color:#e3c37e}button.summary-card:focus-visible{border-color:#2b8790;box-shadow:0 0 0 3px #2b879024;outline:none}.content-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(320px,.85fr) minmax(0,1.4fr)}.upgrade-grid{grid-template-columns:minmax(0,1fr)}.panel{align-content:start;background:#fff;border:1px solid #d9e2e5;border-radius:var(--radius-container);box-shadow:0 12px 30px #1720260d;display:grid;gap:14px;padding:16px}.panel-title h2{color:#102733;font-size:1.08rem}.stack-title{align-items:flex-start}.side-stack{display:grid;gap:16px}.device-table{display:grid;gap:1px;overflow-x:auto}.table-row{align-items:center;background:#fff;border-bottom:1px solid #edf1f3;display:grid;gap:12px;grid-template-columns:54px minmax(180px,1.1fr) minmax(150px,.8fr) minmax(170px,1fr) minmax(150px,.9fr) minmax(90px,.6fr) minmax(230px,1.15fr) minmax(260px,auto);min-height:56px;padding:0 8px}.table-head{background:#f4f7f8;color:#60727d;font-size:.82rem;font-weight:700;letter-spacing:.02em;min-height:34px}.management-row{grid-template-columns:54px minmax(230px,1.2fr) minmax(150px,.8fr) minmax(190px,1fr) minmax(150px,.7fr) minmax(150px,.8fr) minmax(110px,.5fr) minmax(250px,auto)}.upgrade-device-row{grid-template-columns:54px minmax(220px,1fr) minmax(130px,.65fr) minmax(110px,.5fr) minmax(320px,1.3fr) minmax(170px,.75fr)}.table-row:not(.table-head):hover,.account-row:not(.table-head):hover,.permission-row:not(.table-head):hover,.notification-row:not(.table-head):hover,.package-row:not(.table-head):hover,.task-row:not(.table-head):hover,.audit-row:not(.table-head):hover,.diagnostic-row:not(.table-head):hover{background:#f6fafb}.device-filter-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(260px,1.4fr) minmax(140px,.7fr) minmax(140px,.7fr) minmax(150px,.8fr)}.table-row small{color:#6d7c83;display:block;font-size:.8rem;margin-top:2px}mark{background:#eceff1;border-radius:999px;color:#637178;display:inline-block;font-size:.8rem;margin-right:6px;padding:3px 8px}mark.online,mark.active,mark.approved,mark.success,mark.completed,mark.succeeded{background:#dff2e5;color:#1b6a3a}mark.offline,mark.disabled,mark.inactive,mark.closed{background:#eceff1;color:#637178}mark.pending,mark.offer_submitted,mark.answer_submitted,mark.running{background:#fff1cf;color:#8a5a00}mark.cancelled,mark.failed,mark.rejected,mark.partial_failed{background:#f3dede;color:#8c2d2d}.icon-button{justify-content:center;padding:0;width:38px}.row-action-button{gap:6px;min-height:38px;padding:0 10px}.copyable-id{align-items:center;display:inline-flex;gap:2px;max-width:100%}.copyable-id small{display:inline;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{background:transparent;color:#5f6f77;flex:0 0 auto;justify-content:center;min-height:26px;padding:0;width:26px}.copy-button:hover:not(:disabled){background:#eef3f4;box-shadow:none}.copy-button.copied{color:#1b6a3a}.copy-button.failed{color:#8c2d2d}.list-loading{font-style:normal}.list-error{align-items:center;background:#f3dede;border-left:4px solid #8c2d2d;border-radius:var(--radius-control);color:#5c1f1f;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:10px 12px}.list-error button{flex:0 0 auto}.modal-overlay{align-items:center;background:#0f1f297a;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:30}.modal-panel{background:#fff;border-radius:var(--radius-card);box-shadow:0 26px 70px #04141c47;display:grid;gap:14px;max-width:520px;padding:24px;width:100%}.modal-panel h2{color:#102733;font-size:1.1rem;margin:0}.token-display{align-items:center;background:#f4f7f8;border:1px solid #d9e2e5;border-radius:var(--radius-container);display:flex;gap:8px;padding:10px 12px}.token-display code{flex:1 1 auto;font-size:.85rem;overflow-wrap:anywhere}.non-admin-panel{border-radius:var(--radius-card);justify-items:center;padding:48px 24px}.non-admin-hero{display:grid;gap:12px;justify-items:center;max-width:480px;text-align:center}.non-admin-hero>svg{color:#2b8790}.non-admin-hero h2{color:#102733;font-size:1.2rem;margin:0}.empty{color:#6d7c83;padding:18px 0;text-align:center}.notification-grid{display:grid;gap:14px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.inline-form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(120px,.6fr) auto}.account-table,.permission-table,.notification-table,.package-table,.task-table{display:grid;gap:1px;overflow-x:auto}.account-row,.permission-row,.notification-row,.package-row,.task-row{align-items:center;background:#fff;border-bottom:1px solid #edf1f3;display:grid;gap:12px;min-height:52px;padding:0 8px}.account-row.table-head,.permission-row.table-head,.notification-row.table-head,.package-row.table-head,.task-row.table-head,.audit-row.table-head{background:#f4f7f8}.account-row{grid-template-columns:minmax(160px,1.2fr) 120px 120px minmax(160px,auto)}.permission-row{grid-template-columns:minmax(220px,1fr) 80px 80px 80px 80px 80px}.permission-management-row{grid-template-columns:54px minmax(220px,1.1fr) 130px 80px 80px 80px 80px 80px}.notification-row{grid-template-columns:minmax(220px,1fr) 130px minmax(120px,auto)}.package-row{grid-template-columns:minmax(96px,.75fr) minmax(160px,1fr) minmax(118px,.72fr) minmax(150px,.86fr)}.package-row>span{min-width:0;overflow-wrap:anywhere}.package-actions{justify-content:flex-end;min-width:0}.task-row{grid-template-columns:minmax(190px,1fr) 90px minmax(130px,.8fr) minmax(110px,.7fr) minmax(160px,.8fr)}.dashboard-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.dashboard-grid>.summary-band{grid-column:1 / -1}.dashboard-grid>.panel{border-radius:var(--radius-card)}.dashboard-grid>.panel:first-of-type{grid-row:span 2}.device-card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.compact-cards{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.device-card{background:#f9fbfb;border:1px solid #d9e2e5;border-radius:var(--radius-card);display:grid;gap:8px;padding:14px}.device-card strong{color:#102733}.device-card small,.muted,.compact-list small{color:#6d7c83}.device-card-head,.chip-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between}.chip-row{justify-content:flex-start}.compact-list{display:grid;gap:10px}.compact-list span{background:#f9fbfb;border:1px solid #edf1f3;border-radius:var(--radius-container);display:grid;gap:2px;padding:10px 12px}.attention-groups{display:grid;gap:14px}.attention-group{display:grid;gap:8px}.attention-group h3{color:#5f6f77;font-size:.85rem;font-weight:700;margin:0}.attention-item{align-items:center;background:#f9fbfb;border:1px solid #edf1f3;border-radius:var(--radius-container);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:10px 12px}.attention-item>span:first-child{display:grid;gap:2px;min-width:0}.attention-item small{color:#6d7c83}.audit-table,.diagnostic-table{display:grid;gap:1px;overflow-x:auto}.audit-row,.diagnostic-row{align-items:center;background:#fff;border-bottom:1px solid #edf1f3;display:grid;gap:12px;min-height:54px;padding:0 8px}.audit-row{grid-template-columns:minmax(220px,1fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(220px,1.2fr)}.diagnostics-wide{grid-column:1 / -1}.diagnostic-filter-row{align-items:end;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.diagnostic-row{grid-template-columns:minmax(210px,1.1fr) 100px minmax(140px,.8fr) minmax(190px,1fr) minmax(130px,.7fr) minmax(240px,1.25fr) minmax(170px,.8fr)}.account-row small,.permission-row small,.notification-row small,.package-row small,.task-row small{color:#6d7c83;display:block;font-size:.8rem;margin-top:2px}.permission-row input[type=checkbox]{justify-self:start;min-height:18px;width:18px}.narrow-control{max-width:360px}.wide-control{grid-column:1 / -1}.package-form{align-items:end;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(170px,1fr))}.package-form button{justify-content:center}.inline-section{border-top:1px solid #edf1f3;display:grid;gap:10px;padding-top:14px}.inline-section h3{color:#102733;font-size:.98rem;margin:0}.filter-row{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(220px,.7fr) minmax(240px,1fr)}.filter-actions,.compact-actions,.pagination-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.pagination-row{justify-content:space-between;padding-top:12px}.advanced-form{background:#f9fbfb;border:1px solid #d9e2e5;border-radius:var(--radius-container);padding:10px 12px}.advanced-form summary{color:#30414a;cursor:pointer;font-weight:700}.advanced-form>div{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(170px,1fr));padding-top:12px}.task-actions{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(170px,1fr) minmax(150px,1fr) auto auto}.bulk-update-bar,.batch-update-panel{align-items:end;background:#f9fbfb;border:1px solid #d9e2e5;border-radius:var(--radius-container);display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(180px,.8fr) auto;padding:12px}.update-channel-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:12px}.toolbar-copy{flex:1 1 260px;min-width:0}.toolbar-copy small{color:#6d7c83;display:block;margin-top:2px}.compact-field{display:grid;flex:0 1 180px;gap:6px;min-width:150px}.pinned-field{flex-basis:230px}.toolbar-save{flex:0 0 auto}.management-actions{grid-template-columns:minmax(110px,.7fr) repeat(5,auto)}.bulk-update-bar strong,.batch-update-panel strong{color:#102733}.batch-update-panel{grid-template-columns:minmax(220px,1fr) minmax(180px,.8fr) auto;margin-bottom:12px}.batch-update-panel small,.batch-preview small{color:#6d7c83;display:block}.batch-preview{border-top:1px solid #edf1f3;display:grid;gap:10px;grid-column:1 / -1;padding-top:10px}.upgrade-workflow-section{border-top:1px solid #edf1f3;display:grid;gap:12px;margin-top:14px;padding-top:14px}.task-section-title h3{color:#102733;font-size:1rem;margin:0}.update-policy-cell{align-items:end;display:flex;flex-wrap:wrap;gap:8px}.update-policy-cell input,.update-policy-cell select{min-height:32px}.policy-fields{display:grid;flex:1 1 170px;gap:6px;min-width:150px}.device-table input[type=checkbox]{min-height:18px;width:18px}fieldset{border:1px solid #d8dee2;border-radius:var(--radius-container);display:grid;gap:10px;margin:0;padding:12px}legend{color:#30414a;font-weight:700}fieldset label{display:grid}fieldset label.check-label{align-items:center;display:flex;gap:8px}fieldset input[type=checkbox]{min-height:auto;width:auto}@media(max-width:900px){body{height:auto;overflow:auto}#root{height:auto}.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{height:auto;grid-template-rows:auto auto auto;max-height:none;min-height:auto;overflow:visible;position:static}.workspace{height:auto;max-height:none;overflow:visible}.topbar{position:static}.sidebar-bottom{align-self:start}.sidebar .tabbar{display:flex;overflow-x:auto;overflow-y:visible}.sidebar .tab-button{width:auto}.content-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.panel:first-of-type{grid-row:auto}.topbar{align-items:flex-start;flex-direction:column}.toolbar{flex-wrap:wrap}}@media(max-width:640px){.workspace{padding:14px}.summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}.table-row{grid-template-columns:54px 180px 150px 170px 150px 90px 230px 260px;width:1284px}.management-row{grid-template-columns:54px 230px 150px 190px 150px 150px 110px 250px;width:1284px}.upgrade-device-row{grid-template-columns:54px 220px 130px 110px 320px 170px;width:1064px}.inline-form{grid-template-columns:1fr}.account-row{grid-template-columns:160px 120px 120px 160px;width:620px}.permission-row{grid-template-columns:220px 80px 80px 80px 80px 80px;width:660px}.permission-management-row{grid-template-columns:54px 220px 130px 80px 80px 80px 80px 80px;width:804px}.notification-row{width:560px}.package-form,.task-actions,.bulk-update-bar,.batch-update-panel,.filter-row,.device-filter-row,.diagnostic-filter-row{grid-template-columns:1fr}.update-channel-toolbar{align-items:stretch}.compact-field,.toolbar-save{flex:1 1 100%}.advanced-form>div{grid-template-columns:1fr}.package-row{grid-template-columns:112px 220px 140px 220px;width:740px}.task-row{grid-template-columns:190px 90px 130px 110px 160px;width:720px}.audit-row{grid-template-columns:220px 160px 160px 220px;width:820px}.diagnostic-row{grid-template-columns:210px 100px 140px 190px 130px 240px 170px;width:1180px}}
