/* ============================================================
   SaaS chrome — account menu, language, upgrade modal, auth
   Layers on top of app.css (reuses its design tokens).
   ============================================================ */

/* Language selector */
.lang-select{display:flex;align-items:center;gap:6px;color:var(--text-muted);}
.lang-select select{
  background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);
  color:var(--text);padding:6px 8px;font-size:.85rem;cursor:pointer;
}
.lang-select i{font-size:.9rem;}

/* Plan badge */
.plan-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;
  padding:6px 12px;border-radius:999px;
}
.plan-badge--pro{
  background:linear-gradient(135deg,var(--violet),var(--blue));color:#fff;
  box-shadow:0 6px 18px -6px var(--violet);
}

/* Buttons small variant already exists in app.css (.btn--sm) */

/* Account menu */
.account-menu{position:relative;}
.account-dropdown{
  position:absolute;right:0;top:calc(100% + 10px);min-width:220px;z-index:100;
  background:var(--glass-strong);backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--border-strong);border-radius:var(--radius-md);
  box-shadow:var(--shadow);padding:8px;
}
.account-dropdown .account-email{
  font-size:.8rem;color:var(--text-muted);padding:8px 12px;
  border-bottom:1px solid var(--border);margin-bottom:6px;word-break:break-all;
}
.account-dropdown a{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);
  color:var(--text);text-decoration:none;font-size:.9rem;
}
.account-dropdown a:hover{background:var(--track);}
.account-dropdown a i{width:18px;color:var(--text-muted);}

/* Upgrade modal */
.upgrade-modal{max-width:520px;}
.upgrade-intro{color:var(--text-muted);font-size:.92rem;margin:0 0 18px;}
.upgrade-choice{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.upgrade-option{
  display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 18px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  color:var(--text);transition:transform .2s var(--ease),border-color .2s var(--ease);
}
.upgrade-option:hover{transform:translateY(-3px);border-color:var(--blue);}
.upgrade-option i{font-size:1.8rem;color:var(--blue);}
.upgrade-option span{font-weight:600;font-size:.95rem;text-align:center;}

.upgrade-key-form{display:flex;flex-direction:column;gap:14px;}
.upgrade-key-form label{font-weight:600;font-size:.9rem;}
.key-input{
  width:100%;padding:14px 16px;font-size:1.1rem;letter-spacing:2px;text-transform:uppercase;
  background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);
  color:var(--text);text-align:center;
}
.key-input:focus{outline:none;border-color:var(--blue);}
.key-error{
  color:var(--danger);font-size:.85rem;padding:8px 12px;
  background:rgba(239,68,68,.08);border-radius:var(--radius-sm);
}

/* ============================================================
   AUTH PAGES (login / register / request)
   ============================================================ */
.auth-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
}
.auth-card{
  width:100%;max-width:420px;background:var(--glass-strong);
  backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--border-strong);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);padding:36px 32px;
}
.auth-card .brand{justify-content:center;font-size:1.3rem;margin-bottom:6px;}
.auth-card h1{font-size:1.5rem;text-align:center;margin-bottom:6px;}
.auth-sub{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:26px;}
.auth-field{margin-bottom:16px;}
.auth-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:7px;color:var(--text-muted);}
.auth-field input{
  width:100%;padding:12px 14px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;
}
.auth-field input:focus{outline:none;border-color:var(--blue);}
.auth-card .btn--primary{width:100%;justify-content:center;margin-top:8px;}
.auth-alt{text-align:center;margin-top:20px;font-size:.88rem;color:var(--text-muted);}
.auth-alt a{color:var(--blue);text-decoration:none;font-weight:600;}
.auth-error{
  background:rgba(239,68,68,.1);color:var(--danger);border:1px solid rgba(239,68,68,.2);
  border-radius:var(--radius-sm);padding:11px 14px;font-size:.88rem;margin-bottom:18px;
}
.auth-success{
  background:rgba(34,197,94,.1);color:var(--success);border:1px solid rgba(34,197,94,.2);
  border-radius:var(--radius-sm);padding:11px 14px;font-size:.88rem;margin-bottom:18px;
}
.auth-lang{display:flex;justify-content:center;margin-top:20px;}

/* PRO-locked UI affordance */
.pro-locked{position:relative;opacity:.55;}
.pro-locked::after{
  content:"\f521";font-family:"Font Awesome 6 Free";font-weight:900;
  margin-left:6px;color:var(--violet);
}

@media(max-width:520px){
  .upgrade-choice{grid-template-columns:1fr;}
  .clock{display:none !important;}
}
