:root{color-scheme:light;--ink:#202333;--muted:#858895;--accent:#6255d9;--line:#ececf2;--surface:#fff;--back:#f6f7fb;--radius:22px}*{box-sizing:border-box}body{margin:0;font:14px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC",sans-serif;color:var(--ink);background:var(--back)}[hidden]{display:none!important}button,input,textarea{font:inherit}button{cursor:pointer;border:0;transition:background .18s,transform .18s,box-shadow .18s}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #bcb5f5;outline-offset:4px}input,textarea{width:100%;border:1px solid #e1e2eb;border-radius:12px;background:#fbfbfd;color:var(--ink);padding:13px 15px;outline:none}input:focus,textarea:focus{border-color:#a59ce9;box-shadow:0 0 0 4px #6255d90c}input::placeholder{color:#a2a4af}label{display:block;font-size:13px;font-weight:600;margin:0 0 9px}h1,h2,p{margin:0}h1{font-size:29px;letter-spacing:-.8px;line-height:1.4;font-weight:650}h2{font-size:19px;font-weight:600;letter-spacing:-.3px}.muted{color:var(--muted);margin-top:7px}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:650;color:#a3a3b5;margin-bottom:10px}.primary{background:var(--accent);color:#fff;border-radius:12px;padding:13px 18px;font-weight:600;box-shadow:0 5px 14px #6255d920}.wide{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:22px}.secondary{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 15px;color:#656778}.quiet{background:none;color:var(--muted);font-size:12px;padding:8px}.login-view{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 27% 17%,#eae6fa 0,transparent 47%),radial-gradient(ellipse at 86% 81%,#e7edf6 0,transparent 42%),#f7f8fc}.login-card{width:400px;max-width:100%;padding:39px;background:#ffffffde;border:1px solid #fff;border-radius:28px;box-shadow:0 22px 90px #30355209;text-align:center;backdrop-filter:blur(24px)}.brand-icon{display:grid;place-items:center;width:57px;height:57px;font-size:32px;color:var(--accent);background:linear-gradient(145deg,#eeebff,#faf9ff);border-radius:18px;margin:0 auto 22px;box-shadow:inset 0 0 0 1px #6255d912}.login-card h1{font-size:28px}.login-card form{margin-top:30px;text-align:left}.login-card .wide{justify-content:center;gap:18px}.login-foot{margin-top:20px;font-size:11px;color:#a2a3ae;display:flex;align-items:center;justify-content:center;gap:6px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4cb18d}.error{font-size:12px;color:#c9535a;min-height:18px;margin-top:8px}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(30px,calc((100vw - 1100px)/2));background:#ffffffb0;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:17px;font-weight:650}.small-brand{color:var(--accent);font-size:26px}.brand-tag{font-size:8px;font-weight:600;letter-spacing:1px;border:1px solid #e4e2f2;padding:3px 6px;color:#9b99b0;border-radius:4px;margin-left:6px}.workspace{max-width:1160px;margin:auto;padding:26px 30px 65px}.tabs{display:inline-flex;gap:5px;padding:5px;border:1px solid #e9eaf0;border-radius:13px;background:#eeeff5;margin-bottom:38px}.tabs button{padding:9px 22px;border-radius:9px;font-weight:550;color:#828493;background:none;font-size:13px}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 5px #282d4210}.tabs span{font-size:10px;border-radius:5px;padding:1px 5px;margin-left:7px;background:#e7e6f1;color:#88879b}.page-heading{margin-bottom:28px}.issue-layout{display:grid;grid-template-columns:430px 1fr;gap:62px;align-items:start}.issue-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 12px 35px #30355203}.card-heading{display:flex;align-items:center;gap:13px;margin-bottom:30px}.card-heading h2{font-size:17px}.card-heading .muted{font-size:12px;margin-top:3px}.tile{display:grid;place-items:center;width:43px;height:43px;border:1px solid #eeeafd;background:#f6f3ff;border-radius:13px;color:var(--accent);font-size:24px}.optional{font-size:11px;font-weight:400;color:#a6a7b1;margin-left:6px}.result-heading{display:flex;align-items:center;gap:7px;font-size:12px;color:#5a9e82;margin:24px 0 11px}.code-box{position:relative}.code-box textarea{font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;height:88px;resize:none;background:#f7f8fc;border-color:#ececf3;padding:14px 48px 14px 14px;overflow-wrap:anywhere}.floating-copy{position:absolute;right:10px;top:10px;width:31px;height:31px;background:#fff;border:1px solid #e7e6f1;color:var(--accent);font-size:20px;border-radius:9px;box-shadow:0 3px 9px #37324f08}.issue-note{padding:19px 0;color:#9799a7}.note-orbit{font-size:26px;color:#bdb6e7;display:grid;place-items:center;background:linear-gradient(140deg,#ece9f8,#f3f4fc);width:64px;height:64px;border-radius:50%;margin-bottom:23px}.issue-note h2{color:#686b7e;font-size:20px;margin-bottom:11px}.issue-note p{line-height:1.9;font-size:13px;margin-bottom:28px}.note-step{display:flex;align-items:center;gap:12px;font-size:12px;margin:13px 0}.note-step span{color:#b4b4c4;font:10px ui-monospace,monospace;letter-spacing:1px}.list-heading{display:flex;justify-content:space-between;align-items:flex-end}.list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.list-toolbar input{width:250px;font-size:12px;background:#fff;padding:10px 14px}.list-stats{display:flex;gap:7px;align-items:center;font-size:12px;color:#9294a0}.list-stats strong{color:var(--ink);font-size:19px;font-weight:600}.divider{height:15px;width:1px;background:#e0e1e9;margin:0 8px}.table-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:11px;font-weight:500;color:#9b9daa;background:#fcfcfe;padding:16px 22px;border-bottom:1px solid var(--line)}td{padding:21px 22px;font-size:12px;border-bottom:1px solid #f1f2f6;color:#76798a}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfbff}.number{text-align:right}td.number{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.user-cell{display:flex;align-items:center;gap:11px}.avatar{display:grid;place-items:center;width:34px;height:34px;font-size:13px;color:#8a7eb3;background:#f0edf8;border-radius:11px;flex-shrink:0}.user-link{display:block;padding:0;background:none;color:var(--ink);font-weight:550;text-align:left}.user-state{font-size:10px;color:#a1a3b0;margin-top:3px}.user-state.enabled{color:#65a18b}.code-pill{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;background:#f6f6fa;border-radius:7px;padding:6px 8px;display:inline-flex;gap:8px;max-width:210px;align-items:center}.code-pill span{overflow:hidden;text-overflow:ellipsis}.code-pill button{background:none;padding:0;font-size:14px;color:#a39dbb;flex-shrink:0}.legacy{font-size:11px;color:#aaa}.table-foot{font-size:11px;color:#afb0bc;margin:13px 4px}.empty{text-align:center;padding:64px 20px;color:#b3b1c2}.empty>span{font-size:38px}.empty h2{font-size:15px;color:#828092;margin:12px 0 5px}.empty p{font-size:12px}.detail-dialog{width:780px;max-width:calc(100vw - 36px);max-height:calc(100vh - 60px);padding:28px;border:1px solid #fff;border-radius:24px;box-shadow:0 30px 100px #20233322;color:var(--ink)}.detail-dialog::backdrop{background:#20233335;backdrop-filter:blur(5px)}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.icon-button{width:31px;height:31px;border-radius:50%;background:#f3f3f8;font-size:22px;color:#9998aa}.detail-code{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#f7f7fb;border-radius:12px;font:12px ui-monospace,monospace;overflow-wrap:anywhere}.detail-code>span{flex:1;min-width:0}.detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.metric{padding:17px;border:1px solid var(--line);border-radius:12px}.metric p{font-size:11px;color:#999bab}.metric strong{font-size:19px;font-weight:600;display:block;margin-top:8px}.detail-meta{color:#9496a5;font-size:11px;line-height:1.9;margin-bottom:21px}.history-heading{font-size:14px;margin:20px 0 12px}.history-scroll{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px}.history-scroll th,.history-scroll td{padding:12px;font-size:11px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:21px}.danger{color:#c2666b;background:#fff6f6;border:1px solid #f4e4e6;border-radius:10px;padding:9px 14px;margin-left:auto}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 24px;border:1px solid #eeeef8;border-radius:13px;background:#fff;box-shadow:0 8px 32px #24253c15;color:#65627b;font-size:12px;z-index:100}.toast.error-toast{color:#b75b66}@media(max-width:760px){.workspace{padding:22px 18px 45px}.topbar{padding:0 20px;height:65px}.tabs{margin-bottom:30px}h1{font-size:23px}.issue-layout{grid-template-columns:1fr;gap:28px}.issue-note{display:none}.issue-card{padding:25px}.list-heading{align-items:start;gap:12px}.list-heading h1{font-size:21px}.list-heading .secondary{font-size:11px;white-space:nowrap}.list-toolbar{gap:12px}.list-toolbar input{width:170px}.detail-dialog{padding:22px}.detail-metrics{gap:7px}.metric{padding:12px}.metric strong{font-size:16px}.brand-tag{display:none}}

.row-delete{padding:7px 12px;font-size:11px;color:#bf646e;background:#fff5f6;border:1px solid #f4e3e7;border-radius:8px}.row-delete:hover{background:#ffeaed}

.store-password-label{margin-top:18px}.store-enabled{display:flex;gap:8px;align-items:center;font-size:12px;color:#838493;font-weight:400;margin-top:16px}.store-enabled input{width:15px;height:15px;padding:0}.store-clear{margin:20px 0 0;font-size:11px}

.catalog-dialog{max-width:480px}.catalog-dialog label:not(.store-enabled){margin-top:16px}.catalog-lookup{display:flex;gap:8px}.catalog-lookup input{min-width:0}.catalog-lookup button{white-space:nowrap}.catalog-actions{display:flex;gap:8px;white-space:nowrap}.catalog-bundle{font-size:12px;overflow-wrap:anywhere}.tabs{flex-wrap:wrap}@media(max-width:650px){.tabs button{padding:9px 12px}}

#store-recipient{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fafafe;color:var(--ink);font:inherit;margin:6px 0 0}

.recipient-picker{position:relative;margin-top:6px}.recipient-open{width:100%;padding:13px 14px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fafafe;color:var(--ink);font-size:13px}.recipient-open:after{content:'⌄';float:right}.recipient-popup{position:absolute;top:calc(100% + 7px);left:0;right:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 12px 35px #30355220;z-index:20}.recipient-results{max-height:220px;overflow:auto;margin-top:8px}.recipient-choice{display:block;width:100%;text-align:left;background:none;color:var(--ink);padding:10px 9px;font-size:12px;border-radius:7px}.recipient-choice:hover,.recipient-choice:focus{background:#f0edf8}.recipient-popup .table-foot{margin-bottom:0}

.decoy-subtitle{font-size:15px;margin:27px 0 16px}#decoy-generate-form label{margin-top:16px}#decoy-generate,#decoy-import-button{margin-top:15px}#decoy-import{margin-top:6px;min-height:120px;font:12px/1.6 ui-monospace,monospace}.decoy-list-head{display:flex;justify-content:space-between;align-items:center;margin:35px 0 14px}.decoy-list-head h2{font-size:17px}.decoy-list-head span{font-size:13px;color:var(--accent);margin-left:8px}

.device-serial{font:11px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.device-user{color:var(--ink)}.device-full-name{font-size:10px;color:#9496a5;margin-top:5px}

/* Keep license actions visible when device columns require horizontal scrolling. */
.workspace:has(#licenses-page:not([hidden])){max-width:1440px}
.license-table-card{position:relative;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.license-table-card th,.license-table-card td{padding-left:16px;padding-right:16px}
.license-table-card th:last-child,.license-table-card td:last-child{position:sticky;right:0;z-index:1;min-width:86px;background:#fff;box-shadow:-8px 0 12px -12px #20233355}
.license-table-card th:last-child{z-index:2;background:#fcfcfe}
.license-table-card tbody tr:hover td:last-child{background:#fcfbff}
