:root { color-scheme: dark; --bg:#070a08; --panel:#101612; --line:#28352c; --text:#f3f7f4; --muted:#a8b4ab; --green:#39ff14; --danger:#ff6874; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 20% 0,#133219 0,transparent 32rem),var(--bg); color:var(--text); font:16px/1.55 'Instrument Sans',system-ui,sans-serif; }
a { color:var(--green); }
.shell { width:min(1120px,calc(100% - 32px)); margin:auto; }
.topbar { border-bottom:1px solid var(--line); background:rgba(7,10,8,.9); backdrop-filter:blur(14px); }
.topbar .shell { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { color:var(--text); text-decoration:none; font-weight:800; letter-spacing:.08em; }
.brand { font-size:22px; }
.nav-actions { display:flex; align-items:center; gap:14px; }
main.shell { padding:48px 0 72px; }
.auth-card { width:min(480px,100%); margin:4vh auto; }
.card { background:rgba(16,22,18,.92); border:1px solid var(--line); border-radius:14px; padding:24px; box-shadow:0 18px 60px rgba(0,0,0,.24); }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:18px; }
.stack { display:grid; gap:16px; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:12px; font-size:clamp(32px,4vw,42px); line-height:1.08; font-weight:800; letter-spacing:-.035em; }
.muted { color:var(--muted); }
label { display:grid; gap:7px; font-weight:650; }
input,select,textarea { width:100%; color:var(--text); background:#090e0b; border:1px solid var(--line); border-radius:10px; padding:11px 12px; font:inherit; }
button,.button { display:inline-flex; justify-content:center; align-items:center; border:1px solid var(--green); border-radius:10px; background:var(--green); color:#031006; padding:10px 15px; font:700 14px/1 system-ui; text-decoration:none; cursor:pointer; }
button.secondary,.button.secondary { background:transparent; color:var(--green); }
button.danger,.button.danger { border-color:var(--danger); background:transparent; color:var(--danger); }
.inline { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.inline input,.inline select { width:auto; flex:1; min-width:140px; }
.alert { border:1px solid var(--green); background:#102513; border-radius:10px; padding:12px 14px; margin-bottom:18px; }
.alert.error { border-color:var(--danger); background:#281015; }
.pill { display:inline-block; border:1px solid var(--line); border-radius:999px; padding:3px 9px; color:var(--muted); font-size:13px; }
.account-heading { margin-bottom:22px; }
.verified { color:var(--muted); }
.verified::before { content:'✓'; display:inline-grid; place-items:center; width:18px; height:18px; margin-right:8px; color:var(--green); border:1px solid var(--green); border-radius:50%; font-size:12px; }
.product { display:grid; gap:22px; padding:10px 0 42px; border-bottom:1px solid var(--line); }
.product-summary { display:grid; grid-template-columns:minmax(240px,1.4fr) minmax(190px,.8fr) minmax(160px,.7fr); background:linear-gradient(90deg,rgba(22,28,24,.95),rgba(11,15,12,.75)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px 22px; }
.product-identity { display:flex; align-items:center; gap:18px; }
.product-identity h2 { margin:0 0 4px; font-size:24px; line-height:1.2; }
.product-mark { position:relative; width:72px; height:72px; flex:0 0 72px; display:flex; align-items:center; justify-content:center; gap:3px; border:1px solid #344238; border-radius:9px; background:#050806; box-shadow:inset 0 0 0 7px #080d09; }
.product-mark::before { content:''; position:absolute; width:54px; height:54px; border:1px solid var(--green); border-radius:50%; }
.product-mark span { position:relative; z-index:1; width:2px; min-height:8px; background:var(--green); border-radius:2px; }
.product-summary > div + div { border-left:1px solid var(--line); padding-left:34px; }
.summary-label { display:block; margin-bottom:6px; color:var(--muted); font-size:13px; }
.summary-value { font-size:18px; font-weight:750; }
.status-active { color:var(--green); }
.section-title { margin:0 0 -10px; font-size:19px; }
.device-table { border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.device-table th { color:var(--muted); font-weight:550; background:rgba(8,12,9,.7); }
.device-table tr:last-child td { border-bottom:0; }
.release-row { display:grid; grid-template-columns:180px 1fr 190px; align-items:start; gap:28px; padding:22px 12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.empty-state { max-width:520px; padding:56px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { padding:10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.scroll { overflow:auto; }
code { color:#b8ffa9; }
.license-summary { min-width:0; }
.license-key-control { display:grid; grid-template-columns:minmax(0,1fr) 40px auto; gap:7px; align-items:center; }
.license-key-value { min-width:0; min-height:40px; display:flex; align-items:center; padding:8px 10px; overflow-wrap:anywhere; color:#b8ffa9; border:1px solid #344b39; border-radius:8px; background:#090e0b; font:700 13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.02em; }
.license-key-value.is-revealed { user-select:all; }
button.license-icon-button,button.license-copy-button { height:40px; padding:0 11px; border-color:#344b39; border-radius:8px; }
button.license-icon-button { width:40px; padding:9px; }
.license-icon-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.license-icon-button .eye-closed { display:none; }
.license-icon-button.is-revealed .eye-open { display:none; }
.license-icon-button.is-revealed .eye-closed { display:block; }
.license-copy-button:disabled { cursor:wait; opacity:.7; }
.key-note { display:block; margin-top:7px; color:var(--muted); font-size:12px; }
.license-copy-status { display:block; min-height:18px; margin-top:4px; color:var(--green); font-size:12px; }
.site-footer { border-top:1px solid var(--line); color:var(--muted); }
.site-footer .shell { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:14px; }
.site-footer nav { display:flex; gap:24px; }
.site-footer a { color:var(--muted); text-decoration:none; }
.metric { font-size:2rem; font-weight:800; }
.eyebrow { display:block; margin-bottom:8px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.page-heading p { margin-bottom:0; }
.bug-filters { display:grid; grid-template-columns:minmax(220px,1fr) 180px 180px auto; align-items:end; gap:14px; }
.bug-list { border-top:1px solid var(--line); }
.bug-row { display:grid; grid-template-columns:88px minmax(0,1fr) auto; align-items:center; gap:22px; padding:22px 12px; border-bottom:1px solid var(--line); }
.bug-copy h2 { margin:7px 0 4px; font-size:20px; }
.bug-copy h2 a { color:var(--text); text-decoration:none; }
.bug-copy h2 a:hover { color:var(--green); }
.bug-copy p { margin-bottom:0; }
.vote-box { display:grid; place-items:center; min-height:64px; padding:7px; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:12px; }
.vote-box strong { color:var(--text); font-size:22px; line-height:1; }
.bug-status { display:inline-block; border:1px solid var(--line); border-radius:999px; padding:3px 9px; font-size:12px; font-weight:750; text-transform:capitalize; }
.status-open { color:#ffcd68; border-color:#745b27; background:#211b0d; }
.status-planned { color:#74bdff; border-color:#28567c; background:#0d1a26; }
.status-in_progress { color:#cf9bff; border-color:#664284; background:#1c1027; }
.status-resolved { color:var(--green); border-color:#26751b; background:#102513; }
.status-closed { color:var(--muted); }
.clamp { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.pagination { display:flex; align-items:center; justify-content:center; gap:18px; padding-top:10px; }
.bug-form-wrap,.bug-detail { width:min(820px,100%); margin:auto; }
.grid.two { grid-template-columns:1fr 1fr; }
.pre-line { white-space:pre-line; }
.team-response { border-color:#26751b; background:#102513; }
.bundle-products { margin-top:7px; color:var(--muted); font-size:13px; }
.compact-form + .compact-form { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.admin-bug { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.7fr); gap:24px; padding:22px 0; border-top:1px solid var(--line); }
.admin-bug h3 { margin:8px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.admin-dashboard { gap:24px; }
.admin-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.admin-hero p { max-width:680px; margin-bottom:0; }
.admin-section-nav { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.admin-section-nav a { padding:7px 10px; color:var(--muted); border:1px solid var(--line); border-radius:999px; font-size:13px; text-decoration:none; }
.admin-section-nav a:hover { color:var(--green); border-color:#487350; }
.issued-key-alert p { margin:5px 0 8px; }
.issued-key-alert code { display:block; padding:10px; overflow-wrap:anywhere; border-radius:8px; background:#071008; }
.admin-metrics { display:grid; grid-template-columns:repeat(5,minmax(140px,1fr)); gap:12px; }
.admin-metric { display:grid; gap:5px; padding:18px; }
.admin-metric .metric { line-height:1; }
.admin-search-card { border-color:#3a6940; background:linear-gradient(135deg,rgba(22,49,27,.96),rgba(16,22,18,.96)); }
.admin-search-card h2,.admin-section-heading h2,.selected-customer h2 { margin-bottom:5px; }
.admin-search-card p,.admin-section-heading p { margin-bottom:0; }
.admin-search-form { display:grid; grid-template-columns:minmax(260px,1fr) auto auto; gap:10px; }
.admin-search-form input { min-height:46px; font-size:16px; }
.admin-section { scroll-margin-top:18px; }
.admin-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.search-chip,.status-chip { display:inline-flex; width:max-content; align-items:center; border:1px solid var(--line); border-radius:999px; padding:4px 9px; font-size:12px; font-weight:750; }
.search-chip { max-width:360px; overflow:hidden; color:var(--text); background:#0a100c; text-overflow:ellipsis; white-space:nowrap; }
.status-chip.status-active { border-color:#2a6e2b; background:#102513; }
.status-chip.status-suspended { color:#ffcd68; border-color:#745b27; background:#211b0d; }
.status-chip.status-revoked,.status-chip.status-disabled { color:var(--danger); border-color:#73303a; background:#281015; }
.selected-customer { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; align-items:center; gap:24px; border-color:#3a6940; }
.selected-customer-stats { display:flex; gap:22px; }
.selected-customer-stats span { display:grid; color:var(--muted); font-size:12px; }
.selected-customer-stats strong { color:var(--text); font-size:18px; }
.admin-table-wrap { border:1px solid var(--line); border-radius:10px; }
.admin-table th { color:var(--muted); background:#0b100d; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.admin-table td { padding:14px 12px; vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:0; }
.small-button { padding:8px 11px; white-space:nowrap; }
.admin-empty { display:grid; place-items:center; gap:4px; min-height:100px; padding:24px; color:var(--muted); text-align:center; }
.admin-empty strong { color:var(--text); }
.admin-pagination { display:flex; align-items:center; justify-content:center; gap:18px; padding-top:4px; }
.admin-pagination span { color:#657068; }
.admin-license-list { gap:12px; }
.admin-license-card { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(420px,1.4fr); gap:24px; padding:18px; border:1px solid var(--line); border-radius:12px; background:#0c120e; }
.admin-license-summary { display:grid; align-content:start; gap:7px; min-width:0; }
.admin-license-summary>div { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.admin-license-summary code,.admin-license-summary .muted { overflow-wrap:anywhere; }
.admin-license-actions { display:grid; gap:8px; }
.admin-license-actions details { border:1px solid var(--line); border-radius:9px; background:#090e0b; }
.admin-license-actions summary { padding:11px 13px; color:var(--text); font-weight:750; cursor:pointer; }
.admin-license-actions details[open] summary { border-bottom:1px solid var(--line); }
.admin-license-actions form { padding:14px; }
.admin-license-actions form p { margin-bottom:0; }
.admin-license-actions .danger-zone { border-color:#69313a; }
.admin-license-actions .danger-zone summary,.danger-zone p { color:#ff9ba4; }
.admin-tool-grid { scroll-margin-top:18px; }
@media(max-width:760px){ main.shell{padding-top:28px}.topbar .shell{align-items:flex-start;padding:16px 0;flex-direction:column}.nav-actions{width:100%}.card{padding:18px}.product-summary{grid-template-columns:1fr;gap:20px}.product-summary>div+div{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.release-row{grid-template-columns:1fr;gap:12px}th:nth-child(4),td:nth-child(4){display:none} }
@media(max-width:420px){.license-key-control{grid-template-columns:minmax(0,1fr) 40px}.license-copy-button{grid-column:1/-1;width:100%}}
@media(max-width:520px){.device-table{overflow:hidden}.device-table table{table-layout:fixed;font-size:12px}.device-table th,.device-table td{padding:9px 10px}.device-table th:nth-child(2),.device-table td:nth-child(2){display:none}.device-table th:first-child{width:42%}.device-table th:nth-child(3){width:26%}.device-table th:last-child{width:32%}.device-table button{width:100%;padding:9px 6px;font-size:12px}.site-footer .shell{padding:18px 0;align-items:flex-start;flex-direction:column}.site-footer nav{gap:18px}}
@media(max-width:760px){.page-heading{align-items:flex-start;flex-direction:column}.bug-filters{grid-template-columns:1fr 1fr}.bug-filters label:first-child{grid-column:1/-1}.bug-row{grid-template-columns:70px 1fr}.bug-row>form{grid-column:2}.admin-bug{grid-template-columns:1fr}.grid.two{grid-template-columns:1fr}}
@media(max-width:520px){.nav-actions{gap:10px;flex-wrap:wrap}.bug-filters{grid-template-columns:1fr}.bug-filters label:first-child{grid-column:auto}.bug-row{grid-template-columns:1fr}.vote-box{display:flex;justify-content:flex-start;gap:7px;min-height:0}.bug-row>form{grid-column:1}.bug-row button{width:100%}}
@media(max-width:920px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.admin-hero{align-items:flex-start;flex-direction:column}.admin-section-nav{justify-content:flex-start}.selected-customer{grid-template-columns:1fr auto}.selected-customer>.button{grid-column:1/-1}.admin-license-card{grid-template-columns:1fr}}
@media(max-width:760px){.admin-search-form{grid-template-columns:1fr 1fr}.admin-search-form input{grid-column:1/-1}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-section-heading{align-items:flex-start;flex-direction:column}.selected-customer{grid-template-columns:1fr}.selected-customer-stats{justify-content:space-between}.selected-customer>.button{grid-column:auto}.admin-table-wrap{overflow:visible;border:0}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table thead{display:none}.admin-table tr{padding:6px 12px;border:1px solid var(--line);border-radius:10px;background:#0b100d}.admin-table td,.admin-table td:nth-child(4){display:grid;grid-template-columns:86px minmax(0,1fr);padding:9px 0;border:0}.admin-table td::before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.admin-table td:last-child .button{width:100%}.admin-tool-grid{grid-template-columns:1fr}}
@media(max-width:480px){.admin-search-form{grid-template-columns:1fr}.admin-search-form input{grid-column:auto}.admin-search-form button,.admin-search-form .button{width:100%}.admin-metrics{grid-template-columns:1fr 1fr}.admin-metric{padding:14px}.admin-metric .metric{font-size:1.6rem}.selected-customer-stats{flex-wrap:wrap}.admin-license-card{padding:14px}.admin-pagination{justify-content:space-between;gap:8px;font-size:13px}}
