:root{color:#e8edf8;font-synthesis:none;text-rendering:optimizelegibility;--bg:#090c12;--sidebar:#0d1119;--panel:#121823;--panel-2:#171e2b;--line:#252d3c;--line-strong:#344056;--text:#e8edf8;--muted:#8d99ad;--accent:#748cff;--accent-strong:#6378eb;--accent-soft:#748cff1f;--green:#54d3a0;--amber:#f5b85c;--red:#ff6d7a;--shadow:0 24px 80px #0000006b;background:#090c12;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 76% -10%, #586ccf1f, transparent 32%), var(--bg);min-height:100vh}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:Cascadia Mono,Consolas,monospace}.muted{color:var(--muted)}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.brand-mark{color:#fff;letter-spacing:-.4px;background:linear-gradient(145deg,#8396ff,#566bd8);border-radius:12px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid;box-shadow:0 8px 30px #687eef47}.brand-mark.large{border-radius:17px;width:54px;height:54px;font-size:16px}.eyebrow{color:#7889d8;letter-spacing:.15em;margin-bottom:8px;font-size:11px;font-weight:800}.boot-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.boot-screen svg{color:var(--accent)}.login-page{grid-template-columns:minmax(420px,.92fr) minmax(520px,1.08fr);min-height:100vh;display:grid}.login-intro{border-right:1px solid var(--line);background:radial-gradient(circle at 35% 30%,#7087ff24,#0000 38%),linear-gradient(145deg,#0d121c,#090c12 70%);flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);display:flex}.login-intro .brand-mark{margin-bottom:44px}.login-intro h1{letter-spacing:-.055em;max-width:640px;margin-bottom:24px;font-size:clamp(42px,5vw,68px);line-height:1.08}.login-lead{max-width:560px;color:var(--muted);font-size:16px;line-height:1.85}.security-note{color:#b4c7c2;background:#54d3a00f;border:1px solid #54d3a02e;border-radius:14px;gap:12px;max-width:560px;margin-top:38px;padding:16px 18px;font-size:13px;line-height:1.6;display:flex}.security-note svg{color:var(--green);flex:none}.login-panel{place-items:center;padding:48px;display:grid}.login-card{border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#121823e0;border-radius:22px;padding:38px}.login-card-heading{margin-bottom:28px}.login-card-heading h2{letter-spacing:-.03em;margin-bottom:8px;font-size:28px}.login-card-heading>p:last-child{color:var(--muted);font-size:14px}.login-button{justify-content:center;width:100%;margin-top:8px}.login-footnote{text-align:center;color:#667286;margin:15px 0 0;font-size:12px}.field{gap:8px;margin-bottom:20px;display:grid}.field>span{color:#c4ccda;font-size:13px;font-weight:650}.field small{color:#6f7b8e;justify-self:end;font-size:11px}input,textarea,select{border:1px solid var(--line-strong);width:100%;color:var(--text);background:#0d121b;border-radius:10px;padding:11px 13px;transition:border-color .18s,background .18s}input:hover,textarea:hover,select:hover{border-color:#445169}input::placeholder,textarea::placeholder{color:#596578}textarea{resize:vertical;line-height:1.55}select{cursor:pointer}.input-with-icon{position:relative}.input-with-icon svg{color:#6e7b90;pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-with-icon input{padding-left:41px}.otp-input{letter-spacing:.48em;font-family:Cascadia Mono,monospace;font-size:18px;font-weight:700}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 16px;font-size:13px;font-weight:750;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--accent-strong);color:#fff}.button.primary:hover:not(:disabled){background:#7185f2}.button.secondary{border-color:var(--line-strong);color:#d3d9e6;background:#151c28}.button.secondary:hover:not(:disabled){background:#1a2230;border-color:#46536c}.button.danger{color:#fff;background:#b83e4a}.button.danger:hover:not(:disabled){background:#ce4b58}.alert{border-radius:10px;margin:0 0 18px;padding:12px 14px;font-size:13px;line-height:1.55}.alert.error{color:#ffc1c7;background:#ff6d7a14;border:1px solid #ff6d7a40}.app-shell{grid-template-columns:238px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:0 10px 30px;display:flex}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand strong{font-size:15px}.sidebar-brand small{color:var(--muted);margin-top:3px;font-size:11px}.sidebar nav{gap:5px;display:grid}.nav-item{color:#8e9aaf;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 13px;font-size:13px;font-weight:650;display:flex}.nav-item:hover{color:#c9d1df;background:#121823}.nav-item.active{background:var(--accent-soft);color:#aab8ff;border-color:#748cff2b}.sidebar-safety{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:14px 11px;display:flex}.sidebar-safety strong,.sidebar-safety small{display:block}.sidebar-safety strong{color:#aeb8c8;font-size:11px}.sidebar-safety small{color:#5d697c;margin-top:3px;font-size:10px}.live-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #54d3a01a}.workspace,.main-content,.panel{min-width:0;max-width:100%}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#090c12d1;justify-content:space-between;align-items:center;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.environment-pill{border:1px solid var(--line);color:#8793a7;border-radius:999px;align-items:center;gap:8px;padding:7px 11px;font-size:11px;font-weight:700;display:inline-flex}.environment-pill span{background:var(--amber);border-radius:50%;width:6px;height:6px}.topbar-actions{align-items:center;gap:13px;display:flex}.ghost-button{color:#8793a7;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;font-size:12px;display:flex}.ghost-button:hover{color:#d3d9e6}.admin-identity{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:13px;display:flex}.admin-identity>svg{color:var(--accent)}.admin-identity strong,.admin-identity small{display:block}.admin-identity strong{font-size:12px}.admin-identity small{color:#6d788a;white-space:nowrap;text-overflow:ellipsis;max-width:250px;margin-top:3px;font-size:10px;overflow:hidden}.icon-button{border:1px solid var(--line);color:#8c98ab;cursor:pointer;background:#111722;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.icon-button:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.main-content{max-width:1480px;margin:0 auto;padding:36px 32px 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.page-heading h1{letter-spacing:-.035em;margin-bottom:8px;font-size:28px}.page-heading>div>p:last-child{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;box-shadow:0 10px 36px #0000001f}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:66px;padding:15px 20px;display:flex}.panel-heading h2{margin:0;font-size:15px}.panel-heading span{color:#6f7b8d;margin-top:4px;font-size:11px;display:block}.search-panel{margin-bottom:18px;padding:14px}.search-form{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;display:grid}.search-form>svg{color:#68758a;margin-left:5px}.search-form input{background:0 0;border:none}.search-form input:focus-visible{outline:none}.clear-search{color:#667286;cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.table-panel{overflow:hidden}.table-scroll{width:100%;min-width:0;max-width:100%;position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #202736;padding:15px 20px}th{color:#707c8f;letter-spacing:.06em;text-transform:uppercase;background:#101620;font-size:10px;font-weight:800}td{color:#bdc6d5;font-size:12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#ffffff03}.align-right{text-align:right}.license-link{color:#d8deea;cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:none;gap:5px;min-width:0;max-width:100%;padding:0;font-weight:750;display:grid}.license-link:hover{color:#9dadff}.license-link small{text-overflow:ellipsis;color:#5d697d;max-width:205px;font-family:Cascadia Mono,monospace;font-size:9px;overflow:hidden}.text-button{color:#8ea0ff;cursor:pointer;background:0 0;border:none;font-size:11px}.remark-cell,.remark-editor{gap:6px;min-width:0;display:grid}.remark-cell span{white-space:normal;overflow-wrap:anywhere}td[data-label=备注]{white-space:normal;width:320px;max-width:320px}.remark-cell .text-button,.remark-editor .text-button{width:fit-content;padding:0}.remark-editor input{border:1px solid var(--line-strong);width:100%;min-width:180px;color:var(--text);background:#0e141e;border-radius:7px;padding:7px 8px}.remark-editor>div{gap:10px;display:flex}.field-error{color:var(--red);font-size:10px}.status-badge{border:1px solid;border-radius:999px;align-items:center;gap:7px;padding:5px 9px;font-size:10px;font-weight:750;display:inline-flex}.status-badge i{background:currentColor;border-radius:50%;width:5px;height:5px}.state-created{color:#91a0b9;background:#91a0b90f}.state-active{color:var(--green);background:#54d3a00f}.state-expired{color:var(--amber);background:#f5b85c0f}.state-suspended{color:#e7a151;background:#e7a15112}.state-revoked{color:var(--red);background:#ff6d7a12}.empty-state{color:#697588;justify-content:center;align-items:center;gap:10px;min-height:200px;display:flex}.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0204089e;min-height:100dvh;position:fixed;inset:0}.detail-drawer{overscroll-behavior:contain;width:min(540px,95vw);max-width:100%;height:100dvh;padding:26px;padding-bottom:max(26px, env(safe-area-inset-bottom));border-left:1px solid var(--line-strong);background:#0e131c;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-20px 0 80px #0006}.drawer-heading{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.drawer-heading h2{margin:0;font-size:22px}.license-hero{background:linear-gradient(145deg,#748cff1a,#748cff06);border:1px solid #748cff2e;border-radius:13px;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;padding:20px;display:flex}.license-hero>div{min-width:0;max-width:100%}.license-hero span,.license-hero small,.license-hero strong{display:block}.license-hero span{color:#738099;font-size:10px}.license-hero strong{overflow-wrap:anywhere;margin:8px 0 5px;font-family:Cascadia Mono,monospace;font-size:18px}.license-hero small{color:#68758a;font-size:10px}.details-list{border:1px solid var(--line);border-radius:12px;margin:0 0 18px;overflow:hidden}.details-list>div{border-bottom:1px solid var(--line);grid-template-columns:105px minmax(0,1fr);gap:12px;padding:13px 15px;display:grid}.details-list>div:last-child{border-bottom:none}.details-list dt{color:#707c90;font-size:11px}.details-list dd{color:#c3ccda;overflow-wrap:anywhere;min-width:0;margin:0;font-size:11px}.device-card{border:1px solid var(--line);background:#111722;border-radius:12px;padding:16px}.device-card-heading{color:#c8d0de;align-items:center;gap:9px;margin-bottom:11px;font-size:12px;display:flex}.device-card-heading svg{color:#8ea0ff}.device-card p{overflow-wrap:anywhere;min-width:0;margin:0 0 5px;font-size:12px}.device-card small{color:#687489;font-size:10px}.operations{margin-top:28px}.operations h3{margin-bottom:6px;font-size:14px}.operations>p{color:#717d90;font-size:11px;line-height:1.6}.operation-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.operation-button{border:1px solid var(--line);color:#91a4ff;cursor:pointer;text-align:left;background:#121925;border-radius:11px;align-items:center;gap:11px;min-height:70px;padding:12px;display:flex}.operation-button:hover{background:#161e2c;border-color:#3e4b65}.operation-button svg{flex:none;width:18px}.operation-button strong,.operation-button small{display:block}.operation-button strong{color:#cdd5e3;font-size:11px}.operation-button small{color:#677488;margin-top:4px;font-size:9px}.operation-button.warning{color:var(--amber)}.operation-button.destructive{color:var(--red);background:#ff6d7a09;border-color:#ff6d7a2b;grid-column:1/-1}.dialog-backdrop{z-index:100;overscroll-behavior:contain;min-height:100dvh;padding:22px;padding-top:max(22px, env(safe-area-inset-top));padding-bottom:max(22px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020408bd;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog-card{overscroll-behavior:contain;border:1px solid var(--line-strong);width:min(520px,100%);min-width:0;max-width:100%;max-height:calc(100dvh - 44px);box-shadow:var(--shadow);background:#121823;border-radius:18px;padding:28px;position:relative;overflow-y:auto}.dialog-card.compact{width:min(450px,100%)}.dialog-card>h2{margin-bottom:9px;font-size:21px}.dialog-card>p:not(.eyebrow){color:#8490a4;font-size:12px;line-height:1.65}.dialog-card>.eyebrow{overflow-wrap:anywhere}.dialog-close{color:#6d798c;cursor:pointer;background:0 0;border:none;place-items:center;display:grid;position:absolute;top:18px;right:18px}.dialog-icon{border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:17px;display:grid}.dialog-icon.safe{color:#91a1ff;background:#748cff1c}.dialog-icon.danger{color:var(--red);background:#ff6d7a1a}.danger-dialog{border-color:#ff6d7a3d}.delete-confirmation{background:#ff6d7a0e;border:1px solid #ff6d7a33;border-radius:10px;gap:7px;min-width:0;margin-top:20px;padding:14px;display:grid}.delete-confirmation span,.delete-confirmation small{color:#9b8790;font-size:11px}.delete-confirmation strong{color:#ffd3d7;overflow-wrap:anywhere;font-size:13px}.dialog-form{margin-top:22px}.confirmation-field input{border-color:#f5b85c57}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:25px;display:flex}.two-column-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;display:grid}.form-panel{overflow:hidden}.stack-form{padding:22px}.stack-form .button{width:100%}.issuance-mode{border:0;min-width:0;margin:0 0 20px;padding:0}.issuance-mode legend{color:#c4ccda;margin-bottom:8px;font-size:13px;font-weight:650}.issuance-mode>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.issuance-mode label{border:1px solid var(--line-strong);color:#c4ccda;cursor:pointer;background:#0d121b;border-radius:10px;align-items:center;gap:9px;min-width:0;min-height:44px;padding:10px 12px;font-size:13px;font-weight:650;display:flex}.issuance-mode input{width:18px;min-height:18px;accent-color:var(--accent);margin:0}.issuance-mode:disabled label{cursor:not-allowed;opacity:.58}.batch-note{border:1px solid var(--line);color:#7f8b9e;background:#0f151f;border-radius:10px;margin:-4px 0 20px;padding:12px 14px;font-size:12px;line-height:1.65}.guidance-panel{align-self:start;padding:26px}.guidance-icon{width:43px;height:43px;color:var(--green);background:#54d3a014;border-radius:12px;place-items:center;margin-bottom:18px;display:grid}.guidance-panel h2{margin-bottom:10px;font-size:17px}.guidance-panel p,.guidance-panel li{color:#7f8b9e;font-size:12px;line-height:1.75}.guidance-panel ul{margin:18px 0 0;padding-left:19px}.keys-dialog{width:min(720px,100%)}.one-time-banner{color:var(--amber);background:#f5b85c11;border:1px solid #f5b85c33;border-radius:11px;gap:12px;margin:-5px -5px 24px;padding:15px;display:flex}.one-time-banner svg{flex:none}.one-time-banner strong,.one-time-banner span{display:block}.one-time-banner strong{font-size:12px}.one-time-banner span{color:#a5957c;margin-top:4px;font-size:10px}.keys-output{resize:none;white-space:pre;max-width:100%;height:min(330px,40dvh);font-size:12px;line-height:1.85;overflow:auto}.keys-actions{justify-content:flex-end;gap:9px;margin-top:16px;display:flex}.keys-footnote{color:#687489!important;margin:14px 0 0!important;font-size:10px!important}.filter-panel{margin-bottom:18px;padding:18px}.filter-grid{grid-template-columns:minmax(220px,1.5fr) minmax(160px,1fr) 150px 150px auto;align-items:end;gap:12px;display:grid}.filter-grid .field{margin:0}.filter-submit{margin-bottom:0}.security-event-filter{margin-top:24px}.security-filter-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.security-filter-grid .field{margin:0}.audit-panel{overflow:hidden}.integrity-label{align-items:center;gap:6px;color:var(--green)!important;display:inline-flex!important}.integrity-label.failed{color:var(--red)!important}.integrity-label.unknown{color:var(--amber)!important}.integrity-note{border-bottom:1px solid var(--line);color:#718093;background:#54d3a009;margin:0;padding:11px 20px;font-size:10px;line-height:1.65}.integrity-note.failed{color:#b98790;background:#ff6d7a0d}.integrity-note.unknown{color:#a5957c;background:#f5b85c0b}.audit-list{padding:8px 20px 20px}.audit-event{grid-template-columns:25px minmax(0,1fr);display:grid}.audit-timeline{justify-content:center;display:flex;position:relative}.audit-timeline:after{content:"";background:var(--line);width:1px;position:absolute;top:24px;bottom:-8px}.audit-event:last-child .audit-timeline:after{display:none}.audit-timeline span{background:#7188f6;border-radius:50%;width:7px;height:7px;margin-top:20px;box-shadow:0 0 0 4px #7188f61a}.audit-body{border-bottom:1px solid #202736;padding:15px 4px 18px 10px}.audit-event:last-child .audit-body{border-bottom:none}.audit-title{justify-content:space-between;gap:12px;display:flex}.audit-title strong{color:#cbd3e1;font-size:12px}.audit-title time{color:#667286;font-size:10px}.audit-body>p{color:#8d99ac;margin:8px 0 10px;font-size:11px}.audit-body dl{flex-wrap:wrap;gap:8px 20px;margin:0;display:flex}.audit-body dl div{gap:6px;font-size:9px;display:flex}.audit-body dt{color:#5e6a7d}.audit-body dd{color:#7e8a9d;overflow-wrap:anywhere;max-width:280px;margin:0}.security-event .audit-timeline span{background:var(--amber);box-shadow:0 0 0 4px #f5b85c1a}.pagination-row{border-top:1px solid var(--line);color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;padding:14px 20px;font-size:11px;display:flex}.toast{z-index:200;border:1px solid var(--line-strong);max-width:min(440px,100vw - 48px);box-shadow:var(--shadow);color:#d2dae8;background:#1a2230;border-radius:11px;align-items:center;gap:18px;padding:13px 14px;font-size:12px;display:flex;position:fixed;bottom:24px;right:24px}.toast button{color:#7b879a;cursor:pointer;background:0 0;border:none;place-items:center;display:grid}@media (width<=1100px){.filter-grid,.security-filter-grid{grid-template-columns:1fr 1fr}.filter-submit{width:100%}.login-page{grid-template-columns:1fr}.login-intro{display:none}}@media (width<=840px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding-inline:10px}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand>div:last-child,.nav-item span,.sidebar-safety div{display:none}.nav-item{justify-content:center;padding:12px}.sidebar-safety{justify-content:center}.topbar{padding:0 18px}.environment-pill,.ghost-button span{display:none}.main-content{padding:28px 18px 60px}.two-column-layout{grid-template-columns:1fr}}@media (width<=620px){body{min-height:100dvh}.app-shell{min-height:100dvh;display:block}.sidebar{z-index:30;width:100%;height:auto;padding:max(10px, env(safe-area-inset-top)) 10px 9px;border-right:0;border-bottom:1px solid var(--line);display:block;position:sticky;top:0;box-shadow:0 8px 24px #00000038}.sidebar-brand{justify-content:flex-start;gap:9px;padding:0 4px 9px}.sidebar-brand .brand-mark{border-radius:10px;width:32px;height:32px}.sidebar-brand>div:last-child{display:block}.sidebar-brand strong{font-size:14px}.sidebar-brand small{margin-top:1px;font-size:10px}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.nav-item{text-align:center;justify-content:center;gap:5px;min-width:0;min-height:48px;padding:9px 4px;font-size:12px}.nav-item span{text-overflow:ellipsis;white-space:nowrap;display:inline;overflow:hidden}.nav-item svg{flex:none;width:17px;height:17px}.sidebar-safety{display:none}.topbar{height:auto;min-height:64px;padding:9px 12px;position:static}.topbar-actions{justify-content:space-between;width:100%;min-width:0}.admin-identity{border-left:0;min-width:0;padding-left:0;display:flex}.admin-identity>div{min-width:0}.admin-identity strong{text-overflow:ellipsis;white-space:nowrap;max-width:210px;font-size:14px;overflow:hidden}.admin-identity small{max-width:min(245px,68vw);font-size:11px}.icon-button{flex:none;width:44px;height:44px}.main-content{width:100%;padding:22px 12px max(40px, env(safe-area-inset-bottom))}.page-heading{flex-direction:column;align-items:start}.page-heading h1{font-size:26px}.page-heading>div{min-width:0}.page-heading>div>p:last-child{font-size:14px}.page-heading>.button{width:100%}.panel{border-radius:12px}.panel-heading{flex-wrap:wrap;gap:10px;min-height:60px;padding:13px 14px}.panel-heading h2{font-size:16px}.panel-heading span{font-size:12px}.button{min-height:44px;font-size:14px}input,textarea,select{min-height:44px;font-size:16px}.field>span{font-size:14px}.field small{font-size:12px}.text-button,.clear-search,.dialog-close,.toast button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;font-size:14px;display:inline-flex}.operation-grid,.filter-grid,.security-filter-grid{grid-template-columns:1fr}.operation-button.destructive{grid-column:auto}.operation-button{min-height:72px}.operation-button strong{font-size:14px}.operation-button small{font-size:12px}.search-form{grid-template-columns:auto minmax(0,1fr) auto}.search-form .button{grid-column:1/-1}.search-panel{padding:10px}.table-scroll{overflow:visible}table,tbody{width:100%;min-width:0;display:block}thead{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}tbody tr:not(.table-message-row){border:1px solid var(--line);background:#101620;border-radius:12px;margin:12px;display:block;overflow:hidden}tbody tr:not(.table-message-row):hover td{background:0 0}tbody tr:not(.table-message-row) td{white-space:normal;text-align:left;grid-template-columns:minmax(88px,31%) minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:11px 12px;font-size:14px;display:grid}tbody tr:not(.table-message-row) td:before{content:attr(data-label);color:#78859a;font-size:12px;font-weight:750}.table-message-row,.table-message-row td{width:100%;display:block}.table-message-row td{white-space:normal;padding:0}.license-link small{overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:11px}.remark-editor input{min-width:0}.remark-editor>div{flex-wrap:wrap}.status-badge{font-size:12px}.detail-drawer{width:100%;max-width:none;padding:max(18px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));border-left:0}.drawer-heading{z-index:2;background:#0e131c;align-items:center;padding:10px 0;position:sticky;top:0}.drawer-heading h2{font-size:21px}.license-hero{flex-direction:column;min-width:0;padding:16px}.license-hero>div{min-width:0;max-width:100%}.license-hero strong{font-size:16px}.details-list>div{grid-template-columns:minmax(86px,31%) minmax(0,1fr)}.details-list dt,.details-list dd,.device-card p,.device-card small,.operations>p{font-size:13px}.dialog-backdrop{padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));place-items:start center}.dialog-card{border-radius:14px;width:100%;max-height:calc(100dvh - 20px);padding:24px 18px}.dialog-card>h2{padding-right:38px;font-size:20px}.dialog-card>p:not(.eyebrow){font-size:14px}.dialog-close{top:9px;right:9px}.dialog-actions,.keys-actions{flex-direction:column-reverse}.dialog-actions .button,.keys-actions .button{width:100%}.login-page{min-height:100dvh;display:block}.login-panel{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 14px max(20px, env(safe-area-inset-bottom));place-items:start center;display:grid}.login-card{border-radius:16px;width:100%;padding:26px 18px}.login-card-heading h2{font-size:25px}.login-card-heading>p:last-child,.login-footnote{font-size:14px}.filter-panel{padding:14px}.filter-grid,.security-filter-grid{gap:0}.filter-grid .field,.security-filter-grid .field{margin-bottom:16px}.filter-grid .button,.security-filter-grid .button{width:100%}.integrity-label{font-size:12px}.integrity-note{padding:12px 14px;font-size:13px}.audit-list{padding:8px 12px 16px}.audit-event{grid-template-columns:18px minmax(0,1fr)}.audit-body{min-width:0;padding-left:8px}.audit-title{flex-direction:column;gap:5px}.audit-title strong,.audit-title time,.audit-body>p{font-size:14px}.audit-body dl{gap:8px;display:grid}.audit-body dl div{grid-template-columns:54px minmax(0,1fr);gap:8px;min-width:0;font-size:13px;display:grid}.audit-body dd{max-width:100%}.pagination-row{flex-wrap:wrap;justify-content:space-between;padding:12px;font-size:13px}.pagination-row .button{flex:104px}.guidance-panel,.stack-form{padding:18px}.guidance-panel p,.guidance-panel li{font-size:14px}.one-time-banner{margin:0 0 18px}.one-time-banner strong{font-size:14px}.one-time-banner span,.keys-footnote{font-size:12px!important}.keys-output{min-height:150px;font-size:16px}.toast{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));max-width:none;font-size:14px}}@media (width<=620px) and (height<=500px){.dialog-card{max-height:calc(100dvh - 12px);padding-block:18px}.dialog-form{margin-top:14px}.dialog-actions{margin-top:16px}.keys-output{height:32dvh;min-height:110px}}.announcement-page-heading{align-items:center}.announcement-page-heading .eyebrow{margin-bottom:7px}.announcement-layout{grid-template-columns:minmax(250px,.85fr) minmax(0,1.55fr);align-items:start;gap:18px;display:grid}.announcement-list-panel,.announcement-editor{overflow:hidden}.announcement-list{min-height:150px;margin:0;padding:8px;list-style:none}.announcement-list li{min-width:0}.announcement-list-item{width:100%;min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;gap:12px;margin:0;padding:14px 68px 14px 14px;display:grid;position:relative}.announcement-list-item:hover{background:var(--panel-2)}.announcement-list-item.active{border-color:var(--line-strong);background:var(--accent-soft)}.announcement-list-title{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:700;line-height:1.45}.announcement-list-meta{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px 12px;font-size:11px;display:flex}.announcement-list-meta time{white-space:nowrap}.announcement-edit-label{color:var(--accent);font-size:12px;font-weight:700;position:absolute;top:16px;right:14px}.announcement-empty{color:var(--muted);text-align:center;padding:32px 16px;font-size:13px}.announcement-status{border:1px solid var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.announcement-status.published{color:var(--green);border-color:#54d3a059}.announcement-status.retracted{color:var(--red);border-color:#ff6d7a59}.announcement-pagination{justify-content:space-between;gap:8px}.announcement-pagination .button{min-height:34px;padding:6px 10px}.announcement-form{gap:18px;padding:20px;display:grid}.announcement-form .field{min-width:0;margin:0}.announcement-form textarea{min-height:146px}.announcement-form-row{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.announcement-preview{border:1px solid var(--line);background:var(--panel-2);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;min-width:0;padding:16px}.announcement-preview h3{color:var(--muted);margin-bottom:13px;font-size:11px;font-weight:700}.announcement-preview strong{margin-bottom:8px;font-size:14px;display:block}.announcement-preview p{color:var(--muted);margin:0;font-size:13px;line-height:1.65}.announcement-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding-top:17px;display:flex}.announcement-hint{color:var(--amber);margin:-8px 0 0;font-size:12px}@media (width<=1120px){.announcement-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.announcement-form{padding:16px}.announcement-form-row{grid-template-columns:minmax(0,1fr)}.announcement-page-heading>.button{width:100%}}
