.loadscreen{display:grid;place-items:center;min-height:100vh;color:var(--soft)}
.login-layout{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:40px clamp(20px,7vw,120px);gap:40px}
.login-card{max-width:430px;width:100%;margin:auto;background:var(--surface);border:1px solid var(--edge);padding:30px;border-radius:18px;box-shadow:0 24px 70px #0005}
.login-layout .hero{min-height:420px;margin:0}.login-layout .hero-copy{max-width:80%}
.login-card h1{font-size:28px;margin:20px 0 7px}.login-card p{font-size:12px;color:var(--muted);line-height:1.7}
.login-card .fieldwrap{margin:18px 0 0}.login-card .btn{margin:16px 0;width:100%}
.lab-notice{font-size:11px;background:var(--haze);border:1px solid var(--edge);border-radius:10px;padding:12px;color:var(--soft);margin-bottom:18px;line-height:1.7}
.lab-notice b{color:var(--accent2)}
.lab-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 17px}
.lab-tabs button{padding:9px 12px;border-radius:9px;border:1px solid var(--edge);background:var(--surface);color:var(--soft);cursor:pointer;font-weight:700;font-size:12px}
.lab-tabs button.active{background:var(--haze);border-color:var(--accent);color:var(--accent2)}
.lab-number{font-size:24px;font-weight:900;color:var(--txt)}
.lab-twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lab-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}
.lab-small{font-size:10px;color:var(--muted);line-height:1.6}
.lab-row{display:flex;justify-content:space-between;align-items:center;gap:9px;border-bottom:1px solid var(--edge);padding:12px 0;font-size:12px;flex-wrap:wrap}
.lab-row:last-child{border-bottom:none}
.lab-row strong{color:var(--txt)}
.lab-row span{color:var(--soft)}
.lab-input{width:100%;min-width:0}
.lab-route-grid{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.lab-textarea{min-height:130px}
.lab-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;overflow-wrap:anywhere}
.lab-status{font-size:11px;color:var(--accent2)}
.lab-empty{padding:22px;color:var(--muted);font-size:12px}
.lab-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}
.lab-metric{background:var(--surface);border:1px solid var(--edge);border-radius:12px;padding:15px}
.lab-metric small{display:block;color:var(--muted);font-size:10px}.lab-metric strong{display:block;font-size:22px;margin-top:7px}
.lab-error{color:var(--bad);font-size:12px;line-height:1.5;min-height:20px;margin-top:7px}
.lab-footer{margin-top:20px;color:var(--muted);font-size:10px;line-height:1.7}
.lab-table-actions{display:flex;gap:5px}
.lab-chip{border:1px solid var(--edge);border-radius:8px;padding:5px 7px;font-size:10px;background:var(--surface2)}
.lab-formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.lab-formgrid > div{min-width:0}.lab-formgrid label{display:block;font-size:11px;color:var(--soft);font-weight:700;margin-bottom:7px}
.lab-login-theme{position:fixed;right:12px;top:12px;z-index:8}
.lab-nowrap{white-space:nowrap}
.lab-support{opacity:.8;font-size:11px;color:var(--soft)}
.lab-quote{background:var(--haze);border:1px solid var(--edge);padding:15px;border-radius:10px;margin:12px 0;font-size:12px;line-height:1.9}
.lab-quote strong{color:var(--accent2)}
.lab-separator{height:1px;background:var(--edge);margin:15px 0}
.lab-mobile-head{display:none}
@media(max-width:900px){.login-layout{grid-template-columns:1fr;padding:65px 20px 20px;gap:18px}.login-layout .hero{min-height:230px;order:-1}.login-card{max-width:700px}.lab-twocol{grid-template-columns:1fr}.lab-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lab-metrics{grid-template-columns:1fr 1fr}.lab-formgrid{grid-template-columns:1fr}.lab-row{align-items:flex-start}.login-card{padding:18px}}

.lab-auth-tabs{display:flex;gap:7px;margin:16px 0;padding:5px;background:var(--haze);border-radius:10px}
.lab-auth-tabs button{flex:1;padding:11px;border:1px solid transparent;background:transparent;color:var(--soft);border-radius:8px;cursor:pointer;font-weight:700}
.lab-auth-tabs button.active{background:var(--surface);color:var(--accent2);border-color:var(--edge)}
.lab-consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:var(--soft);line-height:1.6;margin:14px 0}
.lab-consent input{margin-top:4px;accent-color:var(--accent)}
.lab-wallet-hero{border:1px solid var(--edge);background:linear-gradient(130deg,var(--surface),var(--haze));border-radius:14px;padding:25px;display:flex;align-items:center;justify-content:space-between;margin:15px 0 19px;overflow:hidden}
.lab-wallet-hero strong{font-size:clamp(28px,6vw,44px);color:var(--txt);display:block;margin:5px 0 2px}
.lab-wallet-hero p{color:var(--soft);font-size:12px}
.lab-wallet-sigil{color:var(--accent);font-size:100px;opacity:.24;line-height:1}
.lab-payment-steps{display:grid;gap:13px;margin:14px 0}
.lab-payment-steps div{display:flex;align-items:flex-start;gap:12px;font-size:12px;color:var(--soft);line-height:1.55}
.lab-payment-steps b{background:var(--haze);border:1px solid var(--edge);color:var(--accent2);padding:6px 8px;border-radius:7px}

/* Stage 2: CSV import control and reliable theme selection on narrow screens. */
.lab-import{display:inline-flex;align-items:center;cursor:pointer;margin:0}
.lab-hidden-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
@media(max-width:560px){.topactions .selectbar{flex:1 0 145px;width:auto;max-width:100%}.topactions .topbadge{flex:1 0 140px;min-width:0;white-space:normal}.topactions #logout{flex:0 0 auto}.lab-wallet-sigil{font-size:64px}}
