:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ice:#ebf7f9;--sky:#a8c7e1;--cornflower:#7baadb;--ocean:#005995;--navy:#002d47;--sand:#f2e7da;--wheat:#dfb678;--bronze:#c08239;--oxblood:#370000;--red:#d91a21;--white:#fff;--grey-20:#d1d3d4;--grey-60:#808285;--grey-80:#58595b;--surface:var(--white);--surface-alt:var(--ice);--line:var(--grey-20);--line-strong:var(--grey-60);--ink:var(--navy);--ink-muted:var(--grey-80);--accent:var(--ocean);--on-accent:var(--white);--highlight:var(--bronze);--on-highlight:var(--oxblood);--danger:var(--red);--danger-fill:var(--red);--focus:var(--ocean);--page:var(--surface-alt);--panel:var(--surface);--tint:var(--surface-alt);--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:64px;--radius-0:0px;--radius-sm:3px;--radius-md:6px;--font-sans:Poppins, "Segoe UI", system-ui, sans-serif;font-family:var(--font-sans);font-size:15px;line-height:24px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:var(--navy);--surface-alt:#103b53;--line:#34596e;--line-strong:#6a8897;--ink:var(--ice);--ink-muted:var(--sky);--accent:var(--cornflower);--on-accent:var(--navy);--highlight:var(--wheat);--on-highlight:var(--navy);--danger:#ea8185;--focus:var(--cornflower);--page:var(--surface);--panel:var(--surface-alt);--tint:var(--line)}*,:before,:after{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0}h1,h2{margin:0;font-weight:600}h1{font-size:26px;line-height:34px}h2{font-size:19px;line-height:28px}.label{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:500;line-height:16px}code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px}.muted{color:var(--ink-muted)}.small{font-size:13px;line-height:20px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wordmark{height:auto;display:block}.wordmark-dark,[data-theme=dark] .wordmark-light{display:none}[data-theme=dark] .wordmark-dark{display:block}label{gap:var(--space-1);flex-direction:column;font-size:13px;font-weight:500;display:flex}input,select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) 12px;min-width:0;font-size:15px;font-weight:400}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.form{gap:var(--space-3);flex-direction:column;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented button{font:inherit;padding:var(--space-2) var(--space-3);background:var(--panel);color:var(--ink);cursor:pointer;border:none;font-size:14px;font-weight:500}.segmented button+button{border-left:1px solid var(--line-strong)}.segmented button.is-selected{background:var(--accent);color:var(--on-accent)}.choice{gap:var(--space-2);border:none;flex-direction:column;margin:0;padding:0;display:flex}.choice legend{margin-bottom:var(--space-1);padding:0;font-size:13px;font-weight:500}.choice-option{padding:12px var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;flex-direction:row;align-items:flex-start;gap:12px;font-weight:400}.choice-option.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice-option input{accent-color:var(--accent);margin:3px 0 0}.choice-option>span{flex-direction:column;display:flex}.choice-title{font-size:14px;font-weight:500}.btn{font:inherit;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px;display:inline-flex}.btn:hover:not(:disabled){background:var(--tint)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.12)}.btn-danger{background:var(--danger-fill);border-color:var(--danger-fill);color:var(--white)}.btn-danger:hover:not(:disabled){background:var(--danger-fill);filter:brightness(.92)}.btn-danger-outline,.btn-delete{color:var(--danger)}.btn-ghost{background:0 0;border-color:#0000}.btn-small{padding:var(--space-1) 12px;font-size:13px}.btn-icon{padding:var(--space-1) var(--space-2)}.alert{padding:12px var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.alert-error{background:var(--panel);border-color:var(--danger);color:var(--danger)}.alert-error:before{content:"!";font-weight:600}.login-page{min-height:100vh;padding:var(--space-3);background:var(--page);place-items:center;display:grid}.login-card{width:100%;max-width:400px;padding:var(--space-5) var(--space-4) var(--space-4);gap:var(--space-3);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex}.login-card .wordmark{width:160px;margin-bottom:var(--space-2)}.login-card h1{padding-bottom:var(--space-2);border-bottom:3px solid var(--highlight);align-self:flex-start;font-size:19px;line-height:28px}.app{background:var(--page);min-height:100vh}.topbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--panel);border-bottom:1px solid var(--line);display:flex}.brand{align-items:center;gap:var(--space-3);display:flex}.brand .wordmark{width:112px}.brand-divider{background:var(--line);align-self:stretch;width:1px}.topbar-actions{align-items:center;gap:var(--space-1);display:flex}.theme-toggle{min-width:36px}.theme-toggle svg{display:block}.content{padding:var(--space-5) var(--space-4) var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.page-title{padding-bottom:var(--space-2);border-bottom:3px solid var(--highlight);align-self:flex-start}.stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{font:inherit;color:inherit;text-align:left;justify-content:flex-end;gap:var(--space-1);padding:var(--space-3) var(--space-4) calc(var(--space-3) - 3px);background:var(--panel);border:1px solid var(--line);border-bottom:3px solid var(--line-strong);border-radius:var(--radius-0);cursor:pointer;flex-direction:column-reverse;display:flex}.stat:hover{border-color:var(--line-strong)}.stat.is-selected{border-color:var(--highlight);border-bottom-color:var(--highlight)}.stat-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:44px}.stat-label{color:var(--ink-muted)}.stat-expired .stat-value{color:var(--danger)}.toolbar{gap:12px;display:flex}.search{flex:1}.table-wrap{background:var(--panel);border:1px solid var(--line);overflow-x:auto}.licenses{border-collapse:collapse;width:100%;font-size:14px;line-height:20px}.licenses th,.licenses td{padding:12px var(--space-3);text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.licenses tbody tr:last-child td{border-bottom:none}.licenses tbody tr:hover{background:var(--tint)}.licenses th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);background:var(--panel);border-bottom-color:var(--line-strong);white-space:nowrap;font-size:12px;font-weight:500;line-height:16px}.th-sort{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;gap:var(--space-1);background:0 0;border:none;padding:0;display:inline-flex}.sort-arrow{width:10px;font-size:10px}.cell-product{font-weight:500}.cell-date{white-space:nowrap;font-variant-numeric:tabular-nums}.key{align-items:center;gap:var(--space-1);display:inline-flex}.key code{color:var(--ink-muted)}.col-actions{text-align:right;width:1%}.row-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.empty{text-align:center;color:var(--ink-muted);padding:var(--space-5)}.footer-note{margin:0}.cell-type{white-space:nowrap}.type-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:500;line-height:16px}.type-tag.type-mcp{color:var(--accent)}.badge{padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;font-size:12px;font-weight:500;line-height:16px;display:inline-block}.badge-active{background:var(--tint);border-color:var(--line-strong);color:var(--ink)}.badge-expiring{background:var(--highlight);color:var(--on-highlight)}.badge-expired{background:var(--panel);border-color:var(--danger);color:var(--danger)}.badge-invalid{background:var(--panel);border:1px dashed var(--highlight);color:var(--ink)}.delete-warning{color:var(--danger);font-weight:500;margin-top:var(--space-3)!important}.modal{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);width:min(480px,100vw - 32px);color:var(--ink);padding:0}.modal::backdrop{background:#002d478c}.modal-body{padding:var(--space-4)}.modal-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.modal p{margin:0 0 12px}.summary{gap:var(--space-1) var(--space-3);padding:12px var(--space-3);background:var(--tint);grid-template-columns:auto 1fr;margin:0;font-size:14px;display:grid}.summary dt{color:var(--ink-muted)}.summary dd{margin:0}.presets{gap:var(--space-2);flex-wrap:wrap;display:flex}.key-box{justify-content:space-between;align-items:center;gap:var(--space-2);padding:12px var(--space-3);border:1px solid var(--highlight);margin-bottom:var(--space-2);display:flex}.key-box code{color:var(--ink);word-break:break-all;-webkit-user-select:all;user-select:all;font-size:15px}@media (width<=720px){.topbar{padding:12px var(--space-3)}.brand-divider,.brand .label{display:none}.content{padding:var(--space-4) var(--space-3) var(--space-5)}.stats{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:32px;line-height:36px}.toolbar{flex-direction:column}}
