/* ==========================================================================
   MAKAN Translate Design Foundation — Theme Tokens & Base Component Restyling
   ========================================================================== */

@font-face {
  font-family: 'Vazirmatn';
  src: url('../fonts/Vazirmatn.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root,
[data-theme="dark"],
[data-theme="makan-lab"] {
  /* 30 Semantic Epsilon Theme Tokens (Default: Makan Lab) */
  --bg: #040914;
  --panel: #071022;
  --panel2: #050b18;
  --surface: #0a1528;
  --border: rgba(255, 255, 255, 0.08);
  --text: #F1F5F9;
  --muted: #8496B0;
  --faint: #506482;
  --topbar-text: #F1F5F9;
  --accent: #08A8FF;
  --accent-dark: #1366E2;
  --on-accent: #040914;
  --hover: #0d1e3a;
  --selected: #102448;
  --success: #10B981;
  --danger: #EF4444;
  --warning: #F59E0B;
  --success-bg: rgba(16, 185, 129, 0.15);
  --header-bg: #071022;
  --track: #0e1e38;
  --input: #0a1528;
  --input-border: rgba(28, 64, 118, 0.45);
  --popup: #0a1528;
  --icon-grey: #8496B0;
  --icon-purple: #A78BFA;
  --icon-teal: #08E7E5;
  --icon-amber: #F59E0B;
  --scroll-thumb: rgba(28, 64, 118, 0.45);
  --scroll-thumb-hover: #08A8FF;
  --disabled: #506482;
  --top-bar-text: var(--topbar-text);
  --phone-nav-active: #08A8FF;
  --phone-nav-bg: #071022;

  /* Surface & Background Navy Palette (Legacy Aliases) */
  --bg-navy: var(--bg);
  --bg2: var(--panel);
  --bg-sidebar: var(--panel2);
  --surface2: var(--track);
  --surface-card: var(--surface);
  --surface-card-hover: var(--hover);
  --surface-active: var(--selected);
  --glass: rgba(5, 11, 24, 0.78);

  /* Borders (Legacy Aliases) */
  --border2: var(--input-border);
  --border-subtle: rgba(255, 255, 255, 0.05);
  --border-focus: var(--accent);
  --border-glow: rgba(8, 168, 255, 0.4);

  /* Brand Mint-to-Blue Gradients (from MAKAN winged M logo) */
  --mint: #79F8C8;
  --cyan: var(--icon-teal);
  --electric-blue: var(--accent);
  --royal-blue: #2869F5;
  --grad: linear-gradient(135deg, #79F8C8 0%, #08E7E5 46%, #08A8FF 72%, #2869F5 100%);
  --grad-mint-blue: linear-gradient(135deg, #79F8C8 0%, #08E7E5 46%, #08A8FF 72%, #2869F5 100%);
  --grad-blue: linear-gradient(135deg, var(--accent-dark) 0%, #2563EB 100%);
  --grad-surface: linear-gradient(180deg, rgba(14, 30, 56, 0.5) 0%, rgba(9, 20, 40, 0.8) 100%);

  /* Accent & Action Colors (Legacy Aliases) */
  --pri: var(--accent-dark);
  --pri-hover: #1D75F8;
  --pri-active: #0F52B8;
  --accent-dim: rgba(8, 168, 255, 0.12);
  --accent-line: rgba(8, 168, 255, 0.32);
  --cta: var(--accent-dark);
  --cta-ink: #FFFFFF;

  /* Status Colors (Legacy Aliases) */
  --ok: var(--success);
  --ok-dim: var(--success-bg);
  --green: var(--success);
  --warn: var(--warning);
  --warn-dim: rgba(245, 158, 11, 0.15);
  --err: var(--danger);
  --err-dim: rgba(239, 68, 68, 0.15);

  /* Typography Colors (Legacy Aliases) */
  --text-bright: var(--text);

  /* Typography Families */
  --display: 'Segoe UI Variable Display', 'Segoe UI Variable', 'Vazirmatn', -apple-system, system-ui, sans-serif;
  --body: 'Segoe UI Variable Text', 'Segoe UI Variable', 'Vazirmatn', -apple-system, 'Segoe UI', system-ui, sans-serif;
  --mono: 'Cascadia Code', 'JetBrains Mono', 'Consolas', monospace;

  /* Radii */
  --r-xs: 6px;
  --r-s: 10px;
  --r-m: 14px;
  --r-l: 16px;
  --r-xl: 20px;
  --r-full: 9999px;
  --ease: cubic-bezier(.22, .61, .36, 1);

  /* Shadows and Glows */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.6);
  --glow-blue: 0 0 20px rgba(19, 102, 226, 0.35);
  --glow-accent: 0 0 16px rgba(8, 168, 255, 0.25);
  --glow-green: 0 0 12px rgba(16, 185, 129, 0.4);
}

/* Light Theme Support */
[data-theme="light"] {
  --bg: #F8FAFC;
  --bg-navy: #F1F5F9;
  --bg2: #E2E8F0;
  --bg-sidebar: #FFFFFF;
  --surface: #FFFFFF;
  --surface2: #F1F5F9;
  --surface-card: #FFFFFF;
  --surface-card-hover: #EAEFF6;
  --surface-active: #E2E8F0;
  --glass: rgba(255, 255, 255, 0.85);

  --border: rgba(0, 0, 0, 0.1);
  --border2: rgba(0, 0, 0, 0.15);
  --border-subtle: rgba(0, 0, 0, 0.06);
  --border-focus: #1366E2;
  --border-glow: rgba(19, 102, 226, 0.25);

  --text: #0F172A;
  --text-bright: #020617;
  --muted: #475569;
  --faint: #94A3B8;

  --pri: #1366E2;
  --pri-hover: #1D75F8;
  --pri-active: #0F52B8;
  --accent: #0284C7;
  --accent-dim: rgba(2, 132, 199, 0.1);
  --accent-line: rgba(2, 132, 199, 0.25);
  --cta: #1366E2;
  --cta-ink: #FFFFFF;

  /* 30 Semantic Epsilon Tokens in Light Mode */
  --panel: var(--bg2);
  --panel2: var(--bg-sidebar);
  --topbar-text: var(--text);
  --top-bar-text: var(--text);
  --accent-dark: var(--pri);
  --on-accent: #FFFFFF;
  --hover: var(--surface-card-hover);
  --selected: var(--surface-active);
  --header-bg: var(--bg2);
  --track: var(--surface2);
  --input: var(--surface);
  --input-border: var(--border2);
  --popup: var(--surface);
  --icon-grey: var(--muted);
  --icon-purple: #7047B8;
  --icon-teal: var(--accent);
  --icon-amber: #9A5700;
  --scroll-thumb: var(--border2);
  --scroll-thumb-hover: var(--accent);
  --disabled: var(--faint);
  --success: #197347;
  --danger: #B4233E;
  --warning: #9A5700;
  --success-bg: #E1F3EA;

  --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 12px 30px rgba(0, 0, 0, 0.12);
}

/* RTL Typography Priority */
[dir="rtl"],
[lang="fa"] {
  --display: 'Vazirmatn', 'Segoe UI Variable Display', system-ui, sans-serif;
  --body: 'Vazirmatn', 'Segoe UI Variable Text', system-ui, sans-serif;
}

/* ==========================================================================
   Restyled Core UI Elements (Buttons, Inputs, Selects, Cards, Pills, Tags)
   ========================================================================== */

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding-block: 0;
  padding-inline: 14px;
  border-radius: var(--r-s);
  border: 1px solid var(--border2);
  background: var(--surface2);
  color: var(--text);
  cursor: pointer;
  font-family: var(--body);
  font-weight: 600;
  font-size: 13.5px;
  transition: all 0.18s var(--ease);
  white-space: nowrap;
  user-select: none;
}
.btn:hover {
  border-color: var(--accent-line);
  background: var(--surface-card-hover);
  color: var(--text-bright);
}
.btn:active {
  transform: translateY(1px);
}
.btn[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}
.btn.cta {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--on-accent);
  box-shadow: 0 2px 10px color-mix(in srgb, var(--accent) 35%, transparent);
}
.btn.cta:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--on-accent);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--accent) 50%, transparent);
}

.btn.cta kbd,
.btn.primary kbd,
.btn.accent kbd {
  background: color-mix(in srgb, var(--accent-dark) 45%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent-dark) 70%, transparent);
  color: var(--on-accent);
}

[data-theme="royal-amethyst"] .btn.cta kbd,
[data-theme="royal-amethyst"] .btn.primary kbd,
[data-theme="royal-amethyst"] .btn.accent kbd {
  background: color-mix(in srgb, var(--accent-dark) 20%, transparent);
  border: 1px solid color-mix(in srgb, var(--accent-dark) 40%, transparent);
  color: var(--on-accent);
}

/* makanlab */
[data-theme="makan-lab"] .btn.cta {
  background: var(--grad-blue);
  border-color: var(--pri);
  color: #FFFFFF; /* makanlab */
  box-shadow: 0 2px 10px rgba(19, 102, 226, 0.35); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .btn.cta:hover {
  background: var(--pri-hover);
  border-color: var(--pri-hover);
  box-shadow: 0 4px 14px rgba(19, 102, 226, 0.5); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .btn.cta kbd,
/* makanlab */
[data-theme="makan-lab"] .btn.primary kbd,
[data-theme="makan-lab"] .btn.accent kbd {
  background: rgba(255, 255, 255, 0.18); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.35); /* makanlab */
  color: #FFFFFF; /* makanlab */
}
.btn.ghost {
  background: transparent;
  border-color: transparent;
  color: var(--muted);
  padding-inline: 10px;
  min-height: 32px;
  font-weight: 500;
}
#offBtn {
  color: var(--text);
}
[data-theme="makan-lab"] #offBtn {
  color: var(--muted);
}
.btn.ghost:hover {
  color: var(--text-bright);
  background: var(--accent-dim);
}

/* Inputs & Form Controls */
select,
input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"] {
  color: var(--text);
  color-scheme: inherit;
  height: 38px;
  padding-block: 0;
  padding-inline: 12px;
  border-radius: var(--r-s);
  border: 1px solid var(--input-border);
  background: var(--input);
  font-family: var(--body);
  font-size: 14px;
  min-width: 0;
  transition: border-color 0.18s var(--ease), box-shadow 0.18s var(--ease);
}
select:hover,
input:hover {
  border-color: var(--accent-line);
}
select:focus,
input:focus,
textarea:focus {
  outline: none;
  border-color: var(--border-focus);
  box-shadow: 0 0 0 3px var(--accent-dim);
}

/* Cards & Surfaces */
.card,
.sub-card,
.doc-card,
.v-card {
  background: var(--surface-card);
  border: 1px solid var(--border);
  border-radius: var(--r-m);
  box-shadow: var(--shadow-md);
  transition: border-color 0.18s var(--ease);
}

/* Badges, Pills & Status Tags */
.badge,
.pill-fast,
.pill-tm,
.tier,
.eng-status,
.doc-badge,
.v-eng-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-block: 2px;
  padding-inline: 9px;
  border-radius: var(--r-full);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
}
.tier {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid var(--border2);
  color: var(--muted);
}
.tier.free {
  color: var(--ok);
  border-color: rgba(16, 185, 129, 0.35);
  background: var(--ok-dim);
}
.tier.freekey {
  color: var(--cyan);
  border-color: rgba(8, 231, 229, 0.35);
  background: rgba(8, 231, 229, 0.08);
}
.tier.paid {
  color: var(--warn);
  border-color: rgba(245, 158, 11, 0.35);
  background: var(--warn-dim);
}

/* Translation Panes */
.panes {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-m);
  box-shadow: var(--shadow-sm);
}
.seam {
  background: var(--grad);
  opacity: 0.45;
}

/* Modal and Overlays */
.modal {
  background: var(--bg2);
  border: 1px solid var(--border2);
  border-radius: var(--r-l);
  box-shadow: var(--shadow-lg);
}

/* ==========================================================================
   ITEM 3: Responsive Sidebar Shell, Topbar, Status Pill, and Storage Card
   ========================================================================== */

.app-shell {
  display: flex;
  min-height: 100vh;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--bg);
}

/* Sidebar */
.sidebar {
  width: 250px;
  min-width: 250px;
  max-width: 250px;
  flex-shrink: 0;
  background: var(--surface);
  border-inline-end: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  padding-block: 20px 16px;
  padding-inline: 16px;
  position: sticky;
  top: 0;
  height: 100vh;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 40;
}
.sidebar::-webkit-scrollbar {
  width: 4px;
}
.sidebar::-webkit-scrollbar-thumb {
  background: var(--scroll-thumb);
  border-radius: 4px;
}
.sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--scroll-thumb-hover);
}

/* Sidebar Brand Header */
.sidebar-header {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--text);
}
.sidebar-brand:hover {
  text-decoration: none;
}
.sidebar-brand .brand-logo {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 8px rgba(8, 168, 255, 0.3));
}
.sidebar-brand .brand-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.sidebar-brand .brand-name {
  font-family: var(--display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.04em;
  color: #FFFFFF;
}
.sidebar-brand .brand-tag {
  font-family: var(--body);
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.02em;
}

/* Status Pill */
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  padding-block: 5px;
  padding-inline: 10px;
  font-family: var(--body);
  font-size: 12px;
  color: var(--text);
  cursor: default;
  user-select: none;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.status-pill:hover {
  color: var(--text);
}
.status-pill.ready {
  border-color: var(--success);
  background: var(--success-bg);
  color: var(--text);
}
.status-pill.ready:hover {
  color: var(--text);
}
.status-pill .status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 6px rgba(8, 168, 255, 0.6);
  flex-shrink: 0;
  transition: background 0.2s, box-shadow 0.2s;
}
.status-pill.ready .status-dot,
.status-dot.ready {
  background: var(--ok);
  box-shadow: 0 0 8px rgba(34, 229, 138, 0.8);
}
.status-pill .status-text {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}
.status-pill .status-shield {
  color: currentColor;
  flex-shrink: 0;
}
.status-pill.ready .status-shield {
  color: var(--ok);
}

[data-theme="makan-lab"] .status-pill,
[data-theme="makan-lab"] .status-pill:hover {
  color: var(--muted);
}
[data-theme="makan-lab"] .status-pill .status-shield {
  color: var(--muted);
}
[data-theme="makan-lab"] .status-pill.ready,
[data-theme="makan-lab"] .status-pill.ready:hover {
  color: var(--text);
}
[data-theme="makan-lab"] .status-pill.ready .status-shield {
  color: var(--ok);
}

/* Sidebar Nav Tabs */
.sidebar-nav.tabs {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.sidebar-sec {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sidebar-sec-h {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--faint);
  padding-inline: 10px;
  padding-block: 4px;
  text-transform: uppercase;
  user-select: none;
}
.sidebar-nav button {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 40px;
  padding-block: 8px;
  padding-inline: 12px;
  border-radius: var(--r-s);
  background: transparent;
  border: 1px solid transparent;
  color: var(--muted);
  font-family: var(--body);
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
  text-align: start;
  cursor: pointer;
  transition: all 0.16s var(--ease);
  position: relative;
}

.sidebar-nav button:hover {
  background: var(--surface2);
  color: var(--text-bright);
  border-color: var(--border);
}
.sidebar-nav button.on {
  background: var(--selected);
  border-color: var(--accent);
  color: var(--text);
  font-weight: 600;
  box-shadow: 0 0 14px rgba(19, 102, 226, 0.25);
}
[data-theme="makan-lab"] .sidebar-nav button.on {
  background: rgba(19, 102, 226, 0.18);
  border-color: rgba(8, 168, 255, 0.45);
  color: #FFFFFF;
}
.sidebar-nav button.on::after {
  display: none !important;
}
.sidebar-action-btn {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 40px;
  padding-block: 8px;
  padding-inline: 12px;
  border-radius: var(--r-s);
  background: transparent;
  border: 1px solid transparent;
  color: var(--muted);
  font-family: var(--body);
  font-size: 13.5px;
  font-weight: 500;
  text-align: start;
  cursor: pointer;
  transition: all 0.16s var(--ease);
}
.sidebar-action-btn:hover {
  background: var(--surface2);
  color: var(--text-bright);
  border-color: var(--border);
}

/* Sidebar Icons via CSS pseudo-elements (does not pollute button textContent) */
.sidebar-nav button::before,
.sidebar-action-btn::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-inline-end: 10px;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  opacity: 0.85;
}
.sidebar-nav button.on::before {
  background-color: var(--accent);
  opacity: 1;
}
.sidebar-nav button[data-tab="text"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="sub"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='3'/%3E%3Cpath d='M7 15h3'/%3E%3Cpath d='M14 15h3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='3'/%3E%3Cpath d='M7 15h3'/%3E%3Cpath d='M14 15h3'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="doc"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cline x1='16' y1='13' x2='8' y2='13'/%3E%3Cline x1='16' y1='17' x2='8' y2='17'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="voice"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cline x1='12' y1='19' x2='12' y2='22'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2'/%3E%3Cline x1='12' y1='19' x2='12' y2='22'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="screen"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cline x1='8' y1='21' x2='16' y2='21'/%3E%3Cline x1='12' y1='17' x2='12' y2='21'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="media"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='23 7 16 12 23 17 23 7'/%3E%3Crect x='1' y='5' width='15' height='14' rx='2' ry='2'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='23 7 16 12 23 17 23 7'/%3E%3Crect x='1' y='5' width='15' height='14' rx='2' ry='2'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="dict"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="idiom"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="cmp"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="gls"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="hist"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="games"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='6' x2='10' y1='12' y2='12'/%3E%3Cline x1='8' x2='8' y1='10' y2='14'/%3E%3Cline x1='15' x2='15.01' y1='13' y2='13'/%3E%3Cline x1='18' x2='18.01' y1='11' y2='11'/%3E%3Crect width='20' height='12' x='2' y='6' rx='6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cline x1='6' x2='10' y1='12' y2='12'/%3E%3Cline x1='8' x2='8' y1='10' y2='14'/%3E%3Cline x1='15' x2='15.01' y1='13' y2='13'/%3E%3Cline x1='18' x2='18.01' y1='11' y2='11'/%3E%3Crect width='20' height='12' x='2' y='6' rx='6'/%3E%3C/svg%3E");
}
.sidebar-nav button[data-tab="models"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m21 16-9 5-9-5V8l9-5 9 5v8Z'/%3E%3Cpath d='m3.27 6.96 8.73 4.88 8.73-4.88'/%3E%3Cpath d='M12 22.08V12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m21 16-9 5-9-5V8l9-5 9 5v8Z'/%3E%3Cpath d='m3.27 6.96 8.73 4.88 8.73-4.88'/%3E%3Cpath d='M12 22.08V12'/%3E%3C/svg%3E");
}
.sidebar-action-btn::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E");
}

/* Storage Card */
.sidebar-footer {
  margin-top: auto;
  padding-top: 16px;
}
.sidebar-storage-card {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--r-m);
  padding: 10px 12px;
  user-select: none;
}
.storage-card-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.storage-icon-disc {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(8, 168, 255, 0.12);
  border: 1px solid rgba(8, 168, 255, 0.25);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.storage-meta {
  flex: 1;
  min-width: 0;
}
.storage-title {
  font-family: var(--body);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}
.storage-bar-track {
  height: 4px;
  border-radius: 999px;
  background: var(--surface);
  overflow: hidden;
  margin-bottom: 4px;
}
.storage-bar-fill {
  height: 100%;
  background: var(--grad);
  border-radius: 999px;
  transition: width 0.3s ease;
}
.storage-usage-num {
  font-family: var(--mono);
  font-size: 10.5px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Main Viewport and Topbar */
.main-viewport {
  flex: 1 1 0%;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
  padding-block: 14px;
  padding-inline: 24px;
  border-bottom: 1px solid var(--border);
  background: var(--header-bg);
  backdrop-filter: blur(14px);
  position: sticky;
  top: 0;
  z-index: 30;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}
.topbar-lead {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}
.topbar-title {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.2;
  word-break: break-word;
  overflow-wrap: break-word;
  color: var(--text);
}
.topbar-title em {
  font-style: normal;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.topbar-eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cyan);
  margin: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.topbar-search-slot {
  flex: 1 1 auto;
  max-width: 320px;
}
.topbar-search-box {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.topbar-search-icon {
  position: absolute;
  inset-inline-start: 12px;
  color: var(--muted);
  pointer-events: none;
}
input[type="search"].topbar-search-input,
.topbar-search-box .topbar-search-input,
.topbar-search-input {
  width: 100%;
  height: 38px;
  padding-inline-start: 38px;
  padding-inline-end: 64px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  color: var(--text);
  font-size: 13px;
  cursor: not-allowed;
}
.topbar-search-input::placeholder {
  color: var(--muted);
}
.topbar-kbd {
  position: absolute;
  inset-inline-end: 10px;
  font-family: var(--mono);
  font-size: 10px;
  color: var(--muted);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 2px 6px;
  pointer-events: none;
}
.topbar-ctrls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  max-width: 100%;
}
#btnScreenTrans {
  background: linear-gradient(135deg, color-mix(in srgb, var(--success) 15%, var(--header-bg)), color-mix(in srgb, var(--accent) 15%, var(--header-bg)));
  border-color: var(--accent-line);
  color: var(--text);
}
.main-panels-wrap {
  padding-block: 20px 40px;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

/* Responsive Collapse:
   1) 761px - 1100px: Icon-only sidebar (72px) taking its own column space in normal flow
   2) <= 760px: Horizontal icon strip at the top of the page in normal flow, full width; main sits below with no overlap
   3) <= 480px / 360px: Compact controls and wrapping so no element exceeds viewport
*/

#sidebarToggleBtn {
  display: none !important;
}
.sidebar-backdrop {
  display: none !important;
}

/* Icon-only sidebar (761px to 1100px) */
@media (max-width: 1100px) and (min-width: 761px) {
  .sidebar {
    width: 72px;
    min-width: 72px;
    max-width: 72px;
    flex-shrink: 0;
    padding-inline: 8px;
  }
  .sidebar-brand .brand-meta,
  .status-pill .status-text,
  .status-pill .status-shield,
  .sidebar-sec-h,
  .storage-meta {
    display: none !important;
  }
  .sidebar-header {
    align-items: center;
  }
  .status-pill {
    padding: 8px;
    justify-content: center;
  }
  .sidebar-nav button,
  .sidebar-action-btn {
    font-size: 0 !important;
    padding: 10px !important;
    justify-content: center;
    height: 42px;
  }
  .sidebar-nav button::before,
  .sidebar-action-btn::before {
    margin-inline-end: 0 !important;
  }
  .sidebar-storage-card {
    padding: 8px;
  }
  .storage-card-row {
    justify-content: center;
  }
  .topbar-search-slot {
    display: none !important;
  }
}

/* Horizontal icon strip at the top (<= 760px) */
@media (max-width: 760px) {
  .app-shell {
    flex-direction: column;
    width: 100%;
    max-width: 100%;
  }

  .sidebar {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: auto;
    max-height: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-block: 6px;
    padding-inline: 10px;
    border-inline-end: 0;
    border-bottom: 1px solid var(--border);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    gap: 8px;
    box-sizing: border-box;
    z-index: 20;
    transform: none !important;
    transition: none !important;
  }
  .sidebar::-webkit-scrollbar {
    display: none;
  }

  .sidebar-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .sidebar-brand {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
  }
  .sidebar-brand .brand-logo {
    width: 24px;
    height: 24px;
  }
  .sidebar-brand .brand-meta {
    display: none !important;
  }

  .status-pill {
    padding-block: 3px;
    padding-inline: 8px;
    font-size: 11px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
  }
  .status-pill .status-text {
    display: inline !important;
    font-size: 11px;
  }
  .status-pill .status-shield {
    display: none !important;
  }

  .sidebar-nav.tabs {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
    margin: 0;
    padding: 0;
    border: 0;
    flex-shrink: 0;
  }
  .sidebar-sec {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
  }
  .sidebar-sec-h {
    display: none !important;
  }

  .sidebar-nav button,
  .sidebar-action-btn {
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0 !important;
    justify-content: center !important;
    font-size: 0 !important;
    flex-shrink: 0;
    border-radius: var(--r-s);
  }
  .sidebar-nav button::before,
  .sidebar-action-btn::before {
    margin-inline-end: 0 !important;
    width: 17px;
    height: 17px;
  }

  .sidebar-footer {
    margin-top: 0;
    padding-top: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
  }
  .sidebar-storage-card {
    padding: 4px 8px;
  }
  .storage-meta {
    display: none !important;
  }

  .main-viewport {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    flex: 1 1 auto;
  }

  .topbar-search-slot {
    display: none !important;
  }

  .topbar {
    padding-inline: 12px;
    padding-block: 10px;
    gap: 8px 10px;
  }
  .topbar-lead {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }
  .topbar-title {
    font-size: 16px;
    line-height: 1.25;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .topbar-eyebrow {
    font-size: 10px;
    letter-spacing: 0.05em;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .topbar-ctrls {
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
  }
  .topbar-ctrls .btn {
    min-height: 32px;
    padding-inline: 8px;
    font-size: 12px;
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Narrowest screens (<= 480px / 360px) */
@media (max-width: 480px) {
  .topbar {
    padding-inline: 10px;
    padding-block: 8px;
  }
  .topbar-ctrls {
    gap: 4px;
  }
  .topbar-ctrls .btn {
    min-height: 30px;
    padding-inline: 6px;
    font-size: 11.5px;
  }
  #btnScreenTrans {
    max-width: 100%;
    white-space: normal;
  }
}

/* ==================== TRANSLATE TAB REDESIGN (ITEM 1) ==================== */
.trans-page-header {
  margin-block-end: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.trans-page-title {
  margin: 0;
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 28px;
  font-weight: 700;
  color: var(--text, #fff);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
html[lang="fa"] .trans-page-title {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 800;
}
.trans-page-sub {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted, #94a3b8);
  line-height: 1.4;
}

/* Card-style Language & Options Bar */
.bar.trans-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  margin-block-end: 18px;
  min-width: 0;
}
.trans-bar .grp {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}
.trans-bar .trans-lang-grp {
  flex: 0 1 auto;
  min-width: 0;
}
.trans-bar .trans-lang-grp select {
  height: 38px;
  padding-inline: 12px;
  border-radius: 10px;
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  color: var(--text, #fff);
  font-size: 13.5px;
  font-weight: 600;
  min-width: 110px;
  max-width: 200px;
}
.trans-bar #swap {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  color: var(--accent, #08A8FF);
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.2s, background 0.18s, border-color 0.18s;
}
.trans-bar #swap:hover {
  transform: rotate(180deg);
  border-color: var(--accent, #08A8FF);
  background: var(--accent-dim, rgba(8, 168, 255, 0.12));
}
.trans-bar label:not(.switch-lbl) {
  font-family: var(--mono, monospace);
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--faint, #64748b);
  white-space: nowrap;
}
.trans-bar select,
.trans-bar input[type="text"] {
  height: 38px;
  padding-inline: 10px;
  border-radius: 10px;
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  color: var(--text, #fff);
  font-size: 13px;
  box-sizing: border-box;
}
.trans-bar select:focus,
.trans-bar input[type="text"]:focus {
  border-color: var(--accent, #08A8FF);
  outline: none;
}
.trans-bar .sp {
  flex: 1 1 auto;
}

/* Toggle Switch (#tmToggle) */
.switch-lbl {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  font-size: 13px;
  color: var(--text, #fff);
  font-weight: 500;
  white-space: nowrap;
}
.switch-chk {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.switch-chk:focus-visible + .switch-slider {
  outline: 2px solid var(--accent, #08A8FF);
  outline-offset: 2px;
}
.switch-slider {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 22px;
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 999px;
  transition: background 0.2s, border-color 0.2s;
  flex-shrink: 0;
}
.switch-slider::before {
  content: "";
  position: absolute;
  top: 2px;
  inset-inline-start: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.2s, background 0.2s;
}
.switch-chk:checked + .switch-slider {
  background: var(--pri, #1366E2);
  border-color: var(--accent, #08A8FF);
}
.switch-chk:checked + .switch-slider::before {
  transform: translateX(18px);
}
html[dir="rtl"] .switch-chk:checked + .switch-slider::before {
  transform: translateX(-18px);
}

@media (max-width: 640px) {
  .bar.trans-bar {
    padding: 10px 12px;
    gap: 10px;
  }
  .trans-bar .trans-lang-grp {
    width: 100%;
  }
  .trans-bar .trans-lang-grp select {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
  }
}
@media (max-width: 420px) {
  .trans-bar .grp {
    width: 100%;
  }
  .trans-bar select,
  .trans-bar input[type="text"] {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
  }
  .trans-bar .sp {
    display: none;
  }
}

/* ==================== TRANSLATE CARDS (ITEM 2) ==================== */
.panes.trans-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-items: stretch;
}
@media (max-width: 900px) {
  .panes.trans-cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.pane.trans-card {
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 16px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  min-height: 280px;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.pane.trans-card:focus-within {
  border-color: var(--accent-line, rgba(8, 168, 255, 0.4));
  box-shadow: 0 8px 30px rgba(8, 168, 255, 0.08);
}
.pane.trans-card-target {
  background: linear-gradient(180deg, var(--panel2) 0%, var(--surface) 100%);
  border-color: var(--accent-line, rgba(8, 168, 255, 0.3));
}

.trans-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-block-end: 12px;
  width: 100%;
  min-width: 0;
}
.trans-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.trans-lang-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
[data-theme="champagne-minimal"] .trans-lang-badge,
[data-theme="platinum-blue"] .trans-lang-badge {
  color: var(--accent-dark);
}
.trans-card-lang {
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
}
.trans-word-count {
  font-family: var(--mono, monospace);
  font-size: 11.5px;
  color: var(--muted);
  white-space: nowrap;
}
.trans-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: var(--success);
  background: color-mix(in srgb, var(--success) 12%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--success) 35%, transparent);
  white-space: nowrap;
}

/* makanlab */
[data-theme="makan-lab"] .trans-lang-badge {
  background: var(--surface2, #0e1e38); /* makanlab */
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
  color: var(--accent, #08A8FF); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-card-lang {
  color: var(--text, #fff); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-word-count {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-status-chip {
  color: #10b981; /* makanlab */
  background: rgba(16, 185, 129, 0.12); /* makanlab */
  border: 1px solid rgba(16, 185, 129, 0.35); /* makanlab */
}

.pane.trans-card textarea {
  flex: 1 1 auto;
  width: 100%;
  min-height: 160px;
  background: transparent;
  border: none;
  outline: none;
  resize: vertical;
  color: var(--text, #fff);
  font-size: 15.5px;
  line-height: 1.6;
  padding: 0;
  font-family: inherit;
  box-sizing: border-box;
}
.pane.trans-card textarea.rtl-text,
html[dir="rtl"] .pane.trans-card-target textarea {
  direction: rtl;
  text-align: right;
  font-family: 'Vazirmatn', system-ui, sans-serif;
  font-size: 16.5px;
  line-height: 1.75;
}

.trans-info-row {
  margin-block: 8px 4px;
  min-height: 22px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
}

.trans-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-block-start: 10px;
  padding-block-start: 10px;
  border-top: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.05));
  width: 100%;
  box-sizing: border-box;
}
.trans-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
.trans-card-footer #tCount {
  font-family: var(--mono, monospace);
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
}
/* makanlab */
[data-theme="makan-lab"] .trans-card-footer #tCount {
  color: var(--faint, #64748b); /* makanlab */
}
.voice-used, #tVoiceUsed {
  font-size: 12px;
  color: var(--muted);
  max-width: 220px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: middle;
}
@media (max-width: 480px) {
  .pane.trans-card {
    padding: 12px 14px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .trans-card-footer {
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .trans-card-actions {
    justify-content: flex-end;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  .voice-used, #tVoiceUsed {
    max-width: 100%;
  }
  #tVoicePickerWrap,
  #tVoicePickerBtn {
    max-width: 100%;
    min-width: 0;
  }
  #tVoiceCurLabel {
    max-width: 110px;
  }
}

/* ==================== RECENT TRANSLATIONS STRIP (ITEM 3) ==================== */
.trans-recent {
  margin-block-start: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.trans-recent-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}
.trans-recent-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 15px;
  font-weight: 700;
  color: var(--text, #fff);
}
.trans-recent-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.trans-recent-clear-btn,
.trans-recent-viewall-btn {
  font-size: 12.5px;
  color: var(--muted, #94a3b8);
  padding: 4px 10px;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.trans-recent-viewall-btn:hover,
.trans-recent-clear-btn:hover {
  color: var(--accent, #08A8FF);
}

.trans-recent-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .trans-recent-list {
    grid-template-columns: 1fr;
  }
}

.trans-recent-tile {
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  cursor: pointer;
  transition: transform 0.18s, border-color 0.18s, background 0.18s, box-shadow 0.18s;
  user-select: none;
  min-width: 0;
}
.trans-recent-tile:hover {
  transform: translateY(-2px);
  border-color: var(--accent, #08A8FF);
  background: var(--surface-card-hover, #0d1e3a);
  box-shadow: 0 4px 16px rgba(8, 168, 255, 0.12);
}
.trans-recent-tile:focus-visible {
  outline: 2px solid var(--accent, #08A8FF);
  outline-offset: 2px;
}
.trans-recent-tile-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.trans-recent-time-grp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted);
}
.trans-recent-texts {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text);
  min-width: 0;
  overflow: hidden;
}
.trans-recent-src-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 0;
  min-width: 0;
}
.trans-recent-arrow {
  flex-shrink: 0;
  color: var(--muted);
}
html[dir="rtl"] .trans-recent-arrow {
  transform: scaleX(-1);
}
.trans-recent-tgt-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 0;
  min-width: 0;
  color: var(--accent);
}
[data-theme="champagne-minimal"] .trans-recent-tgt-text,
[data-theme="platinum-blue"] .trans-recent-tgt-text {
  color: var(--accent-dark);
}
html[lang="fa"] .trans-recent-tgt-text {
  font-family: 'Vazirmatn', system-ui;
}

.trans-recent-empty {
  padding: 16px;
  text-align: center;
  border-radius: 12px;
  background: var(--surface2);
  border: 1px dashed var(--border2);
  color: var(--muted);
  font-size: 13px;
}

/* makanlab */
[data-theme="makan-lab"] .trans-recent-time-grp {
  color: var(--faint, #64748b); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-recent-texts {
  color: var(--text, #fff); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-recent-arrow {
  color: var(--faint, #64748b); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-recent-tgt-text {
  color: var(--accent, #08A8FF); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-recent-empty {
  background: var(--surface2, #0e1e38); /* makanlab */
  border: 1px dashed var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}

/* ==================== STATUS STRIP (ITEM 4) ==================== */
.trans-status-strip {
  margin-block-start: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 10px 16px;
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: 12px;
  font-size: 12px;
  color: var(--muted);
  width: 100%;
  box-sizing: border-box;
}

.trans-status-items {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}
.trans-status-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text);
  font-size: 12px;
  white-space: nowrap;
}

/* makanlab */
[data-theme="makan-lab"] .trans-status-strip {
  background: var(--surface-card, #091428); /* makanlab */
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .trans-status-item {
  color: var(--text, #fff); /* makanlab */
}
.trans-status-item bdi {
  font-weight: 600;
}

.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}
.status-dot.ok {
  background: #10b981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
}
.status-dot.warn {
  background: #f59e0b;
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.6);
}

.trans-status-sep {
  color: var(--border2, rgba(28, 64, 118, 0.45));
  font-size: 11px;
}

.trans-status-info {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--faint, #64748b);
  font-size: 11.5px;
  margin-inline-start: auto;
  white-space: nowrap;
}
.trans-status-info-icon {
  color: var(--accent, #08A8FF);
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .trans-status-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .trans-status-info {
    margin-inline-start: 0;
  }
}

/* ==================== SUBTITLE TAB REDESIGN (ITEM 1) ==================== */
.sub-page-header {
  margin-block-end: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sub-page-title {
  margin: 0;
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 28px;
  font-weight: 700;
  color: var(--text, #fff);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
html[lang="fa"] .sub-page-title {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 800;
}
.sub-page-sub {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted, #94a3b8);
  line-height: 1.4;
}

.sub-entry-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-block-end: 20px;
  min-width: 0;
}
.sub-entry-cards:has(#sDrop[hidden]) {
  display: none !important;
}
@media (max-width: 780px) {
  .sub-entry-cards {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.sub-entry-card {
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: var(--r-m, 14px);
  padding: 32px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  transition: all 0.2s ease;
  min-width: 0;
  max-width: 100%;
}

.sub-entry-card-drop {
  border: 2px dashed color-mix(in srgb, var(--accent) 40%, transparent);
  cursor: pointer;
  background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--accent) 10%, var(--surface)) 0%, var(--surface) 70%);
  box-shadow: 0 4px 20px color-mix(in srgb, var(--text) 6%, transparent);
}
.sub-entry-card-drop:hover, .sub-entry-card-drop.over {
  border-color: var(--accent);
  background: radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--accent) 16%, var(--surface)) 0%, var(--surface) 70%);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--accent) 25%, transparent);
}

.sub-card-icon-wrap {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 16px;
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  box-shadow: 0 0 24px color-mix(in srgb, var(--accent) 15%, transparent);
}

[data-theme="platinum-blue"] .sub-card-icon-wrap,
[data-theme="champagne-minimal"] .sub-card-icon-wrap {
  color: var(--accent-dark);
}

.sub-entry-card strong {
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin-block-end: 6px;
  display: block;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
}
html[lang="fa"] .sub-entry-card strong {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 700;
}

.sub-entry-card .hint {
  font-size: 13px;
  color: var(--muted);
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
}

.sub-format-chips {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-block-start: 14px;
}
.sub-chip {
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 10px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: color-mix(in srgb, var(--accent) 55%, var(--text));
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
}

[data-theme="platinum-blue"] .sub-chip,
[data-theme="champagne-minimal"] .sub-chip {
  color: var(--accent-dark);
}

.sub-entry-card-video {
  border: 1px dashed var(--border2);
  background: var(--surface2);
}
.sub-card-icon-video {
  background: color-mix(in srgb, var(--text) 6%, transparent);
  color: var(--muted);
  border: 1px solid var(--border);
  box-shadow: none;
}
.sub-video-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.sub-video-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.sub-coming-soon-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--warn) 12%, var(--surface));
  color: var(--warn);
  border: 1px solid color-mix(in srgb, var(--warn) 30%, transparent);
}
.sub-video-note {
  margin: 0;
  font-size: 12.5px;
  color: var(--muted);
  max-width: 100%;
  word-break: break-word;
}
.sub-video-btn {
  margin-block-start: 6px;
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
  font-size: 12.5px;
}

/* makanlab */
[data-theme="makan-lab"] .sub-entry-card {
  background: var(--surface-card, #091428); /* makanlab */
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-entry-card-drop {
  border: 2px dashed rgba(56, 189, 248, 0.35); /* makanlab */
  background: radial-gradient(circle at 50% 30%, rgba(14, 165, 233, 0.08) 0%, rgba(9, 20, 40, 0.95) 70%); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-entry-card-drop:hover,
/* makanlab */
[data-theme="makan-lab"] .sub-entry-card-drop.over {
  border-color: var(--accent, #38bdf8); /* makanlab */
  background: radial-gradient(circle at 50% 30%, rgba(14, 165, 233, 0.16) 0%, rgba(9, 20, 40, 0.95) 70%); /* makanlab */
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-card-icon-wrap {
  background: rgba(56, 189, 248, 0.1); /* makanlab */
  color: var(--accent, #38bdf8); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.25); /* makanlab */
  box-shadow: 0 0 24px rgba(56, 189, 248, 0.15); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-entry-card strong {
  color: var(--text, #fff); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-entry-card .hint {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-chip {
  background: rgba(56, 189, 248, 0.12); /* makanlab */
  color: var(--cyan, #38bdf8); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.3); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-entry-card-video {
  border: 1px dashed var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
  background: rgba(9, 20, 40, 0.55); /* makanlab */
  opacity: 0.78;
}
/* makanlab */
[data-theme="makan-lab"] .sub-card-icon-video {
  background: rgba(148, 163, 184, 0.08); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
  border-color: rgba(148, 163, 184, 0.2); /* makanlab */
  box-shadow: none;
}
/* makanlab */
[data-theme="makan-lab"] .sub-coming-soon-badge {
  background: rgba(255, 180, 74, 0.12); /* makanlab */
  color: var(--warn, #f59e0b); /* makanlab */
  border: 1px solid rgba(255, 180, 74, 0.3); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .sub-video-note {
  color: var(--faint, #64748b); /* makanlab */
}

/* ==================== SUBTITLE FILE BAR (ITEM 2) ==================== */
.sub-toolbar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: var(--r-m, 14px);
  padding: 16px 20px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  margin-block-end: 16px;
}
.sub-bar-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
}
.sub-file-meta-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}
.sub-file-badge {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(129, 140, 248, 0.25));
  color: var(--accent, #38bdf8);
  border: 1px solid rgba(56, 189, 248, 0.35);
  flex-shrink: 0;
}
.sub-file-meta-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.sub-file-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.sub-file-title {
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 15px;
  font-weight: 700;
  color: var(--text, #fff);
  word-break: break-all;
}
.sub-cues-badge {
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 600;
  color: var(--cyan, #38bdf8);
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  padding: 1px 7px;
  border-radius: 999px;
}
.sub-file-sub-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--muted, #94a3b8);
  flex-wrap: wrap;
}
.sub-lang-pill {
  color: var(--accent, #38bdf8);
  font-weight: 500;
}
.sub-meta-sep {
  color: var(--border2, rgba(28, 64, 118, 0.45));
}
.sub-file-mgmt-btns {
  display: flex;
  align-items: center;
  gap: 6px;
}
.sub-file-mgmt-btns .btn {
  font-size: 11.5px;
  min-height: 28px;
  padding: 2px 8px;
}
.sub-bar-style {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.sub-bar-style select {
  height: 36px;
  padding-inline: 10px;
  border-radius: 8px;
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  color: var(--text, #fff);
  font-size: 13px;
  font-weight: 500;
}
.sub-bar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.sub-btn-go {
  background: var(--grad, linear-gradient(135deg, #0284c7, #2563eb)) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
}
.sub-dl-grp {
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 820px) {
  .sub-bar-main {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .sub-file-meta-card {
    justify-content: space-between;
  }
  .sub-bar-actions {
    width: 100%;
  }
  .sub-bar-actions .btn {
    flex: 1;
    min-width: 120px;
    justify-content: center;
  }
}

/* ==================== SUBTITLE PROGRESS STRIP (ITEM 3) ==================== */
.sub-prog-wrap {
  margin-block-end: 16px;
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: var(--r-m, 14px);
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.sub-prog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.sub-prog-counts {
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text, #fff);
  display: flex;
  align-items: center;
  gap: 8px;
}
html[lang="fa"] .sub-prog-counts {
  font-family: 'Vazirmatn', system-ui;
}
.sub-prog-status {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sub-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  background: var(--surface2, #0e1e38);
  color: var(--muted, #94a3b8);
}
.sub-status-chip.translating {
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.sub-status-chip.error {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.3);
}
.sub-prog-wrap .prog {
  height: 6px;
  background: var(--surface2, #0e1e38);
  border-radius: 999px;
  overflow: hidden;
  margin: 0;
}
.sub-prog-wrap .prog i {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--accent, #38bdf8), #60a5fa);
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==================== SUBTITLE TABLE (ITEM 4) ==================== */
.cues {
  margin-block-start: 14px;
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: var(--r-m, 14px);
  overflow: hidden;
  max-height: 60vh;
  overflow-y: auto;
  overflow-x: auto;
  background: var(--surface-card, #091428);
  position: relative;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  max-width: 100%;
  box-sizing: border-box;
}

.cues-header {
  display: grid;
  grid-template-columns: 52px 180px 1fr 1fr;
  background: var(--surface2, #0d1e38);
  border-bottom: 2px solid var(--border2, rgba(28, 64, 118, 0.5));
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--muted, #94a3b8);
  position: sticky;
  top: 0;
  z-index: 5;
  backdrop-filter: blur(8px);
}
html[lang="fa"] .cues-header {
  font-family: 'Vazirmatn', system-ui;
}
.cues-header > * {
  padding: 12px 14px;
  display: flex;
  align-items: center;
  min-width: 0;
}
.cues-header .tm {
  justify-content: center;
}
.cues-header .tr-hdr {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--accent, #38bdf8);
}
.sub-hdr-edit-icon {
  opacity: 0.75;
}

.cue {
  display: grid;
  grid-template-columns: 52px 180px 1fr 1fr;
  border-bottom: 1px solid var(--border, rgba(28, 64, 118, 0.25));
  font-size: 14px;
  transition: background 0.15s ease;
  min-width: 0;
}
.cue:last-child {
  border-bottom: 0;
}
.cue:hover {
  background: rgba(255, 255, 255, 0.02);
}
[data-theme="light"] .cue:hover {
  background: rgba(0, 0, 0, 0.02);
}
.cue.error {
  background: rgba(239, 68, 68, 0.08);
}
[data-theme="light"] .cue.error {
  background: rgba(239, 68, 68, 0.05);
}
.cue.error .tr-cell {
  background: rgba(239, 68, 68, 0.04);
}
.cue .n {
  font-family: var(--mono, monospace);
  font-size: 12px;
  color: var(--faint, #64748b);
  padding: 12px 14px;
  display: flex;
  align-items: flex-start;
  user-select: none;
}
.cue .tm {
  font-family: var(--mono, monospace);
  font-size: 12px;
  color: var(--faint, #64748b);
  padding: 12px 14px;
  text-align: center;
  direction: ltr !important;
  white-space: nowrap;
}
.cue .o {
  color: var(--muted, #cbd5e1);
  padding: 12px 14px;
  min-width: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  unicode-bidi: plaintext;
  text-align: start;
  line-height: 1.55;
}
.cue .tr-cell {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-inline-start: 1px solid var(--border, rgba(28, 64, 118, 0.25));
  min-width: 0;
  position: relative;
  transition: background 0.15s, box-shadow 0.15s;
}
.cue .tr-cell:focus-within {
  background: rgba(56, 189, 248, 0.06);
  box-shadow: inset 0 0 0 1.5px var(--accent, #38bdf8);
}
.cue .tr {
  flex: 1;
  min-width: 0;
  outline: none;
  min-height: 32px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  unicode-bidi: plaintext;
  text-align: start;
  color: var(--text, #fff);
  line-height: 1.55;
  font-size: 14px;
}
.cue .tr[dir="rtl"] {
  font-family: 'Vazirmatn', system-ui;
  direction: rtl;
  text-align: right;
}
.cue .tr:empty::before {
  content: "—";
  color: var(--faint, #64748b);
}
.cue-tm-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 600;
  color: #3fb950;
  background: rgba(46, 160, 67, 0.14);
  border: 1px solid rgba(46, 160, 67, 0.3);
  border-radius: 999px;
  white-space: nowrap;
  user-select: none;
  flex-shrink: 0;
  margin-block-start: 2px;
}
html[lang="fa"] .cue-tm-badge {
  font-family: 'Vazirmatn', system-ui;
  font-size: 11px;
}

@media (max-width: 780px) {
  .cues-header {
    display: none;
  }
  .cue {
    display: flex;
    flex-direction: column;
    padding: 12px;
    gap: 8px;
  }
  .cue .n {
    padding: 0;
    color: var(--accent, #38bdf8);
    font-weight: 700;
  }
  .cue .tm {
    padding: 0;
    color: var(--cyan, #38bdf8);
    text-align: start;
  }
  .cue .o {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
    border-radius: 8px;
  }
  .cue .tr-cell {
    padding: 10px 12px;
    border-inline-start: 0;
    background: rgba(56, 189, 248, 0.05);
    border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
    border-radius: 8px;
  }
  .cue .tr {
    min-height: 40px;
  }
}

/* ==================== DOCUMENT TAB REDESIGN (ITEM 1) ==================== */
.doc-page-header {
  margin-block-end: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.doc-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}
@media (max-width: 640px) {
  .doc-header-top {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
}
.doc-header-titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.doc-page-title {
  margin: 0;
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 28px;
  font-weight: 700;
  color: var(--text, #fff);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
html[lang="fa"] .doc-page-title {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 800;
}
.doc-page-sub {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted, #94a3b8);
  line-height: 1.4;
}

.doc-drop-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 18px 24px;
  border-radius: var(--r-m, 14px);
  border: 1.5px dashed color-mix(in srgb, var(--accent) 35%, transparent);
  background: radial-gradient(circle at 20% 50%, color-mix(in srgb, var(--accent) 8%, var(--surface)) 0%, var(--surface) 70%);
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 0;
}
.doc-drop-area:hover, .doc-drop-area.over {
  border-color: var(--accent);
  background: radial-gradient(circle at 20% 50%, color-mix(in srgb, var(--accent) 16%, var(--surface)) 0%, var(--surface) 70%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); /* makanlab */
}
.doc-drop-main {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  flex-shrink: 1;
}
.doc-drop-icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 15%, transparent);
  flex-shrink: 0;
}
.doc-drop-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.doc-drop-text strong {
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  word-break: break-word;
}
html[lang="fa"] .doc-drop-text strong {
  font-family: 'Vazirmatn', system-ui;
}
.doc-drop-text .hint {
  font-size: 13px;
  color: var(--muted);
  word-break: break-word;
}
.doc-format-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.doc-chip {
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 4px 9px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  user-select: none;
}
@media (max-width: 640px) {
  .doc-drop-area {
    padding: 16px 14px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .doc-format-chips {
    justify-content: flex-start;
  }
}

/* ==================== DOCUMENT FILE CARD & CONTROLS (ITEM 2) ==================== */
.doc-file-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: var(--r-m, 14px);
  padding: 14px 18px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15); /* makanlab */
}

.doc-file-info-group {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex-wrap: wrap;
}

.doc-file-badge {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, transparent), color-mix(in srgb, var(--accent) 25%, transparent));
  color: var(--accent);
  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  flex-shrink: 0;
  position: relative;
}
.doc-file-badge .doc-badge {
  display: none;
}

.doc-file-text-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.doc-file-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

.doc-file-name {
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  word-break: break-all;
}

.doc-size-pill {
  font-family: var(--mono, monospace);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

.doc-btn-change {
  font-size: 11.5px;
  min-height: 28px;
  padding: 2px 8px;
}

.doc-file-controls-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.doc-fmt-grp {
  display: flex;
  align-items: center;
  gap: 6px;
}
.doc-fmt-grp label {
  font-size: 12.5px;
  color: var(--muted);
  white-space: nowrap;
}
.doc-fmt-grp select {
  height: 38px;
  padding-inline: 10px;
  border-radius: 8px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
}

.doc-btn-go {
  background: var(--accent) !important;
  color: var(--on-accent) !important;
  font-weight: 600;
  min-height: 38px;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.doc-btn-save {
  min-height: 38px;
}

.doc-sub-options-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding: 2px 4px;
}

@media (max-width: 820px) {
  .doc-file-card {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .doc-file-info-group {
    justify-content: space-between;
  }
  .doc-file-controls-group {
    width: 100%;
    justify-content: flex-start;
  }
  .doc-file-controls-group .btn {
    flex: 1;
    min-width: 120px;
    justify-content: center;
  }
}

/* ==================== DOCUMENT PROGRESS STRIP (ITEM 3) ==================== */
.doc-prog-strip {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--rad-lg, 12px);
  padding: 12px 18px;
  margin-top: 10px;
}

.doc-prog-strip-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.doc-prog-counts-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.doc-prog-counts {
  font-size: 14px;
  font-weight: 700;
  color: var(--text, #f8fafc);
}

.doc-prog-detail {
  font-size: 13px;
  color: var(--muted, #94a3b8);
}

.doc-mem-note {
  font-size: 12px;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.1);
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.25);
  display: inline-flex;
  align-items: center;
}
.doc-mem-note:empty {
  display: none;
}

.doc-prog-status-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.doc-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  border: 1px solid var(--border);
  background: var(--surface2);
  color: var(--text);
  transition: all 0.2s ease;
}

.doc-status-chip.idle {
  background: var(--surface2);
  color: var(--text);
  border-color: var(--border);
}

.doc-status-chip.active,
.doc-status-chip.translating,
.doc-status-chip.working {
  background: var(--selected);
  color: var(--text);
  border-color: var(--accent);
}

.doc-status-chip.waiting {
  background: rgba(167, 139, 250, 0.15);
  color: var(--text);
  border-color: var(--icon-purple);
}

.doc-status-chip.ok,
.doc-status-chip.done {
  background: var(--success-bg, rgba(34, 197, 94, 0.12));
  color: var(--text);
  border-color: var(--success);
}

.doc-status-chip.warn,
.doc-status-chip.partial,
.doc-status-chip.attention {
  background: var(--warn-dim, rgba(245, 158, 11, 0.12));
  color: var(--text);
  border-color: var(--warning);
}

.doc-status-chip.error,
.doc-status-chip.failed {
  background: var(--err-dim, rgba(239, 68, 68, 0.12));
  color: var(--text);
  border-color: var(--danger);
}

[data-theme="makan-lab"] .doc-status-chip,
[data-theme="makan-lab"] .doc-status-chip.idle {
  background: var(--surface2);
  color: var(--muted);
  border-color: var(--border);
}

[data-theme="makan-lab"] .doc-status-chip.active,
[data-theme="makan-lab"] .doc-status-chip.translating,
[data-theme="makan-lab"] .doc-status-chip.working {
  background: var(--accent-dim, rgba(56, 189, 248, 0.12));
  color: var(--accent);
  border-color: var(--accent);
}

[data-theme="makan-lab"] .doc-status-chip.waiting {
  background: rgba(167, 139, 250, 0.15);
  color: var(--icon-purple);
  border-color: var(--icon-purple);
}

[data-theme="makan-lab"] .doc-status-chip.ok,
[data-theme="makan-lab"] .doc-status-chip.done {
  background: var(--success-bg, rgba(34, 197, 94, 0.12));
  color: var(--success);
  border-color: var(--success);
}

[data-theme="makan-lab"] .doc-status-chip.warn,
[data-theme="makan-lab"] .doc-status-chip.partial,
[data-theme="makan-lab"] .doc-status-chip.attention {
  background: var(--warn-dim, rgba(245, 158, 11, 0.12));
  color: var(--warning);
  border-color: var(--warning);
}

[data-theme="makan-lab"] .doc-status-chip.error,
[data-theme="makan-lab"] .doc-status-chip.failed {
  background: var(--err-dim, rgba(239, 68, 68, 0.12));
  color: var(--danger);
  border-color: var(--danger);
}

.doc-prog-bar-wrap {
  height: 6px;
  background: var(--surface2, #0e1e38);
  border-radius: 999px;
  overflow: hidden;
  margin: 0;
}

.doc-prog-bar-wrap i {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--accent, #38bdf8), #60a5fa);
  transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==================== DOCUMENT PREVIEW PANES & SUMMARY (ITEM 4) ==================== */
.doc-panes {
  margin-top: 8px !important;
  gap: 12px;
}

.doc-pane {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--rad-lg, 12px);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
  transition: border-color 0.2s ease;
}

.doc-pane:focus-within {
  border-color: rgba(56, 189, 248, 0.45);
}

.doc-pane .pane-h {
  background: var(--surface2, #0e1e38);
  border-bottom: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  padding: 6px 14px;
}

.doc-pane textarea {
  padding: 8px 12px;
  line-height: 1.45;
  resize: vertical;
  min-height: 110px;
  height: 110px;
}

.doc-summary-card {
  margin-top: 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--rad-lg, 12px);
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.doc-summary-card[hidden] {
  display: none !important;
}

.doc-summary-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.doc-summary-title-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text, #f8fafc);
  font-size: 14px;
  font-weight: 700;
}

.doc-summary-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
}

.doc-summary-stat {
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 8px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.doc-summary-stat-val {
  font-size: 18px;
  font-weight: 700;
  color: #38bdf8;
  font-family: var(--mono);
}

.doc-summary-stat-lbl {
  font-size: 11.5px;
  color: var(--muted, #94a3b8);
  font-weight: 500;
}

.doc-summary-facts {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.doc-summary-fact {
  font-size: 12.5px;
  padding: 6px 12px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.doc-summary-fact.ok {
  background: rgba(34, 197, 94, 0.08);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.doc-summary-fact.info {
  background: rgba(56, 189, 248, 0.08);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.2);
}

.doc-summary-fact.warn {
  background: rgba(245, 158, 11, 0.08);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.2);
}

/* ==================== VOICE TAB REDESIGN (ITEM 1) ==================== */
.voice-page-header {
  margin-block-end: 10px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.voice-page-title {
  margin: 0;
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 24px;
  font-weight: 700;
  color: var(--text, #fff);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
html[lang="fa"] .voice-page-title {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 800;
}
.voice-page-sub {
  margin: 0;
  font-size: 13px;
  color: var(--muted, #94a3b8);
  line-height: 1.3;
}

/* Card-style Control Bar */
.bar.voice-bar,
.voice-control-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  margin-block-end: 12px;
  min-width: 0;
}

#tab-voice {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: hidden;
}
#tab-voice .v-card {
  padding: 12px 16px;
}
#tab-voice .v-settings-panel {
  padding: 8px 12px;
  margin: 6px 0;
}
#tab-voice .v-settings-grid {
  gap: 8px;
}
#tab-voice .v-set-item select {
  height: 30px;
  font-size: 12.5px;
}

.voice-bar .v-top-actions,
.v-top-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 100%;
  box-sizing: border-box;
  scroll-margin-top: 80px;
}

.voice-bar .v-modes,
.v-modes {
  display: flex;
  gap: 4px;
  background: var(--surface2);
  padding: 3px;
  border-radius: var(--r-s);
  border: 1px solid var(--border);
  flex-wrap: wrap;
  max-width: 100%;
  box-sizing: border-box;
  scroll-margin-top: 80px;
}

.voice-bar .v-auto-engines,
.v-auto-engines {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 100%;
  box-sizing: border-box;
}

/* Language pair in voice bar */
.voice-lang-grp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--surface2, #0d1e38);
  padding: 4px 8px;
  border-radius: 10px;
  border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
  max-width: 100%;
  box-sizing: border-box;
}
.voice-lang-select {
  background: transparent;
  border: none;
  color: var(--text, #fff);
  font-weight: 600;
  font-size: 13.5px;
  padding-block: 4px;
  padding-inline: 6px;
  cursor: pointer;
  outline: none;
  max-width: 120px;
  text-overflow: ellipsis;
}
.voice-lang-select option {
  background: var(--surface, #0d1e38);
  color: var(--text, #fff);
}

.voice-bar .v-swap-btn,
.voice-control-bar .v-swap-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--border2, rgba(255, 255, 255, 0.1));
  background: var(--surface, #091428);
  color: var(--accent, #38bdf8);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s var(--ease), background 0.18s, border-color 0.18s;
  padding: 0;
}
.voice-bar .v-swap-btn:hover,
.voice-control-bar .v-swap-btn:hover {
  transform: rotate(180deg);
  background: var(--accent-dim, rgba(56, 189, 248, 0.15));
  border-color: var(--accent, #38bdf8);
}
.voice-bar .v-swap-btn:active,
.voice-control-bar .v-swap-btn:active {
  transform: rotate(180deg) scale(0.92);
}

/* Restyled speech recognition and voice buttons in control bar */
.voice-bar .v-mic-stt-picker-wrap,
.voice-bar .compact-voice-picker-wrap,
.voice-control-bar .v-mic-stt-picker-wrap,
.voice-control-bar .compact-voice-picker-wrap {
  position: relative;
}
.voice-bar .v-mic-stt-btn,
.voice-bar .compact-voice-btn,
.voice-control-bar .v-mic-stt-btn,
.voice-control-bar .compact-voice-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--surface2, #0d1e38);
  border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--text, #fff);
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s;
}
.voice-bar .v-mic-stt-btn:hover,
.voice-bar .compact-voice-btn:hover,
.voice-control-bar .v-mic-stt-btn:hover,
.voice-control-bar .compact-voice-btn:hover {
  background: var(--surface3, #132a4e);
  border-color: var(--accent, #38bdf8);
}
.voice-bar .v-stt-prefix,
.voice-bar .v-voice-prefix,
.voice-control-bar .v-stt-prefix,
.voice-control-bar .v-voice-prefix {
  color: var(--muted);
  font-weight: 500;
  margin-inline-end: 4px;
}

.v-voice-label-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  min-width: 0;
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.voice-bar .mic-stt-cur,
.voice-bar .compact-voice-cur,
.voice-control-bar .mic-stt-cur,
.voice-control-bar .compact-voice-cur {
  font-weight: 600;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* Status Chip */
.voice-status-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  background: color-mix(in srgb, var(--success) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--success) 35%, transparent);
  color: var(--success);
  margin-inline-start: auto;
  transition: all 0.2s ease;
}
.voice-status-chip.not-ready {
  background: color-mix(in srgb, var(--warning) 12%, transparent);
  border-color: color-mix(in srgb, var(--warning) 35%, transparent);
  color: var(--warning);
}
.voice-ready-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 8px color-mix(in srgb, var(--success) 60%, transparent);
}
.voice-status-chip.not-ready .voice-ready-dot {
  background: var(--warning);
  box-shadow: 0 0 8px color-mix(in srgb, var(--warning) 60%, transparent);
}

/* makanlab */
[data-theme="makan-lab"] .voice-status-chip {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #4ade80;
}
/* makanlab */
[data-theme="makan-lab"] .voice-status-chip.not-ready {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.35);
  color: #fbbf24;
}
/* makanlab */
[data-theme="makan-lab"] .voice-ready-dot {
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
}
/* makanlab */
[data-theme="makan-lab"] .voice-status-chip.not-ready .voice-ready-dot {
  background: #f59e0b;
  box-shadow: 0 0 8px rgba(245, 158, 11, 0.6);
}

/* Conversation Card Header */
.v-conv-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 4px 8px;
  padding-inline: 4px;
  border-block-end: 1px solid var(--border, rgba(255, 255, 255, 0.08));
  margin-block-end: 8px;
}
.v-conv-card-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text, #fff);
}
.v-live-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.6);
  display: inline-block;
}

@media (max-width: 640px) {
  .bar.voice-bar,
  .voice-control-bar {
    padding: 10px;
    gap: 8px;
  }
  .voice-bar .v-stt-prefix,
  .voice-bar .v-voice-prefix,
  .voice-control-bar .v-stt-prefix,
  .voice-control-bar .v-voice-prefix {
    display: none;
  }
  .voice-status-chip {
    width: 100%;
    justify-content: center;
    margin-inline-start: 0;
  }
  .voice-lang-select {
    max-width: 100px;
  }
  .v-modes .v-mode {
    padding: 5px 8px;
    font-size: 12px;
  }
  .v-top-actions .v-icon-btn {
    padding: 0 8px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .voice-bar .voice-lang-grp {
    width: 100%;
    justify-content: space-between;
  }
  .voice-bar .v-swap-btn {
    flex-shrink: 0;
  }
}

/* ==================== VOICE CONVERSATION LIST (ITEM 2) ==================== */
.v-conv-container {
  min-height: 80px;
  max-height: 380px;
  overflow-y: auto;
  padding: 4px 4px 10px;
  display: flex;
  flex-direction: column;
}

#tab-voice .v-card:has(#vSettingsPanel:not([hidden])) .v-conv-container {
  min-height: 50px;
  max-height: 180px;
}

.bubbles {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.bub {
  max-width: 82%;
  padding: 14px 18px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  transition: transform 0.18s var(--ease), border-color 0.18s;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--text) 12%, transparent);
  box-sizing: border-box;
}

.bub.a {
  align-self: flex-start;
  background: var(--surface);
  border: 1px solid var(--border2);
  border-start-start-radius: 4px;
}

.bub.b {
  align-self: flex-end;
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  border: 1px solid var(--accent-line);
  border-start-end-radius: 4px;
}

.bub-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 11.5px;
  color: var(--muted);
}

.bub-speaker {
  font-weight: 600;
  color: color-mix(in srgb, var(--accent) 55%, var(--text));
}

[data-theme="platinum-blue"] .bub-speaker,
[data-theme="champagne-minimal"] .bub-speaker {
  color: var(--accent-dark);
}

.bub-time {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
}

.bub-orig {
  display: flex;
  align-items: baseline;
  gap: 6px;
  font-size: 13.5px;
  color: var(--muted);
  margin-bottom: 6px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--text) 6%, transparent);
  transition: background 0.15s, color 0.15s;
}

.bub-orig:hover {
  background: color-mix(in srgb, var(--text) 12%, transparent);
  color: var(--text);
}

.bub-orig-text {
  flex: 1;
  word-break: break-word;
  line-height: 1.5;
}

.bub-text {
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.6;
  word-break: break-word;
  margin-bottom: 8px;
}

html[lang="fa"] .bub-text,
html[lang="fa"] .bub-orig-text,
html[dir="rtl"] .bub-text,
html[dir="rtl"] .bub-orig-text {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 500;
}

.bub-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
  padding-top: 8px;
  margin-top: 4px;
}

.bub-actions .replay-btn,
.bub-actions .copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  padding: 3px 9px;
  border-radius: 6px;
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s;
}

.bub-actions .replay-btn:hover:not(:disabled),
.bub-actions .copy-btn:hover {
  background: var(--surface3);
  border-color: var(--accent);
}

.bub-actions .replay-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  border-color: transparent;
}

.bub-meta-tags {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-inline-start: auto;
  flex-wrap: wrap;
}

.bub-tag {
  background: color-mix(in srgb, var(--text) 6%, transparent);
  border: 1px solid var(--border2);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
}

.bub-time-chip {
  font-family: var(--mono);
  color: var(--text);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
}

[data-theme="platinum-blue"] .bub-time-chip,
[data-theme="champagne-minimal"] .bub-time-chip {
  color: var(--accent-dark);
}

/* makanlab */
[data-theme="makan-lab"] .bub {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

/* makanlab */
[data-theme="makan-lab"] .bub.a {
  background: rgba(13, 27, 50, 0.85);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
}

/* makanlab */
[data-theme="makan-lab"] .bub.b {
  background: rgba(16, 42, 82, 0.9);
  border: 1px solid var(--accent-line, rgba(56, 189, 248, 0.35));
}

/* makanlab */
[data-theme="makan-lab"] .bub-header {
  color: var(--muted, #94a3b8);
}

/* makanlab */
[data-theme="makan-lab"] .bub-speaker {
  color: var(--accent, #38bdf8);
}

/* makanlab */
[data-theme="makan-lab"] .bub-time {
  color: var(--muted, #94a3b8);
}

/* makanlab */
[data-theme="makan-lab"] .bub-orig {
  color: var(--muted, #94a3b8);
  background: rgba(0, 0, 0, 0.15);
}

/* makanlab */
[data-theme="makan-lab"] .bub-orig:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text, #fff);
}

/* makanlab */
[data-theme="makan-lab"] .bub-text {
  color: var(--text, #fff);
}

/* makanlab */
[data-theme="makan-lab"] .bub-actions {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* makanlab */
[data-theme="makan-lab"] .bub-actions .replay-btn,
/* makanlab */
[data-theme="makan-lab"] .bub-actions .copy-btn {
  background: var(--surface2, #0d1e38);
  border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
  color: var(--text, #fff);
}

/* makanlab */
[data-theme="makan-lab"] .bub-actions .replay-btn:hover:not(:disabled),
/* makanlab */
[data-theme="makan-lab"] .bub-actions .copy-btn:hover {
  background: var(--surface3, #132a4e);
  border-color: var(--accent, #38bdf8);
}

/* makanlab */
[data-theme="makan-lab"] .bub-tag {
  background: var(--surface3, #0b192e);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  color: var(--muted, #94a3b8);
}

/* makanlab */
[data-theme="makan-lab"] .bub-time-chip {
  color: var(--accent, #38bdf8);
  background: rgba(56, 189, 248, 0.08);
  border-color: rgba(56, 189, 248, 0.25);
}

/* Empty State Card */
.v-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 12px 14px;
  margin: auto;
  max-width: 440px;
}

.v-empty-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--surface2, #0d1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent, #38bdf8);
  margin-bottom: 6px;
}

.v-empty-state h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--text, #fff);
}

.v-empty-desc {
  margin: 0 0 8px;
  font-size: 12.5px;
  color: var(--muted, #94a3b8);
  line-height: 1.4;
}

.v-first-use-tip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.2);
  font-size: 11.5px;
  color: var(--accent, #38bdf8);
}

.v-tip-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent, #38bdf8);
}

/* Ask AI Banner & Container Compaction */
.v-ask-empty-no-ai {
  padding: 14px 16px;
  margin: 8px auto;
  max-width: 500px;
  text-align: center;
}

.v-ask-empty-no-ai .v-empty-icon {
  width: 36px;
  height: 36px;
  margin: 0 auto 6px;
}

.v-ask-empty-no-ai h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
}

.v-ask-empty-no-ai .v-empty-desc {
  margin: 0 0 8px;
  font-size: 12.5px;
}

.v-ask-empty-no-ai .btn {
  margin-top: 6px;
}

#vViewAsk .v-ask-empty-no-ai:not([hidden]) ~ #vAskContainer {
  min-height: 0;
  padding: 0;
}

#vViewAsk .v-ask-empty-no-ai:not([hidden]) ~ #vAskContainer #vAskEmpty {
  display: none;
}

/* ==================== VOICE TALK CONTROL & ACTION DOCK (ITEM 3) ==================== */
/* Partial transcript preview floating above dock with zero layout shift */
.v-partial {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  width: min(560px, calc(100% - 24px));
  box-sizing: border-box;
  pointer-events: none !important;
  z-index: 15;
}

.v-status-line {
  box-sizing: border-box;
  pointer-events: none;
}

.v-action-dock {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  justify-items: center;
  width: 100%;
  max-width: 680px;
  margin: 8px auto 2px;
  padding: 0 8px;
  box-sizing: border-box;
}

.ptt-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none !important;
  justify-self: center;
  align-self: center;
}

.ptt-ripple {
  pointer-events: none !important;
  z-index: 1;
}

.ptt-btn {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}

/* Light themes talk button */
[data-theme="platinum-blue"] .ptt-btn,
[data-theme="platinum-blue"] .ptt-btn[data-state="ready"],
[data-theme="champagne-minimal"] .ptt-btn,
[data-theme="champagne-minimal"] .ptt-btn[data-state="ready"] {
  background: radial-gradient(circle at 35% 30%, var(--surface2) 0%, var(--surface) 100%);
  border-color: var(--accent-line);
  color: var(--text);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--text) 12%, transparent);
}

[data-theme="platinum-blue"] .ptt-btn:active,
[data-theme="platinum-blue"] .ptt-btn.rec,
[data-theme="platinum-blue"] .ptt-btn[data-state="listening"],
[data-theme="champagne-minimal"] .ptt-btn:active,
[data-theme="champagne-minimal"] .ptt-btn.rec,
[data-theme="champagne-minimal"] .ptt-btn[data-state="listening"] {
  border-color: var(--err);
  color: var(--err);
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--err) 12%, var(--surface)) 0%, color-mix(in srgb, var(--err) 4%, var(--surface)) 100%);
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--err) 16%, transparent), 0 0 24px color-mix(in srgb, var(--err) 25%, transparent);
}

[data-theme="platinum-blue"] .ptt-btn[data-state="working"],
[data-theme="champagne-minimal"] .ptt-btn[data-state="working"] {
  border-color: var(--cyan);
  color: var(--text);
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--cyan) 12%, var(--surface)) 0%, color-mix(in srgb, var(--cyan) 4%, var(--surface)) 100%);
  box-shadow: 0 0 20px color-mix(in srgb, var(--cyan) 25%, transparent);
}

[data-theme="platinum-blue"] .ptt-btn[data-state="preparing"],
[data-theme="champagne-minimal"] .ptt-btn[data-state="preparing"] {
  border-color: var(--warn);
  color: var(--text);
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--warn) 12%, var(--surface)) 0%, color-mix(in srgb, var(--warn) 4%, var(--surface)) 100%);
  box-shadow: 0 0 20px color-mix(in srgb, var(--warn) 25%, transparent);
}

[data-theme="platinum-blue"] .ptt-btn[data-state="speaking"],
[data-theme="champagne-minimal"] .ptt-btn[data-state="speaking"] {
  border-color: var(--accent);
  color: var(--text);
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--accent) 12%, var(--surface)) 0%, color-mix(in srgb, var(--accent) 4%, var(--surface)) 100%);
  box-shadow: 0 0 25px color-mix(in srgb, var(--accent) 25%, transparent);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-btn,
[data-theme="makan-lab"] .ptt-btn[data-state="ready"] {
  background: radial-gradient(circle at 35% 30%, #182338 0%, #091120 100%);
  border-color: var(--accent-line);
  color: var(--text);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-btn:hover {
  border-color: var(--accent);
  box-shadow: 0 12px 35px rgba(88, 166, 255, 0.25);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-btn:active,
/* makanlab */
[data-theme="makan-lab"] .ptt-btn.rec,
/* makanlab */
[data-theme="makan-lab"] .ptt-btn[data-state="listening"] {
  border-color: var(--err);
  color: var(--err);
  background: radial-gradient(circle at 35% 30%, #3d1319 0%, #19080c 100%);
  box-shadow: 0 0 0 8px rgba(255, 107, 122, 0.18), 0 0 35px rgba(255, 107, 122, 0.5);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-btn[data-state="working"] {
  border-color: var(--cyan);
  color: var(--text);
  background: radial-gradient(circle at 35% 30%, #0d2838 0%, #05141c 100%);
  box-shadow: 0 0 20px rgba(19, 200, 245, 0.35);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-btn[data-state="preparing"] {
  border-color: #ffbe53;
  color: var(--text);
  background: radial-gradient(circle at 35% 30%, #3d2e14 0%, #1c1408 100%);
  box-shadow: 0 0 20px rgba(255, 190, 83, 0.45);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-btn[data-state="speaking"] {
  border-color: var(--accent);
  color: var(--text);
  background: radial-gradient(circle at 35% 30%, #132b47 0%, #081526 100%);
  box-shadow: 0 0 25px rgba(88, 166, 255, 0.45);
}

.ptt-icon-wrap,
.ptt-icon-wrap *,
.ptt-label {
  pointer-events: none !important;
}

.ptt-subtext,
.ptt-subtext * {
  pointer-events: none !important;
}

.ptt-subtext {
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted);
  margin-top: 8px;
  line-height: 1.3;
  text-align: center;
  pointer-events: none !important;
  min-height: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ptt-subtext kbd {
  color: var(--text);
}

[data-theme="platinum-blue"] .v-auto-engines .v-eng-pill strong,
[data-theme="champagne-minimal"] .v-auto-engines .v-eng-pill strong {
  color: var(--accent-dark);
}

/* makanlab */
[data-theme="makan-lab"] .ptt-subtext {
  color: var(--muted, #94a3b8);
}

.v-space-hint,
.v-space-hint * {
  pointer-events: none !important;
}

.v-ask-ptt-btn {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}

.v-ask-ptt-btn > * {
  pointer-events: none !important;
}

.v-dock-flank {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.v-dock-flank-start {
  justify-self: start;
  align-items: flex-start;
}

.v-dock-flank-end {
  justify-self: end;
  align-items: flex-end;
}

.v-space-hint {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--muted);
  user-select: none;
}

.v-space-hint .v-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 7px;
  border-radius: 5px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  font-family: var(--mono, monospace);
  font-size: 11px;
  font-weight: 600;
  color: var(--text);
  box-shadow: 0 1px 2px color-mix(in srgb, var(--text) 15%, transparent);
}

.voice-privacy-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--success) 10%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
  color: var(--success);
  max-width: 220px;
  line-height: 1.3;
}

.voice-privacy-note svg {
  flex-shrink: 0;
}

/* makanlab */
[data-theme="makan-lab"] .v-space-hint {
  color: var(--muted, #94a3b8);
}

/* makanlab */
[data-theme="makan-lab"] .v-space-hint .v-kbd {
  background: var(--surface2, #0d1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  color: var(--text, #fff);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* makanlab */
[data-theme="makan-lab"] .voice-privacy-note {
  background: rgba(35, 134, 54, 0.12);
  border: 1px solid rgba(46, 160, 67, 0.3);
  color: #3fb950;
}

@media (max-width: 600px) {
  .v-action-dock {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    justify-items: center;
    gap: 6px;
    padding: 0 4px;
  }
  .v-space-hint {
    display: none;
  }
  .v-dock-flank {
    min-width: 0;
  }
  .v-status-line {
    max-width: calc(100% - 16px);
    font-size: 11.5px;
    padding: 3px 10px;
    min-height: 26px;
  }
}

/* ==================== VOICE STATUS STRIP (ITEM 4) ==================== */
.voice-status-strip {
  margin-block-start: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 8px 14px;
  background: var(--surface-card, #091428);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  border-radius: 12px;
  font-size: 12px;
  color: var(--muted, #94a3b8);
  width: 100%;
  box-sizing: border-box;
}

.voice-status-items {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

.voice-status-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text, #fff);
  font-size: 12px;
  white-space: nowrap;
}

.voice-status-item bdi {
  font-weight: 600;
}

.voice-status-sep {
  color: var(--border2, rgba(28, 64, 118, 0.45));
  font-size: 11px;
}

.voice-status-info {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--muted, #94a3b8);
}

.voice-status-info-icon {
  flex-shrink: 0;
  color: var(--accent, #38bdf8);
}

@media (max-width: 700px) {
  .voice-status-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

@media (max-width: 480px) {
  .voice-status-strip {
    padding: 8px 10px;
  }
  .voice-status-item {
    white-space: normal;
    word-break: break-word;
  }
  .voice-status-sep {
    display: none;
  }
}

/* ==================== SCREEN TAB REDESIGN (STAGE 1) ==================== */
.screen-page-header {
  margin-block-end: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.screen-page-title {
  margin: 0;
  font-family: var(--display, system-ui, sans-serif);
  font-size: 24px;
  font-weight: 700;
  color: var(--text, #f1f5f9);
  letter-spacing: -0.02em;
}

.screen-page-sub {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted, #94a3b8);
  line-height: 1.5;
}

/* Browser Mode Banner */
.screen-browser-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px;
  margin-bottom: 18px;
  background: color-mix(in srgb, var(--accent) 8%, var(--surface2));
  border: 1px solid var(--accent-line, color-mix(in srgb, var(--accent) 25%, transparent));
  border-radius: var(--r-m, 12px);
  color: var(--text);
  font-size: 12.5px;
  line-height: 1.5;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--text) 6%, transparent);
}

.screen-banner-icon {
  flex-shrink: 0;
  color: var(--accent);
  pointer-events: none;
}

.screen-banner-text strong {
  color: var(--accent);
}

/* 2-Column Grid Layout */
.screen-grid {
  display: grid;
  grid-template-columns: minmax(300px, 380px) 1fr;
  gap: 18px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 960px) {
  .screen-grid {
    grid-template-columns: 1fr;
  }
}

/* Left Column: Controls Card */
.screen-controls-card {
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: var(--r-m, 14px);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 16px 40px color-mix(in srgb, var(--text) 8%, transparent);
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

/* Big Primary Capture Button */
.screen-launch-btn {
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  background: var(--accent);
  border: 1px solid var(--accent);
  color: var(--on-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  box-shadow: 0 4px 20px color-mix(in srgb, var(--accent) 35%, transparent);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.screen-launch-btn:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  box-shadow: 0 6px 26px color-mix(in srgb, var(--accent) 50%, transparent);
  transform: translateY(-1px);
}

.screen-launch-btn:active {
  transform: translateY(0);
}

.screen-shortcut-tag {
  text-align: center;
  margin-top: -6px;
}

.screen-kbd {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 6px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted);
}

.screen-desktop-req-line {
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  color: var(--muted);
  margin-top: 6px;
  margin-bottom: 2px;
}

.screen-app-link {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
  transition: color 0.15s ease;
}

.screen-app-link:hover {
  color: var(--accent-dark);
}

.screen-app-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Light themes: use high-contrast token (>= 4.5) for link and hover/focus states */
[data-theme="light"] .screen-app-link,
[data-theme="platinum-blue"] .screen-app-link,
[data-theme="champagne-minimal"] .screen-app-link {
  color: var(--accent-dark);
}

[data-theme="light"] .screen-app-link:hover,
[data-theme="light"] .screen-app-link:focus,
[data-theme="light"] .screen-app-link:focus-visible,
[data-theme="platinum-blue"] .screen-app-link:hover,
[data-theme="platinum-blue"] .screen-app-link:focus,
[data-theme="platinum-blue"] .screen-app-link:focus-visible,
[data-theme="champagne-minimal"] .screen-app-link:hover,
[data-theme="champagne-minimal"] .screen-app-link:focus,
[data-theme="champagne-minimal"] .screen-app-link:focus-visible {
  color: var(--text);
}

.screen-launch-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: auto;
  box-shadow: none;
  transform: none;
}

/* Language and Engine controls */
.screen-ctrl-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: 10px;
}

.screen-lang-row {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
}

.screen-select {
  flex: 1;
  min-width: 0;
  height: 36px;
  padding: 0 8px;
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: 8px;
  color: var(--text);
  font-size: 12.5px;
}

.screen-swap-btn {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--surface);
  border: 1px solid var(--border2);
  color: var(--accent);
  cursor: pointer;
  padding: 0;
}

.screen-swap-btn:hover {
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  border-color: var(--accent);
}

.screen-engine-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.screen-ctrl-lbl {
  font-size: 11.5px;
  color: var(--muted);
  font-family: var(--mono, monospace);
  flex-shrink: 0;
}

/* Capture Mode List */
.screen-mode-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.screen-sec-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--mono, monospace);
}

.screen-mode-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.screen-mode-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  cursor: pointer;
  transition: all 0.18s ease;
  user-select: none;
}

.screen-mode-card:hover {
  background: color-mix(in srgb, var(--accent) 8%, var(--surface2));
  border-color: color-mix(in srgb, var(--accent) 35%, transparent);
}

.screen-mode-card.on {
  background: color-mix(in srgb, var(--accent) 12%, var(--surface2));
  border: 1px solid var(--accent);
  box-shadow: 0 0 16px color-mix(in srgb, var(--accent) 20%, transparent);
}

.screen-mode-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--text) 6%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  flex-shrink: 0;
  pointer-events: none;
}

.screen-mode-card.on .screen-mode-icon {
  background: color-mix(in srgb, var(--accent) 18%, var(--surface2));
  color: var(--accent);
}

.screen-mode-info {
  flex: 1;
  min-width: 0;
}

.screen-mode-name {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text);
}

.screen-mode-desc {
  font-size: 11.5px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="platinum-blue"] .screen-mode-desc,
[data-theme="champagne-minimal"] .screen-mode-desc {
  color: var(--text);
  opacity: 0.82;
}

.screen-mode-status.ready {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--success);
  background: color-mix(in srgb, var(--success) 12%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

.screen-mode-radio {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid var(--border2);
  flex-shrink: 0;
  pointer-events: none;
}

.screen-mode-card.on .screen-mode-radio {
  border-color: var(--accent);
  background: radial-gradient(circle, var(--accent) 40%, transparent 45%);
}

/* Active reading row button */
.screen-nav-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--success) 8%, var(--surface2));
  border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
  color: var(--success);
  cursor: pointer;
  text-align: start;
  width: 100%;
  transition: all 0.18s ease;
  box-sizing: border-box;
}

.screen-nav-row:hover {
  background: color-mix(in srgb, var(--success) 14%, var(--surface2));
  border-color: color-mix(in srgb, var(--success) 45%, transparent);
}

.screen-nav-icon {
  flex-shrink: 0;
  pointer-events: none;
}

.screen-nav-text {
  flex: 1;
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.screen-nav-arrow {
  font-size: 16px;
  opacity: 0.7;
}

/* Overlay toggle row */
.screen-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: 10px;
}

.screen-toggle-info {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}

.screen-toggle-icon {
  color: var(--muted);
  pointer-events: none;
}

/* Privacy card */
.screen-privacy-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: 10px;
  font-size: 12px;
  color: var(--muted);
}

.screen-privacy-icon {
  color: var(--accent);
  flex-shrink: 0;
  pointer-events: none;
}

.screen-privacy-text {
  flex: 1;
  line-height: 1.4;
}

/* Right Column: Preview & Recent Captures */
.screen-preview-column {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
  max-width: 100%;
}

.screen-preview-card,
.screen-recent-card {
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: var(--r-m, 14px);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 16px 40px color-mix(in srgb, var(--text) 8%, transparent);
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

.screen-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.screen-card-title {
  font-family: var(--display, system-ui, sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}

.screen-toolbar,
.screen-recent-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.screen-tool-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.screen-tool-btn:hover {
  color: var(--text);
  border-color: var(--accent);
}

/* Scene Viewport Container */
.screen-scene-viewport {
  position: relative;
  min-height: 320px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border2);
  background: hsl(222, 47%, 5%);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  --text: hsl(210, 40%, 96%);
  --muted: hsl(215, 20%, 82%);
  --accent: hsl(199, 89%, 60%);
}

/* Simulated Screen Background */
.screen-scene-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 30%, hsla(222, 64%, 33%, 0.4) 0%, transparent 60%),
              radial-gradient(circle at 20% 80%, hsla(222, 47%, 11%, 0.8) 0%, transparent 70%),
              linear-gradient(180deg, hsl(220, 52%, 8%) 0%, hsl(225, 48%, 4%) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.screen-scene-target-box {
  border: 1.5px dashed hsl(199, 89%, 60%);
  border-radius: 6px;
  padding: 6px 14px;
  background: hsla(199, 89%, 48%, 0.12);
  box-shadow: 0 0 20px hsla(199, 89%, 60%, 0.25);
  pointer-events: none;
}

.screen-target-text {
  font-family: system-ui, sans-serif;
  font-size: 14px;
  color: var(--text);
  font-weight: 500;
}

/* Result Overlay Box */
.screen-result-overlay {
  position: relative;
  z-index: 10;
  max-width: 420px;
  width: 90%;
  background: hsla(219, 44%, 8%, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid hsla(199, 89%, 60%, 0.45);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 12px 36px hsla(0, 0%, 0%, 0.6), 0 0 24px hsla(217, 91%, 60%, 0.25);
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
  animation: calmFade 0.25s ease-out;
}

.screen-ov-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.screen-ov-lang-lbl {
  font-family: var(--mono, monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--muted);
  text-transform: uppercase;
}

.screen-ov-close-btn {
  background: transparent;
  border: none;
  color: var(--muted);
  cursor: pointer;
  padding: 2px 4px;
  font-size: 12px;
  border-radius: 4px;
}

.screen-ov-close-btn:hover {
  color: var(--text);
  background: hsla(0, 0%, 100%, 0.08);
}

.screen-ov-input-box {
  background: hsla(222, 47%, 11%, 0.7);
  border: 1px solid hsla(0, 0%, 100%, 0.08);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13.5px;
  color: var(--text);
  line-height: 1.4;
}

.screen-ov-arrow-divider {
  text-align: center;
  color: var(--accent);
  font-size: 14px;
  margin: -2px 0;
  pointer-events: none;
}

.screen-ov-trans-box {
  background: hsla(217, 91%, 60%, 0.12);
  border: 1px solid hsla(199, 89%, 60%, 0.25);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.5;
}

.screen-ov-meta-strip {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid hsla(0, 0%, 100%, 0.08);
}

.screen-meta-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: hsla(0, 0%, 100%, 0.06);
  border: 1px solid hsla(0, 0%, 100%, 0.1);
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted);
}

.screen-ov-act-btn {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: hsla(0, 0%, 100%, 0.05);
  border: 1px solid hsla(0, 0%, 100%, 0.08);
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.screen-ov-act-btn:hover {
  color: var(--accent);
  background: hsla(199, 89%, 60%, 0.15);
  border-color: hsla(199, 89%, 60%, 0.3);
}

/* Recent Captures List */
.screen-captures-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.screen-capture-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  transition: all 0.18s ease;
}

.screen-capture-item:hover {
  background: color-mix(in srgb, var(--accent) 8%, var(--surface2));
  border-color: color-mix(in srgb, var(--accent) 25%, transparent);
}

.screen-capture-thumb {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 15%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--accent) 20%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  flex-shrink: 0;
  pointer-events: none;
}

.screen-capture-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.screen-capture-orig {
  font-size: 13px;
  color: var(--text);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
}

.screen-capture-arrow {
  color: var(--accent);
  font-size: 12px;
  pointer-events: none;
}

.screen-capture-trans {
  font-size: 13.5px;
  color: var(--accent);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}

[data-theme="platinum-blue"] .screen-capture-trans,
[data-theme="champagne-minimal"] .screen-capture-trans {
  color: var(--accent-dark);
}

.screen-capture-time {
  font-family: var(--mono, monospace);
  font-size: 11px;
  color: var(--muted);
  margin-inline-start: auto;
  white-space: nowrap;
}

.screen-capture-acts {
  display: flex;
  align-items: center;
  gap: 6px;
}

.screen-empty-captures {
  padding: 24px;
  text-align: center;
  color: var(--muted);
  font-size: 13px;
}

/* makanlab */
[data-theme="makan-lab"] .screen-browser-banner {
  background: rgba(30, 41, 59, 0.65); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.25); /* makanlab */
  color: var(--text, #f1f5f9); /* makanlab */
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-banner-icon {
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-banner-text strong {
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-controls-card,
/* makanlab */
[data-theme="makan-lab"] .screen-preview-card,
/* makanlab */
[data-theme="makan-lab"] .screen-recent-card {
  background: var(--surface, #0b111c); /* makanlab */
  border: 1px solid var(--border, rgba(255, 255, 255, 0.08)); /* makanlab */
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-launch-btn {
  background: linear-gradient(135deg, #1366e2 0%, #1773fa 50%, #2087ff 100%); /* makanlab */
  border: 1px solid rgba(147, 197, 253, 0.35); /* makanlab */
  color: #ffffff; /* makanlab */
  box-shadow: 0 4px 20px rgba(19, 102, 226, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-launch-btn:hover {
  background: linear-gradient(135deg, #1d72f0 0%, #2481ff 50%, #3b94ff 100%); /* makanlab */
  box-shadow: 0 6px 26px rgba(19, 102, 226, 0.55); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-kbd {
  background: rgba(255, 255, 255, 0.05); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.1); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ctrl-group {
  background: rgba(15, 23, 42, 0.6); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.05); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-select {
  background: var(--surface2, #142033); /* makanlab */
  border: 1px solid var(--border, rgba(255, 255, 255, 0.1)); /* makanlab */
  color: var(--text, #f1f5f9); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-swap-btn {
  background: var(--surface2, #142033); /* makanlab */
  border: 1px solid var(--border, rgba(255, 255, 255, 0.1)); /* makanlab */
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-swap-btn:hover {
  background: rgba(56, 189, 248, 0.15); /* makanlab */
  border-color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ctrl-lbl {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-sec-title {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-card {
  background: rgba(15, 23, 42, 0.5); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.05); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-card:hover {
  background: rgba(30, 41, 59, 0.6); /* makanlab */
  border-color: rgba(56, 189, 248, 0.3); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-card.on {
  background: linear-gradient(135deg, rgba(19, 102, 226, 0.16) 0%, rgba(14, 165, 233, 0.1) 100%); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.5); /* makanlab */
  box-shadow: 0 0 16px rgba(19, 102, 226, 0.2); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-icon {
  background: rgba(255, 255, 255, 0.04); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-card.on .screen-mode-icon {
  background: rgba(56, 189, 248, 0.18); /* makanlab */
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-name {
  color: var(--text, #f1f5f9); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-desc {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-status.ready {
  color: #10b981; /* makanlab */
  background: rgba(16, 185, 129, 0.12); /* makanlab */
  border: 1px solid rgba(16, 185, 129, 0.25); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-radio {
  border: 1.5px solid rgba(255, 255, 255, 0.25); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-mode-card.on .screen-mode-radio {
  border-color: var(--accent, #38bdf8); /* makanlab */
  background: radial-gradient(circle, var(--accent, #38bdf8) 40%, transparent 45%); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-nav-row {
  background: rgba(16, 185, 129, 0.06); /* makanlab */
  border: 1px solid rgba(16, 185, 129, 0.22); /* makanlab */
  color: #34d399; /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-nav-row:hover {
  background: rgba(16, 185, 129, 0.12); /* makanlab */
  border-color: rgba(16, 185, 129, 0.4); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-toggle-row {
  background: rgba(15, 23, 42, 0.5); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.05); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-toggle-info {
  color: var(--text, #f1f5f9); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-toggle-icon {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-privacy-card {
  background: rgba(15, 23, 42, 0.35); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.05); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-privacy-icon {
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-tool-btn {
  background: var(--surface2, #142033); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.08); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-tool-btn:hover {
  color: var(--text, #f1f5f9); /* makanlab */
  border-color: rgba(56, 189, 248, 0.3); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-scene-viewport {
  border: 1px solid rgba(255, 255, 255, 0.08); /* makanlab */
  background: #060911; /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-scene-bg {
  background: radial-gradient(circle at 70% 30%, rgba(30, 58, 138, 0.4) 0%, transparent 60%), /* makanlab */
              radial-gradient(circle at 20% 80%, rgba(15, 23, 42, 0.8) 0%, transparent 70%), /* makanlab */
              linear-gradient(180deg, #0a1120 0%, #050811 100%); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-scene-target-box {
  border: 1.5px dashed rgba(56, 189, 248, 0.6); /* makanlab */
  background: rgba(14, 165, 233, 0.08); /* makanlab */
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.25); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-target-text {
  color: rgba(255, 255, 255, 0.85); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-result-overlay {
  background: rgba(11, 17, 28, 0.94); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.45); /* makanlab */
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6), 0 0 24px rgba(19, 102, 226, 0.25); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-lang-lbl {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-close-btn {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-close-btn:hover {
  color: var(--text, #f1f5f9); /* makanlab */
  background: rgba(255, 255, 255, 0.08); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-input-box {
  background: rgba(15, 23, 42, 0.7); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.08); /* makanlab */
  color: var(--text, #f1f5f9); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-arrow-divider {
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-trans-box {
  background: rgba(19, 102, 226, 0.12); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.25); /* makanlab */
  color: #ffffff; /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-meta-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.08); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-meta-pill {
  background: rgba(255, 255, 255, 0.06); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.1); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-act-btn {
  background: rgba(255, 255, 255, 0.05); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.08); /* makanlab */
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-ov-act-btn:hover {
  color: var(--accent, #38bdf8); /* makanlab */
  background: rgba(56, 189, 248, 0.15); /* makanlab */
  border-color: rgba(56, 189, 248, 0.3); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-item {
  background: rgba(15, 23, 42, 0.5); /* makanlab */
  border: 1px solid rgba(255, 255, 255, 0.05); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-item:hover {
  background: rgba(30, 41, 59, 0.6); /* makanlab */
  border-color: rgba(56, 189, 248, 0.25); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-thumb {
  background: rgba(19, 102, 226, 0.15); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.2); /* makanlab */
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-orig {
  color: var(--text, #f1f5f9); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-arrow {
  color: var(--accent, #38bdf8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-trans {
  color: #38bdf8; /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-capture-time {
  color: var(--muted, #94a3b8); /* makanlab */
}
/* makanlab */
[data-theme="makan-lab"] .screen-empty-captures {
  color: var(--muted, #94a3b8); /* makanlab */
}

/* Responsive adjustments for narrow widths (360px, 700px) */
@media (max-width: 700px) {
  .screen-controls-card,
  .screen-preview-card,
  .screen-recent-card {
    padding: 12px 10px;
  }
  .screen-capture-orig,
  .screen-capture-trans {
    max-width: 140px;
  }
}

@media (max-width: 480px) {
  .screen-page-title {
    font-size: 20px;
  }
  .screen-browser-banner {
    padding: 8px 10px;
    font-size: 12px;
  }
  .screen-capture-item {
    flex-wrap: wrap;
    gap: 8px;
  }
  .screen-capture-meta {
    width: 100%;
  }
  .screen-capture-orig,
  .screen-capture-trans {
    max-width: 100%;
    white-space: normal;
  }
}

/* ==========================================================================
   STAGE 2: Settings Sub-pages (Engines, Voices, OCR)
   ========================================================================== */

.settings-autosave-notice {
  transition: opacity 0.25s ease, transform 0.25s ease;
  opacity: 0;
  display: inline-flex !important;
  pointer-events: none;
}
.settings-autosave-notice.visible {
  opacity: 1;
}

.eng-key-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.eng-key-last4 {
  position: absolute;
  inset-inline-end: 34px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--accent);
  pointer-events: none;
}
.eng-key-toggle-btn {
  position: absolute;
  inset-inline-end: 4px;
  width: 26px;
  height: 26px;
  padding: 0;
  min-height: 0;
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.eng-key-toggle-btn:hover {
  color: var(--text);
}

.ocr-status-card {
  transition: border-color 0.2s ease, background 0.2s ease;
}
.ocr-badge {
  font-weight: 600;
}

/* Modal styling & responsive sub-pages */
#ov {
  overflow-x: hidden;
  box-sizing: border-box;
}

#ov .modal {
  position: relative;
  max-width: 860px;
  width: min(860px, calc(100vw - 20px));
  box-sizing: border-box;
  overflow-x: hidden;
  min-width: 0;
}

.set-tabs-nav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 0 12px;
  margin: 6px 0 14px;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: var(--surface, #0B111C);
  z-index: 20;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.set-tab-btn,
.settings-nav-tab,
.set-tab-extra {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--muted);
  border-radius: var(--r-s, 6px);
  padding: 7px 14px;
  font-size: 12.5px;
  font-weight: 600;
  transition: all 0.15s ease;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}
.set-tab-btn:hover,
.settings-nav-tab:hover,
.set-tab-extra:hover {
  background: var(--surface3);
  color: var(--text);
}
.set-tab-btn:focus-visible,
.settings-nav-tab:focus-visible,
.set-tab-extra:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.set-tab-btn.active,
.settings-nav-tab.active,
.set-tab-extra.active {
  background: var(--selected);
  border-color: var(--accent);
  color: var(--text);
  box-shadow: 0 0 12px rgba(92, 194, 255, 0.15);
}
[data-theme="makan-lab"] .set-tab-btn.active,
[data-theme="makan-lab"] .settings-nav-tab.active,
[data-theme="makan-lab"] .set-tab-extra.active {
  background: var(--surface3);
  border-color: var(--accent);
  color: var(--accent);
}

/* Tabbed single section display while preserving DOM visibility for testing */
.set-section {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.set-section:not(.active) {
  display: none !important;
  visibility: hidden;
}
.set-section.active {
  display: block !important;
  visibility: visible;
}

.voice-lic-note {
  font-family: var(--font-sans);
  font-weight: 500;
}

@media (max-width: 600px) {
  .ov, #ov {
    padding: 12px 6px;
    overflow-x: hidden;
  }
  #ov .modal {
    padding: 16px 12px;
    width: 100%;
    max-width: calc(100vw - 12px);
    box-sizing: border-box;
    overflow-x: hidden;
    min-width: 0;
  }
  .set-section {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .set-section .row {
    flex-wrap: wrap !important;
  }
  .set-section input,
  .set-section select {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .eng-b {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  .eng-b > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .eng-h {
    gap: 6px !important;
  }
  .eng-key-wrap input {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .set-tabs-nav {
    padding-bottom: 8px;
    margin-bottom: 10px;
    gap: 6px;
  }
  .set-tab-btn,
  .settings-nav-tab,
  .set-tab-extra {
    padding: 6px 10px;
    font-size: 11.5px;
  }
  .settings-modal-footer {
    flex-direction: column;
    gap: 12px;
    align-items: stretch !important;
  }
  .settings-modal-footer button {
    width: 100%;
  }
}

/* ==========================================================================
   STAGE 3: Model Hub Redesign
   ========================================================================== */

.models-hub-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-l);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-shadow: var(--shadow);
}

.models-hub-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 18px;
}

.models-hub-title-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.models-hub-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(8, 168, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  flex-shrink: 0;
}

.models-hub-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 4px;
  color: var(--text);
}

.models-hub-sub {
  margin: 0;
  color: var(--muted);
  font-size: 13.5px;
}

.models-hub-storage-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--r-s);
  font-size: 12.5px;
  flex-wrap: wrap;
}

.models-hub-storage-item {
  display: flex;
  align-items: center;
  gap: 6px;
}
.models-hub-storage-item .storage-lbl {
  color: var(--muted);
}
.models-hub-storage-item .storage-val {
  color: var(--text);
  font-family: var(--mono);
}
.models-hub-privacy-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--accent);
  font-size: 11.5px;
  margin-inline-start: auto;
}

.models-hub-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 2px 0;
}
.hub-filter-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--muted);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.hub-filter-btn:hover {
  background: var(--surface3);
  color: var(--text);
}
.hub-filter-btn.active {
  background: var(--surface3);
  border-color: var(--accent);
  color: var(--accent);
  box-shadow: 0 0 10px rgba(92, 194, 255, 0.2);
}

.models-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.hub-model-card {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.hub-model-card:hover {
  border-color: var(--border2);
  box-shadow: var(--shadow);
}
.hub-model-card[data-state="ready"] {
  border-color: rgba(63, 185, 80, 0.35);
  background: linear-gradient(180deg, rgba(63, 185, 80, 0.04) 0%, var(--surface2) 100%);
}

.hub-model-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.hub-model-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.hub-model-name {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text);
}
.hub-model-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.hub-pill {
  font-size: 10.5px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 10px;
  line-height: 1.3;
}
.hub-pill.ready { background: color-mix(in srgb, var(--success) 15%, transparent); color: var(--success); }
.hub-pill.busy { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); }
.hub-pill.failed { background: color-mix(in srgb, var(--danger) 15%, transparent); color: var(--danger); }
.hub-pill.none { background: var(--surface3); color: var(--muted); }
.hub-pill.cat { background: var(--surface3); color: var(--text); }
.hub-pill.lic { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); font-family: var(--mono); }
.hub-pill.rec { background: color-mix(in srgb, var(--accent) 15%, transparent); color: var(--accent); }
.hub-pill.warn { background: color-mix(in srgb, var(--warning) 15%, transparent); color: var(--warning); }

.hub-model-meta {
  font-size: 11.5px;
  color: var(--muted);
  line-height: 1.4;
}
.hub-model-desc {
  font-size: 12.5px;
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
  flex-grow: 1;
}

.hub-prog {
  margin-top: 4px;
}
.hub-prog-meta {
  font-size: 11px;
  color: var(--accent);
  font-family: var(--mono);
}

.hub-model-actions {
  display: flex;
  gap: 8px;
  margin-top: auto;
  align-items: center;
}
.hub-act-btn {
  padding: 6px 14px;
  font-size: 12.5px;
}
.hub-btn-rm.confirming {
  background: rgba(248, 81, 73, 0.2) !important;
  border-color: #F85149 !important;
  color: #F85149 !important;
}

@media (max-width: 700px) {
  .models-hub-card {
    padding: 16px 12px;
  }
  .models-hub-grid {
    grid-template-columns: 1fr;
  }
  .models-hub-storage-bar {
    flex-direction: column;
    align-items: flex-start;
  }
  .models-hub-privacy-badge {
    margin-inline-start: 0;
  }
}

/* ==========================================================================
   STAGE 4: WELCOME WIZARD (First Run Experience)
   ========================================================================== */
.welcome-ov {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(3, 7, 18, 0.82);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 16px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.welcome-ov.on {
  opacity: 1;
  visibility: visible;
}
.welcome-ov[hidden] {
  display: none !important;
}

.welcome-modal {
  position: relative;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4), 0 0 40px rgba(8, 168, 255, 0.12);
  width: 100%;
  max-width: 680px;
  max-height: 90vh;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  color: var(--text);
}

.welcome-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.welcome-step-indicator {
  display: flex;
  align-items: center;
  gap: 10px;
}
.welcome-step-indicator .step-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--surface2);
  border: 1.5px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
}
.welcome-step-indicator .step-dot::before {
  content: attr(data-step);
  pointer-events: none;
}
.welcome-step-indicator .step-dot.active {
  background: #08A8FF;
  border-color: #08A8FF;
  color: #fff;
  box-shadow: 0 0 16px rgba(8, 168, 255, 0.55);
  transform: scale(1.08);
}
.welcome-step-indicator .step-dot.passed {
  background: #3FB950;
  border-color: #3FB950;
  color: #fff;
}
.welcome-step-indicator .step-dot.passed::before {
  content: "✓";
  pointer-events: none;
}

.welcome-skip-btn {
  font-size: 12.5px;
  color: var(--text-dim, #B5C2D4);
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
}
.welcome-skip-btn:hover {
  color: var(--accent, #08A8FF);
}

.welcome-steps-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.welcome-step-pane {
  display: flex;
  flex-direction: column;
}
.welcome-step-pane[hidden] {
  display: none !important;
}

.welcome-step-icon {
  font-size: 36px;
  margin-bottom: 8px;
  pointer-events: none;
}

.welcome-step-title {
  margin: 0 0 6px 0;
  font-size: 20px;
  font-weight: 800;
  color: var(--text, #fff);
  letter-spacing: -0.01em;
}

.welcome-step-sub {
  margin: 0 0 20px 0;
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.5;
}

.welcome-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.welcome-choice-card {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  position: relative;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s, transform 0.15s;
}
.welcome-choice-card input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.welcome-choice-card:hover {
  border-color: var(--accent);
  background: var(--hover);
}
.welcome-choice-card.active {
  border-color: var(--accent);
  background: var(--selected);
  box-shadow: 0 0 18px rgba(8, 168, 255, 0.2);
}

.choice-card-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.choice-card-content strong {
  font-size: 14px;
  color: var(--text);
}
.choice-card-content span {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.4;
}

.choice-badge {
  align-self: flex-start;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--accent) 15%, transparent);
  color: var(--accent);
  font-weight: 600;
}
.choice-badge.ok {
  background: color-mix(in srgb, var(--success) 15%, transparent);
  color: var(--success);
}

.welcome-privacy-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  margin-top: 14px;
  font-size: 12.5px;
  border: 1px solid color-mix(in srgb, var(--success) 35%, transparent);
  background: color-mix(in srgb, var(--success) 8%, var(--surface));
  color: var(--success);
  transition: all 0.25s ease;
}
.welcome-privacy-notice .privacy-icon {
  font-size: 16px;
  flex-shrink: 0;
  pointer-events: none;
}
.welcome-privacy-notice .privacy-text {
  line-height: 1.4;
}

.welcome-summary-card {
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.welcome-summary-card .summary-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13.5px;
}
.welcome-summary-card .summary-lbl {
  color: var(--muted);
}
.welcome-summary-card .summary-val {
  color: var(--text);
  font-weight: 700;
}

.welcome-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 1px solid var(--border);
  margin-top: 20px;
  gap: 10px;
}
.welcome-footer .btn.cta {
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 700;
  padding: 9px 22px;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(8, 168, 255, 0.35); /* makanlab */
  border: none;
  cursor: pointer;
}
.welcome-footer .btn.cta:hover {
  filter: brightness(1.1);
}

.welcome-how-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.welcome-how-card {
  background: var(--surface2);
  border: 1px solid var(--border2);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}
.welcome-how-card .how-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.welcome-how-card .how-card-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}
.welcome-how-card strong {
  font-size: 13.5px;
  color: var(--text);
  font-weight: 700;
}
.welcome-how-card p {
  margin: 0;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
}

@media (max-width: 600px) {
  .welcome-ov {
    padding: 10px;
    overflow-x: hidden;
  }
  .welcome-modal {
    padding: 16px 14px;
    max-height: 94vh;
    overflow-x: hidden;
    border-radius: 14px;
  }
  .welcome-cards-grid {
    grid-template-columns: 1fr;
  }
  .welcome-how-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .welcome-step-title {
    font-size: 17px;
  }
  .welcome-header {
    gap: 8px;
    margin-bottom: 14px;
    padding-bottom: 10px;
  }
  .welcome-step-indicator {
    gap: 6px;
  }
  .welcome-step-indicator .step-dot {
    width: 24px;
    height: 24px;
    font-size: 11px;
  }
  .welcome-footer {
    padding-top: 14px;
    margin-top: 16px;
  }
}

/* ==========================================================================
   Unified Language Picker Component (Item 2)
   ========================================================================== */

.unified-lang-picker {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  min-width: 120px;
  max-width: 220px;
  flex: 1 1 auto;
  position: relative;
  box-sizing: border-box;
}

.unified-lang-picker .lang-picker-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 11px;
  line-height: 1.2;
  color: var(--muted, #8ea3bf);
  padding: 0 2px;
  min-height: 16px;
}

.unified-lang-picker .lang-picker-lbl {
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted, #8ea3bf);
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.unified-lang-picker .lang-picker-lbl bdi {
  color: var(--faint, #5e6b7e);
  font-size: 10px;
  font-weight: 500;
}

.unified-lang-picker .lang-detected-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  color: var(--accent, #08A8FF);
  background: rgba(8, 168, 255, 0.12);
  border: 1px solid rgba(8, 168, 255, 0.35);
  border-radius: 4px;
  padding: 1px 6px;
  font-weight: 600;
  white-space: nowrap;
}

.unified-lang-picker .lang-detected-badge[hidden] {
  display: none !important;
}

.unified-lang-box {
  position: relative;
  width: 100%;
  height: 38px;
  display: flex;
  align-items: center;
  border-radius: 10px;
  background: var(--surface2, #0e1e38);
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45));
  box-sizing: border-box;
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.unified-lang-box:hover,
.unified-lang-box:focus-within {
  border-color: var(--accent, #08A8FF);
  box-shadow: 0 0 0 1px rgba(8, 168, 255, 0.25);
}

.unified-lang-box .lang-picker-display {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  pointer-events: none;
  z-index: 1;
  color: var(--text, #fff);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
}

.unified-lang-box .lang-display-inner {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.unified-lang-box .lang-fa {
  font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text, #fff);
  font-weight: 600;
}

.unified-lang-box .lang-en {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--muted, #93a1b5);
  font-weight: 500;
  font-size: 11.5px;
}

.unified-lang-box .lang-picker-arrow {
  color: var(--muted, #8ea3bf);
  font-size: 11px;
  flex-shrink: 0;
  margin-inline-start: 6px;
}

.unified-lang-box select.unified-select {
  position: relative;
  z-index: 2;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 10px !important;
  opacity: 1 !important;
  color: transparent !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
}

.unified-lang-box select.unified-select option {
  color: #fff;
  background: #0e1e38;
}

.trans-lang-grp,
.voice-lang-grp,
.sub-lang-grp,
.doc-lang-grp,
.screen-lang-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 480px) {
  .unified-lang-picker {
    min-width: 100px;
  }
  .unified-lang-box {
    height: 36px;
  }
  .unified-lang-box .lang-picker-display {
    padding: 0 8px;
    font-size: 12px;
  }
  .unified-lang-box .lang-en {
    font-size: 10.5px;
  }
  .trans-lang-grp,
  .voice-lang-grp,
  .sub-lang-grp,
  .doc-lang-grp,
  .screen-lang-row {
    gap: 4px;
  }
}

/* Item 6: Compact horizontal layout for Document language pickers to preserve vertical fold */
.doc-lang-grp {
  align-items: center !important;
  gap: 8px;
}
.doc-lang-grp .unified-lang-picker {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.doc-lang-grp .lang-picker-topline {
  margin: 0;
  display: inline-flex;
  align-items: center;
}
.doc-lang-grp .lang-picker-lbl {
  font-size: 12px;
  color: var(--muted, #94a3b8);
  white-space: nowrap;
}
.doc-lang-grp .unified-lang-box {
  height: 38px;
}

/* Item 5: Position speak-notice above Voice bottom dock so it never occludes Talk buttons */
body:has(#tab-voice.on) .speak-notice,
.speak-notice.voice-mode {
  bottom: 210px;
}

/* ==========================================================================
   Theme Picker Component (Appearance Settings)
   ========================================================================== */

.theme-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.theme-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--r-s, 10px);
  color: var(--text);
  cursor: pointer;
  text-align: start;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  position: relative;
  user-select: none;
}
.theme-card:hover {
  background: var(--hover);
  border-color: var(--accent);
}
.theme-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.theme-card.active,
.theme-card[aria-checked="true"] {
  border-color: var(--accent);
  background: var(--selected);
  box-shadow: 0 0 0 1px var(--accent);
}
.theme-swatch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 5px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  flex-shrink: 0;
}
.theme-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid rgba(255, 255, 255, 0.2);
  flex-shrink: 0;
}
.theme-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.theme-name {
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text);
}
.theme-badge {
  font-size: 11px;
  color: var(--muted);
}
.theme-check {
  font-size: 14px;
  font-weight: bold;
  color: var(--accent);
  opacity: 0;
  margin-inline-start: auto;
  transition: opacity 0.15s ease;
}
.theme-card.active .theme-check,
.theme-card[aria-checked="true"] .theme-check {
  opacity: 1;
}

/* ==================== REMAINING TABS SWEEP (ITEM 5) ==================== */
/* High contrast overrides for light themes */
[data-theme="champagne-minimal"] .doc-drop-icon-wrap,
[data-theme="platinum-blue"] .doc-drop-icon-wrap,
[data-theme="champagne-minimal"] .doc-chip,
[data-theme="platinum-blue"] .doc-chip,
[data-theme="champagne-minimal"] .doc-size-pill,
[data-theme="platinum-blue"] .doc-size-pill,
[data-theme="champagne-minimal"] .models-hub-icon-wrap,
[data-theme="platinum-blue"] .models-hub-icon-wrap,
[data-theme="champagne-minimal"] .hub-filter-btn.active,
[data-theme="platinum-blue"] .hub-filter-btn.active,
[data-theme="champagne-minimal"] .hub-pill.busy,
[data-theme="platinum-blue"] .hub-pill.busy,
[data-theme="champagne-minimal"] .hub-pill.rec,
[data-theme="platinum-blue"] .hub-pill.rec,
[data-theme="champagne-minimal"] .choice-badge,
[data-theme="platinum-blue"] .choice-badge,
[data-theme="champagne-minimal"] .doc-badge.txt,
[data-theme="platinum-blue"] .doc-badge.txt,
[data-theme="champagne-minimal"] .doc-engine-mode-pill,
[data-theme="platinum-blue"] .doc-engine-mode-pill,
[data-theme="champagne-minimal"] .tier.freekey,
[data-theme="platinum-blue"] .tier.freekey {
  color: var(--accent-dark);
}

[data-theme="champagne-minimal"] .doc-badge.word,
[data-theme="platinum-blue"] .doc-badge.word {
  color: hsl(217, 85%, 35%);
  background: color-mix(in srgb, hsl(217, 85%, 35%) 10%, var(--surface));
  border-color: color-mix(in srgb, hsl(217, 85%, 35%) 30%, transparent);
}
[data-theme="champagne-minimal"] .doc-badge.ppt,
[data-theme="platinum-blue"] .doc-badge.ppt {
  color: hsl(24, 95%, 35%);
  background: color-mix(in srgb, hsl(24, 95%, 35%) 10%, var(--surface));
  border-color: color-mix(in srgb, hsl(24, 95%, 35%) 30%, transparent);
}
[data-theme="champagne-minimal"] .doc-badge.excel,
[data-theme="platinum-blue"] .doc-badge.excel {
  color: hsl(158, 85%, 28%);
  background: color-mix(in srgb, hsl(158, 85%, 28%) 10%, var(--surface));
  border-color: color-mix(in srgb, hsl(158, 85%, 28%) 30%, transparent);
}

[data-theme="champagne-minimal"] .hub-pill.ready,
[data-theme="platinum-blue"] .hub-pill.ready,
[data-theme="champagne-minimal"] .choice-badge.ok,
[data-theme="platinum-blue"] .choice-badge.ok,
[data-theme="champagne-minimal"] .welcome-privacy-notice,
[data-theme="platinum-blue"] .welcome-privacy-notice,
[data-theme="champagne-minimal"] .eng-status.ok,
[data-theme="platinum-blue"] .eng-status.ok,
[data-theme="champagne-minimal"] .tier.free,
[data-theme="platinum-blue"] .tier.free {
  color: hsl(134, 60%, 25%);
}
[data-theme="champagne-minimal"] .hub-pill.failed,
[data-theme="platinum-blue"] .hub-pill.failed,
[data-theme="champagne-minimal"] .eng-status.err,
[data-theme="platinum-blue"] .eng-status.err {
  color: hsl(3, 75%, 38%);
}
[data-theme="champagne-minimal"] .hub-pill.lic,
[data-theme="platinum-blue"] .hub-pill.lic {
  color: hsl(270, 60%, 35%);
}
[data-theme="champagne-minimal"] .hub-pill.warn,
[data-theme="platinum-blue"] .hub-pill.warn,
[data-theme="champagne-minimal"] .eng-status.warn,
[data-theme="platinum-blue"] .eng-status.warn,
[data-theme="champagne-minimal"] .tier.paid,
[data-theme="platinum-blue"] .tier.paid {
  color: var(--warning-text);
}

/* Light-theme Accent text on tinted/panel2/selected backgrounds */
[data-theme="champagne-minimal"] #swap,
[data-theme="platinum-blue"] #swap,
[data-theme="champagne-minimal"] .screen-swap-btn,
[data-theme="platinum-blue"] .screen-swap-btn,
[data-theme="champagne-minimal"] #screenSwapBtn,
[data-theme="platinum-blue"] #screenSwapBtn,
[data-theme="champagne-minimal"] #vSwap,
[data-theme="platinum-blue"] #vSwap,
[data-theme="champagne-minimal"] .models-hub-privacy-badge,
[data-theme="platinum-blue"] .models-hub-privacy-badge,
[data-theme="champagne-minimal"] .models-hub-privacy-badge span,
[data-theme="platinum-blue"] .models-hub-privacy-badge span,
[data-theme="champagne-minimal"] .screen-banner-text strong,
[data-theme="platinum-blue"] .screen-banner-text strong,
[data-theme="champagne-minimal"] .screen-banner-icon,
[data-theme="platinum-blue"] .screen-banner-icon,
[data-theme="champagne-minimal"] .trans-status-info-icon,
[data-theme="platinum-blue"] .trans-status-info-icon,
[data-theme="champagne-minimal"] .screen-mode-card.on .screen-mode-name,
[data-theme="platinum-blue"] .screen-mode-card.on .screen-mode-name {
  color: var(--accent-dark);
}

/* Theme-level tokens for success/warning pill text */
[data-theme="platinum-blue"],
[data-theme="platinum-blue"] body,
[data-theme="platinum-blue"] .app-shell,
[data-theme="platinum-blue"] .modal,
[data-theme="platinum-blue"] .welcome-modal {
  --faint: #56708A;
  --muted: #455D77;
  --success-text: color-mix(in srgb, var(--success) 70%, var(--text));
  --warning-text: color-mix(in srgb, var(--warning) 60%, var(--text));
}

[data-theme="champagne-minimal"],
[data-theme="champagne-minimal"] body,
[data-theme="champagne-minimal"] .app-shell,
[data-theme="champagne-minimal"] .modal,
[data-theme="champagne-minimal"] .welcome-modal {
  --faint: #745F45;
  --muted: #65543F;
  --success-text: color-mix(in srgb, var(--success) 70%, var(--text));
  --warning-text: color-mix(in srgb, var(--warning) 60%, var(--text));
}

[data-theme="dracula"] {
  --success-text: color-mix(in srgb, var(--success) 70%, var(--text));
  --warning-text: color-mix(in srgb, var(--warning) 60%, var(--text));
}

[data-theme="rose-titanium"] {
  --success-text: color-mix(in srgb, var(--success) 70%, var(--text));
  --warning-text: color-mix(in srgb, var(--warning) 60%, var(--text));
}

[data-theme="royal-amethyst"] {
  --success-text: color-mix(in srgb, var(--success) 70%, var(--text));
  --warning-text: color-mix(in srgb, var(--warning) 60%, var(--text));
}

[data-theme="obsidian-gold"] {
  --success-text: color-mix(in srgb, var(--success) 70%, var(--text));
  --warning-text: color-mix(in srgb, var(--warning) 60%, var(--text));
}

:root:not([data-theme="makan-lab"]) .screen-mode-status.ready,
:root:not([data-theme="makan-lab"]) #screenModeRegionStatus,
:root:not([data-theme="makan-lab"]) #screenModeRegionStatus *,
:root:not([data-theme="makan-lab"]) .doc-engine-net-pill.online,
:root:not([data-theme="makan-lab"]) #tmPersistStatus,
:root:not([data-theme="makan-lab"]) #tabScreenOpenOcrBtn,
:root:not([data-theme="makan-lab"]) #tabScreenOpenOcrBtn * {
  color: var(--success-text);
}

:root:not([data-theme="makan-lab"]) .sub-coming-soon-badge,
:root:not([data-theme="makan-lab"]) #vVoiceReadyText,
:root:not([data-theme="makan-lab"]) .voice-ready-text,
:root:not([data-theme="makan-lab"]) .voice-status-chip.not-ready,
:root:not([data-theme="makan-lab"]) .voice-status-chip.not-ready *,
:root:not([data-theme="makan-lab"]) .hub-pill.warn {
  color: var(--warning-text);
}

:root:not([data-theme="makan-lab"]) .engine-picker-keys-link,
:root:not([data-theme="makan-lab"]) .engine-picker-hub-link {
  color: var(--text);
  text-decoration: underline;
}

:root:not([data-theme="makan-lab"]) .engine-picker-using {
  color: var(--text);
}

:root:not([data-theme="makan-lab"]) .engine-picker-test-btn {
  color: var(--text);
}

[data-theme="platinum-blue"] .bar label:not(.lang-picker-lbl),
[data-theme="platinum-blue"] .trans-bar label:not(.switch-lbl):not(.lang-picker-lbl),
[data-theme="platinum-blue"] .topbar-engine-lbl,
[data-theme="platinum-blue"] .sidebar-sec-h,
[data-theme="platinum-blue"] span.switch-txt,
[data-theme="platinum-blue"] .meta,
[data-theme="platinum-blue"] span.meta,
[data-theme="platinum-blue"] #tWordCount,
[data-theme="platinum-blue"] #tCount,
[data-theme="platinum-blue"] .trans-status-info,
[data-theme="platinum-blue"] .trans-status-info span,
[data-theme="platinum-blue"] .offline-model-hint,
[data-theme="platinum-blue"] .sub-prog-meta,
[data-theme="platinum-blue"] .doc-prog-meta,
[data-theme="platinum-blue"] .cue .n,
[data-theme="platinum-blue"] .cue .tm,
[data-theme="platinum-blue"] .cue .tr:empty::before,
[data-theme="platinum-blue"] .mdl-sub,
[data-theme="platinum-blue"] footer {
  color: #56708A;
}

[data-theme="champagne-minimal"] .bar label:not(.lang-picker-lbl),
[data-theme="champagne-minimal"] .trans-bar label:not(.switch-lbl):not(.lang-picker-lbl),
[data-theme="champagne-minimal"] .topbar-engine-lbl,
[data-theme="champagne-minimal"] .sidebar-sec-h,
[data-theme="champagne-minimal"] span.switch-txt,
[data-theme="champagne-minimal"] .meta,
[data-theme="champagne-minimal"] span.meta,
[data-theme="champagne-minimal"] #tWordCount,
[data-theme="champagne-minimal"] #tCount,
[data-theme="champagne-minimal"] .trans-status-info,
[data-theme="champagne-minimal"] .trans-status-info span,
[data-theme="champagne-minimal"] .offline-model-hint,
[data-theme="champagne-minimal"] .sub-prog-meta,
[data-theme="champagne-minimal"] .doc-prog-meta,
[data-theme="champagne-minimal"] .cue .n,
[data-theme="champagne-minimal"] .cue .tm,
[data-theme="champagne-minimal"] .cue .tr:empty::before,
[data-theme="champagne-minimal"] .mdl-sub,
[data-theme="champagne-minimal"] footer {
  color: #745F45;
}

:root:not([data-theme="makan-lab"]) .lang-picker-lbl,
:root:not([data-theme="makan-lab"]) .lang-picker-lbl bdi,
:root:not([data-theme="makan-lab"]) label.lang-picker-lbl,
:root:not([data-theme="makan-lab"]) .bar label.lang-picker-lbl,
:root:not([data-theme="makan-lab"]) .trans-bar label.lang-picker-lbl,
:root:not([data-theme="makan-lab"]) .voice-lang-grp .lang-picker-lbl,
:root:not([data-theme="makan-lab"]) .unified-lang-picker .lang-picker-lbl,
[data-theme="platinum-blue"] .lang-picker-lbl,
[data-theme="platinum-blue"] .lang-picker-lbl bdi,
[data-theme="platinum-blue"] label.lang-picker-lbl,
[data-theme="platinum-blue"] .bar label.lang-picker-lbl,
[data-theme="platinum-blue"] .unified-lang-picker .lang-picker-lbl,
[data-theme="platinum-blue"] .voice-lang-grp .lang-picker-lbl,
[data-theme="platinum-blue"] .screen-ctrl-lbl,
[data-theme="platinum-blue"] .storage-lbl,
[data-theme="platinum-blue"] .models-hub-storage-item .storage-lbl,
[data-theme="platinum-blue"] #tmCount,
[data-theme="platinum-blue"] [data-t="tmSavedCount"],
[data-theme="champagne-minimal"] .lang-picker-lbl,
[data-theme="champagne-minimal"] .lang-picker-lbl bdi,
[data-theme="champagne-minimal"] label.lang-picker-lbl,
[data-theme="champagne-minimal"] .bar label.lang-picker-lbl,
[data-theme="champagne-minimal"] .unified-lang-picker .lang-picker-lbl,
[data-theme="champagne-minimal"] .voice-lang-grp .lang-picker-lbl,
[data-theme="champagne-minimal"] .screen-ctrl-lbl,
[data-theme="champagne-minimal"] .storage-lbl,
[data-theme="champagne-minimal"] .models-hub-storage-item .storage-lbl,
[data-theme="champagne-minimal"] #tmCount,
[data-theme="champagne-minimal"] [data-t="tmSavedCount"] {
  color: var(--muted);
}

[data-theme="platinum-blue"] .hub-pill.none,
[data-theme="platinum-blue"] .welcome-choice-card .choice-card-content span,
[data-theme="champagne-minimal"] .hub-pill.none,
[data-theme="champagne-minimal"] .welcome-choice-card .choice-card-content span {
  color: color-mix(in srgb, var(--muted) 60%, var(--text));
}

[data-theme="champagne-minimal"] .choice-badge:not(.ok),
[data-theme="platinum-blue"] .choice-badge:not(.ok) {
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  color: var(--accent-dark);
}

[data-theme="platinum-blue"] .modal a,
[data-theme="champagne-minimal"] .modal a,
[data-theme="platinum-blue"] .eng a,
[data-theme="champagne-minimal"] .eng a,
[data-theme="platinum-blue"] span.tier.local,
[data-theme="platinum-blue"] span.tier.offline,
[data-theme="champagne-minimal"] span.tier.local,
[data-theme="champagne-minimal"] span.tier.offline {
  color: var(--accent-dark);
}

:root:not([data-theme="makan-lab"]) #btnSaveDone,
[data-theme="platinum-blue"] #btnSaveDone,
[data-theme="champagne-minimal"] #btnSaveDone,
[data-theme="dracula"] #btnSaveDone,
[data-theme="rose-titanium"] #btnSaveDone,
[data-theme="royal-amethyst"] #btnSaveDone,
[data-theme="obsidian-gold"] #btnSaveDone {
  background: var(--accent) !important;
  border: 1px solid var(--accent-dark) !important;
  color: var(--on-accent) !important;
}

:root:not([data-theme="makan-lab"]) #btnSaveDone bdi,
[data-theme="platinum-blue"] #btnSaveDone bdi,
[data-theme="champagne-minimal"] #btnSaveDone bdi,
[data-theme="dracula"] #btnSaveDone bdi,
[data-theme="rose-titanium"] #btnSaveDone bdi,
[data-theme="royal-amethyst"] #btnSaveDone bdi,
[data-theme="obsidian-gold"] #btnSaveDone bdi {
  color: var(--on-accent) !important;
}

[data-theme="dracula"] .screen-capture-trans,
[data-theme="rose-titanium"] .screen-capture-trans,
[data-theme="royal-amethyst"] .screen-capture-trans,
[data-theme="obsidian-gold"] .screen-capture-trans {
  color: var(--text);
}

[data-theme="dracula"] .bub.b .bub-orig,
[data-theme="dracula"] .bub.b .bub-orig-text,
[data-theme="dracula"] .bub.b .bub-tag,
[data-theme="dracula"] .bub.b .bub-time,
[data-theme="rose-titanium"] .bub.b .bub-orig,
[data-theme="rose-titanium"] .bub.b .bub-orig-text,
[data-theme="rose-titanium"] .bub.b .bub-tag,
[data-theme="rose-titanium"] .bub.b .bub-time,
[data-theme="royal-amethyst"] .bub.b .bub-orig,
[data-theme="royal-amethyst"] .bub.b .bub-orig-text,
[data-theme="royal-amethyst"] .bub.b .bub-tag,
[data-theme="royal-amethyst"] .bub.b .bub-time,
[data-theme="obsidian-gold"] .bub.b .bub-orig,
[data-theme="obsidian-gold"] .bub.b .bub-orig-text,
[data-theme="obsidian-gold"] .bub.b .bub-tag,
[data-theme="obsidian-gold"] .bub.b .bub-time {
  color: color-mix(in srgb, var(--text) 85%, var(--muted));
}

/* makan-lab exact original overrides */
[data-theme="makan-lab"] .doc-drop-area {
  border: 1.5px dashed rgba(56, 189, 248, 0.35); /* makanlab */
  background: radial-gradient(circle at 20% 50%, rgba(14, 165, 233, 0.08) 0%, rgba(9, 20, 40, 0.95) 70%); /* makanlab */
}
[data-theme="makan-lab"] .doc-drop-area:hover,
[data-theme="makan-lab"] .doc-drop-area.over {
  border-color: var(--accent, #38bdf8); /* makanlab */
  background: radial-gradient(circle at 20% 50%, rgba(14, 165, 233, 0.16) 0%, rgba(9, 20, 40, 0.95) 70%); /* makanlab */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3); /* makanlab */
}
[data-theme="makan-lab"] .doc-drop-icon-wrap {
  background: rgba(56, 189, 248, 0.12); /* makanlab */
  color: var(--cyan, #38bdf8); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.3); /* makanlab */
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.15); /* makanlab */
}
[data-theme="makan-lab"] .doc-drop-text strong {
  color: var(--text, #fff); /* makanlab */
}
[data-theme="makan-lab"] .doc-drop-text .hint {
  color: var(--muted, #94a3b8); /* makanlab */
}
[data-theme="makan-lab"] .doc-chip {
  background: rgba(56, 189, 248, 0.08); /* makanlab */
  color: var(--cyan, #38bdf8); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.22); /* makanlab */
}
[data-theme="makan-lab"] .doc-file-card {
  background: var(--surface-card, #091428); /* makanlab */
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25); /* makanlab */
}
[data-theme="makan-lab"] .doc-file-badge {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(129, 140, 248, 0.25)); /* makanlab */
  color: var(--accent, #38bdf8); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.35); /* makanlab */
}
[data-theme="makan-lab"] .doc-file-name {
  color: var(--text, #fff); /* makanlab */
}
[data-theme="makan-lab"] .doc-size-pill {
  color: var(--cyan, #38bdf8); /* makanlab */
  background: rgba(56, 189, 248, 0.1); /* makanlab */
  border: 1px solid rgba(56, 189, 248, 0.25); /* makanlab */
}
[data-theme="makan-lab"] .doc-fmt-grp label {
  color: var(--muted, #94a3b8); /* makanlab */
}
[data-theme="makan-lab"] .doc-fmt-grp select {
  background: var(--surface2, #0e1e38); /* makanlab */
  border: 1px solid var(--border2, rgba(28, 64, 118, 0.45)); /* makanlab */
  color: var(--text, #fff); /* makanlab */
}
[data-theme="makan-lab"] .models-hub-icon-wrap {
  background: rgba(8, 168, 255, 0.12); /* makanlab */
}
[data-theme="makan-lab"] .hub-pill.ready { background: rgba(63, 185, 80, 0.15); color: #3FB950; /* makanlab */ }
[data-theme="makan-lab"] .hub-pill.busy { background: rgba(92, 194, 255, 0.15); color: var(--accent); /* makanlab */ }
[data-theme="makan-lab"] .hub-pill.failed { background: rgba(248, 81, 73, 0.15); color: #F85149; /* makanlab */ }
[data-theme="makan-lab"] .hub-pill.lic { background: rgba(163, 113, 247, 0.15); color: #D2A8FF; /* makanlab */ }
[data-theme="makan-lab"] .hub-pill.rec { background: rgba(8, 168, 255, 0.15); color: var(--accent); /* makanlab */ }
[data-theme="makan-lab"] .hub-pill.warn { background: rgba(255, 180, 74, 0.15); color: #FFB44A; /* makanlab */ }
[data-theme="makan-lab"] .hub-model-desc {
  color: var(--text-dim, #B5C2D4); /* makanlab */
}
[data-theme="makan-lab"] .choice-badge {
  background: rgba(8, 168, 255, 0.15); /* makanlab */
  color: #08A8FF; /* makanlab */
}
[data-theme="makan-lab"] .choice-badge.ok {
  background: rgba(63, 185, 80, 0.15); /* makanlab */
  color: #3FB950; /* makanlab */
}
[data-theme="makan-lab"] .welcome-privacy-notice {
  border: 1px solid rgba(63, 185, 80, 0.35); /* makanlab */
  background: rgba(63, 185, 80, 0.08); /* makanlab */
  color: #3FB950; /* makanlab */
}
[data-theme="makan-lab"] .welcome-summary-card {
  background: #0E1726; /* makanlab */
  border: 1px solid rgba(28, 64, 118, 0.45); /* makanlab */
}
[data-theme="makan-lab"] .welcome-summary-card .summary-lbl {
  color: var(--text-dim, #B5C2D4); /* makanlab */
}
[data-theme="makan-lab"] .welcome-summary-card .summary-val {
  color: var(--text, #fff); /* makanlab */
}
[data-theme="makan-lab"] .welcome-how-card {
  background: #0E1726; /* makanlab */
  border: 1px solid rgba(28, 64, 118, 0.45); /* makanlab */
}
[data-theme="makan-lab"] .welcome-how-card strong {
  color: var(--text, #fff); /* makanlab */
}
[data-theme="makan-lab"] .welcome-how-card p {
  color: var(--text-dim, #B5C2D4); /* makanlab */
}
[data-theme="makan-lab"] .welcome-footer .btn.cta {
  background: linear-gradient(135deg, #08A8FF 0%, #0077FF 100%); /* makanlab */
  color: #fff; /* makanlab */
}

/* ==================== MEDIA TAB (ITEM 1) ==================== */
.media-page-header {
  margin-block-end: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.media-page-title {
  margin: 0;
  font-family: var(--display, 'Plus Jakarta Sans', system-ui);
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
html[lang="fa"] .media-page-title {
  font-family: 'Vazirmatn', system-ui;
  font-weight: 800;
}
.media-page-sub {
  margin: 0;
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.4;
}

/* Map MediaTranslate CSS variables to app tokens in ONE place */
#tab-media, .mt-root {
  --line: var(--border);
  --good: var(--success);
  --warn: var(--warning);
  --field-bg: var(--input);
  --list-bg: var(--surface);
  --video-bg: var(--bg);
}

/* Light theme contrast safety for Media tab (platinum-blue and champagne-minimal) */
[data-theme="platinum-blue"] #tab-media,
[data-theme="platinum-blue"] .mt-root,
[data-theme="champagne-minimal"] #tab-media,
[data-theme="champagne-minimal"] .mt-root {
  --good: var(--success-text);
  --warn: var(--warning-text);
}

[data-theme="platinum-blue"] #tab-media .mt-drop-or,
[data-theme="platinum-blue"] #tab-media .mt-btn-quiet,
[data-theme="platinum-blue"] #tab-media .mt-pv-time,
[data-theme="champagne-minimal"] #tab-media .mt-drop-or,
[data-theme="champagne-minimal"] #tab-media .mt-btn-quiet,
[data-theme="champagne-minimal"] #tab-media .mt-pv-time {
  color: var(--accent-dark);
}

[data-theme="platinum-blue"] #tab-media .mt-btn:not(.mt-btn-quiet),
[data-theme="champagne-minimal"] #tab-media .mt-btn:not(.mt-btn-quiet) {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--on-accent);
}

[data-theme="platinum-blue"] #tab-media .mt-btn:not(.mt-btn-quiet):hover,
[data-theme="champagne-minimal"] #tab-media .mt-btn:not(.mt-btn-quiet):hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  color: var(--on-accent);
  filter: brightness(0.95);
}

[data-theme="platinum-blue"] #tab-media .mt-btn-quiet:hover,
[data-theme="champagne-minimal"] #tab-media .mt-btn-quiet:hover {
  color: var(--accent-dark);
  background: var(--hover);
}

/* ==================== PHONE BOTTOM NAV CONTRAST (ITEM 6) ==================== */
html:not([data-theme]),
[data-theme="makan-lab"],
html[data-theme="makan-lab"] {
  --phone-nav-active: #08A8FF;
  --phone-nav-bg: #071022;
}

html[data-theme="platinum-blue"],
[data-theme="platinum-blue"] {
  --phone-nav-active: #0C4FAE !important;
  --phone-nav-bg: #F4F9FF !important;
}

html[data-theme="dracula"],
[data-theme="dracula"] {
  --phone-nav-active: #BD93F9 !important;
  --phone-nav-bg: #282A36 !important;
}

html[data-theme="champagne-minimal"],
[data-theme="champagne-minimal"] {
  --phone-nav-active: #754817 !important;
  --phone-nav-bg: #FBF7F1 !important;
}

html[data-theme="rose-titanium"],
[data-theme="rose-titanium"] {
  --phone-nav-active: #E187B1 !important;
  --phone-nav-bg: #20111B !important;
}

html[data-theme="royal-amethyst"],
[data-theme="royal-amethyst"] {
  --phone-nav-active: #A873F0 !important;
  --phone-nav-bg: #150D2C !important;
}

html[data-theme="obsidian-gold"],
[data-theme="obsidian-gold"] {
  --phone-nav-active: #E0B75A !important;
  --phone-nav-bg: #11100D !important;
}

