:root{color:#172033;font-synthesis:none;--navy:#10223b;--navy-deep:#0c1b30;--cyan:#0797a5;--cyan-dark:#067783;--cyan-soft:#e6f7f8;--line:#dfe5ec;--line-strong:#cdd6e1;--muted:#667085;--surface:#fff;--surface-subtle:#f8fafc;--danger:#b4233b;--success:#14865f;--warning:#a96712;background:#f5f7fa;font-family:Inter,Noto Sans SC,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f5f7fa;min-width:1180px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #0797a538}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#dbe7f3;background:linear-gradient(180deg, var(--navy), var(--navy-deep));flex-direction:column;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0;box-shadow:8px 0 28px #10223b14}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:11px;padding:0 10px 21px;display:flex}.brand strong,.brand span{display:block}.brand strong{color:#fff;letter-spacing:.01em;font-size:15px}.brand span{color:#8fa3bb;letter-spacing:.05em;margin-top:3px;font-size:11px}.brand-mark{color:#053f47;background:linear-gradient(145deg,#6fe5ed,#21b8c4);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 8px 22px #20beca38}.brand-mark.large{width:48px;height:48px;margin-bottom:20px}nav{gap:4px;padding-top:19px;display:grid}.nav-item{color:#9db0c5;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;width:100%;min-height:43px;padding:10px 12px;transition:background .16s,color .16s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff0e}.nav-item.active{color:#f2ffff;background:#129ead2e;box-shadow:inset 3px 0 #25c7d2}.nav-arrow{margin-left:auto}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding-top:15px}.admin-card{align-items:center;gap:10px;margin-bottom:7px;padding:8px;display:flex}.admin-card strong,.admin-card span{text-overflow:ellipsis;white-space:nowrap;max-width:145px;display:block;overflow:hidden}.admin-card strong{color:#fff;font-size:13px}.admin-card span{color:#8095ae;margin-top:2px;font-size:11px}.avatar{color:#e2fbfd;background:#284763;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.main-content{min-width:0;padding:25px 34px 44px}.page-header{justify-content:space-between;align-items:center;min-height:56px;margin-bottom:20px;display:flex}.page-header h1{letter-spacing:-.02em;margin:5px 0 0;font-size:28px;font-weight:720;line-height:1.2}.eyebrow{color:var(--cyan-dark);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:760}.eyebrow.light{color:#7be1e8}.environment-pill{color:#526075;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;box-shadow:0 4px 14px #18273f09}.environment-pill span{background:#18a873;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #18a8731c}.content-stack{gap:16px;display:grid}.overview-intro{justify-content:space-between;align-items:center;gap:24px;display:flex}.overview-intro h2{margin:7px 0 5px;font-size:22px;line-height:1.3}.overview-intro p{color:var(--muted);margin:0;font-size:13px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:42px 1fr;align-content:center;gap:4px 10px;min-height:106px;padding:18px 20px;display:grid;box-shadow:0 5px 18px #13213708}.metric-card svg{width:38px;height:38px;color:var(--cyan-dark);background:var(--cyan-soft);border-radius:10px;grid-row:1/3;align-self:center;padding:9px}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{font-size:27px;line-height:1.1}.quick-actions{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(260px,1fr) minmax(230px,.55fr) minmax(230px,.55fr);align-items:center;gap:14px;padding:18px 20px;display:grid;box-shadow:0 5px 18px #13213708}.quick-actions strong,.quick-actions span{display:block}.quick-actions strong{font-size:15px}.quick-actions span{color:var(--muted);margin-top:4px;font-size:12px}.action-button{min-height:46px!important}.overview-columns{grid-template-columns:1fr 1fr;align-items:start;gap:15px;display:grid}.panel,.table-shell,.license-detail{border:1px solid var(--line);background:#fff;box-shadow:0 5px 18px #13213708}.panel{border-radius:12px;padding:21px}.compact-panel{min-width:0;padding:0;overflow:hidden}.compact-panel .panel-header{padding:18px 19px 14px}.compact-panel .table-shell{box-shadow:none;border:0;border-top:1px solid #edf0f4;border-radius:0}.panel-header{justify-content:space-between;align-items:flex-end;gap:18px;min-height:42px;display:flex}.panel-header h2{margin:0 0 5px;font-size:20px;line-height:1.3}.panel-header p{color:var(--muted);margin:0;font-size:12px}.text-link{color:var(--cyan-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:4px;font-size:12px;display:inline-flex}.primary-button,.ghost-button,.access-button,.icon-button,.text-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:inline-flex}.primary-button{color:#fff;background:#0797a5;border:1px solid #078896;min-height:40px;padding:0 17px;box-shadow:0 5px 14px #0797a529}.primary-button:hover{background:#078895}.primary-button.small,.ghost-button.small{min-height:34px;padding:0 13px;font-size:12px}.primary-button:disabled{opacity:.5;cursor:wait}.ghost-button{color:#4d5b70;border:1px solid var(--line);background:#fff;min-height:36px;padding:0 13px}.ghost-button:hover{border-color:var(--line-strong);background:var(--surface-subtle)}.sidebar .ghost-button{color:#a9bad0;background:#ffffff06;border-color:#ffffff1a}.ghost-button.full{width:100%}.access-button{color:#24324a;background:#fff;border:1px solid #d6dde6;min-height:42px}.icon-button{color:#4c596d;border:1px solid var(--line);background:#fff;width:34px;height:34px;padding:0}.text-button{color:var(--cyan-dark);background:0 0;border:0;margin:17px auto 0;font-size:12px}.button-row{gap:8px;display:flex}.flash{border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:11px 14px;font-size:13px;display:flex}.flash.success{color:#17684f;background:#ecf9f4;border:1px solid #b7e2d3}.flash.error{color:#8c2935;background:#fff2f3;border:1px solid #efc4c9}.flash button{color:inherit;cursor:pointer;background:0 0;border:0}.flash.compact{margin:14px 0 0;display:block}.table-shell{border-radius:11px;min-width:0;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:12px 13px}th{color:#68758a;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;background:#f7f9fb;font-size:10px;font-weight:720}td{color:#344054;font-size:12px}td strong,td small{display:block}td small{color:#8994a6;margin-top:4px}tr:last-child td{border-bottom:0}code,.mono{font-family:Cascadia Code,SFMono-Regular,monospace;font-size:11px}.status-badge,.entitlement-badge{color:#526075;white-space:nowrap;background:#eef1f5;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:650;display:inline-flex}.status-badge.active,.status-badge.processed,.entitlement-badge.active{color:#14704f;background:#e5f7ef}.status-badge.windows-x64{color:#315d9a;background:#eaf2fd}.status-badge.linux-x64{color:#735724;background:#fff5df}.entitlement-badge.dated{color:#8a5b0b;background:#fff2ce}.entitlement-badge.expired{color:#9c2d3f;background:#fdecef}.entitlement-badge.muted{color:#7b8797;background:#eef1f5}.license-toolbar{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:12px;padding:14px;display:flex}.search-field{color:#738096;border:1px solid var(--line);background:#fbfcfd;border-radius:8px;flex:1;align-items:center;gap:9px;min-height:40px;padding:0 12px;display:flex}.search-field input{color:#263248;background:0 0;border:0;outline:0;width:100%}.compact-select{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:flex}.compact-select select{border:1px solid var(--line);color:#344054;background:#fff;border-radius:8px;min-height:40px;padding:0 32px 0 11px}.license-workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:14px;min-width:0;display:grid}.license-table{min-width:970px}.license-table tbody tr{cursor:pointer;transition:background .14s}.license-table tbody tr:hover{background:#f7fbfc}.license-table tbody tr[aria-selected=true]{box-shadow:inset 3px 0 var(--cyan);background:#edf9fa}.license-detail{border-radius:11px;padding:20px;position:sticky;top:20px}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:16px;display:flex}.detail-head h3{margin:5px 0 6px;font-size:19px}.revision-badge{width:42px;height:42px;color:var(--cyan-dark);background:#eafbfc;border:1px solid #bae3e6;border-radius:50%;flex:none;place-items:center;font-weight:750;display:grid}.detail-facts{gap:10px;margin:17px 0;display:grid}.detail-facts div{grid-template-columns:92px 1fr;gap:10px;display:grid}.detail-facts dt{color:var(--muted);font-size:11px}.detail-facts dd{color:#344054;overflow-wrap:anywhere;margin:0;font-size:12px;font-weight:600}.detail-entitlements{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0}.detail-entitlements h4{margin:0 0 9px;font-size:14px}.detail-entitlements>div{justify-content:space-between;align-items:center;gap:12px;min-height:34px;font-size:12px;display:flex}.detail-actions{grid-template-columns:1fr 1fr;gap:9px;padding-top:16px;display:grid}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1b3073;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal-backdrop.sheet-backdrop{place-items:stretch end;padding:0}.modal{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;width:min(520px,94vw);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 70px #060f1c3d}.modal.wide{width:min(920px,94vw)}.modal.sheet{border-width:0 0 0 1px;border-radius:0;width:min(940px,100vw - 244px);height:100vh;max-height:none}.modal-head{border-bottom:1px solid var(--line);background:#fff;flex:none;justify-content:space-between;align-items:center;min-height:68px;padding:18px 22px;display:flex}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:22px}.modal-body{min-height:0;padding:20px 22px 0;overflow:auto}.modal.sheet .modal-body{padding:18px 24px 0}.form-stack{gap:14px;padding-bottom:22px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:7px;min-width:0;display:grid}.field.wide,.modal-actions,.entitlement-editor,.renewal-context{grid-column:1/-1}.field>span{color:#5f6c81;font-size:11px;font-weight:700}.field>small{color:var(--muted);font-size:10px;line-height:1.5}.field input,.field select,.field textarea{color:#273348;background:#fbfcfd;border:1px solid #d9e0e8;border-radius:8px;width:100%;min-height:40px;padding:9px 10px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#53bdc6}.renewal-context{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;grid-template-columns:.8fr 1.5fr .45fr;gap:12px;padding:13px 15px;display:grid}.renewal-context span,.renewal-context strong{display:block}.renewal-context span{color:var(--muted);font-size:10px}.renewal-context strong{overflow-wrap:anywhere;margin-top:4px;font-size:12px}.modal-actions{z-index:2;border-top:1px solid var(--line);background:#fffffff7;justify-content:flex-end;gap:9px;margin:5px -22px 0;padding:15px 22px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 20px #1321370a}.modal.sheet .modal-actions{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}.entitlement-editor{gap:10px;display:grid}.entitlement-editor-head{align-items:baseline;gap:10px;margin-top:3px;display:flex}.entitlement-editor-head strong{font-size:14px}.entitlement-editor-head span{color:var(--muted);font-size:11px}.entitlement-row{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:150px minmax(300px,1fr) 330px;align-items:center;gap:12px;min-width:0;margin:0;padding:12px;display:grid}.entitlement-name{align-items:center;gap:9px;min-width:0;display:flex}.module-icon{width:34px;height:34px;color:var(--cyan-dark);background:var(--cyan-soft);border-radius:9px;flex:none;place-items:center;display:grid}.entitlement-name strong,.entitlement-name small{display:block}.entitlement-name strong{font-size:12px}.entitlement-name small{color:var(--muted);margin-top:3px;font-size:10px}.mode-options{grid-auto-columns:minmax(78px,1fr);grid-auto-flow:column;gap:6px;display:grid}.mode-option{color:#566278;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;min-height:34px;padding:0 9px;font-size:11px}.mode-option.active{color:#087986;background:#effbfc;border-color:#29aeba;box-shadow:inset 0 0 0 1px #29aeba1f}.mode-option.remove.active{color:var(--danger);background:#fff3f5;border-color:#e7a9b3}.entitlement-dates{grid-template-columns:1fr 1fr;gap:8px;display:grid}.entitlement-dates label{gap:4px;min-width:0;display:grid}.entitlement-dates span{color:var(--muted);font-size:9px}.entitlement-dates input{color:#39465b;border:1px solid var(--line);background:#fbfcfd;border-radius:7px;width:100%;min-width:0;min-height:34px;padding:6px 7px;font-size:10px}.entitlement-dates input:disabled{color:#98a2b3;background:#f2f4f7}.change-summary{color:#334155;background:#f1fafb;border:1px solid #cfe8eb;border-radius:9px;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.change-summary svg{color:var(--cyan-dark);flex:none}.change-summary strong,.change-summary span{display:block}.change-summary strong{font-size:12px}.change-summary span{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5}.empty-state,.loading,.full-page-state{color:#7e899a;align-content:center;place-items:center;gap:8px;display:grid}.empty-state{background:#fafbfc;border:1px dashed #cfd6df;border-radius:11px;min-height:230px}.empty-state strong{color:#3c485b}.empty-state span{font-size:12px}.loading{min-height:200px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.full-page-state{min-height:100vh}.login-layout{grid-template-columns:minmax(520px,1.08fr) minmax(460px,.92fr);min-height:100vh;display:grid}.login-story{color:#fff;background:linear-gradient(140deg,#0c1b30,#143650);flex-direction:column;justify-content:space-between;padding:40px 52px;display:flex}.story-logo{align-items:center;gap:10px;font-weight:700;display:flex}.login-story h1{letter-spacing:-.03em;margin:14px 0 17px;font-size:clamp(34px,3.5vw,52px);font-weight:680;line-height:1.2}.login-story p{color:#adc0d4;max-width:650px;line-height:1.8}.story-points{color:#a9bfd3;gap:21px;font-size:12px;display:flex}.story-points span{align-items:center;gap:7px;display:flex}.story-points svg{color:#63d8e2}.login-panel{background:#f7f9fb;place-items:center;padding:48px;display:grid}.login-card{width:min(390px,100%)}.login-card h2{letter-spacing:-.02em;margin:7px 0 9px;font-size:27px}.login-card>p{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}@media (height<=760px){.sidebar{padding-top:16px}.brand{padding-bottom:15px}nav{padding-top:14px}.nav-item{min-height:38px;padding-top:8px;padding-bottom:8px}.main-content{padding-top:18px}.modal-head{min-height:58px;padding-top:14px;padding-bottom:14px}.entitlement-row{padding-top:9px;padding-bottom:9px}}@media (width<=1320px){.license-workspace{grid-template-columns:minmax(0,1fr) 320px}.entitlement-row{grid-template-columns:140px 1fr}.entitlement-dates{grid-column:2}}
