[data-theme="light"] .logo-text,[data-theme="light"] .login-brand-name{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
[data-theme="light"] .header{background:rgba(255,255,255,.92)}
html,body{height:100%;background:var(--bg);color:var(--text);font-family:"Sora",sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;transition:background .25s,color .25s}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}

/* ── LOADING ── */
.loading-overlay{display:none;position:fixed;inset:0;background:rgba(7,9,14,.85);backdrop-filter:blur(8px);z-index:9999;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.loading-overlay.show{display:flex}
.loading-text{font-size:.82rem;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.spinner{width:20px;height:20px;border:2px solid rgba(128,140,160,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── TOAST ── */
.toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%) translateY(60px);background:var(--card);border:1px solid var(--border);padding:9px 18px;border-radius:30px;font-size:.76rem;display:flex;align-items:center;gap:7px;z-index:8000;transition:transform .28s cubic-bezier(.34,1.56,.64,1);pointer-events:none;box-shadow:0 6px 24px rgba(0,0,0,.4);}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast.success{border-color:rgba(0,230,118,.4);color:var(--green)}
.toast.error{border-color:rgba(255,23,68,.4);color:var(--red)}
.toast.info{border-color:rgba(0,212,245,.4);color:var(--accent)}

/* ── LOGIN ── */
#loginScreen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px 16px;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(0,212,245,.07) 0%,transparent 70%)}
.login-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--border);border-radius:22px;padding:32px 28px 28px;box-shadow:0 24px 64px rgba(0,0,0,.45);}
.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:5px}
.login-brand-icon{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.login-brand-name{font-family:"Space Mono",monospace;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.login-sub{color:var(--muted);font-size:.83rem;margin-bottom:22px;padding-left:1px}
.field{margin-bottom:13px}
.field label{display:block;font-size:.7rem;color:var(--muted);margin-bottom:5px;letter-spacing:.07em;text-transform:uppercase;font-weight:600}
.field input{width:100%;padding:12px 15px;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-size:.93rem;font-family:"Sora",sans-serif;transition:border-color .15s,box-shadow .15s;outline:none;}
.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,245,.1)}
[data-theme="light"] .field input{background:var(--bg)}
.err-box{font-size:.79rem;color:var(--red);background:rgba(255,23,68,.08);border:1px solid rgba(255,23,68,.2);border-radius:8px;padding:9px 12px;margin-bottom:12px;display:none}
.err-box.show{display:block}

/* Provider selector */
.provider-label{font-size:.72rem;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-weight:600;margin-bottom:10px}
.provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}
.provider-btn{display:flex;align-items:center;gap:9px;padding:11px 13px;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;font-family:"Sora",sans-serif;color:var(--muted);font-size:.82rem;font-weight:600;position:relative;width:100%;min-width:0;text-align:left;}
.provider-btn:hover:not(.coming){border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px rgba(0,212,245,.08)}
.provider-btn.selected{border-color:var(--accent);background:rgba(0,212,245,.09);color:var(--accent);box-shadow:0 0 0 3px rgba(0,212,245,.12)}
.provider-btn .prov-icon{font-size:1.15rem;flex-shrink:0;line-height:1}
.provider-btn .prov-name{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.provider-btn .prov-check{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;font-size:.65rem;line-height:1;}
.provider-btn.selected .prov-check{background:var(--accent);border-color:var(--accent);color:#000}
.provider-btn.coming .prov-check{display:none}
.provider-btn.coming{opacity:.4;cursor:not-allowed;pointer-events:none}
.provider-badge{position:absolute;top:-6px;right:-4px;background:var(--accent2);color:#fff;font-size:.48rem;font-weight:800;padding:2px 6px;border-radius:6px;letter-spacing:.05em;line-height:1.4;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:12px 20px;border-radius:10px;border:none;cursor:pointer;font-family:"Sora",sans-serif;font-size:.9rem;font-weight:600;transition:all .15s;white-space:nowrap;flex-shrink:0;}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#000;width:100%;font-size:.98rem;padding:14px;box-shadow:0 4px 18px rgba(0,212,245,.2);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,212,245,.32)}
.btn-primary:active{transform:translateY(0);box-shadow:0 2px 10px rgba(0,212,245,.18)}
.btn-primary:disabled{opacity:.65;cursor:not-allowed;transform:none}
.btn-sm{padding:7px 13px;font-size:.78rem;border-radius:8px}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-copy{background:rgba(0,212,245,.1);border:1px solid rgba(0,212,245,.2);color:var(--accent)}.btn-copy:hover{background:rgba(0,212,245,.2)}
.btn-copy.copied{background:rgba(0,230,118,.1);border-color:rgba(0,230,118,.3);color:var(--green)}
.btn-purple{background:rgba(124,92,255,.18);border:1px solid rgba(124,92,255,.35);color:var(--accent2)}.btn-purple:hover{background:rgba(124,92,255,.28)}
.btn-restore{background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.25);color:var(--green)}.btn-restore:hover{background:rgba(0,230,118,.2)}

/* ── HEADER ── */
.header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);background:rgba(13,18,26,.8);backdrop-filter:blur(16px);position:sticky;top:0;z-index:200;gap:10px;}
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0}
.logo-icon{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:1rem}
.logo-text{font-family:"Space Mono",monospace;font-weight:700;font-size:1rem;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;letter-spacing:.02em}
.header-right{display:flex;align-items:center;gap:7px}
.theme-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:all .2s;flex-shrink:0}
.theme-btn:hover{border-color:var(--accent)}
.profile-wrap{position:relative}
.profile-btn{display:flex;align-items:center;gap:7px;padding:5px 10px;border-radius:20px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.8rem;color:var(--text);font-family:"Sora",sans-serif;transition:all .2s}
.profile-btn:hover{border-color:var(--accent)}
.profile-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#000;font-weight:700;flex-shrink:0}
.profile-name{font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--border);border-radius:14px;min-width:168px;box-shadow:0 16px 48px rgba(0,0,0,.4);overflow:hidden;display:none;z-index:300}
.dropdown.open{display:block}
.dropdown-item{padding:11px 15px;font-size:.83rem;cursor:pointer;display:flex;align-items:center;gap:9px;color:var(--text);transition:background .15s}
.dropdown-item:hover{background:rgba(0,212,245,.06)}
.dropdown-item.danger{color:var(--red)}.dropdown-item.danger:hover{background:rgba(255,23,68,.07)}
.dropdown-divider{height:1px;background:var(--border)}
.provider-chip{font-size:.65rem;background:rgba(0,212,245,.12);color:var(--accent);border:1px solid rgba(0,212,245,.2);padding:1px 7px;border-radius:8px;font-weight:700;font-family:"Space Mono",monospace;margin-left:auto}

/* ── SMS MINI PILL (in header, numbers view) ── */
  .login-card{padding:26px 20px 22px;border-radius:18px}
  .provider-grid{grid-template-columns:1fr 1fr;gap:8px}
  .provider-btn{padding:10px 10px;font-size:.78rem;gap:7px}
  .strip-bar{gap:6px;padding:10px 12px}
  .actions-bar{padding:9px 12px}
  .alloc-modal{border-radius:14px}
/* ── PASSWORD TOGGLE + CAPS HINT (added in fix) ── */
.pwd-wrap{position:relative}
.pwd-wrap input{padding-right:42px}
.pwd-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;background:transparent;border:0;color:var(--muted);font-size:1rem;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.pwd-toggle:hover{background:rgba(0,212,245,.08);color:var(--accent)}
.caps-hint{display:none;margin-top:6px;font-size:.7rem;color:#ffb020;letter-spacing:.04em}
.caps-hint.show{display:block}
.login-foot{margin-top:14px;font-size:.7rem;color:var(--muted);text-align:center;letter-spacing:.03em}
