@charset "UTF-8";
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/plex-sans-400.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/plex-sans-500.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/plex-sans-600.ttf") format("truetype")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/plex-mono-400.ttf") format("truetype")}
:root{--ground:#f5f6f7;--surface:#fff;--raised:#f8f9fa;--active:#e9ebed;--border:#e8eaec;--rule:#f0f1f2;--control:#cdced1;--text:#131416;--muted:#5d5f60;--faint:#686b70;--primary:#202225;--accent:#1b6c80;--positive:#1e7b4f;--negative:#b4232b;--warning:#92400e;--pill-positive-bg:#edf6f0;--pill-positive-ink:#1b643e;--pill-neutral-bg:#f0f1f2;--pill-neutral-ink:#56595e;--pill-warning-bg:#fff6df;--pill-warning-ink:#835c12;--radius-card:8px;--radius-control:6px;--radius-sheet:16px;--sheet-inset:8px;--sidebar-width:228px;--gap:24px;--pad:24px;--control-height:36px;--font:"IBM Plex Sans","Microsoft YaHei","PingFang SC",system-ui,sans-serif;--mono:"IBM Plex Mono",Consolas,monospace;font-family:var(--font);font-size:14px;color:var(--text);background:var(--ground);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:0 13px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--text);line-height:20px;white-space:nowrap;transition:background .12s,border-color .12s}button:disabled{cursor:not-allowed;color:var(--faint);background:var(--raised)}button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
input,select,textarea{width:100%;min-width:0;border:1px solid var(--control);border-radius:var(--radius-control);padding:9px 11px;background:var(--surface);color:var(--text);outline:none;line-height:20px}input,select{height:40px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}input::placeholder,textarea::placeholder{color:var(--faint)}textarea{resize:vertical}label{display:block;font-weight:500;margin:18px 0 0;line-height:20px}label input,label select,label textarea{display:block;margin-top:7px;font-weight:400}label small{display:block;margin-top:8px;font-weight:400;color:var(--muted);font-size:12px;line-height:1.7}
svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}h1{font-size:22px;line-height:1.45;font-weight:600;letter-spacing:-.35px}h2{font-size:18px;font-weight:600;line-height:1.5}h3{font-size:14px;font-weight:500}p{color:var(--muted);line-height:1.8}strong{font-weight:500}
.primary{background:var(--primary);color:var(--surface);font-weight:500}.primary:hover:not(:disabled){background:#383b40}.secondary{border-color:var(--control);background:var(--surface)}.secondary:hover:not(:disabled){background:var(--raised);border-color:#aeb1b5}.text{padding:0 9px;color:var(--muted)}.text:hover:not(:disabled){color:var(--text);background:var(--active)}.text.danger{color:var(--negative)}.icon-button,.close{width:36px;padding:0;color:var(--muted)}.icon-button:hover,.close:hover{background:var(--active)}.quiet,.footnote{font-size:12px;color:var(--faint)}
.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:20px}.brand-mark{width:27px;height:27px;stroke-width:1.4;color:var(--accent)}.brand-scope{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:18px;margin-top:2px}
/* 1440 = 228 sidebar + 8 outer inset + 1204 sheet; 1204 - 2*32 = 1140 content. All sections share these edges. */
#console{min-height:100vh}aside{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);display:flex;flex-direction:column;padding:26px 16px 22px;background:var(--ground)}aside .brand{margin:0 10px 34px}nav{display:grid;gap:5px}.nav{justify-content:flex-start;padding:0 12px;gap:10px;min-height:38px;color:var(--muted);font-weight:400;text-align:left}.nav svg{width:17px;height:17px}.nav:hover,.nav.active{background:var(--active);color:var(--text)}.nav.active{font-weight:500}.aside-foot{margin-top:auto;padding:20px 12px 0;display:grid;gap:5px;font-size:12px;color:var(--muted)}
.workspace{margin-left:var(--sidebar-width);padding:0 var(--sheet-inset) var(--sheet-inset) 0}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:16px;font-size:12px}.topbar-location,.account{display:flex;align-items:center;gap:14px;min-width:0}.topbar-parent,.slash{color:var(--faint)}.account{gap:16px}.account .text{font-size:12px}.account svg{width:15px;height:15px}#menu-toggle{display:none}.nav-scrim{display:none}.sheet{min-height:calc(100vh - 64px);padding:32px;border:1px solid var(--border);border-radius:var(--radius-sheet);background:var(--surface)}
.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.heading p{font-size:13px;margin-top:7px}.list-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.list-tools form{display:flex;align-items:center;gap:8px;max-width:440px;flex:1}.search-field{position:relative;flex:1;min-width:0}.search-field svg{position:absolute;left:11px;top:10px;width:16px;height:16px;color:var(--faint)}.search-field input{height:36px;padding:7px 10px 7px 35px;font-size:13px}.list-tools button{flex-shrink:0}.list-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border);font-size:13px}.list-summary>span:first-child{font-weight:500}.list-summary>span:first-child strong{margin-left:7px;color:var(--muted)}.scope-summary{font-size:12px;color:var(--muted)}.scope-summary strong{color:var(--text);font-weight:400}.summary-separator{padding:0 9px}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}th{color:var(--muted);font-size:12px;font-weight:400;height:44px;white-space:nowrap;padding:0 12px}td{border-top:1px solid var(--rule);height:76px;padding:16px 12px;font-size:13px;line-height:20px;vertical-align:middle}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}.numeric{text-align:right;white-space:nowrap}td strong{display:block;color:var(--text);font-size:14px;font-weight:500}td small{display:block;font-size:12px;color:var(--faint);margin-top:4px;line-height:18px}td code{font-family:var(--mono);font-size:11px}.license-table td:first-child{width:30%;min-width:190px;overflow-wrap:anywhere}.license-table td:nth-child(2){white-space:nowrap}.license-table td:nth-child(3),.license-table td:nth-child(5){white-space:nowrap}.actions-heading{text-align:right}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:0}.row-actions .text{font-size:12px;min-height:32px;padding:0 8px}.status{display:inline-flex;align-items:center;gap:6px;padding:2px 7px;min-height:22px;border-radius:4px;white-space:nowrap;font-size:12px;font-weight:400;color:var(--pill-positive-ink);background:var(--pill-positive-bg)}.status:before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:currentColor}.status.suspended{color:var(--pill-neutral-ink);background:var(--pill-neutral-bg)}.status.expired{color:var(--pill-warning-ink);background:var(--pill-warning-bg)}.seat-limit{color:var(--muted)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:16px 0;color:var(--muted);font-size:12px}.pagination div{display:flex;gap:8px}.pagination button{min-height:32px;font-size:12px}.policy-note{margin-top:24px;border-top:1px solid var(--rule);padding-top:20px;color:var(--muted);max-width:100%;font-size:12px}.policy-note summary{cursor:pointer;list-style:revert;width:fit-content;line-height:24px}.policy-note summary span{margin-left:10px;color:var(--text)}.policy-note p{margin-top:10px;max-width:760px}.empty{padding:40px 16px;text-align:center}.empty h2,.empty h3{font-size:14px;font-weight:500}.empty p{font-size:13px;margin-top:8px}.load-feedback{display:flex;align-items:center;justify-content:space-between;padding:12px 0;color:var(--negative);font-size:13px}.load-feedback .text{font-size:13px}.load-feedback.loading{color:var(--muted)}.load-feedback.loading button{display:none}
.section-caption{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:16px;font-size:13px}.section-caption span:last-child{font-size:12px;color:var(--muted)}.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:150px;text-align:right;padding-right:24px;white-space:nowrap}.audit-table th:nth-child(2){width:140px}.audit-table th:nth-child(3){width:130px}.audit-table td{height:64px}.audit-detail{max-width:480px;overflow-wrap:anywhere}.audit-detail>code{display:block;color:var(--faint)}.audit-detail details{margin-top:4px;font-size:12px;color:var(--muted)}summary{cursor:pointer}details[open] summary{margin-bottom:8px}.audit-detail pre{font:12px/1.7 var(--mono);white-space:pre-wrap;word-break:break-word;margin:8px 0 0;background:var(--raised);padding:12px;border-radius:var(--radius-control);color:var(--text)}.more{margin-top:20px}.footnote{margin-top:20px}
.settings-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,460px);gap:48px;max-width:960px;border-top:1px solid var(--border);padding-top:28px}.settings-description h2{font-size:16px}.settings-description p{max-width:310px;font-size:13px;margin-top:10px}.settings-description .quiet{font-size:12px}.security-form{background:var(--raised);padding:24px;border-radius:var(--radius-card)}.security-form label:first-child{margin-top:0}.security-form button{margin-top:24px}
 dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:28px;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--surface);box-shadow:0 16px 64px #00000026;overflow:auto}dialog::backdrop{background:#17191c66}dialog>p{font-size:13px;margin-top:12px}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog-heading h2{overflow-wrap:anywhere;line-height:28px;font-size:18px}.dialog-heading .close{margin-top:-4px;margin-right:-8px;flex:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notice{font-size:12px;margin:18px 0 0;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.device-card{border-top:1px solid var(--border);padding:20px 0}.device-card:last-child{padding-bottom:0}.device-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.device-head strong{overflow-wrap:anywhere}.device-card p{font-size:12px;margin:14px 0;overflow-wrap:anywhere;line-height:1.9}.device-card button{font-size:12px}.device-fingerprint{font-family:var(--mono);font-size:11px}#created-key{font-family:var(--mono);font-size:12px}#copy-key{margin-top:16px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);background:var(--primary);color:var(--surface);padding:12px 18px;border-radius:var(--radius-card);box-shadow:0 8px 32px #0000001a;font-size:13px;line-height:22px;z-index:1000}#toast.error{background:#8e232b}
.login-layout{min-height:100vh;background:var(--surface);display:flex;flex-direction:column}.login-brand{padding:32px 40px}.login-brand .brand-scope{display:inline;margin-left:12px;border-left:1px solid var(--control);padding-left:12px}.login-panel{flex:1;display:grid;place-items:center;padding:48px 24px 80px}.login-panel form{width:100%;max-width:352px}.login-panel h1{font-size:24px}.login-panel h1+p{margin-top:10px;margin-bottom:28px}.login-panel label{margin-top:20px}.login-submit{width:100%;margin-top:28px;justify-content:space-between;height:40px}.login-note{margin-top:20px}.login-footer{text-align:center;font-size:12px;color:var(--faint);padding:24px}
[hidden]{display:none!important}
@media(min-width:1700px){.sheet{padding:40px 48px}}
@media(max-width:1100px){.workspace{margin-left:0;padding:0 8px 8px}.topbar{padding:0 16px;height:56px}.topbar-parent,.slash{display:none}#menu-toggle{display:inline-flex}aside{display:none;z-index:30;width:260px;padding-top:28px}.nav-open aside{display:flex}.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:29;width:100%;height:100%;border:0;border-radius:0;background:#17191c66}.sheet{padding:24px}.license-table td:first-child{min-width:175px}.license-table th,.license-table td{padding-left:8px;padding-right:8px}.license-table td:first-child,.license-table th:first-child{padding-left:0}.license-table td:last-child,.license-table th:last-child{padding-right:0}.row-actions .text{padding:0 6px}.settings-row{gap:24px}}
@media(max-width:640px){:root{--control-height:44px}.workspace{padding:0}.topbar{height:56px;padding:0 16px}.topbar-location{gap:6px}.account{gap:8px}.account>span{max-width:95px;overflow:hidden;text-overflow:ellipsis}.account .text{padding:0 7px}.account .text>span{display:none}.account svg{width:18px;height:18px}.sheet{padding:24px 20px;min-height:calc(100vh - 56px);border:0;border-top:1px solid var(--border);border-radius:0}.heading{margin-bottom:24px;align-items:flex-start;gap:12px}.heading h1{font-size:22px}.heading p{font-size:13px;margin-top:6px}.heading>.primary{padding:0 12px}.heading button svg{display:none}.list-tools{gap:6px;margin-bottom:20px}.list-tools form{gap:6px}.search-field input{height:44px;font-size:14px;padding-left:32px}.search-field svg{top:14px;left:10px}.list-tools button{padding:0 10px;font-size:13px}.list-tools>button svg{display:none}.list-summary{font-size:14px;gap:8px}.scope-summary{font-size:12px}.summary-separator{padding:0 5px}.table-scroll{overflow:visible}.license-table,.license-table tbody,.license-table tr,.license-table td{display:block}.license-table thead{display:none}.license-table tr{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:20px 0;border-bottom:1px solid var(--border)}.license-table td{padding:0!important;border:0;height:auto;font-size:13px;min-width:0!important}.license-table td:first-child{width:auto;grid-column:1;grid-row:1}.license-table td:nth-child(2){grid-column:2;grid-row:1;align-self:start}.license-table td:nth-child(3){grid-column:1;grid-row:2;text-align:left}.license-table td:nth-child(4){grid-column:2;grid-row:2;text-align:right}.license-table td:nth-child(5){grid-column:1;grid-row:3;text-align:left;color:var(--muted)}.license-table td:nth-child(6){grid-column:1 / -1;grid-row:4}.license-table td:nth-child(3):before{content:"期限 ";color:var(--muted);margin-right:5px}.license-table td:nth-child(4):before{content:"设备 ";color:var(--muted);margin-right:5px}.license-table td:nth-child(5):before{content:"创建 ";color:var(--muted);margin-right:5px}.license-table .date-time{display:inline;margin-left:6px}.row-actions{justify-content:flex-start;gap:16px}.row-actions .text{min-height:44px;padding:0 4px;font-size:13px}.pagination{border-top:0;align-items:flex-start;padding:16px 0;flex-wrap:wrap}.pagination button{min-height:44px}.pagination>span{padding-top:12px}.policy-note{margin-top:12px}.audit-table,.audit-table tbody,.audit-table tr,.audit-table td{display:block}.audit-table thead{display:none}.audit-table tr{display:grid;grid-template-columns:1fr auto;gap:8px;padding:20px 0;border-bottom:1px solid var(--border)}.audit-table td{border:0;height:auto;padding:0!important;width:auto!important;font-size:14px}.audit-table td:first-child{grid-column:1;grid-row:2;text-align:left!important;color:var(--muted);font-size:12px}.audit-table td:first-child small{display:inline;margin-left:8px}.audit-table td:nth-child(2){grid-column:2;grid-row:1;color:var(--muted);font-size:12px;word-break:break-word}.audit-table td:nth-child(3){grid-column:1;grid-row:1;font-weight:500}.audit-table td:nth-child(4){grid-column:1 / -1;grid-row:3;max-width:100%}.audit-detail summary{min-height:44px;line-height:44px}.settings-row{display:block;padding-top:24px}.settings-description p{max-width:100%}.security-form{margin-top:24px;padding:20px}.security-form button{width:100%;font-size:13px}input,select{height:44px}dialog{padding:24px 20px;max-height:calc(100dvh - 32px)}.dialog-heading .close{width:44px;min-height:44px;margin-top:-8px}.form-grid{gap:12px}.dialog-actions button{font-size:13px}.login-brand{padding:24px}.login-brand .brand-scope{display:none}.login-panel{padding:24px 24px 48px}.login-panel h1{font-size:24px}.login-submit{height:44px}.login-footer{padding:20px}.empty{padding:32px 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.row-actions .text.danger{color:var(--muted)}.row-actions .text.danger:hover{color:var(--negative)}
