/* ── AUTH OVERLAY ── */
.overlay {
  position:fixed;
  inset:0;
  background:rgba(5,8,18,.85);
  backdrop-filter:blur(6px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10000;
}

.overlay.hidden { display:none; }

.auth-card {
  width:min(400px,93vw);
  background:var(--surface);
  border:1px solid var(--border2);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:0 20px 60px rgba(0,0,0,.6);
}

.auth-logo {
  width:42px; height:42px;
  background:linear-gradient(135deg,#3b82f6,#6366f1);
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-size:20px;
  margin-bottom:18px;
  box-shadow:0 0 24px rgba(99,102,241,.35);
}

.auth-title { font-size:22px; font-weight:800; letter-spacing:-.3px; margin-bottom:5px; }
.auth-sub   { font-size:13px; color:var(--text2); margin-bottom:20px; }
.auth-err   { color:var(--red); font-size:12.5px; margin-top:8px; min-height:16px; }

.auth-link-row { display:flex; justify-content:flex-end; margin-top:10px; }
.auth-link {
  border:none;
  background:transparent;
  color:var(--blue);
  font-size:12px;
  cursor:pointer;
  text-decoration:underline;
  padding:0;
}
.auth-link:hover { color:#93c5fd; }

.auth-recovery {
  display:none;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--border);
}

.auth-recovery-note {
  color:var(--text3);
  font-size:12px;
  line-height:1.55;
}

/* ── EDIT USER MODAL ── */
.modal-overlay {
  position:fixed;
  inset:0;
  background:rgba(5,8,18,.75);
  backdrop-filter:blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9200;
}

.modal-overlay.hidden { display:none; }

.modal-card {
  width:min(440px,93vw);
  background:var(--surface);
  border:1px solid var(--border2);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 16px 50px rgba(0,0,0,.5);
}

.modal-title { font-size:18px; font-weight:700; margin-bottom:4px; }
.modal-sub   { font-size:13px; color:var(--text2); margin-bottom:18px; }
.modal-actions { display:flex; gap:9px; justify-content:flex-end; margin-top:6px; }
.modal-err { color:var(--red); font-size:12.5px; margin-top:8px; min-height:16px; }

/* -- ORDER EDIT MODAL -- */
.order-modal-card {
  width:min(760px,95vw);
  max-height:88vh;
  overflow:auto;
}

.order-modal-meta {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px;
  margin-bottom:14px;
}

.order-modal-kv {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:var(--radius-xs);
  padding:9px 10px;
}

.order-modal-k {
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  color:var(--text3);
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:4px;
}

.order-modal-v {
  font-size:13.5px;
  font-weight:500;
}

.appointment-modal-card {
  width:min(760px,95vw);
  max-height:88vh;
  overflow:auto;
}

.appointment-modal-link {
  display:inline-block;
  margin-top:6px;
  font-size:12px;
  color:#93c5fd;
  text-decoration:underline;
  word-break:break-all;
}

.order-recording-box {
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:12px;
}

.order-dynamic-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}

.order-dynamic-item {
  display:flex;
  flex-direction:column;
  gap:5px;
}

.order-dynamic-item .form-label {
  margin:0;
  font-size:11px;
}

.items-cell {
  display:flex;
  align-items:center;
  justify-content:center;
}

.items-eye-btn {
  width:30px;
  height:30px;
  padding:0;
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(88,166,255,.18), rgba(88,166,255,.08));
  color:#fff;
  cursor:pointer;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(15,23,42,.28);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.items-eye-btn:hover {
  transform:translateY(-1px);
  background:linear-gradient(135deg, rgba(88,166,255,.26), rgba(88,166,255,.14));
  box-shadow:0 14px 30px rgba(37,99,235,.24);
}

.items-eye-btn svg {
  width:15px;
  height:15px;
  stroke:currentColor;
}

.items-modal-card {
  width:min(640px,94vw);
  max-height:86vh;
  overflow:auto;
  padding:28px;
  background:
    radial-gradient(circle at top right, rgba(88,166,255,.12), transparent 34%),
    linear-gradient(180deg, rgba(33,38,45,.96), rgba(22,27,34,.98));
}

.items-modal-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.items-modal-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(88,166,255,.12);
  border:1px solid rgba(88,166,255,.22);
  color:#dbeafe;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.4px;
  text-transform:uppercase;
}

.items-list {
  display:grid;
  gap:12px;
}

.items-list-empty {
  padding:18px;
  border:1px dashed var(--border2);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.02);
  color:var(--text2);
  font-size:13.5px;
}

.items-row {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:15px 16px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}

.items-row-main {
  min-width:0;
}

.items-row-name {
  font-size:15px;
  font-weight:700;
  color:#fff;
  line-height:1.35;
}

.items-row-sub {
  margin-top:6px;
  color:var(--text2);
  font-size:12.5px;
  line-height:1.5;
}

.items-row-qty {
  min-width:72px;
  padding:8px 10px;
  border-radius:12px;
  text-align:center;
  background:rgba(88,166,255,.12);
  border:1px solid rgba(88,166,255,.22);
  color:#fff;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.5px;
  text-transform:uppercase;
}

.transcript-modal-card {
  width:min(860px,96vw);
  max-height:88vh;
  overflow:auto;
}

.transcript-box {
  background:var(--bg);
  border:1px solid var(--border2);
  border-radius:var(--radius-sm);
  padding:12px;
  max-height:52vh;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.transcript-line {
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px 12px;
  background:var(--surface2);
}

.transcript-line.user {
  border-color:rgba(59,130,246,.28);
  background:rgba(59,130,246,.09);
}

.transcript-line.assistant {
  border-color:rgba(34,197,94,.2);
  background:rgba(34,197,94,.08);
}

.transcript-line.system {
  border-color:rgba(100,116,139,.25);
  background:rgba(100,116,139,.08);
}

.transcript-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:5px;
  gap:10px;
}

.transcript-speaker {
  font-family:'JetBrains Mono',monospace;
  font-size:10px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--text3);
}

.transcript-time {
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--text3);
}

.transcript-text {
  font-size:13.5px;
  line-height:1.55;
  color:#dbe4f0;
  white-space:pre-wrap;
  word-break:break-word;
}

.status-btn {
  background:transparent;
  border:none;
  padding:0;
  cursor:pointer;
}

.status-btn .badge { pointer-events:none; }
.status-btn:hover .badge { filter:brightness(1.08); }
.status-btn:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:3px;
  border-radius:18px;
}

.status-confirm-card { width:min(460px,92vw); }

.create-agent-modal-card {
  width:min(980px,96vw);
  max-height:90vh;
  overflow:auto;
}

.create-agent-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.create-agent-template-grid {
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:10px;
}

.create-agent-template-card {
  border:1px solid var(--border2);
  background:linear-gradient(180deg, rgba(148,163,184,.07), rgba(148,163,184,.03));
  border-radius:var(--radius-sm);
  padding:13px;
  display:flex;
  flex-direction:column;
  gap:9px;
}

.create-agent-template-card.featured {
  border-color:rgba(16,185,129,.45);
  background:linear-gradient(180deg, rgba(16,185,129,.18), rgba(16,185,129,.05));
}

.create-agent-template-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-weight:700;
  font-size:13.5px;
  line-height:1.35;
}

.create-agent-template-desc {
  font-size:12px;
  color:var(--text2);
  line-height:1.5;
  min-height:54px;
}

.create-agent-template-actions {
  margin-top:auto;
  display:flex;
  justify-content:flex-end;
}

/* ── LANG SWITCH ── */
#lang-switch {
  background:var(--surface2);
  border:1px solid var(--border2);
  border-radius:var(--radius-xs);
  display:flex;
  overflow:hidden;
  flex-shrink: 0;
}

.lang-opt {
  padding:6px 12px;
  background:transparent;
  border:none;
  color:var(--text3);
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  cursor:pointer;
  transition:all .14s;
}

.lang-opt:hover { background:var(--surface3); color:var(--text); }
.lang-opt.on { background:var(--blue-dim); color:#93c5fd; }
.lang-divider { width:1px; background:var(--border); }

/* ── ADMIN USERS LIST ── */
.admin-user-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 14px;
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  margin-bottom:8px;
  gap:10px;
}

.admin-user-info { display:flex; flex-direction:column; gap:2px; }
.admin-user-email { font-size:13.5px; font-weight:500; }
.admin-user-status { font-size:11px; color:var(--text3); }

.admin-user-btns { display:flex; gap:7px; flex-wrap:wrap; }

.tw-purchased-row-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
}

.tw-purchased-connect-inline {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}

.tw-purchased-select {
  min-width:145px;
  max-width:165px;
  height:30px;
  padding:4px 8px;
  border-radius:4px;
  font-size:12px;
}

.tw-purchased-current {
  white-space:nowrap;
}

/* ── PROFILE / RECOVERY ── */
.recovery-key-list {
  display:flex;
  flex-direction:column;
  gap:8px;
}

.recovery-key {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:var(--surface2);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:10px 12px;
}

.recovery-key-code {
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:.2px;
}

.recovery-key-status {
  font-size:11px;
  font-family:'JetBrains Mono',monospace;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.recovery-key.used {
  border-color:rgba(239,68,68,.35);
  background:rgba(239,68,68,.08);
}

.recovery-key.used .recovery-key-code {
  color:var(--red);
  text-decoration:line-through;
}

.recovery-key.used .recovery-key-status {
  color:var(--red);
}

