/* Scoped presentation layer; upgrade and permission behavior is unchanged. */
html.console-clean-shell body,body.console-clean-shell{--console-sidebar:224px;--console-max:1280px;--ink:#20352b;--muted:#6b7d73;--green:#18764d;--line:#e1e9e3;--bg:#f5f8f6;background:var(--bg);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.console-clean-shell .sidebar{width:var(--console-sidebar);padding:26px 14px;background:#143a2c;border-right:1px solid #103225;box-shadow:none}
.console-clean-shell .sidebar .brand{gap:11px;padding:0 12px 27px;border:0}.console-clean-shell .brand-mark{width:35px;height:35px;border-radius:10px;background:#2da970;box-shadow:none;font-size:20px}.console-clean-shell .brand strong{font-size:16px;font-weight:650;letter-spacing:.1px}.console-clean-shell .brand small{font-size:13px;color:#9fbdae;margin-top:4px}
.console-clean-shell .sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:0;overflow:visible}.console-clean-shell .sidebar .nav-link{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;padding:11px 14px;border:1px solid transparent;border-radius:9px;color:#c0d4c8;font-size:15px;font-weight:500;box-shadow:none;transition:background .15s,color .15s}.console-clean-shell .sidebar .nav-link:hover{background:#204c39;color:#fff}.console-clean-shell .sidebar .nav-link.active{background:#2a6549;border-color:#377756;color:#fff;font-weight:650;box-shadow:none}.console-clean-shell .console-nav-icon{width:18px;height:18px;flex:0 0 18px;opacity:.9}.console-clean-shell .sidebar .console-nav-label{width:auto;flex:1;text-align:left;font-size:15px;line-height:20px;white-space:nowrap}
.console-clean-shell .console-management{display:flex;flex-direction:column;gap:5px;border:0;margin-top:28px;padding:0}.console-clean-shell .console-nav-group-title{margin:0 14px 7px;color:#8eaf9d;font-size:13px;font-weight:600;line-height:20px;letter-spacing:1px;cursor:default}.console-clean-shell .console-management .nav-link{font-weight:450}
.console-clean-shell main{margin-left:var(--console-sidebar);width:calc(100% - var(--console-sidebar));min-width:0}.console-clean-shell .topbar{height:76px;min-height:76px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;box-shadow:none}.console-clean-shell .topbar h1{margin:0;font-size:22px;line-height:1.4;font-weight:650;letter-spacing:-.3px}.console-clean-shell .topbar>div>p{display:none}.console-clean-shell .top-actions{gap:18px;font-size:13px;color:#5d7265}.console-clean-shell .top-actions a{color:#73867a}.console-clean-shell .content{width:100%;max-width:var(--console-max);margin:0 auto;padding:28px 32px 48px}.console-clean-shell #self-ota-root{min-width:0;max-width:100%;overflow-x:auto}.console-clean-shell.simple-ota-page #self-ota-root,html.console-clean-shell body.simple-ota-page #self-ota-root{max-width:1080px;margin:0 auto}
.console-clean-shell h2{font-size:19px;font-weight:650;letter-spacing:-.2px}.console-clean-shell p{font-size:16px;line-height:1.6}.console-clean-shell .panel{padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(22,55,36,.025)}.console-clean-shell .section-head{gap:16px;margin-bottom:18px}.console-clean-shell .ota-heading{gap:18px;margin:0 0 18px}.console-clean-shell .ota-heading p{margin:0;color:#718176}.console-clean-shell .ota-heading h2,.console-clean-shell .history-heading h2,.console-clean-shell[data-m5-api] .ota-device-panel>.section-head h2,html.console-clean-shell body[data-m5-api] .ota-device-panel>.section-head h2{display:none}.console-clean-shell .history-heading p{margin-top:0}
.console-clean-shell button,.console-clean-shell input,.console-clean-shell select,.console-clean-shell textarea{font-family:inherit;font-size:15px;line-height:1.45}.console-clean-shell button{min-height:39px;padding:9px 16px;border-radius:8px;font-weight:600;box-shadow:none}.console-clean-shell .primary,.console-clean-shell .ota-upgrade{background:#19784e;color:#fff;border:1px solid #19784e;box-shadow:0 2px 4px rgba(20,90,54,.08)}.console-clean-shell .primary:hover,.console-clean-shell .ota-upgrade:hover{background:#146a43;filter:none}.console-clean-shell .ghost{background:#fff;color:#476052;border:1px solid #d7e3db}.console-clean-shell .ghost:hover{border-color:#98b8a4;background:#f5faf7;filter:none}.console-clean-shell button:disabled{opacity:.52;cursor:default;box-shadow:none}.console-clean-shell .ota-upgrade:disabled{background:#a8bbaf;border-color:#a8bbaf;opacity:1}.console-clean-shell input,.console-clean-shell select,.console-clean-shell textarea{min-height:42px;padding:10px 12px;border:1px solid #d6e1d9;border-radius:8px;background:#fff;color:#294535}.console-clean-shell input:focus,.console-clean-shell select:focus,.console-clean-shell textarea:focus{border-color:#4b9d72;outline:0;box-shadow:0 0 0 3px #e7f3ec}.console-clean-shell label{font-size:13px;color:#5b7163}.console-clean-shell :is(button,a,summary):focus-visible{outline:3px solid #85bba0;outline-offset:3px}
.console-clean-shell .ota-filters{grid-template-columns:minmax(240px,1fr) 145px 155px;gap:14px}.console-clean-shell .ota-table-wrap,.console-clean-shell .history-table-wrap{border:0;border-radius:10px;overflow:auto}.console-clean-shell table{min-width:760px;font-family:inherit}.console-clean-shell th{padding:13px 15px;color:#6b8173;font-size:13px;font-weight:550;letter-spacing:0;text-transform:none;background:#f6f9f7;border-color:#e3ebe6}.console-clean-shell td{padding:18px 15px;color:#304d3c;font-family:inherit;font-size:15px;border-color:#e9efeb}.console-clean-shell tbody tr:hover{background:#fafcfb}.console-clean-shell .ota-table-wrap td:first-child,.console-clean-shell .history-imei{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:13px;font-weight:500;letter-spacing:.05px}.console-clean-shell .ota-table-wrap td:nth-child(3){font-size:13px}.console-clean-shell .ota-table-wrap td:last-child{text-align:right}.console-clean-shell .ota-device-link{display:inline-flex;align-items:center;justify-content:center;min-height:35px;padding:7px 12px;border:1px solid #c9e4d3;border-radius:7px;background:#edf7f0;color:#176e43;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.console-clean-shell .ota-device-link:hover{background:#dff0e5;border-color:#a7ceb7}.console-clean-shell .ota-status,.console-clean-shell .history-result{padding:5px 10px;font-size:13px;font-weight:500;line-height:1.35;border-radius:20px;white-space:nowrap}.console-clean-shell .ota-status[data-tone=success],.console-clean-shell .history-result[data-tone=success]{background:#e9f5ed;color:#237247}
.console-clean-shell .ota-device-panel,.console-clean-shell .ota-firmware-manager{max-width:none}.console-clean-shell .ota-device-identity{margin:0;gap:10px}.console-clean-shell .ota-imei{font-size:18px;color:#254c36;letter-spacing:.35px}.console-clean-shell .ota-model{border-color:#dce8df;background:#f4f9f6;color:#3a7653;font-size:13px;border-radius:5px;padding:3px 7px}.console-clean-shell .ota-current{font-size:13px;margin:14px 0 0;color:#7b8d81}.console-clean-shell .ota-current strong{color:#516e5d;font-size:13px;font-weight:500}.console-clean-shell .ota-action-grid{gap:16px;margin-top:26px;min-width:0}.console-clean-shell .ota-target-label{gap:9px;min-width:0}.console-clean-shell .ota-target-label select{min-width:0;font-size:15px}.console-clean-shell .ota-upgrade{min-width:128px;min-height:44px;font-size:15px}.console-clean-shell #ota-message:empty{display:none}.console-clean-shell .ota-update-note{margin:12px 0 0;min-height:0}.console-clean-shell .ota-result{margin-top:24px;padding:20px;border:1px solid #e5eee8;border-radius:10px;background:#f7faf8;gap:13px}.console-clean-shell .ota-result h2{font-size:20px;margin:0;color:#2b4e38}.console-clean-shell .ota-result p{font-size:13px;margin:5px 0 0;color:#74867a}.console-clean-shell .ota-status-large{width:10px;height:10px}.console-clean-shell .ota-records{margin:20px 0 0;padding-top:14px;border-color:#edf1ee}.console-clean-shell .ota-records summary,.console-clean-shell .ota-firmware-manager>summary{font-size:13px;font-weight:500;color:#557e63}.console-clean-shell .ota-firmware-manager{padding:18px 24px;margin-top:18px;box-shadow:none}.console-clean-shell .ota-record-list{font-size:13px}.console-clean-shell .history-search{gap:14px}.console-clean-shell .history-note,.console-clean-shell .history-message{font-size:13px;color:#7b8c80}.console-clean-shell .history-versions{font-size:13px}.console-clean-shell .history-time{font-size:13px;color:#718476}.console-clean-shell .history-pages{margin-top:20px}.console-clean-shell .history-detail{font-size:13px}.console-clean-shell .directory-heading,.console-clean-shell .history-heading{gap:18px}.console-clean-shell .user-row{padding:18px 0}.console-clean-shell .user-row p{font-size:13px}.console-clean-shell .kv{font-size:13px}.console-clean-shell .audit-item{padding:16px 0}.console-clean-shell [hidden]{display:none!important}
@media(min-width:1700px){.console-clean-shell .topbar{padding-left:max(32px,calc((100vw - 224px - 1280px)/2 + 32px));padding-right:max(32px,calc((100vw - 224px - 1280px)/2 + 32px))}}
@media(max-width:1050px){.console-clean-shell .content{padding:24px}.console-clean-shell .ota-filters{grid-template-columns:minmax(200px,1fr) 130px 140px}.console-clean-shell .ota-table-wrap td:nth-child(3){max-width:270px;overflow-wrap:anywhere}}
@media(max-width:760px){html.console-clean-shell body,body.console-clean-shell{display:block}.console-clean-shell .sidebar{position:static;width:100%;height:auto;min-height:0;padding:12px 14px;border-right:0}.console-clean-shell .sidebar .brand{display:none}.console-clean-shell .sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:0}.console-clean-shell .sidebar nav>.nav-link{padding:9px 12px;min-height:40px}.console-clean-shell .console-management{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:12px}.console-clean-shell .console-nav-group-title{grid-column:1/-1;margin:0 12px 3px;font-size:13px}.console-clean-shell .console-management .nav-link{min-height:37px;padding:8px 12px}.console-clean-shell .sidebar .console-nav-label{font-size:13px}.console-clean-shell .console-nav-icon{width:16px;height:16px;flex-basis:16px}.console-clean-shell main{margin-left:0;width:100%;min-width:0}.console-clean-shell .topbar{height:64px;min-height:64px;padding:0 18px;position:static}.console-clean-shell .topbar h1{font-size:20px}.console-clean-shell .top-actions{display:flex;font-size:13px;gap:12px}.console-clean-shell .content{padding:20px 14px 32px}.console-clean-shell .panel{padding:18px;border-radius:12px}.console-clean-shell .ota-filters{grid-template-columns:1fr 1fr;gap:12px}.console-clean-shell .ota-search{grid-column:1/-1}.console-clean-shell .ota-action-grid{grid-template-columns:minmax(0,1fr)}.console-clean-shell .ota-upgrade{width:100%}.console-clean-shell .ota-result{padding:17px 15px}.console-clean-shell .ota-current{overflow-wrap:anywhere}.console-clean-shell .ota-firmware-manager{padding:16px 18px}.console-clean-shell .history-search{grid-template-columns:1fr 130px}.console-clean-shell .ota-table-wrap,.console-clean-shell .history-table-wrap{max-width:100%}.console-clean-shell .ota-heading{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.console-clean-shell *{scroll-behavior:auto!important;transition:none!important}}

/* Readable Chinese Console typography and compact factual audit records. */
.console-clean-shell :is(button,input,select,textarea){font-size:16px}.console-clean-shell :is(td,.user-row,.history-facts,.history-timeline){font-size:15px}.console-clean-shell :is(.note,.history-note,.history-time,.history-failure,.history-technical>summary,.history-search label,.presence-explanation,.directory-sn,.directory-module,.directory-version-full){font-size:13px}.console-clean-shell .ota-device-link{font-size:15px}.console-clean-shell .top-actions{font-size:14px}.console-clean-shell .user-row{gap:18px;align-items:center}.console-clean-shell .user-row p{font-size:14px}.console-clean-shell .directory-model-name{font-size:15px}.console-clean-shell .directory-version-full{max-width:290px}.console-clean-shell .console-audit{padding:24px}.console-clean-shell .audit-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.console-clean-shell .audit-heading h2{margin:0 0 5px;font-size:21px}.console-clean-shell .audit-heading p{margin:0;font-size:14px;color:#728177}.console-clean-shell .audit-table-wrap{overflow:auto;max-width:100%;border:1px solid #e6ece8;border-radius:10px}.console-clean-shell .audit-table{min-width:780px}.console-clean-shell .audit-table th{font-size:14px;padding:13px 16px}.console-clean-shell .audit-table td{font-size:15px;padding:15px 16px;vertical-align:top}.console-clean-shell .audit-table td:nth-child(2)>strong{font-weight:600}.console-clean-shell .audit-time{font-size:15px!important;white-space:nowrap;color:#697e70}.console-clean-shell .audit-identifiers{margin:5px 0 0;padding:0;border:0;background:none;font-size:13px;color:#718477}.console-clean-shell .audit-identifiers summary{padding:0;line-height:1.5;cursor:pointer;color:#547b63}.console-clean-shell .audit-identifiers .kv{display:block;margin:8px 0;font-size:13px;max-width:260px}.console-clean-shell .audit-identifiers .kv span{display:block;color:#849087}.console-clean-shell .audit-identifiers .kv strong{font-size:13px;font-weight:400;overflow-wrap:anywhere;white-space:normal}.console-clean-shell .audit-empty{text-align:center;color:#74867a;padding:28px!important}
.login-body{font-size:16px;line-height:1.6}.login-body .login-panel input,.login-body .login-panel button{font-size:16px}.login-body .login-panel label{font-size:15px}.login-body .login-panel form>small,.login-body .login-panel form>p{font-size:13px}.login-body .login-brand p,.login-body .guard{font-size:15px}
@media(max-width:760px){.console-clean-shell .console-audit{padding:17px}.console-clean-shell .audit-heading{align-items:flex-start}.console-clean-shell .audit-heading h2{font-size:20px}.console-clean-shell .sidebar .console-nav-label{font-size:15px}.console-clean-shell .user-row{align-items:flex-start;flex-direction:column;gap:10px}}

/* Native HTML establishes the shell before deferred JavaScript. SVG dimensions
   and non-span labels also remain readable if the external styles fail. */
.console-clean-shell .sidebar .console-nav-label{font-weight:inherit;white-space:nowrap;min-width:max-content}.console-clean-shell #self-ota-root[aria-live="polite"]>p:only-child{margin:0;padding:24px;border:1px solid #e1e9e3;border-radius:12px;background:#fff;color:#6f8175;font-size:16px;line-height:1.7;min-height:100px}.console-clean-shell .console-load-help{display:none;margin:12px 0 0;color:#7b8a80;font-size:13px;line-height:1.6}.console-clean-shell .content:has(>#self-ota-root[aria-live="polite"]>p:only-child)>.console-load-help{display:block}.console-clean-shell .console-noscript{font-size:14px;line-height:1.7;color:#87652d;background:#fff9eb;border:1px solid #eee0bc;border-radius:9px;padding:15px;margin:12px 0 0}
