:root{font-family:Inter,Segoe UI,Microsoft YaHei,system-ui,sans-serif;color:#20292c;background:#f2f5f4;font-synthesis:none;letter-spacing:0;--surface: #ffffff;--surface-soft: #f7f9f8;--ink: #20292c;--muted: #68777a;--line: #d9e1df;--green: #13845b;--green-soft: #e5f5ee;--blue: #2769c5;--blue-soft: #eaf1fb;--amber: #a76208;--amber-soft: #fff4df;--red: #c43e47;--red-soft: #fdebed;--charcoal: #172123}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer;border-radius:4px}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(39,105,197,.25);outline-offset:2px}h1,h2,p{margin:0}h1,h2,.brand strong{font-family:Bahnschrift,Arial Narrow,Microsoft YaHei,sans-serif}.eyebrow{color:#708083;font-size:10px;font-weight:700;text-transform:uppercase}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.entry{min-height:100vh;display:grid;place-items:center;padding:20px;background:#edf1ef}.entry section{width:min(420px,100%);padding:34px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:6px;background:var(--surface);box-shadow:0 12px 32px #17212314}.logo{width:47px;height:47px;display:grid;place-items:center;margin-bottom:24px;border:1px solid #9fd1bc;border-radius:6px;color:var(--green);background:var(--green-soft)}.admin-logo{color:var(--blue);border-color:#b5ccec;background:var(--blue-soft)}.entry h1{margin:7px 0 10px;font-size:27px}.entry p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.7}.entry label{display:block;margin:25px 0 8px;color:#526164;font-size:12px;font-weight:650}.entry input,.generator input{width:100%;height:44px;padding:0 12px;border:1px solid #bdc9c6;border-radius:4px;color:var(--ink);background:var(--surface);outline:none}.entry input:focus,.generator input:focus{border-color:var(--blue)}.entry button,.primary{min-height:44px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--green);font-weight:750}.entry button{width:100%;margin-top:13px}.error{margin-top:13px;padding:10px 12px;border:1px solid #efb6ba;border-radius:4px;color:#9f2832;background:var(--red-soft);font-size:12px;overflow-wrap:anywhere}.customer{width:min(760px,100%);min-height:100vh;margin:auto;padding:25px 20px 60px}.customer header,.admin main>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand span{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:5px;color:#70d2ad;background:#243436}.brand strong{white-space:nowrap}.logout,.secondary{min-height:38px;padding:0 12px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#435154;background:var(--surface)}.number-panel,.waiting,.sms{padding:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.number-panel{border-top:4px solid var(--blue)}.number-panel.state-active{border-top-color:var(--green)}.number-panel.state-received{border-top-color:var(--amber)}.number-panel.state-expired,.number-panel.state-unavailable{border-top-color:var(--red)}.state-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.number-panel h1{margin:7px 0 25px;font-size:22px}.live{height:28px;padding:0 9px;border:1px solid #a9d9c5;border-radius:4px;display:inline-flex;align-items:center;gap:7px;color:#126c4c;background:var(--green-soft);font-size:11px;font-weight:700;white-space:nowrap}.live i{width:7px;height:7px;border-radius:50%;background:var(--green)}.phone-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.phone-row strong{min-width:0;color:#172123;font:700 30px Cascadia Mono,ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.phone-row button,.icon-button{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid var(--line);color:var(--blue);background:var(--blue-soft)}.empty-number{height:100px;border:1px dashed #b8c5c2;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#7b898c}.country,.expires{margin-top:12px;color:var(--muted);font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.actions .primary{padding:0 18px}.expires{display:flex;align-items:center;gap:6px}.waiting{margin-top:15px;text-align:center;border-left:4px solid var(--green)}.waiting svg{color:var(--green)}.waiting strong{display:block;margin:12px}.waiting p{color:var(--muted);font-size:12px}.sms{margin-top:15px;border-left:4px solid var(--amber)}.sms>div{display:flex;align-items:center;gap:9px;color:#6d7a7c;font-size:12px}.sms>p{margin:22px 0;font-size:17px;line-height:1.6;overflow-wrap:anywhere}.sms>button{min-height:42px;padding:0 14px;border:1px solid #d3a65e;display:flex;align-items:center;gap:8px;color:#7d4804;background:var(--amber-soft);font-weight:700}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.admin aside{height:100vh;position:sticky;top:0;padding:25px 18px;display:flex;flex-direction:column;color:#e6eeee;background:var(--charcoal)}.admin aside nav{display:grid;gap:4px;margin-top:34px}.admin aside nav a{min-height:36px;padding:0 10px;border-radius:4px;display:flex;align-items:center;color:#aebcbe;text-decoration:none;font-size:12px}.admin aside nav a:hover{color:#fff;background:#263638}.admin aside>button{margin-top:auto;padding:8px 10px;border:0;display:flex;align-items:center;gap:7px;color:#aebcbe;background:transparent}.admin main{min-width:0;padding:35px 48px 70px}.admin h1{margin-top:6px;font-size:26px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.metrics article{min-height:108px;padding:20px;border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:5px;background:var(--surface)}.metrics article:nth-child(2){border-top-color:var(--green)}.metrics article:nth-child(3){border-top-color:var(--amber)}.metrics article:nth-child(4){border-top-color:#7952b3}.metrics span{color:var(--muted);font-size:12px}.metrics strong{display:block;margin-top:13px;font-size:29px}.generator,.codes,.data-section{margin-top:18px;padding:20px;border:1px solid var(--line);border-radius:5px;background:var(--surface)}.generator{display:grid;grid-template-columns:1fr 140px 140px auto;align-items:end;gap:12px}.generator h2,.codes h2,.data-section h2{font-size:17px}.generator p,.section-title p{margin-top:5px;color:var(--muted);font-size:11px}.generator label{color:var(--muted);font-size:11px}.generator input{display:block;margin-top:7px}.generator .primary{padding:0 17px}.codes>div,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.codes>div{margin-bottom:13px}.codes button{min-height:34px;padding:0 10px;border:1px solid var(--line);display:flex;align-items:center;gap:6px;color:#445356;background:var(--surface-soft)}.codes textarea{width:100%;height:180px;padding:13px;resize:vertical;border:1px solid var(--line);border-radius:4px;color:#244b40;background:#f3f8f6;font:12px/1.7 ui-monospace,Consolas,monospace}.table{width:100%;margin-top:15px;overflow:auto}table{width:100%;min-width:840px;border-collapse:collapse}th{height:38px;color:#718083;font-size:10px;font-weight:750;text-align:left;white-space:nowrap}td{height:49px;border-top:1px solid #e4e9e8;color:#3f4d50;font-size:12px;white-space:nowrap}.status{display:inline-flex;min-height:24px;padding:0 7px;border:1px solid #ccd6d4;border-radius:4px;align-items:center;color:#566467;background:var(--surface-soft);font-size:10px;font-weight:700}.status-active,.status-received{color:#116346;border-color:#aed8c6;background:var(--green-soft)}.status-available{color:#1d5ba9;border-color:#bed0ea;background:var(--blue-soft)}.status-used,.status-switched,.status-released{color:#6c7779;background:#f0f3f2}.status-expired,.status-revoked,.status-missing{color:#9a2d36;border-color:#efc2c5;background:var(--red-soft)}.toggle{width:38px;height:22px;position:relative;display:inline-block}.toggle input{width:1px;height:1px;position:absolute;opacity:0}.toggle span{position:absolute;inset:0;border-radius:11px;background:#aab6b4;cursor:pointer;transition:background .15s ease}.toggle span:after{content:"";width:16px;height:16px;position:absolute;top:3px;left:3px;border-radius:50%;background:#fff;transition:transform .15s ease}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{transform:translate(16px)}.toggle input:focus-visible+span{outline:3px solid rgba(39,105,197,.25);outline-offset:2px}.icon-button.danger{color:var(--red);border-color:#efc2c5;background:var(--red-soft)}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.generator{grid-template-columns:1fr 1fr}.generator>div{grid-column:1 / -1}}@media(max-width:760px){.admin{display:block}.admin aside{height:auto;position:static;flex-direction:row;align-items:center;gap:16px}.admin aside nav{display:none}.admin aside>button{margin:0 0 0 auto}.admin main{padding:24px 15px 50px}.admin main>header{align-items:flex-start}}@media(max-width:520px){.entry section{padding:26px 20px}.customer{padding:18px 14px 45px}.customer header{margin-bottom:20px}.phone-row strong{font-size:22px}.state-heading{align-items:flex-start}.live{padding:0 7px}.metrics{grid-template-columns:1fr 1fr}.metrics article{min-height:96px;padding:16px}.generator{grid-template-columns:1fr}.generator>div{grid-column:auto}.number-panel,.waiting,.sms{padding:20px}.admin main>header{flex-direction:column}.admin main>header .secondary{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spin{animation:none}.toggle span,.toggle span:after{transition:none}}
