:root{--ink:#17202f;--muted:#748094;--line:#e5e9ef;--surface:#fff;--canvas:#f3f5f8;--navy:#101b2c;--blue:#3159dd;--green:#16856b;--shadow:0 10px 30px rgba(18,32,57,.06)}
*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:244px;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:28px 18px 20px;color:#d9e0eb;background:linear-gradient(180deg,#101b2c,#0c1625);box-shadow:8px 0 30px rgba(10,18,31,.1)}
.brand,.auth-brand{display:flex;align-items:center;gap:11px}.brand{flex:0 0 auto;padding:0 9px 28px}.brand-mark,.auth-brand>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#4b70f0,#2541aa);box-shadow:0 8px 20px rgba(31,75,220,.3);font-size:18px;font-weight:700}.brand strong,.brand small,.auth-brand strong,.auth-brand small{display:block}.brand strong,.auth-brand strong{color:#fff;font-size:18px;letter-spacing:.12em}.brand small,.auth-brand small{margin-top:2px;color:#778398;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.sidebar nav{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding-right:5px;overscroll-behavior:contain;scrollbar-color:#3d4e68 transparent;scrollbar-width:thin}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{border:1px solid transparent;border-radius:8px;background-clip:padding-box;background:#3d4e68}.sidebar nav p{margin:8px 12px;color:#68768b;font-size:10px;letter-spacing:.15em}.sidebar nav .nav-space{margin-top:24px}.sidebar nav button{width:100%;height:43px;display:flex;align-items:center;gap:12px;margin:4px 0;padding:0 13px;border:0;border-radius:9px;color:#98a6b9;background:transparent;font-size:13px;text-align:left}.sidebar nav button:hover{color:#fff;background:rgba(255,255,255,.05)}.sidebar nav button.active{color:#fff;background:linear-gradient(90deg,rgba(66,100,225,.3),rgba(48,75,173,.18));box-shadow:inset 3px 0 #6181ef}.sidebar nav button span{width:19px;font-size:17px;text-align:center}.sidebar-foot{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin-top:12px;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.08);background:#0c1625}.avatar,.user-badge{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.avatar{background:#253653;color:#cbd8ff}.sidebar-foot div:nth-child(2){flex:1}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:11px}.sidebar-foot small{margin-top:3px;color:#65758a;font-size:9px}.sidebar-foot a{color:#77869d;text-decoration:none}
main{min-height:100vh;margin-left:244px}.topbar{height:86px;display:flex;align-items:center;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92)}.topbar h1{margin:0;font-size:19px}.topbar p{margin:5px 0 0;color:#8891a0;font-size:11px}.service-ok{display:flex;align-items:center;gap:7px;margin-left:auto;color:#718074;font-size:10px}.service-ok i{width:7px;height:7px;border-radius:50%;background:#2aaa86;box-shadow:0 0 0 4px #e6f5f0}.menu-button{display:none}.content{max-width:1500px;margin:auto;padding:30px 38px 56px}
.welcome{min-height:220px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:38px;padding:34px 40px;border-radius:16px;color:#fff;background:radial-gradient(circle at 85% 20%,rgba(84,119,226,.3),transparent 34%),linear-gradient(115deg,#172944,#132038 60%,#192b4b);box-shadow:0 16px 40px rgba(23,41,68,.16)}.welcome>div>span,.explain>span{color:#89a3f5;font-size:9px;font-weight:700;letter-spacing:.2em}.welcome h2{margin:13px 0 10px;font-size:32px;letter-spacing:-.04em}.welcome p{max-width:530px;margin:0 0 22px;color:#aebbd0;font-size:12px;line-height:1.8}.flow{display:flex;align-items:center;justify-content:flex-end}.flow b{padding:24px 15px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04);font-size:10px}.flow i{margin:0 9px;color:#60728e;font-style:normal}.primary,.secondary{height:39px;padding:0 17px;border-radius:9px;font-size:11px;font-weight:650}.primary{border:1px solid var(--blue);color:#fff;background:var(--blue);box-shadow:0 7px 16px rgba(49,89,221,.2)}.secondary{border:1px solid #dfe3ea;color:#536074;background:#fff}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.metric{min-height:102px;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.metric>span{width:41px;height:41px;display:grid;place-items:center;border-radius:11px;color:#4263d9;background:#edf1ff;font-size:19px}.metric p{margin:0;color:#778193;font-size:10px}.metric strong,.metric small{display:block}.metric strong{margin:2px 0;font-size:24px;color:var(--ink)}.metric small{color:#a1a8b3;font-size:8px}.two-col,.security-grid{display:grid;grid-template-columns:1.3fr .8fr;gap:16px;margin-top:18px}.panel{border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.panel-head{min-height:61px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #eef0f4}.panel-head h3{margin:0;font-size:12px}.panel-head p{margin:4px 0;color:#929baa;font-size:9px}.panel-head button{border:0;color:#6076c9;background:transparent;font-size:9px}.device-row{min-height:65px;display:grid;grid-template-columns:38px 1fr auto 45px;align-items:center;gap:10px;padding:8px 20px;border-bottom:1px solid #f0f1f4}.device-row:last-child{border-bottom:0}.device-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#5873d4;background:#eff2fa}.device-row p{margin:0}.device-row strong,.device-row small{display:block}.device-row strong{font-size:10px}.device-row small{margin-top:4px;color:#929aaa;font-size:8px}.device-row em{color:#8a94a4;font-size:8px;font-style:normal}.status{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:4px 7px;border-radius:20px;font-size:8px;font-weight:600;white-space:nowrap}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-active,.status-online{color:#168067;background:#eaf7f2}.status-disabled,.status-offline{color:#7f8998;background:#f0f2f5}.status-maintenance{color:#c47438;background:#fff2e8}.activity{padding:10px 20px}.activity>div{display:flex;gap:12px;padding:9px 0}.activity>div>i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#7087dc}.activity p{margin:0;color:#525d70;font-size:9px}.activity small{display:block;margin-top:4px;color:#a1a8b3;font-size:8px}
.toolbar{display:flex;justify-content:space-between;gap:14px;padding:16px 18px}.toolbar>input{width:min(100%,330px);height:39px;padding:0 12px;border:1px solid #dfe3ea;border-radius:9px;outline:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{padding:12px 18px;background:#fafbfc;color:#8a93a1;font-size:8px;text-align:left;white-space:nowrap}td{padding:15px 18px;border-top:1px solid #eff1f4;color:#626d7f;font-size:9px;white-space:nowrap}.identity{display:flex;align-items:center;gap:10px}.identity>span,.user-badge{color:#4f68bd;background:linear-gradient(145deg,#edf1fd,#dfe6fa);font-weight:700}.identity>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px}.identity p{margin:0}.identity strong,.identity small{display:block}.identity strong{color:#283244;font-size:10px}.identity small{margin-top:4px;color:#939ba9;font-size:8px}.actions{text-align:right}.actions button,.link,.card-actions button{border:0;color:#4d67c5;background:transparent;font-size:9px}.danger{color:#d15c68!important}.empty{min-height:100px;display:grid;place-items:center;color:#9aa3b0;font-size:10px}
.desktop-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:16px}.desktop-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.card-top{display:flex;justify-content:space-between}.monitor{width:46px;height:39px;display:grid;place-items:center;border:2px solid #314561;border-radius:7px;color:#7084a0;background:linear-gradient(145deg,#263c5a,#17273d);font-size:7px}.desktop-card h3{margin:18px 0 5px;font-size:13px}.desktop-card>p{min-height:16px;margin:0 0 14px;color:#929baa;font-size:9px}.desktop-card dl{padding:11px 0;border-top:1px solid #eef0f4;border-bottom:1px solid #eef0f4}.desktop-card dl div{display:grid;grid-template-columns:90px 1fr;min-height:27px;align-items:center}.desktop-card dt{color:#9aa2ae;font-size:8px}.desktop-card dd{overflow:hidden;margin:0;color:#4b576a;font-family:monospace;font-size:8px;text-overflow:ellipsis}.desktop-card dd.safe{color:#188269}.desktop-card dd.warn{color:#c57942}.validity{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:8px;white-space:nowrap}.validity-permanent{color:#627086;background:#f0f2f5}.validity-active{color:#168067;background:#eaf7f2}.validity-expired{color:#b6505d;background:#fff0f2}.card-actions{display:flex;align-items:center;gap:8px;padding-top:14px}.card-actions select{height:31px;margin-right:auto;border:1px solid #e0e4ea;border-radius:7px;color:#5f6b7d;background:#fff;font-size:8px}
.assignment-grid{display:grid;grid-template-columns:1.2fr .65fr;gap:17px}.assignment-users{padding:7px 18px 14px}.assignment-users>button{width:100%;min-height:66px;display:flex;align-items:center;gap:11px;padding:10px 5px;border:0;border-bottom:1px solid #eef0f4;background:#fff;text-align:left}.assignment-users>button>p{flex:1;margin:0}.assignment-users strong,.assignment-users small{display:block}.assignment-users strong{font-size:10px}.assignment-users small{margin-top:5px;color:#969eaa;font-size:8px}.assignment-users>button>b{font-size:9px}.explain{padding:31px;border-radius:14px;color:#fff;background:radial-gradient(circle at 80% 0,rgba(78,110,212,.3),transparent 35%),linear-gradient(150deg,#172943,#101d31)}.explain h3{margin:18px 0 10px;font-size:19px}.explain p,.explain small{color:#a5b2c6;font-size:10px;line-height:1.8}.explain b{display:block;margin-top:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);font-size:9px}.explain i{display:block;color:#61748f;text-align:center;font-style:normal}.explain small{display:block;margin-top:24px;color:#74849c;font-size:8px}.good{padding:5px 9px;border-radius:20px;color:#168067;background:#eaf7f2;font-size:8px}.checks{padding:8px 20px 18px}.checks>div{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #eff1f4;color:#168067}.checks p{margin:0;color:var(--ink)}.checks strong,.checks small{display:block;font-size:10px}.checks small{margin-top:5px;color:#929ba9;font-size:8px}.security-grid{grid-template-columns:minmax(290px,.78fr) minmax(520px,1.22fr);align-items:start}.audit-panel{overflow:hidden}.audit-panel-head{min-height:72px}.audit-heading h3{margin:0}.audit-heading p{margin:5px 0 0;color:#929baa;font-size:8px}.audit-count{display:inline-flex;align-items:baseline;gap:4px;padding:6px 10px;border:1px solid #dfe5fb;border-radius:20px;color:#687798;background:#f3f5fd;font-size:8px;white-space:nowrap}.audit-count b{color:#3159dd;font-size:13px}.audit{max-height:min(570px,calc(100vh - 245px));overflow-y:auto;padding:7px 16px 14px;scrollbar-gutter:stable}.audit>div{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:start;gap:13px;padding:13px 8px;border-bottom:1px solid #eff1f4;border-radius:8px;transition:background .15s ease}.audit>div:hover{background:#f8f9fc}.audit>div:last-child{border-bottom:0}.audit>div>span{width:max-content;max-width:72px;overflow:hidden;padding:5px 8px;border-radius:6px;color:#526bc6;background:#eef1fc;font-family:monospace;font-size:7px;font-weight:700;text-overflow:ellipsis}.audit p{min-width:0;margin:0}.audit strong,.audit small{display:block}.audit strong{color:#3f4a5d;font-size:10px;font-weight:550;line-height:1.55;overflow-wrap:anywhere}.audit small{margin-top:5px;color:#98a1af;font-size:8px;line-height:1.4;overflow-wrap:anywhere}.audit::-webkit-scrollbar{width:7px}.audit::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:8px;background:#cdd3de}.audit::-webkit-scrollbar-track{background:transparent}
.modal-layer{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px}.modal-bg{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(10,18,31,.58);backdrop-filter:blur(4px)}.modal{position:relative;width:min(100%,560px);max-height:calc(100vh - 40px);overflow:auto;border-radius:15px;background:#fff;box-shadow:0 30px 80px rgba(8,18,35,.28)}.modal header{min-height:78px;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal header h2{margin:0;font-size:16px}.modal header p{margin:5px 0 0;color:#8c95a4;font-size:9px}.modal header>button{width:30px;height:30px;border:1px solid #e4e7ec;border-radius:8px;background:#fafbfc}.form-body{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:20px 22px}.form-body label>span{display:block;margin-bottom:7px;color:#596477;font-size:9px;font-weight:600}.form-body .wide{grid-column:1/-1}.form-body input,.form-body textarea{width:100%;padding:0 11px;border:1px solid #dfe3e9;border-radius:8px;outline:0;font-size:10px}.form-body input{height:39px}.form-body textarea{padding-top:10px;resize:vertical}.modal footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--line);background:#fafbfc}.select-list{grid-column:1/-1}.select-list label{display:grid;grid-template-columns:18px 35px 1fr auto;align-items:center;gap:10px;margin:8px 0;padding:12px;border:1px solid #e4e7ec;border-radius:10px}.select-list p{margin:0}.select-list strong,.select-list small{display:block;font-size:10px}.select-list small{margin-top:4px;color:#929ba9;font-size:8px}.toast{position:fixed;z-index:100;top:24px;left:50%;transform:translateX(-50%);padding:11px 16px;border:1px solid #bfe6d8;border-radius:10px;color:#146d59;background:#effbf7;box-shadow:0 12px 32px rgba(20,67,53,.16);font-size:10px}.toast-error{border-color:#f2ccd1;color:#9e3f4a;background:#fff3f4}.loading,.alert{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#718094;font-size:11px}.alert{color:#a03f4b;border-color:#f2ccd1;background:#fff3f4}.nav-backdrop{display:none}
.auth-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 20%,rgba(49,89,221,.16),transparent 35%),linear-gradient(145deg,#101b2c,#172944)}.auth-card{width:min(100%,420px);min-height:0;margin:0;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#fff;box-shadow:0 30px 80px rgba(5,14,29,.3)}.auth-brand{margin-bottom:30px}.auth-brand strong{color:#17202f}.auth-card h1{margin:0;font-size:24px}.auth-card>p{margin:9px 0 24px;color:#7e8898;font-size:11px;line-height:1.7}.auth-card form label{display:block;margin-top:14px;color:#566175;font-size:10px;font-weight:600}.auth-card form input{width:100%;height:43px;margin-top:7px;padding:0 12px;border:1px solid #dfe3e9;border-radius:9px;outline:0}.wide-button{width:100%;margin-top:22px}.auth-error{padding:11px;border:1px solid #f1c9ce;border-radius:8px;color:#9e3f4a;background:#fff3f4;font-size:10px}.auth-foot{display:block;margin-top:18px;color:#a0a7b2;font-size:8px;text-align:center}
@media(max-width:1080px){.metrics{grid-template-columns:repeat(2,1fr)}.desktop-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.welcome{grid-template-columns:1fr}.flow{justify-content:flex-start}.two-col,.security-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:translateX(0)}main{margin-left:0}.topbar{height:75px;padding:0 18px}.topbar p,.service-ok{display:none}.menu-button{display:block;width:36px;height:36px;margin-right:12px;border:1px solid var(--line);border-radius:9px;background:#fff}.content{padding:20px 16px 40px}.welcome{padding:27px 22px}.flow{display:none}.desktop-grid,.assignment-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar>input{flex:1;min-width:0}.nav-backdrop.show{position:fixed;z-index:25;inset:0;display:block;border:0;background:rgba(8,15,26,.45)}.form-body{grid-template-columns:1fr}.form-body .wide{grid-column:auto}.modal-layer{padding:0;align-items:end}.modal{width:100%;max-height:92vh;border-radius:17px 17px 0 0}.actions button{padding:4px}.security-grid{grid-template-columns:1fr}}
@media(max-width:430px){.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{display:block;min-height:128px}.metric p{margin-top:9px}.welcome h2{font-size:26px}}
.auth-success{padding:11px;border:1px solid #bfe6d8;border-radius:8px;color:#146d59;background:#effbf7;font-size:10px}.auth-foot a{color:#667cc9;text-decoration:none}.sidebar-foot small a{color:#65758a}
.modal{width:min(100%,700px)}.audit small b{color:#536681;font-weight:700}.muted-text{color:#9aa3b0;font-size:8px}.assignment-users>button:disabled{cursor:default;opacity:.78}.admin-summary{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;padding:26px 30px;border:1px solid #263b5c;border-radius:15px;color:#fff;background:radial-gradient(circle at 80% 0,rgba(78,110,212,.3),transparent 36%),linear-gradient(135deg,#172943,#101d31);box-shadow:0 14px 34px rgba(18,32,57,.13)}.admin-summary span{color:#8fa8f4;font-size:8px;font-weight:700;letter-spacing:.18em}.admin-summary h2{margin:9px 0 7px;font-size:20px}.admin-summary p{max-width:700px;margin:0;color:#aebbd0;font-size:10px;line-height:1.7}.permission-chips{display:flex;flex-wrap:wrap;gap:5px;max-width:560px;white-space:normal}.permission-chips span{padding:4px 7px;border:1px solid #dde4fb;border-radius:20px;color:#536bc0;background:#f1f4fe;font-size:7px}.permission-chips em{color:#a0a7b2;font-size:8px;font-style:normal}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{min-width:0;margin:0;padding:10px 12px 12px;border:1px solid #e1e5ec;border-radius:11px;background:#fafbfc}.permission-group legend{padding:0 6px;color:#3e4d63;font-size:9px;font-weight:700}.permission-option{display:flex!important;align-items:flex-start;gap:9px;padding:7px 5px;border-radius:7px;cursor:pointer}.permission-option:hover{background:#f0f3fb}.permission-option input{flex:0 0 auto;width:14px!important;height:14px!important;margin:1px 0 0;accent-color:#3159dd}.permission-option span,.permission-option b,.permission-option small{display:block}.permission-option b{color:#4a5669;font-size:9px}.permission-option small{margin-top:3px;color:#a0a7b2;font-family:monospace;font-size:7px}.actions{min-width:200px}.actions button{margin:2px 0 2px 4px}
@media(max-width:760px){.admin-summary{align-items:flex-start;flex-direction:column;padding:22px}.permission-grid{grid-template-columns:1fr}.actions{min-width:180px}}
.brand strong{font-size:14px;letter-spacing:.03em;white-space:nowrap}.auth-brand strong{font-size:16px;letter-spacing:.04em;white-space:nowrap}
.sidebar nav button.locked{color:#657286;opacity:.72}.sidebar nav button.locked:hover{color:#9aa7ba;background:rgba(255,255,255,.035)}.sidebar nav button.locked::after{content:"无权限";margin-left:auto;padding:2px 5px;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#647187;font-size:7px}
.metric-action{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.metric-action:hover,.metric-action:focus-visible{transform:translateY(-2px);border-color:#cbd5f7;box-shadow:0 14px 32px rgba(49,89,221,.12);outline:0}.metric-action strong{color:#3159dd}.metric-action small{color:#6478bf}.expiry-list{display:grid;gap:9px}.expiry-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid #e4e8ef;border-radius:11px;background:#fafbfc}.expiry-list p{margin:0}.expiry-list p strong,.expiry-list p small{display:block}.expiry-list p strong{color:#334055;font-size:10px}.expiry-list p small{margin-top:5px;color:#9099a8;font-family:monospace;font-size:8px}.expiry-side{display:grid;justify-items:end;gap:8px}.expiry-meta,.expiry-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.expiry-actions button{height:29px;padding:0 10px;font-size:8px}.expiry-list .empty{grid-column:1/-1}
@media(max-width:560px){.expiry-list article{grid-template-columns:38px minmax(0,1fr)}.expiry-side{grid-column:1/-1;justify-items:start;padding-left:49px}.expiry-meta,.expiry-actions{justify-content:flex-start}}

.release-grid{display:grid;gap:18px}.release-current{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 26px;padding:27px 30px;border:1px solid #263b5c;border-radius:15px;color:#fff;background:radial-gradient(circle at 82% 0,rgba(54,215,188,.2),transparent 36%),linear-gradient(135deg,#172943,#101d31);box-shadow:0 14px 34px rgba(18,32,57,.13)}.release-current span{color:#8fa8f4;font-size:8px;font-weight:700;letter-spacing:.18em}.release-current h2{margin:8px 0 6px;font-size:20px}.release-current p{margin:0;color:#aebbd0;font-size:9px}.release-current>b,.force-badge{align-self:start;padding:7px 11px;border:1px solid rgba(61,229,181,.28);border-radius:20px;color:#68e4be;background:rgba(39,181,143,.12);font-size:8px}.release-current ul{grid-column:1/-1;margin:2px 0 0;padding:14px 18px;border-top:1px solid rgba(255,255,255,.09);color:#c8d2e1;font-size:9px;line-height:1.8}.release-current a{grid-column:1/-1;width:max-content;color:#86a5ff;font-size:9px}.release-empty{grid-template-columns:1fr}.release-panel{overflow:hidden}.release-form{display:grid;grid-template-columns:1.4fr .75fr .55fr;gap:15px;padding:20px}.release-form label>span,.release-form label>small{display:block}.release-form label>span{margin-bottom:7px;color:#647084;font-size:9px;font-weight:650}.release-form label>small{margin-top:6px;color:#9aa3b0;font-size:7px}.release-form input,.release-form textarea{box-sizing:border-box;width:100%;border:1px solid #dfe3ea;border-radius:9px;color:#465166;background:#fff;font:10px -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;outline:0}.release-form input{height:42px;padding:0 12px}.release-form input[type=file]{padding:9px}.release-form textarea{padding:11px 12px;resize:vertical;line-height:1.7}.release-form input:focus,.release-form textarea:focus{border-color:#8297df;box-shadow:0 0 0 3px rgba(49,89,221,.08)}.release-notes,.release-warning,.release-progress,.release-submit{grid-column:1/-1}.release-warning{padding:13px 15px;border:1px solid #f1d8b8;border-radius:10px;color:#9b652b;background:#fff8ee}.release-warning strong,.release-warning p{display:block;margin:0;font-size:9px}.release-warning p{margin-top:5px;color:#ae8151;font-size:8px}.release-progress{position:relative;height:42px;overflow:hidden;border:1px solid #dfe5fb;border-radius:10px;background:#f3f5fd}.release-progress i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#dce4ff,#b9c8fa);transition:width .15s}.release-progress p{position:relative;z-index:1;margin:0;padding:13px;color:#526583;font-size:8px;text-align:center}.release-submit{height:43px}.release-submit:disabled{cursor:wait;opacity:.58}@media(max-width:850px){.release-form{grid-template-columns:1fr 1fr}.release-form label:first-child{grid-column:1/-1}}@media(max-width:560px){.release-current{grid-template-columns:1fr;padding:23px}.release-current>b{justify-self:start}.release-form{grid-template-columns:1fr}.release-form label{grid-column:1/-1}}
.authorized-count{padding:3px 7px;border:1px solid #dce3f8;border-radius:6px;color:#4f68bd;background:#f2f5fd;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:8px}.authorized-count:hover{border-color:#c3cff4;background:#e9eefc}.authorized-inline{margin-top:6px!important;color:#536bc0!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif!important}.authorized-user-list{display:grid;gap:9px}.authorized-user-list article{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid #e4e8ef;border-radius:11px;background:#fafbfc}.authorized-user-list article>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#4f68bd;background:linear-gradient(145deg,#edf1fd,#dfe6fa);font-size:10px;font-weight:700}.authorized-user-list p{min-width:0;flex:1;margin:0}.authorized-user-list strong,.authorized-user-list small{display:block}.authorized-user-list strong{color:#334055;font-size:10px}.authorized-user-list small{margin-top:5px;color:#9099a8;font-size:8px}.authorized-user-list em{font-style:normal}.authorized-user-list .remove-authorization{height:30px;padding:0 10px;flex:0 0 auto;font-size:8px}.authorized-user-list .empty{grid-column:1/-1}
@media(max-width:520px){.authorized-user-list article{align-items:flex-start;flex-wrap:wrap}.authorized-user-list .remove-authorization{margin-left:45px}}
.select-list label{grid-template-columns:18px minmax(0,1fr) auto}.select-list p{min-width:0}.select-list .assignment-note{max-width:460px;margin-top:6px;color:#6f7b8e;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.form-body select{width:100%;height:39px;padding:0 11px;border:1px solid #dfe3e9;border-radius:8px;color:#4b576a;background:#fff;outline:0;font-size:10px}
.generated-password-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.generated-password-field>div input{height:39px}.generated-password-field>div button{height:39px;white-space:nowrap}.generated-password-field>small{display:block;margin-top:6px;color:#8e99aa;font-size:8px;line-height:1.5}@media(max-width:480px){.generated-password-field>div{grid-template-columns:1fr}.generated-password-field>div button{width:100%}}
.form-section{padding:13px 15px;border:1px solid #dfe5fb;border-radius:10px;background:#f5f7fe}.form-section strong,.form-section small{display:block}.form-section strong{color:#40547a;font-size:10px}.form-section small{margin-top:5px;color:#8490a4;font-size:8px;line-height:1.55}.security-answer-note{padding:11px 13px;border:1px solid #d9e9e3;border-radius:9px;color:#53756b;background:#f2faf7;font-size:8px;line-height:1.6}.recovery-ready,.recovery-missing{display:inline-flex;padding:4px 7px;border-radius:20px;font-size:8px;font-weight:700}.recovery-ready{color:#168067;background:#eaf7f2}.recovery-missing{color:#b15b66;background:#fff0f2}
.announcement-summary,.message-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:26px 28px;border:1px solid #263b5c;border-radius:16px;color:#fff;background:radial-gradient(circle at 84% 0,rgba(64,119,230,.28),transparent 38%),linear-gradient(135deg,#172943,#101d31);box-shadow:0 14px 34px rgba(18,32,57,.13)}
.announcement-summary span,.message-summary span{color:#8fa8f4;font-size:8px;font-weight:700;letter-spacing:.18em}.announcement-summary h2,.message-summary h2{margin:9px 0 7px;font-size:20px}.announcement-summary p,.message-summary p{max-width:760px;margin:0;color:#aebbd0;font-size:10px;line-height:1.7}
.notice-admin-list{display:grid;gap:10px;padding:16px 18px}.notice-admin-card{display:flex;align-items:center;gap:13px;padding:14px 15px;border:1px solid #e4e8ef;border-radius:11px;background:#fafbfc}.notice-admin-copy{min-width:0;flex:1}.notice-admin-card p{margin:0 0 6px;color:#344156;font-size:10px;line-height:1.65;overflow-wrap:anywhere}.notice-admin-card small{color:#929baa;font-size:8px}.notice-order{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:#4f68bd;background:#edf1fd;font-size:10px;font-weight:700}.notice-admin-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.notice-admin-actions button{height:30px;padding:0 11px;font-size:9px}
.table-sub{display:block;max-width:520px;margin-top:5px;color:#929baa;font-size:8px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.message-target-all{display:inline-flex;padding:5px 8px;border-radius:20px;color:#168067;background:#eaf7f2;font-size:8px;font-weight:700}
@media(max-width:760px){.announcement-summary,.message-summary{align-items:flex-start;flex-direction:column;padding:22px}.announcement-summary .primary,.message-summary .primary{width:100%}.notice-admin-card{align-items:flex-start;flex-wrap:wrap}.notice-admin-actions{width:100%;justify-content:flex-end;padding-left:45px}}
.sidebar nav .nav-child{height:36px;margin:-1px 0 3px;padding-left:30px;color:#7f8fa7;font-size:11px}.sidebar nav .nav-child span{font-size:14px}.pt-balance{color:#d84d5c;font-size:10px}.balance-action{font-weight:700!important}.balance-current{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid #f0d0d4;border-radius:11px;background:#fff6f7}.balance-current span{margin:0!important;color:#7e6870!important}.balance-current strong{color:#d84d5c;font-size:20px}.inventory-hero{margin-bottom:16px;padding:27px 30px;border:1px solid #263b5c;border-radius:15px;color:#fff;background:radial-gradient(circle at 84% 0,rgba(54,215,188,.2),transparent 36%),linear-gradient(135deg,#172943,#101d31);box-shadow:0 14px 34px rgba(18,32,57,.13)}.inventory-hero span{color:#8fa8f4;font-size:8px;font-weight:700;letter-spacing:.18em}.inventory-hero h2{margin:9px 0 7px;font-size:20px}.inventory-hero p{max-width:750px;margin:0;color:#aebbd0;font-size:10px;line-height:1.7}.stock-package-grid{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:14px}.stock-package{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.stock-package>span{color:#6680d9;font-size:8px;font-weight:700}.stock-package h3{margin:9px 0 4px;font-size:15px}.stock-package>p{margin:0;color:#8b96a7;font-size:9px}.stock-package>strong{display:block;margin:14px 0;color:#d84d5c;font-size:22px}.stock-package dl{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 14px}.stock-package dl div{padding:8px 5px;border-radius:8px;background:#f5f7fb;text-align:center}.stock-package dt{color:#929baa;font-size:7px}.stock-package dd{margin:4px 0 0;color:#3f4b5f;font-size:12px;font-weight:700}.stock-package .primary{width:100%}.stock-list{margin-top:16px}.stock-ready,.stock-disabled,.stock-delivered{display:inline-flex;padding:4px 7px;border-radius:20px;font-size:8px;font-weight:700}.stock-ready{color:#168067;background:#eaf7f2}.stock-disabled{color:#8b6570;background:#f5eff1}.stock-delivered{color:#4f68bd;background:#edf1fd}@media(max-width:1200px){.stock-package-grid{grid-template-columns:repeat(2,minmax(210px,1fr))}}@media(max-width:600px){.stock-package-grid{grid-template-columns:1fr}.inventory-hero{padding:22px}}
.toolbar-actions{display:flex;align-items:center;gap:8px}.balance-history{display:grid;gap:10px;max-height:480px;overflow:auto;padding-right:7px}.balance-history article{padding:14px 16px;border:1px solid #e1e8f3;border-radius:12px;background:linear-gradient(135deg,#fbfdff,#f5f8fd)}.balance-history article>div,.balance-history footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.balance-history strong{color:#334158;font-size:10px}.balance-history strong small{color:#8995a8;font-size:8px;font-weight:400}.balance-history p{margin:9px 0;color:#657289;font-size:9px}.balance-history footer{padding-top:8px;border-top:1px solid #e8edf5;color:#8b96a7;font-size:8px}.balance-in,.balance-out{font-size:13px;font-weight:800}.balance-in{color:#159777}.balance-out{color:#d84d5c}@media(max-width:700px){.toolbar-actions{width:100%;flex-wrap:wrap}.balance-history article>div,.balance-history footer{align-items:flex-start;flex-direction:column;gap:5px}}
.prefix-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;padding:27px 30px;border:1px solid #263b5c;border-radius:15px;color:#fff;background:radial-gradient(circle at 82% 0,rgba(78,110,212,.3),transparent 36%),linear-gradient(135deg,#172943,#101d31);box-shadow:0 14px 34px rgba(18,32,57,.13)}.prefix-hero span{color:#8fa8f4;font-size:8px;font-weight:700;letter-spacing:.18em}.prefix-hero h2{margin:9px 0 7px;font-size:20px}.prefix-hero p{max-width:760px;margin:0;color:#aebbd0;font-size:10px;line-height:1.75}.prefix-hero>.primary{flex:0 0 auto}.prefix-value{display:inline-flex;max-width:260px;padding:6px 10px;border:1px solid #d7e0fb;border-radius:7px;color:#4964bd;background:linear-gradient(135deg,#f4f7ff,#eaf0ff);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:750;overflow-wrap:anywhere}.prefix-picker{padding:13px 14px;border:1px solid #dbe3fa;border-radius:11px;background:linear-gradient(135deg,#f8faff,#f1f5ff)}.prefix-picker>span{color:#435b9e!important}.prefix-picker small{display:block;margin-top:7px;color:#8491aa;font-size:8px;line-height:1.55}.prefix-picker select{border-color:#cbd6f5;background:#fff}.prefix-form-note{padding:11px 13px;border:1px solid #d9e5fb;border-radius:9px;color:#536887;background:#f3f7ff;font-size:8px;line-height:1.65}@media(max-width:760px){.prefix-hero{align-items:flex-start;flex-direction:column;padding:22px}.prefix-hero>.primary{width:100%}}
.mfa-card{width:min(100%,500px)}.mfa-qr{width:218px;min-height:218px;display:grid;place-items:center;margin:0 auto 18px;padding:14px;border:1px solid #dce3f6;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(30,58,120,.11)}.mfa-qr img,.mfa-qr canvas{display:block}.mfa-secret{margin:0 0 19px;padding:13px 15px;border:1px solid #dce5fb;border-radius:11px;background:#f4f7ff;text-align:center}.mfa-secret span,.mfa-secret code{display:block}.mfa-secret span{color:#74819a;font-size:9px}.mfa-secret code{margin-top:7px;color:#3651a7;font-size:13px;font-weight:800;letter-spacing:.12em;overflow-wrap:anywhere}.recovery-code-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:19px 0}.recovery-code-grid code{padding:11px 8px;border:1px solid #dce4f8;border-radius:9px;color:#324a92;background:#f5f7fd;font-size:12px;font-weight:750;text-align:center;letter-spacing:.05em}.mfa-finish{height:43px;display:grid;place-items:center;margin-top:20px;text-decoration:none}.recovery-login{margin-top:19px;padding:13px 15px;border:1px solid #e2e6ee;border-radius:10px}.recovery-login summary{cursor:pointer;color:#6072ad;font-size:10px;font-weight:700}.recovery-login form{margin-top:8px}.security-account-body{align-items:start}.security-account-card{width:min(100%,680px);margin:32px 0}.security-account-section{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:16px;border:1px solid #e0e6f1;border-radius:12px;background:#fafbfe}.security-account-section strong,.security-account-section small,.trusted-device-section header strong,.trusted-device-section header small{display:block}.security-account-section strong,.trusted-device-section header strong{font-size:11px}.security-account-section small,.trusted-device-section header small{margin-top:5px;color:#8995a7;font-size:9px}.security-account-section form,.trusted-device-section>form{display:flex;align-items:center;gap:8px}.security-account-section form input,.trusted-device-section>form input{height:37px;padding:0 10px;border:1px solid #dfe4ec;border-radius:8px;font-size:9px}.security-enabled,.security-disabled{padding:6px 9px;border-radius:20px;font-size:8px;font-weight:750}.security-enabled{color:#168067;background:#eaf7f2}.security-disabled{color:#b15b66;background:#fff0f2}.trusted-device-section{margin-top:14px;overflow:hidden;border:1px solid #e0e6f1;border-radius:12px}.trusted-device-section>header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f7f9fd}.trusted-device-section>header b{padding:5px 9px;border-radius:20px;color:#4e66bd;background:#eaf0ff;font-size:9px}.trusted-device-section article{display:flex;align-items:center;gap:12px;padding:13px 16px;border-top:1px solid #edf0f5}.trusted-device-section article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#4e68bd;background:#edf1fd}.trusted-device-section article div{min-width:0}.trusted-device-section article strong,.trusted-device-section article small{display:block}.trusted-device-section article strong{font-size:10px}.trusted-device-section article small{margin-top:5px;color:#9099a8;font-size:8px;overflow-wrap:anywhere}.trusted-device-section>form{padding:14px 16px;border-top:1px solid #edf0f5;background:#fafbfc}.trusted-empty{margin:0;padding:17px;color:#9099a8;font-size:9px;text-align:center}.security-settings-detail{margin-top:14px;padding:14px 16px;border:1px solid #e0e6f1;border-radius:12px;background:#fff}.security-settings-detail summary{cursor:pointer;color:#4e5d77;font-size:10px;font-weight:750}.security-settings-detail form{margin-top:13px}.security-settings-detail p{color:#8b6470;font-size:9px;line-height:1.65}.danger-detail{border-color:#eed7da;background:#fffafb}@media(max-width:620px){.recovery-code-grid{grid-template-columns:1fr}.security-account-section{align-items:flex-start;flex-direction:column}.security-account-section form,.trusted-device-section>form{width:100%;align-items:stretch;flex-direction:column}.security-account-section form input,.trusted-device-section>form input{width:100%}}

/* Liquid Glass UI · 2026-09-05. Visual only; auth and business contracts unchanged. */
:root {
  color-scheme: light;
  --ink: #172d49; --muted: #546981; --line: rgba(111,149,192,.23);
  --surface: rgba(255,255,255,.74); --canvas: #edf4fd; --blue: #0864cc;
  --green: #146b57; --navy: #172d49;
  --shadow: 0 12px 32px rgba(48,84,130,.08), inset 0 1px 0 rgba(255,255,255,.95);
  --glass: linear-gradient(140deg,rgba(255,255,255,.88),rgba(250,253,255,.59));
  --rim: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(139,173,213,.14);
}
html { background: var(--canvas); font-size: 16px; }
body {
  background: radial-gradient(ellipse at 2% 0%,#d8eaff 0,transparent 44%),
    radial-gradient(ellipse at 98% 48%,#d4e5fa 0,transparent 48%), #f0f5fc;
  background-attachment: fixed; font-size: 1rem; line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
[hidden] { display: none !important; }
button,input,select,textarea,a,summary { -webkit-tap-highlight-color: transparent; }
button,input,select,textarea { min-width: 0; max-width: 100%; }
button { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; transition: background .18s,box-shadow .18s,transform .18s; }
button:disabled { cursor: not-allowed; opacity: .58; }
button:focus-visible,a:focus-visible,summary:focus-visible,.table-wrap:focus-visible {
  outline: 3px solid rgba(8,100,204,.62); outline-offset: 3px;
}
input:focus,select:focus,textarea:focus { border-color: #4b91db !important; box-shadow: 0 0 0 3px rgba(8,100,204,.12); }
input::placeholder,textarea::placeholder { color: #647990; opacity: 1; }
h1,h2,h3,p,strong,small,label,dt,dd,summary { overflow-wrap: anywhere; }
.sidebar {
  inset: 16px auto 16px 16px; width: 248px; height: calc(100dvh - 32px);
  padding: 24px 14px 16px; border: 1px solid rgba(255,255,255,.86); border-radius: 26px;
  color: var(--ink); background: var(--glass); box-shadow: var(--shadow);
  backdrop-filter: blur(24px) saturate(145%); -webkit-backdrop-filter: blur(24px) saturate(145%);
}
.brand { gap: 10px; padding: 0 7px 22px; }
.brand>div,.auth-brand>div,.sidebar-foot>div:nth-child(2) { min-width: 0; }
.brand-mark,.auth-brand>span {
  width: 42px; height: 42px; flex: 0 0 42px; font-size: 20px; border-radius: 14px;
  background: linear-gradient(150deg,#73b9ff 0,#177ee4 45%,#0955bd 100%);
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: inset 0 2px 2px rgba(255,255,255,.65),inset 0 -2px 2px rgba(0,53,137,.3),0 5px 14px rgba(0,83,182,.18);
}
.brand strong,.auth-brand strong { color: var(--ink); font-size: 1rem; letter-spacing: -.025em; white-space: normal; line-height: 1.35; }
.brand small,.auth-brand small { font-size: .6875rem; color: var(--muted); letter-spacing: .08em; }
.sidebar nav { padding-right: 3px; scrollbar-color: #a9c0dc transparent; }
.sidebar nav p { margin: 10px 12px; font-size: .6875rem; color: #627792; letter-spacing: .08em; }
.sidebar nav .nav-space { margin-top: 20px; }
.sidebar nav button,.sidebar nav .nav-child {
  height: auto; min-height: 44px; margin: 4px 0; padding: 10px 12px; gap: 12px;
  border: 1px solid transparent; border-radius: 14px; color: #435c78; font-size: .875rem;
}
.sidebar nav .nav-child { padding-left: 30px; }
.sidebar nav button span { flex: 0 0 22px; width: 22px; color: #617e9e; font-size: 20px; }
.sidebar nav button:hover { color: #095ebf; background: rgba(255,255,255,.7); border-color: rgba(255,255,255,.94); }
.sidebar nav button.active {
  color: #074f9f; background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(198,224,252,.66));
  border-color: rgba(133,182,234,.5); box-shadow: var(--rim),0 4px 12px rgba(25,97,175,.07);
}
.sidebar nav button.active span { color: #0864cc; }
.sidebar nav button.locked,.sidebar nav button.locked:hover { color: #718397; background: transparent; opacity: .85; }
.sidebar nav button.locked::after { color: #536a81; border-color: var(--line); font-size: .625rem; flex: 0 0 auto; }
.sidebar-foot { gap: 9px; padding: 16px 8px 0; border-color: var(--line); background: transparent; }
.sidebar-foot strong { font-size: .875rem; color: var(--ink); }
.sidebar-foot small,.sidebar-foot small a { color: #4d6986; font-size: .75rem; }
.sidebar-foot a { color: #356591; }
.sidebar-foot>a { min-width: 40px; min-height: 44px; display: grid; place-items: center; font-size: 20px; border-radius: 12px; }
.avatar { background: rgba(209,228,250,.8); color: #2361a1; flex-shrink: 0; }
.app-shell>main { margin-left: 280px; min-width: 0; }
.topbar {
  height: auto; min-height: 100px; gap: 16px; padding: 24px 32px 16px;
  border: 0; background: transparent; align-items: center;
}
.topbar>div { min-width: 0; }
.topbar h1 { font-size: clamp(1.4rem,2.1vw,1.9rem); line-height: 1.3; letter-spacing: -.04em; font-weight: 650; }
.topbar p { font-size: .8125rem; color: var(--muted); margin-top: 5px; line-height: 1.5; }
.service-ok { flex-shrink: 0; font-size: .75rem; color: #376756; padding: 9px 13px; border-radius: 999px; border: 1px solid rgba(177,212,199,.65); background: rgba(255,255,255,.68); box-shadow: var(--rim); }
.content { max-width: 1660px; min-width: 0; padding: 12px 32px 40px; }
.welcome,.admin-summary,.announcement-summary,.message-summary,.prefix-hero,.inventory-hero,.release-current,.explain {
  color: var(--ink); border: 1px solid rgba(255,255,255,.94); border-radius: 24px;
  background: linear-gradient(120deg,rgba(255,255,255,.88),rgba(226,240,255,.74));
  box-shadow: var(--shadow); padding: 28px; min-width: 0;
}
.welcome { min-height: 0; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 24px; }
.welcome>div,.admin-summary>div,.announcement-summary>div,.message-summary>div,.prefix-hero>div { min-width: 0; }
.welcome>div>span,.admin-summary span,.announcement-summary span,.message-summary span,.prefix-hero span,.inventory-hero span,.release-current span,.explain>span { color: #507aaa; font-size: .6875rem; letter-spacing: .13em; }
.welcome h2 { font-size: clamp(1.35rem,2vw,1.8rem); line-height: 1.35; margin: 12px 0; }
.welcome p,.admin-summary p,.announcement-summary p,.message-summary p,.prefix-hero p,.inventory-hero p,.release-current p,.explain p {
  font-size: .875rem; color: #506881; line-height: 1.75;
}
.welcome p { margin-bottom: 18px; }
.admin-summary h2,.announcement-summary h2,.message-summary h2,.prefix-hero h2,.inventory-hero h2,.release-current h2 { font-size: 1.5rem; line-height: 1.35; }
.flow { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.flow b { padding: 17px 12px; font-size: .8125rem; background: rgba(255,255,255,.6); border-color: rgba(255,255,255,.98); border-radius: 16px; box-shadow: var(--rim); white-space: normal; }
.flow i { margin: 0; color: #7394b8; }
.primary,.secondary,.wide-button,.mfa-finish {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; height: auto; padding: 11px 18px; font-size: .875rem; font-weight: 600; line-height: 1.4;
  border-radius: 14px; text-align: center; text-decoration: none; flex-shrink: 0;
}
.primary {
  color: #fff; border: 1px solid rgba(10,93,185,.8);
  background: linear-gradient(170deg,#4798ea 0,#1268cb 52%,#0859b7 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(4,60,122,.28),0 5px 12px rgba(8,93,186,.17);
}
.primary:hover:not(:disabled) { background: linear-gradient(170deg,#56a6f4,#1467c5); box-shadow: inset 0 1px 0 rgba(255,255,255,.75),0 7px 16px rgba(8,93,186,.2); }
.secondary { color: #275d92; border: 1px solid rgba(129,166,207,.37); background: linear-gradient(160deg,rgba(255,255,255,.94),rgba(222,237,254,.72)); box-shadow: var(--rim),0 3px 9px rgba(31,77,128,.04); }
.secondary:hover:not(:disabled) { background: #edf6ff; border-color: #87b4e3; }
.primary:active,.secondary:active { transform: translateY(1px); }
.wide-button { width: 100%; margin-top: 22px; }
.metrics { gap: 16px; margin-top: 20px; grid-template-columns: repeat(4,minmax(0,1fr)); }
.metric { gap: 12px; min-width: 0; min-height: 126px; padding: 20px; border-color: rgba(255,255,255,.94); border-radius: 22px; background: var(--glass); box-shadow: var(--shadow); }
.metric>span { flex: 0 0 42px; color: #2776c4; background: linear-gradient(145deg,#fff,#d5e8fc); border: 1px solid #fff; box-shadow: var(--rim); }
.metric p { min-width: 0; font-size: .8125rem; line-height: 1.5; }
.metric strong { font-size: 1.875rem; font-weight: 650; letter-spacing: -.03em; }
.metric small { font-size: .75rem; color: var(--muted); line-height: 1.45; }
.two-col,.security-grid { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 20px; margin-top: 20px; }
.panel { min-width: 0; border-color: rgba(255,255,255,.92); border-radius: 22px; background: var(--glass); box-shadow: var(--shadow); }
.panel-head { gap: 12px; padding: 18px 22px; min-height: 74px; border-color: var(--line); flex-wrap: wrap; }
.panel-head>div { min-width: 0; flex: 1 1 180px; }
.panel-head h3 { font-size: 1rem; line-height: 1.45; }
.panel-head p,.audit-heading p { font-size: .8125rem; color: var(--muted); line-height: 1.5; }
.panel-head button,.link,.card-actions button,.actions button {
  min-height: 40px; padding: 8px 10px; font-size: .8125rem; color: #1766b5;
  border: 1px solid transparent; border-radius: 11px; background: rgba(255,255,255,.35);
}
.panel-head button:hover,.link:hover,.card-actions button:hover,.actions button:hover { border-color: var(--line); background: rgba(255,255,255,.84); }
.device-row { grid-template-columns: 38px minmax(0,1fr) auto auto; padding: 15px 22px; gap: 12px; border-color: var(--line); }
.device-row p { min-width: 0; }
.device-row strong,.identity strong { font-size: .875rem; }
.device-row small,.identity small { font-size: .75rem; color: var(--muted); overflow-wrap: anywhere; }
.device-row em { font-size: .75rem; }
.status,.validity,.good,.audit-count,.permission-chips span,.recovery-ready,.recovery-missing,.message-target-all,.security-enabled,.security-disabled,.stock-ready,.stock-disabled,.stock-delivered {
  max-width: 100%; font-size: .75rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere;
  border: 1px solid rgba(151,177,202,.18); padding: 5px 9px; box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.status i { flex: 0 0 5px; }
.audit-count b { font-size: 1rem; }
.status-active,.status-online,.validity-active,.good,.recovery-ready,.message-target-all,.security-enabled,.stock-ready { color: #13694e; background: rgba(225,245,237,.9); }
.activity { padding: 10px 22px 16px; }
.activity>div { padding: 12px 0; }
.activity>div>i { flex: 0 0 6px; width: 6px; height: 6px; margin-top: 8px; background: #8dadd0; }
.activity p { font-size: .8125rem; line-height: 1.65; }
.activity small,.muted-text,.table-sub { font-size: .75rem; color: var(--muted); line-height: 1.6; }
.toolbar { padding: 18px 20px; align-items: center; flex-wrap: wrap; gap: 12px; }
.content>.toolbar { padding: 0 0 20px; }
.toolbar>input { flex: 1 1 220px; width: min(100%,420px); max-width: 480px; min-height: 46px; height: auto; padding: 11px 14px; background: rgba(255,255,255,.8); border-color: var(--line); border-radius: 14px; font-size: .875rem; }
.toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; margin-left: auto; }
.table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #aac1db transparent; border-radius: 0 0 22px 22px; }
table { min-width: 960px; table-layout: auto; }
#content[data-view=users] table { min-width: 1280px; }
#content[data-view=inventory] table { min-width: 1200px; }
#content[data-view=messages] table { min-width: 1080px; }
#content[data-view=admins] table { min-width: 1040px; }
#content[data-view=prefixes] table { min-width: 700px; }
th { padding: 14px 18px; background: rgba(218,232,248,.42); font-size: .75rem; color: #536b86; }
td { padding: 16px 18px; font-size: .8125rem; color: #445d77; vertical-align: middle; border-color: var(--line); white-space: normal; overflow-wrap: anywhere; min-width: 96px; }
tbody tr:hover { background: rgba(237,246,255,.76); }
.identity { min-width: 165px; align-items: flex-start; }
.identity>span { flex: 0 0 34px; }
.identity p { min-width: 0; }
.actions { width: 260px; min-width: 220px; white-space: normal; text-align: left; }
td.actions,table:has(td.actions) th:last-child { position: sticky; right: 0; z-index: 1; background: rgba(246,250,255,.98); box-shadow: -8px 0 18px rgba(52,88,132,.045); }
.action-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 4px 6px; }
.actions button { margin: 0; white-space: nowrap; flex: 0 0 auto; }
.danger { color: #aa3349 !important; }
.danger:hover { background: #fff0f2 !important; }
.empty { min-height: 140px; padding: 28px 20px; font-size: .875rem; text-align: center; color: #60768e; }
.desktop-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,290px),1fr)); gap: 20px; }
.desktop-card { min-width: 0; display: flex; flex-direction: column; padding: 24px; border-color: rgba(255,255,255,.95); border-radius: 24px; background: var(--glass); box-shadow: var(--shadow); }
.card-top { align-items: center; gap: 12px; }
.monitor { width: 46px; height: 40px; border-color: #8bb8e7; color: #3670a7; background: linear-gradient(135deg,#fff,#cfe4fb); font-size: .625rem; box-shadow: var(--rim); }
.desktop-card h3 { margin: 20px 0 7px; font-size: 1.15rem; line-height: 1.4; }
.desktop-card>p { min-height: 0; font-size: .8125rem; color: var(--muted); line-height: 1.6; }
.desktop-card dl { margin: 18px 0 0; padding: 14px 0; border-color: var(--line); }
.desktop-card dl div { grid-template-columns: 90px minmax(0,1fr); gap: 10px; min-height: 34px; padding: 3px 0; align-items: baseline; }
.desktop-card dt { font-size: .75rem; color: var(--muted); }
.desktop-card dd { overflow: visible; font-size: .8125rem; text-overflow: clip; overflow-wrap: anywhere; }
.card-actions { flex-wrap: wrap; gap: 8px; padding-top: 18px; margin-top: auto; }
.card-actions select { flex: 1 1 130px; max-width: 100%; min-height: 42px; height: auto; margin-right: auto; padding: 8px 10px; font-size: .8125rem; border-color: var(--line); border-radius: 12px; background: rgba(255,255,255,.75); }
.authorized-count { min-height: 36px; font-size: .8125rem; padding: 6px 10px; white-space: normal; border-radius: 10px; }
.assignment-grid { grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr); gap: 20px; }
.assignment-users { padding: 8px 20px 16px; }
.assignment-users>button { min-height: 82px; gap: 12px; padding: 14px 4px; background: transparent; border-color: var(--line); }
.assignment-users>button>p { min-width: 0; }
.assignment-users strong { font-size: .875rem; }
.assignment-users small,.assignment-users>button>b { font-size: .75rem; color: var(--muted); }
.assignment-users .user-badge { flex-shrink: 0; }
.assignment-users .status { margin: 4px 0 0; }
.explain h3 { font-size: 1.35rem; }
.explain b { font-size: .875rem; border-color: #fff; border-radius: 14px; background: rgba(255,255,255,.6); }
.explain small { margin-top: 22px; color: var(--muted); font-size: .8125rem; line-height: 1.7; }
.checks { padding: 8px 22px 18px; }
.checks>div { padding: 18px 0; border-color: var(--line); }
.checks strong { font-size: .875rem; }
.checks small { font-size: .8125rem; color: var(--muted); line-height: 1.65; }
.audit { max-height: 640px; padding: 6px 18px 18px; }
.audit>div { grid-template-columns: 90px minmax(0,1fr); padding: 16px 6px; gap: 12px; border-color: var(--line); }
.audit>div>span { max-width: 90px; width: auto; font-size: .6875rem; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.audit strong { font-size: .875rem; line-height: 1.65; }
.audit small { font-size: .75rem; color: var(--muted); }
.audit::-webkit-scrollbar-thumb { border-color: transparent; background: #afc5df; }
.notice-admin-list { gap: 12px; padding: 20px; }
.notice-admin-card { padding: 18px; flex-wrap: wrap; border-color: var(--line); border-radius: 17px; background: rgba(255,255,255,.56); box-shadow: var(--rim); }
.notice-admin-copy { flex: 1 1 220px; }
.notice-admin-card p { font-size: .9375rem; }
.notice-admin-card small { font-size: .75rem; color: var(--muted); }
.notice-admin-actions { flex-wrap: wrap; gap: 8px; margin-left: auto; }
.notice-admin-actions button { min-height: 40px; height: auto; font-size: .8125rem; }
.notice-order { font-size: .875rem; }
.permission-chips { gap: 6px; }
.permission-chips em { font-size: .75rem; color: var(--muted); }
.permission-grid { gap: 14px; }
.permission-group { padding: 12px; border-color: var(--line); border-radius: 16px; background: rgba(255,255,255,.56); }
.permission-group legend { font-size: .875rem; }
.permission-option { gap: 10px; min-height: 44px; padding: 9px 6px; }
.permission-option input { width: 18px !important; height: 18px !important; }
.permission-option b { font-size: .8125rem; line-height: 1.5; }
.permission-option small { font-size: .6875rem; color: var(--muted); overflow-wrap: anywhere; }
.stock-package-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.stock-package { min-width: 0; padding: 22px; border-color: #fff; border-radius: 22px; background: var(--glass); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.stock-package>span { font-size: .75rem; color: #346da8; }
.stock-package h3 { font-size: 1.125rem; }
.stock-package>p { font-size: .8125rem; color: var(--muted); }
.stock-package>strong { font-size: 1.875rem; color: #0963bf; margin: 16px 0; }
.stock-package dl { gap: 8px; }
.stock-package dl div { padding: 10px 4px; background: rgba(222,236,252,.65); border-radius: 12px; }
.stock-package dt { font-size: .6875rem; color: var(--muted); }
.stock-package dd { font-size: 1rem; }
.stock-package .primary { margin-top: auto; }
.prefix-value { max-width: 280px; white-space: normal; font-size: .875rem; border-radius: 11px; }
.release-current { grid-template-columns: minmax(0,1fr) auto; }
.release-current ul { color: #48637f; font-size: .875rem; border-color: var(--line); }
.release-current a { width: fit-content; max-width: 100%; color: #0964bf; font-size: .875rem; min-height: 44px; display: flex; align-items: center; overflow-wrap: anywhere; }
.release-current>b,.force-badge { color: #1e6b52; border-color: #b8dccc; background: rgba(230,248,239,.82); font-size: .75rem; white-space: normal; }
.release-form { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr); gap: 20px; padding: 24px; }
.release-form label { min-width: 0; }
.release-form label>span { font-size: .875rem; color: #405e7a; }
.release-form label>small { font-size: .75rem; color: var(--muted); line-height: 1.5; }
.release-form input,.release-form textarea { font: inherit; font-size: .9375rem; min-height: 46px; height: auto; padding: 11px 12px; border-color: var(--line); border-radius: 12px; background: rgba(255,255,255,.8); }
.release-form input[type=file] { font-size: .8125rem; padding: 9px; overflow: hidden; }
input[type=file]::file-selector-button { border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; background: #edf5ff; color: #27629d; margin-right: 8px; }
.release-warning strong { font-size: .875rem; }
.release-warning p { font-size: .8125rem; line-height: 1.6; color: #875d2b; }
.release-progress { min-height: 46px; height: auto; }
.release-progress p { font-size: .8125rem; padding: 12px; }
.release-submit { min-height: 46px; height: auto; }
.modal-layer { padding: 24px; }
.modal-bg { background: rgba(24,47,76,.28); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.modal {
  width: min(100%,760px); max-height: calc(100dvh - 48px); border: 1px solid rgba(255,255,255,.94);
  border-radius: 26px; background: linear-gradient(145deg,rgba(252,254,255,.98),rgba(235,244,255,.95));
  box-shadow: inset 0 1px 0 #fff,0 28px 90px rgba(26,60,102,.23);
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
}
.modal header { min-height: 90px; padding: 22px 24px; gap: 16px; align-items: flex-start; border-color: var(--line); }
.modal header>div { min-width: 0; flex: 1; }
.modal header h2 { font-size: 1.25rem; line-height: 1.4; }
.modal header p { font-size: .8125rem; line-height: 1.6; color: var(--muted); }
.modal header>button { flex: 0 0 44px; min-height: 44px; width: 44px; height: auto; border-color: var(--line); border-radius: 14px; background: rgba(255,255,255,.85); color: #45698e; font-size: 22px; }
.form-body { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 24px; min-width: 0; }
.form-body>*,.form-body label { min-width: 0; }
.form-body label>span { font-size: .875rem; color: #405e7a; margin-bottom: 8px; }
.form-body input,.form-body textarea,.form-body select { min-height: 46px; height: auto; padding: 11px 12px; border-color: var(--line); border-radius: 12px; background: rgba(255,255,255,.8); font-size: .9375rem; line-height: 1.5; }
.form-body input[type=checkbox] { width: 18px; min-height: 18px; height: 18px; padding: 0; accent-color: var(--blue); }
.form-body textarea { min-height: 110px; }
.form-section,.prefix-picker,.prefix-form-note,.security-answer-note { border-color: var(--line); border-radius: 14px; background: rgba(219,235,253,.42); }
.form-section strong { font-size: .875rem; }
.form-section small,.prefix-picker small,.prefix-form-note,.security-answer-note,.generated-password-field>small { font-size: .8125rem; color: #526d89; line-height: 1.65; }
.generated-password-field>div { grid-template-columns: minmax(0,1fr) auto; }
.generated-password-field>div input,.generated-password-field>div button { min-height: 46px; height: auto; }
.generated-password-field>div button { white-space: normal; }
.modal footer { gap: 10px; padding: 18px 24px; flex-wrap: wrap; border-color: var(--line); background: rgba(231,242,255,.74); }
.select-list label { grid-template-columns: 18px minmax(0,1fr) auto; gap: 12px; padding: 15px; border-color: var(--line); border-radius: 15px; background: rgba(255,255,255,.56); }
.select-list strong { font-size: .875rem; }
.select-list small { font-size: .8125rem; color: var(--muted); }
.expiry-list article { padding: 16px; border-radius: 16px; border-color: var(--line); background: rgba(255,255,255,.65); }
.expiry-list p strong { font-size: .875rem; }
.expiry-list p small { font-size: .75rem; color: var(--muted); overflow-wrap: anywhere; }
.expiry-meta,.expiry-actions { flex-wrap: wrap; }
.expiry-side,.expiry-meta,.expiry-actions { min-width: 0; max-width: 100%; }
.expiry-actions button { min-height: 40px; height: auto; font-size: .8125rem; }
.authorized-user-list article { border-radius: 16px; border-color: var(--line); padding: 16px; background: rgba(255,255,255,.6); }
.authorized-user-list strong { font-size: .875rem; }
.authorized-user-list small { font-size: .75rem; color: var(--muted); overflow-wrap: anywhere; }
.authorized-user-list .remove-authorization { min-height: 40px; height: auto; font-size: .8125rem; white-space: normal; }
.balance-current { gap: 16px; flex-wrap: wrap; padding: 18px; border-color: var(--line); background: rgba(224,239,255,.66); }
.balance-current strong { font-size: 1.75rem; color: #0864bf; }
.pt-balance { font-size: .875rem; color: #1767ad; white-space: nowrap; }
.balance-history { max-height: none; overflow: visible; padding: 0; }
.balance-history article { padding: 18px; border-color: var(--line); border-radius: 16px; background: rgba(255,255,255,.6); }
.balance-history strong { font-size: .875rem; }
.balance-history strong small,.balance-history footer { font-size: .75rem; color: var(--muted); }
.balance-history p { font-size: .875rem; overflow-wrap: anywhere; }
.balance-history article>div,.balance-history footer { flex-wrap: wrap; }
.balance-history article>footer { padding: 10px 0 0; background: transparent; border: 0; gap: 6px 12px; }
.balance-in,.balance-out { font-size: 1.1rem; }
.toast { max-width: calc(100vw - 32px); padding: 14px 20px; top: 20px; border-radius: 16px; font-size: .875rem; text-align: center; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.loading,.alert,.auth-error,.auth-success { padding: 16px; border-radius: 14px; font-size: .875rem; line-height: 1.6; }
.auth-body { padding: 32px 20px; background: radial-gradient(ellipse at 16% 12%,#cce4ff,transparent 48%),radial-gradient(ellipse at 90% 80%,#ccddf5,transparent 52%),#edf4fd; background-attachment: fixed; }
.auth-card { width: min(100%,480px); padding: 36px; margin: 0; border-color: rgba(255,255,255,.94); border-radius: 28px; background: var(--glass); box-shadow: var(--shadow),0 26px 70px rgba(50,83,128,.1); backdrop-filter: blur(24px) saturate(140%); -webkit-backdrop-filter: blur(24px) saturate(140%); }
.auth-brand { margin-bottom: 28px; }
.auth-card h1 { font-size: 1.75rem; letter-spacing: -.04em; line-height: 1.35; }
.auth-card>p { color: var(--muted); font-size: .875rem; line-height: 1.8; }
.auth-card form label { margin-top: 16px; font-size: .875rem; font-weight: 500; color: #46617f; line-height: 1.6; min-width: 0; }
.auth-card form input:not([type=hidden]),.auth-card form select { width: 100%; min-height: 48px; height: auto; margin-top: 8px; padding: 12px; font-size: 1rem; line-height: 1.5; color: var(--ink); border: 1px solid rgba(132,164,203,.38); border-radius: 13px; background: rgba(255,255,255,.83); outline: 0; }
.auth-card form input[inputmode=numeric] { font-size: 1.3rem; letter-spacing: .15em; text-align: center; }
.auth-foot { font-size: .75rem; color: var(--muted); line-height: 1.7; }
.auth-foot a { color: #1965ad; display: inline-block; padding: 8px 2px; }
.mfa-card { width: min(100%,520px); }
.mfa-qr { max-width: 100%; border-color: var(--line); border-radius: 18px; background: #fff; }
.mfa-qr img,.mfa-qr canvas { max-width: 100%; height: auto; object-fit: contain; }
.mfa-secret { background: rgba(224,238,255,.65); border-color: var(--line); }
.mfa-secret span { font-size: .75rem; color: var(--muted); }
.mfa-secret code { font-size: 1rem; letter-spacing: .06em; }
.recovery-code-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.recovery-code-grid code { padding: 13px 8px; font-size: .9375rem; letter-spacing: .02em; border-color: var(--line); background: rgba(255,255,255,.75); overflow-wrap: anywhere; }
.recovery-login { padding: 16px; border-color: var(--line); border-radius: 16px; background: rgba(255,255,255,.35); }
.recovery-login summary { color: #285f98; font-size: .875rem; line-height: 1.6; padding: 4px 0; }
.security-account-card { width: min(100%,800px); margin: 8px 0 24px; }
.security-account-section { align-items: flex-start; flex-direction: row; flex-wrap: wrap; padding: 20px; margin-top: 18px; border-color: var(--line); border-radius: 20px; background: rgba(255,255,255,.58); box-shadow: var(--rim); }
.security-account-section>div { min-width: 0; flex: 1 1 220px; }
.security-account-section strong,.trusted-device-section header strong { font-size: .9375rem; }
.security-account-section small,.trusted-device-section header small { font-size: .8125rem; color: var(--muted); }
.security-account-section form,.trusted-device-section>form {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; flex-basis: 100%; gap: 16px; align-items: end; padding-top: 18px; border-top: 1px solid var(--line);
}
.security-account-section form label,.trusted-device-section>form label { margin-top: 0; }
.security-account-section form>input:not([type=hidden]),.trusted-device-section>form>input:not([type=hidden]) { grid-column: 1/-1; margin-top: 0; }
.security-account-section form>button,.trusted-device-section>form>button { grid-column: 1/-1; justify-self: end; margin-top: 4px; max-width: 100%; }
.trusted-device-section { margin-top: 18px; border-color: var(--line); border-radius: 20px; background: rgba(255,255,255,.55); box-shadow: var(--rim); }
.trusted-device-section>header { padding: 20px; gap: 14px; background: rgba(220,236,254,.44); }
.trusted-device-section>header>div { min-width: 0; }
.trusted-device-section>header b { flex-shrink: 0; font-size: .8125rem; }
.trusted-device-section article { padding: 17px 20px; gap: 14px; border-color: var(--line); }
.trusted-device-section article>span { flex-shrink: 0; }
.trusted-device-section article strong { font-size: .875rem; }
.trusted-device-section article small,.trusted-empty { font-size: .75rem; color: var(--muted); line-height: 1.65; }
.trusted-device-section>form { padding: 20px; background: transparent; }
.security-settings-detail { padding: 18px 20px; margin-top: 18px; border-color: var(--line); border-radius: 20px; background: rgba(255,255,255,.6); box-shadow: var(--rim); }
.security-settings-detail summary { font-size: .9375rem; color: #285f95; min-height: 32px; line-height: 1.7; }
.security-settings-detail p { font-size: .8125rem; color: #795365; }
.danger-detail { border-color: rgba(192,131,144,.3); background: rgba(255,249,251,.6); }
@supports not (backdrop-filter: blur(1px)) {
  .sidebar,.auth-card,.panel,.desktop-card,.stock-package,.metric { background: #f7fbff; }
  .modal-bg { background: rgba(24,47,76,.44); }
}
@media(min-width:1600px) { .content { padding-left: 40px; padding-right: 40px; } .topbar { padding-left: 40px; padding-right: 40px; } }
@media(max-width:1320px) { .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); } .stock-package-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .welcome { grid-template-columns: minmax(0,1fr); } .flow { justify-content: flex-start; } .security-grid { grid-template-columns: minmax(0,1fr); } }
@media(max-width:1100px) { .two-col,.assignment-grid { grid-template-columns: minmax(0,1fr); } .release-form { grid-template-columns: repeat(2,minmax(0,1fr)); } .release-form label:first-child { grid-column: 1/-1; } }
@media(max-width:960px) {
  .sidebar { inset: 12px auto 12px 12px; height: calc(100dvh - 24px); width: min(286px,calc(100vw - 24px)); transform: translateX(-112%); transition: transform .2s; }
  .sidebar.open { transform: translateX(0); }
  .app-shell>main { margin-left: 0; }
  .topbar { padding: 22px 24px 12px; min-height: 86px; }
  .topbar p { display: block; }
  .menu-button { display: grid; place-items: center; flex: 0 0 44px; min-height: 44px; margin: 0; padding: 8px; border: 1px solid rgba(255,255,255,.95); border-radius: 14px; color: #366b9f; background: var(--glass); box-shadow: var(--rim); font-size: 20px; }
  .content { padding: 12px 24px 32px; }
  .nav-backdrop.show { position: fixed; z-index: 25; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: rgba(25,47,76,.24); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
}
@media(max-width:760px) {
  .topbar { align-items: flex-start; gap: 12px; }
  .topbar p { font-size: .75rem; } .service-ok { display: none; }
  .welcome,.admin-summary,.announcement-summary,.message-summary,.prefix-hero,.inventory-hero,.release-current,.explain { padding: 24px; border-radius: 22px; }
  .admin-summary,.announcement-summary,.message-summary,.prefix-hero { align-items: flex-start; flex-direction: column; gap: 18px; }
  .admin-summary>.primary,.announcement-summary>.primary,.message-summary>.primary,.prefix-hero>.primary { width: 100%; }
  .desktop-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
  .metrics { gap: 12px; } .metric { padding: 18px; }
  .toolbar { align-items: stretch; } .toolbar>input { max-width: none; }
  .toolbar-actions { margin-left: 0; width: 100%; justify-content: flex-start; }
  .toolbar-actions>.primary { flex: 1 1 180px; }
  .form-body { grid-template-columns: minmax(0,1fr); }
  .form-body .wide { grid-column: 1/-1; }
  .permission-grid { grid-template-columns: minmax(0,1fr); }
  .modal-layer { padding: 16px; align-items: center; }
  .modal { max-height: calc(100dvh - 32px); border-radius: 24px; }
  .notice-admin-actions { padding-left: 0; width: 100%; }
  .release-form { grid-template-columns: minmax(0,1fr); }
  .release-form label { grid-column: 1/-1; }
  .expiry-list article { grid-template-columns: 34px minmax(0,1fr); }
  .expiry-side { grid-column: 1/-1; padding-left: 0; justify-items: start; }
  .expiry-meta,.expiry-actions { justify-content: flex-start; }
}
@media(max-width:520px) {
  .content { padding: 10px 16px 28px; } .topbar { padding: 20px 16px 10px; }
  .topbar h1 { font-size: 1.35rem; } .topbar p { display: none; }
  .welcome { padding: 22px; } .welcome h2 { font-size: 1.4rem; } .flow { display: none; }
  .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .metric { display: block; min-height: 0; padding: 16px; }
  .metric p { margin-top: 12px; } .metric strong { font-size: 1.7rem; } .metric small { font-size: .6875rem; }
  .stock-package-grid { grid-template-columns: minmax(0,1fr); }
  .device-row { grid-template-columns: 32px minmax(0,1fr) auto; padding: 14px 16px; gap: 9px; }
  .device-row em { grid-column: 2/-1; }
  .panel-head { padding: 16px; } .panel-head>div { flex-basis: 160px; }
  .modal-layer { padding: 10px; } .modal { max-height: calc(100dvh - 20px); border-radius: 22px; }
  .modal header { padding: 20px; } .form-body { padding: 20px; gap: 18px; } .modal footer { padding: 16px 20px; }
  .modal footer button { flex: 1 1 110px; }
  .generated-password-field>div { grid-template-columns: minmax(0,1fr); }
  .generated-password-field>div button { width: 100%; }
  .select-list label { grid-template-columns: 18px minmax(0,1fr); }
  .select-list label>.status { grid-column: 2; }
  .auth-body { padding: 20px 12px; } .auth-card { padding: 26px 22px; border-radius: 24px; }
  .auth-card h1 { font-size: 1.5rem; } .auth-brand strong { font-size: .9375rem; }
  .security-account-section,.trusted-device-section>header,.trusted-device-section article,.trusted-device-section>form,.security-settings-detail { padding: 18px; }
  .security-account-section form,.trusted-device-section>form { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .security-account-section form>button,.trusted-device-section>form>button { width: 100%; justify-self: stretch; }
  .recovery-code-grid { grid-template-columns: minmax(0,1fr); }
  .audit { padding: 4px 14px 14px; } .audit>div { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .audit>div>span { justify-self: start; }
  .release-current { grid-template-columns: minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media(prefers-contrast:more) { :root { --line: #829ab6; --muted: #344b65; } .panel,.desktop-card,.stock-package,.auth-card,.sidebar { background: #fff; } }
