:root{--canvas:#f4f8fa;--surface:#fff;--ink:#0a1b2a;--muted:#5d7080;--line:#d9e6ea;--navy:#071c2d;--navy-deep:#030914;--brand:#087fa8;--brand-strong:#075f91;--brand-soft:#d8f7f5;--danger:#b4233a;--focus:#18bfd4;font:16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 18% 0,#d9fbf8 0,transparent 34%),var(--canvas)}header{height:68px;padding:0 max(24px,calc((100% - 960px)/2));display:flex;align-items:center;justify-content:space-between;color:#f4fffe;background:var(--navy-deep);border-bottom:1px solid #1b4355}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:750;color:inherit;text-decoration:none}.brand img{width:38px;height:38px;border-radius:10px}.locale{display:flex;gap:8px;align-items:center}.locale select{color:inherit;border:1px solid #2b5668;border-radius:9px;padding:7px 10px;background:#12384a;font:inherit}main{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:32px 20px}.card{width:min(100%,520px);background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 18px 55px #071c2d16}.eyebrow{color:var(--brand);font-weight:700;margin:0 0 8px}h1{font-size:30px;letter-spacing:-.025em;margin:0 0 10px}h2{font-size:18px;margin:24px 0 10px}.lead{color:var(--muted);margin:0 0 28px;line-height:1.5}form{display:grid;gap:10px}#code-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}label{font-weight:600}input{width:100%;height:46px;border:1px solid #b9cdd4;border-radius:10px;padding:0 13px;font:inherit}input:focus{outline:3px solid #18bfd433;border-color:var(--focus)}button{min-height:44px;border:0;border-radius:10px;padding:10px 18px;font:inherit;font-weight:700;line-height:1.25;color:#fff;background:var(--brand);cursor:pointer}button:hover{background:var(--brand-strong)}button:disabled{opacity:.7;cursor:wait}.button-error{background:var(--danger)}.button-error:disabled{opacity:1}.quiet{color:var(--brand-strong);background:transparent}.quiet:hover{background:#087fa80d}#identity{padding:12px;background:var(--brand-soft);border-radius:10px;overflow-wrap:anywhere}.license{display:grid;gap:9px;margin:10px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}.license-head{display:flex;justify-content:space-between;gap:12px}.license-status{color:var(--brand-strong);font-size:14px}.license code{padding:10px 12px;overflow-wrap:anywhere;background:var(--brand-soft);border-radius:8px;font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace;user-select:all}#status{min-height:24px;margin:16px 0 0;color:var(--muted)}#status.error{color:var(--danger)}@media(max-width:520px){.card{padding:24px;border-radius:16px}}
.site-header{position:sticky;top:0;z-index:20;height:auto;min-height:68px;padding:10px max(20px,calc((100% - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#f4fffe;background:#030914;border-bottom:1px solid #1b4355}
.site-header .brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:20px;font-weight:750;flex-shrink:0}
.site-header .brand-logo{display:block;width:38px;height:38px;flex-shrink:0}
.site-header .header-actions,.site-header .locale-control,.site-header #logout{display:flex;align-items:center;gap:9px}
.site-header .header-actions{gap:12px;flex-wrap:wrap}
.site-header .ui-icon{width:18px;height:18px;flex-shrink:0}
.site-header .select-wrap{position:relative;display:inline-flex}
.site-header .select-wrap select{appearance:none;-webkit-appearance:none;width:auto;max-width:none;color:inherit;background:#12384a;border:1px solid #2b5668;border-radius:8px;padding:9px 34px 9px 12px;font:inherit}
.site-header .select-arrow{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none}
.site-header .locale-menu{position:relative;display:flex}
.site-header .locale-trigger{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;color:#d4e2e9;background:transparent;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}
.site-header .locale-trigger .ui-icon{width:21px;height:21px;transition:transform .15s ease}
.site-header .locale-trigger:hover,.site-header .locale-trigger:focus-visible,.site-header .locale-trigger[aria-expanded="true"]{color:#76f2e8;background:#12384a;border-color:#2b5668}
.site-header .locale-trigger:hover .ui-icon,.site-header .locale-trigger:focus-visible .ui-icon{transform:scale(1.08)}
.site-header .locale-options{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:30;width:max-content;min-width:180px;max-height:min(70vh,460px);overflow:auto;padding:6px;background:#071c2d;border:1px solid #2b5668;border-radius:10px;box-shadow:0 14px 36px #0008}
.site-header .locale-options a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px;padding:7px 10px;border-radius:6px;color:#d4e2e9;text-decoration:none;white-space:nowrap}
.site-header .locale-options a:hover,.site-header .locale-options a:focus-visible{color:#fff;background:#12384a;outline:none}
.site-header .locale-options a[aria-checked="true"]{color:#76f2e8;font-weight:700}
.site-header .locale-options a[aria-checked="true"]::after{content:'✓';font-size:13px}
.site-header .header-login{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border-radius:8px;color:#fff;background:transparent;border:1px solid #2b5668;text-decoration:none;white-space:nowrap;font:inherit}
.site-header .header-login:hover{background:#12384a}
.site-header .header-login:focus-visible{outline:3px solid #18bfd4;outline-offset:3px}
.site-header #logout{width:auto;white-space:nowrap;font:inherit;color:#fff;background:transparent;border:1px solid #2b5668;padding:9px 14px}.site-header #logout:hover{background:#12384a}
button{font:inherit;min-height:44px;line-height:1.4}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #18bfd4;outline-offset:3px}
@media(max-width:600px){.site-header{padding:12px 18px;gap:12px;align-items:center}.site-header .brand span{display:inline}.site-header .header-actions{width:auto;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.site-header .locale-control{flex:1;min-width:0}.site-header .select-wrap{min-width:0;width:100%;max-width:240px}.site-header .select-wrap select{width:100%;min-width:0}.site-header .locale-options{position:fixed;top:72px;inset-inline:16px;width:auto;max-height:calc(100vh - 88px)}.site-header .header-login{white-space:normal;text-align:center;max-width:none;justify-content:center}.site-header #logout{white-space:normal;max-width:50%;text-align:center}}
.admin-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.admin-main:has(.admin-dashboard:not([hidden])){justify-content:flex-start}.admin-dashboard{width:min(100%,1100px);padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.admin-dashboard #identity{display:inline-block;margin:0 16px 16px 0}.admin-dashboard #logout{float:right}.admin-dashboard #admin-content>h2{margin-top:0;font-size:26px}.admin-tabs{display:flex;gap:6px;margin:18px 0;border-bottom:1px solid var(--line);overflow-x:auto}.admin-tab{border-radius:9px 9px 0 0;color:var(--muted);background:transparent;white-space:nowrap}.admin-tab:hover,.admin-tab:focus-visible{color:#fff;background:var(--brand-strong)}.admin-tab:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.admin-tab.active{color:#fff;background:var(--brand)}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metric-card{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fbfc}.metric-card strong{font-size:28px;color:var(--brand-strong)}.metric-card span,.language-list{color:var(--muted)}.language-list{display:flex;gap:8px;flex-wrap:wrap}.language-list span{padding:7px 10px;border-radius:999px;background:var(--brand-soft)}.admin-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.admin-license-card{padding:18px 0;border-bottom:1px solid var(--line)}.admin-license-summary,.device-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-license-summary div,.device-row div{display:grid;gap:4px;min-width:0}.admin-license-card small,.device-row small{color:var(--muted);overflow-wrap:anywhere}.status-pill{padding:5px 9px;border-radius:999px;background:#eef3f5;font-size:13px}.status-pill.active,.status-pill.paid{color:#087052;background:#dff7ed}.status-pill.revoked,.status-pill.disputed,.status-pill.failed,.status-pill.refunded,.status-pill.expired{color:var(--danger);background:#feecef}.admin-actions{display:flex;gap:4px;flex-wrap:wrap}.admin-devices{margin-top:12px;padding:4px 14px;border-radius:12px;background:#f6fafb}.device-row,.detail-row{padding:12px 0;border-bottom:1px solid var(--line)}.device-row:last-child,.detail-row:last-child{border:0}.detail-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}.detail-row span{overflow-wrap:anywhere}.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 #release-form{grid-template-columns:160px minmax(0,1fr);align-items:center}.admin-dashboard #release-upload{grid-column:2}.admin-main>#status:empty{display:none}@media(max-width:600px){.admin-dashboard{padding:20px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard #release-form{grid-template-columns:1fr}.admin-dashboard #release-upload{grid-column:1}.admin-license-summary,.device-row{align-items:flex-start;flex-direction:column}.detail-row{grid-template-columns:1fr}}[hidden]{display:none!important}#code-form{margin-top:24px;padding-top:0;border-top:0}#email-hint,#code-hint{margin:0;min-height:21px;font-size:14px;line-height:21px;overflow-wrap:anywhere;color:var(--muted)}input[aria-invalid="true"]{border-color:var(--danger)}input[aria-invalid="true"]+p{color:var(--danger)}