/*
 * ENTESHAR Platform
 * Designed & Developed by Web S
 */

:root {
  --primary: #e00714;
  --primary-dark: #b8000b;
  --primary-soft: #fff1f1;
  --ink: #0d0d0f;
  --ink-2: #202024;
  --muted: #66636a;
  --line: #dedbd5;
  --line-strong: #bdb9b2;
  --surface: #fffefa;
  --surface-2: #f5f2ec;
  --surface-3: #ece9e3;
  --danger: #d10a17;
  --warning: #a55b00;
  --success: #111113;
  --success-soft: #ece9e3;
  --shadow-sm: 0 10px 30px rgba(16, 13, 14, .07);
  --shadow-lg: 0 28px 70px rgba(16, 13, 14, .13);
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 26px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; background: var(--surface); }

body.poster-theme {
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: Manrope, Inter, system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  overflow-x: hidden;
}

html[lang="fa"] body.poster-theme {
  font-family: Vazirmatn, Tahoma, sans-serif;
  letter-spacing: 0;
}

button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.icon { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

.site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  height: 78px;
  background: rgba(255, 254, 250, .96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}

.site-header.scrolled { box-shadow: 0 8px 28px rgba(16, 13, 14, .06); }
.header-inner { height: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }

.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .16em; line-height: 1; }
html[lang="fa"] .brand { letter-spacing: 0; font-size: 1.1rem; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 11px; }
.brand-mark svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.main-nav { justify-self: center; display: flex; align-items: center; gap: 4px; }
.main-nav a { position: relative; padding: 9px 13px; color: #565159; border-radius: 9px; font-size: .87rem; font-weight: 650; transition: color .2s ease, background .2s ease; }
.main-nav a::after, .main-nav a::before { display: none !important; content: none !important; }
.main-nav a:hover { color: var(--ink); background: var(--surface-2); }
.main-nav a.active { color: #fff; background: var(--ink); }

.header-actions { display: flex; align-items: center; gap: 8px; }
.button, .icon-button, .row-menu, .text-link, .segmented button {
  border: 0;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.button::after, .button::before, .text-link::after, .main-nav a::after { content: none !important; display: none !important; }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 19px; border-radius: 10px; font-size: .85rem; font-weight: 750; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button-primary, .button-success { color: #fff; background: var(--primary); }
.button-primary:hover, .button-success:hover { background: var(--primary-dark); }
.button-secondary { color: var(--ink); background: #fff; border: 1px solid var(--line-strong); }
.button-secondary:hover { border-color: var(--ink); }
.button-ghost { color: var(--ink); background: transparent; }
.button-danger { color: var(--danger); background: #fff; border: 1px solid #e9a5aa; }
.button-small { min-height: 39px; padding-inline: 14px; font-size: .78rem; }
.button-wide { width: 100%; }
.icon-button, .row-menu { display: inline-grid; place-items: center; width: 42px; height: 42px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.icon-button:hover, .row-menu:hover { color: var(--primary); border-color: var(--primary); }
.menu-button { display: none; }
.language-button { width: 44px; font-size: .77rem; font-weight: 800; }
.skip-link { position: fixed; inset: 10px auto auto 10px; z-index: 1000; transform: translateY(-150%); padding: 9px 14px; color: #fff; background: var(--ink); border-radius: 8px; }
.skip-link:focus { transform: none; }

.mobile-menu { position: absolute; inset: 77px 0 auto; padding: 16px 24px 24px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.mobile-menu[hidden] { display: none; }
.mobile-menu > a { display: block; padding: 12px 3px; border-bottom: 1px solid var(--line); font-weight: 650; }
.mobile-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }

.view-enter { animation: view-in .36s ease both; }
@keyframes view-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }

.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--primary); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
html[lang="fa"] .eyebrow { letter-spacing: 0; }
.eyebrow::before { content: ''; width: 26px; height: 3px; background: currentColor; border-radius: 99px; }

/* Compact home */
.hero-v4 { position: relative; min-height: 620px; overflow: hidden; background: #f8f6f1; border-bottom: 1px solid var(--line); }
.hero-v4::before { content: ''; position: absolute; inset: 0; opacity: .34; background-image: repeating-linear-gradient(0deg, transparent 0 12px, rgba(13,13,15,.05) 13px); pointer-events: none; }
.hero-v4-grid { position: relative; min-height: 620px; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; gap: 30px; }
.hero-v4-copy { position: relative; z-index: 4; padding-block: 72px; }
.hero-v4-copy h1 { max-width: 660px; margin: 20px 0 19px; font-size: clamp(3rem, 5.5vw, 5.4rem); line-height: .98; letter-spacing: -.065em; }
html[lang="fa"] .hero-v4-copy h1 { max-width: 610px; font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: 1.15; letter-spacing: -.045em; }
.hero-v4-copy > p { max-width: 610px; margin: 0; color: var(--muted); font-size: 1rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 29px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 9px 18px; margin-top: 28px; }
.hero-trust span { display: inline-flex; align-items: center; gap: 7px; color: #4d494e; font-size: .72rem; }
.hero-trust .icon { width: 17px; color: var(--primary); }

.hero-v4-art { position: relative; align-self: stretch; min-height: 620px; isolation: isolate; user-select: none; -webkit-user-select: none; }
.hero-v4-art::before { content: ''; position: absolute; z-index: -2; inset: 98px 0 36px 8%; background: var(--primary); clip-path: polygon(15% 6%, 100% 0, 93% 90%, 25% 100%, 0 66%); }
.hero-v4-art::after { content: ''; position: absolute; z-index: -1; width: 60%; aspect-ratio: 1; inset: 50px -6% auto auto; border: 38px solid rgba(13,13,15,.13); border-radius: 50%; }
.hero-v4-art img { position: absolute; z-index: 2; inset: 18px 4% 0 auto; width: min(70%, 500px); height: calc(100% - 18px); object-fit: contain; object-position: center bottom; filter: drop-shadow(0 25px 22px rgba(13,13,15,.22)); pointer-events: none; user-select: none; -webkit-user-drag: none; }
.hero-poster-word { position: absolute; z-index: 1; inset: 31% auto auto 6%; color: rgba(255,255,255,.94); font-size: clamp(4.15rem, 8.1vw, 8rem); line-height: .82; font-weight: 900; letter-spacing: -.08em; transform: rotate(-4deg); white-space: nowrap; text-shadow: 0 8px 28px rgba(13,13,15,.14); }
html[lang="fa"] .hero-poster-word { inset-inline: 12% auto; font-size: clamp(3.9rem, 7.3vw, 6.5rem); letter-spacing: -.04em; }
.hero-poster-label { position: absolute; z-index: 3; inset: 88px auto auto 20%; padding: 0; color: #fff; background: none; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-shadow: 0 2px 12px rgba(13,13,15,.22); }
html[lang="fa"] .hero-poster-label { letter-spacing: 0; }
.time-ticket { position: absolute; z-index: 5; display: grid; gap: 4px; min-width: auto; padding: 0; color: #fff; background: none; border: none; transform: none; text-shadow: 0 2px 12px rgba(13,13,15,.24); }
.time-ticket::after { display: none; }
.time-ticket small { color: #fff; font-size: .68rem; font-weight: 900; letter-spacing: .1em; }
.time-ticket b { color: rgba(255,255,255,.96); font-size: .9rem; font-weight: 800; }
.time-ticket.free { inset: 164px 14% auto auto; text-align: right; }
.time-ticket.premium { inset: auto auto 86px 15%; text-align: left; }

.metrics-v4 { color: #fff; background: var(--ink); }
.metrics-v4-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.metrics-v4 article { position: relative; min-height: 145px; display: flex; align-items: center; gap: 18px; padding: 26px 36px; border-inline-end: 1px solid #36363a; overflow: hidden; }
.metrics-v4 article:last-child { border-inline-end: 0; }
.metrics-v4 article > span { width: 52px; height: 52px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 50%; }
.metrics-v4 article > div { display: grid; }
.metrics-v4 b { font-size: 2.15rem; line-height: 1; letter-spacing: -.045em; }
.metrics-v4 small { margin-top: 7px; color: #bbb7bd; font-size: .73rem; }
.metrics-v4 article > i { position: absolute; inset: auto 14px -15px auto; color: rgba(255,255,255,.055); font-size: 5.6rem; font-style: normal; font-weight: 900; line-height: 1; }

.home-methods { padding: 70px 0 78px; background: var(--surface); }
.section-heading { max-width: 740px; margin-bottom: 34px; }
.section-heading.center { margin-inline: auto; text-align: center; }
.section-heading.compact { max-width: 800px; margin-bottom: 28px; }
.section-heading h2 { margin: 12px 0 9px; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.12; letter-spacing: -.045em; }
html[lang="fa"] .section-heading h2 { line-height: 1.35; letter-spacing: -.025em; }
.section-heading p { margin: 0; color: var(--muted); }
.method-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.method-card { min-height: 210px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 31px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.method-card.featured { color: #fff; background: var(--ink); border-color: var(--ink); }
.method-icon { width: 66px; height: 66px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 15px; }
.method-icon .icon { width: 31px; height: 31px; }
.method-card > div:nth-child(2) > span { color: var(--primary); font-size: .65rem; font-weight: 850; letter-spacing: .13em; }
.method-card h3 { margin: 5px 0 8px; font-size: 1.25rem; }
.method-card p { margin: 0; color: var(--muted); font-size: .82rem; }
.method-card.featured p { color: #c9c5cb; }
.method-card > a { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.method-card > a:hover { color: #fff; background: var(--primary); border-color: var(--primary); transform: translateX(3px); }

/* Public inner pages */
.page-hero { padding: 72px 0 52px; background: #f5f2ec; border-bottom: 1px solid var(--line); text-align: center; }
.page-hero .shell { max-width: 900px; }
.page-hero h1 { margin: 13px auto 12px; font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: 1.04; letter-spacing: -.055em; }
html[lang="fa"] .page-hero h1 { line-height: 1.28; letter-spacing: -.035em; }
.page-hero p { max-width: 760px; margin: auto; color: var(--muted); font-size: .95rem; }
.content-shell, .guideline-grid { width: min(980px, calc(100% - 48px)); margin: 42px auto 72px; display: grid; gap: 14px; }
.content-card, .guide-card, .panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: none; }
.content-card { padding: 28px; }
.content-card h2, .guide-card h2 { margin: 0 0 8px; font-size: 1.1rem; }
.content-card p, .guide-card p { margin: 0; color: var(--muted); }
.content-card ul, .guide-card ul { margin: 13px 0 0; padding-inline-start: 20px; color: var(--muted); }
.content-card li, .guide-card li { margin: 5px 0; }

.story-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; padding: 46px 0 74px; }
.story-poster { position: relative; min-height: 570px; overflow: hidden; background: var(--primary); border-radius: var(--radius-lg); }
.story-poster::before { content: ''; position: absolute; width: 350px; height: 350px; inset: 45px auto auto -110px; border: 45px solid rgba(13,13,15,.13); border-radius: 50%; }
.story-poster > span { position: absolute; z-index: 2; inset: 28px auto auto 28px; max-width: 210px; color: #fff; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
html[dir="rtl"] .story-poster > span { inset-inline: auto 28px; letter-spacing: 0; }
.story-poster img { position: absolute; z-index: 1; inset: 10% 0 0; width: 100%; height: 90%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 26px rgba(13,13,15,.23)); }
.story-cards { display: grid; gap: 14px; }
.story-cards .content-card { position: relative; padding: 27px 30px 27px 76px; }
html[dir="rtl"] .story-cards .content-card { padding: 27px 76px 27px 30px; }
.card-number { position: absolute; inset: 26px auto auto 25px; color: var(--primary); font-weight: 850; }
html[dir="rtl"] .card-number { inset-inline: auto 25px; }

.process-page-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; padding: 46px 0 74px; }
.process-page-card { position: relative; min-height: 295px; padding: 23px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.process-page-card > span { color: var(--primary); font-size: .7rem; font-weight: 850; }
.process-page-icon { width: 48px; height: 48px; display: grid; place-items: center; margin: 29px 0 21px; color: #fff; background: var(--ink); border-radius: 12px; }
.process-page-card h2 { margin: 0 0 9px; font-size: 1rem; }
.process-page-card p { margin: 0; color: var(--muted); font-size: .77rem; }

.plan-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 46px 0 74px; }
.plan-page-card { position: relative; padding: 34px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); }
.plan-page-card.premium { color: #fff; background: var(--ink); border-color: var(--ink); }
.plan-eyebrow { color: var(--primary); font-size: .68rem; font-weight: 850; letter-spacing: .14em; }
.plan-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 13px 0 17px; }
.plan-page-heading h2 { margin: 0; font-size: 1.6rem; }
.plan-page-heading b { padding: 7px 10px; color: #fff; background: var(--primary); border-radius: 7px; font-size: .72rem; white-space: nowrap; }
.plan-page-card > p { color: var(--muted); }
.plan-page-card.premium > p { color: #c9c5cb; }
.plan-page-card ul { min-height: 145px; display: grid; align-content: start; gap: 10px; margin: 24px 0; padding: 0; list-style: none; }
.plan-page-card li { display: flex; align-items: center; gap: 9px; font-size: .82rem; }
.plan-page-card li .icon { color: var(--primary); }

.network-page { padding: 46px 0 74px; }
.network-page-copy { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 24px; margin-bottom: 26px; }
.network-count { min-width: 118px; color: var(--primary); font-size: 5.3rem; font-weight: 900; line-height: 1; letter-spacing: -.08em; }
.network-page-copy h2 { margin: 0 0 7px; font-size: 1.45rem; }
.network-page-copy p { max-width: 700px; margin: 0; color: var(--muted); }
.destination-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.destination-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; min-height: 88px; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.destination-card:hover { color: #fff; background: var(--ink); border-color: var(--ink); transform: translateY(-3px); }
.destination-index { color: var(--primary); font-size: .68rem; font-weight: 850; }
.destination-domain { overflow: hidden; text-overflow: ellipsis; font-weight: 750; }
.network-note { display: flex; align-items: center; gap: 17px; margin-top: 20px; padding: 20px 23px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--radius); }
.network-note > .icon { width: 30px; height: 30px; color: var(--primary); }
.network-note b { display: block; }
.network-note p { margin: 2px 0 0; color: var(--muted); font-size: .8rem; }

.guideline-grid { grid-template-columns: 1fr 1fr; width: min(1100px, calc(100% - 48px)); }
.guide-card { padding: 28px; }
.guide-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 18px; color: #fff; background: var(--primary); border-radius: 11px; }

.support-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; padding: 46px 0 74px; }
.support-visual { position: relative; min-height: 700px; overflow: hidden; color: #fff; background: linear-gradient(180deg, #06070b 0%, #0e1016 46%, #d90416 46%, #e00714 100%); border-radius: var(--radius-lg); padding: 28px; display: flex; flex-direction: column; justify-content: space-between; isolation: isolate; }
.support-visual::before { content: ''; position: absolute; inset: 58px auto auto -72px; width: 340px; height: 340px; border-radius: 50%; background: rgba(255,255,255,.07); box-shadow: 0 0 0 44px rgba(255,255,255,.04), 0 0 0 92px rgba(255,255,255,.03); z-index: 0; }
.support-visual::after { content: ''; position: absolute; inset: auto -60px -70px auto; width: 280px; height: 280px; border-radius: 50%; background: rgba(0,0,0,.1); box-shadow: 0 0 0 38px rgba(0,0,0,.05); z-index: 0; }
.support-visual > span { position: relative; z-index: 2; color: #fff; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.support-visual-stage { position: relative; z-index: 2; display: grid; align-content: start; gap: 24px; margin-top: 34px; }
.support-flow { position: relative; display: grid; gap: 14px; padding-top: 8px; }
.support-flow-line { display: none; }
html[dir="rtl"] .support-flow-line { display: none; }
.support-step-card { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; padding: 16px 18px; margin-inline-start: 22px; color: var(--ink); background: rgba(255,255,255,.96); border: 1px solid rgba(255,255,255,.45); border-radius: 20px; box-shadow: 0 22px 38px rgba(0,0,0,.18); }
html[dir="rtl"] .support-step-card { margin-inline: 0 22px; }
.support-step-card.is-primary { background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,239,241,.96)); }
.support-step-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: var(--primary); background: rgba(224,7,20,.1); }
.support-step-icon .icon { width: 24px; height: 24px; }
.support-step-copy { display: grid; gap: 5px; }
.support-step-copy b { font-size: 1rem; }
.support-step-copy small { color: var(--muted); line-height: 1.55; }
.support-chip-row { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; padding-top: 4px; transform: translateX(11px); }
html[dir="rtl"] .support-chip-row { transform: translateX(11px); }
.support-chip { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 40px; padding: 0 16px; color: #fff; background: rgba(116,0,12,.58); border: 1px solid rgba(255,255,255,.12); border-radius: 999px; font-size: .82rem; font-weight: 700; white-space: nowrap; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.support-content { display: grid; gap: 14px; }
.faq-list { display: grid; gap: 9px; }
.faq-list details { background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.faq-list summary { padding: 17px 19px; cursor: pointer; font-weight: 750; }
.faq-list p { margin: 0; padding: 0 19px 18px; color: var(--muted); }

/* Forms and authentication */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.field { min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; font-size: .75rem; font-weight: 750; }
.field small { color: var(--muted); }
.form-control { width: 100%; min-height: 48px; padding: 11px 13px; color: var(--ink); background: #fff; border: 1px solid var(--line-strong); border-radius: 9px; outline: none; }
.form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(224,7,20,.08); }
textarea.form-control { min-height: 118px; resize: vertical; }
.form-section-title { margin-bottom: 22px; }
.form-section-title h2 { margin: 0 0 4px; font-size: 1.15rem; }
.form-section-title p, .field-note { margin: 0; color: var(--muted); font-size: .76rem; }
.input-wrap { position: relative; }
.input-wrap > .icon { position: absolute; z-index: 2; inset: 14px auto auto 14px; color: #716d74; }
.input-wrap .form-control { padding-inline-start: 45px; }
html[dir="rtl"] .input-wrap > .icon { inset-inline: auto 14px; }
html[dir="rtl"] .input-wrap .form-control { padding-inline: 45px 13px; }
.password-toggle { position: absolute; inset: 5px 5px auto auto; width: 38px; height: 38px; display: grid; place-items: center; color: var(--muted); background: transparent; border: 0; cursor: pointer; }
html[dir="rtl"] .password-toggle { inset-inline: 5px auto; }
.no-leading-icon .form-control { padding-inline-start: 13px; padding-inline-end: 48px; }
.check-row { display: inline-flex !important; align-items: flex-start; gap: 9px; margin: 0 !important; font-weight: 600 !important; cursor: pointer; }
.check-row input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--primary); }
.check-row a, .form-link { color: var(--primary); font-weight: 750; }
.form-actions-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(470px, .86fr) minmax(520px, 1.14fr); background: #f8f6f1; }
.auth-topbar { position: fixed; z-index: 20; inset: 0 auto auto 0; width: 48%; min-width: 520px; height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 0 4vw; background: rgba(248,246,241,.95); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.auth-topbar-actions { display: flex; align-items: center; gap: 12px; }
.auth-topbar-actions > a { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .74rem; font-weight: 700; }
.auth-panel { grid-column: 1; min-height: 100vh; display: grid; place-items: center; padding: 116px 6vw 48px; }
.auth-box { width: min(100%, 500px); }
.auth-step { color: var(--primary); font-size: .68rem; font-weight: 850; letter-spacing: .13em; }
html[lang="fa"] .auth-step { letter-spacing: 0; }
.auth-box > h1 { margin: 12px 0 9px; font-size: clamp(2.25rem, 4vw, 3.7rem); line-height: 1.06; letter-spacing: -.055em; }
html[lang="fa"] .auth-box > h1 { line-height: 1.28; letter-spacing: -.035em; }
.auth-box > p { margin: 0 0 24px; color: var(--muted); }
.auth-form { gap: 15px; }
.auth-submit { min-height: 52px; }
.auth-security-note { display: flex; gap: 11px; margin-top: 17px; padding: 13px 15px; color: var(--ink); background: #f0ede7; border-inline-start: 3px solid var(--ink); border-radius: 0 9px 9px 0; }
.auth-security-note > .icon { color: var(--primary); }
.auth-security-note span { display: grid; }
.auth-security-note small { color: var(--muted); }
.auth-switch { margin: 20px 0 0 !important; text-align: center; font-size: .8rem; }
.auth-switch a { color: var(--primary); font-weight: 800; }
.management-entry { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 13px 15px; background: #fff; border: 1px solid var(--line); border-radius: 10px; font-size: .75rem; font-weight: 700; }
.management-entry span { flex: 1; }
.management-entry:hover { border-color: var(--ink); }

.auth-visual { position: relative; grid-column: 2; min-height: 100vh; overflow: hidden; background: var(--ink); }
.auth-poster-art { position: absolute; inset: 20px; overflow: hidden; background: var(--primary); border-radius: 18px; }
.auth-poster-art::before { content: ''; position: absolute; inset: 0; background: linear-gradient(142deg, var(--ink) 0 31%, transparent 31.2% 100%); }
.auth-poster-art::after { content: ''; position: absolute; z-index: 1; width: 55%; aspect-ratio: 1; inset: 30px -15% auto auto; border: 44px solid rgba(13,13,15,.14); border-radius: 50%; }
.auth-poster-art > img { position: absolute; z-index: 3; inset: 25px 1% 0 auto; width: min(60%, 570px); height: calc(100% - 25px); object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 24px rgba(0,0,0,.28)); }
.auth-visual-register .auth-poster-art > img { width: min(56%, 520px); }
.auth-visual-admin .auth-poster-art > img { width: min(62%, 590px); }
.auth-art-kicker { position: absolute; z-index: 5; inset: 35px auto auto 35px; color: #fff; font-size: .66rem; font-weight: 850; letter-spacing: .13em; }
.auth-art-word { position: absolute; z-index: 2; inset: 14% auto auto 7%; color: #fff; font-size: clamp(5rem, 9vw, 9rem); font-weight: 900; line-height: .8; letter-spacing: -.08em; transform: rotate(-5deg); }
html[lang="fa"] .auth-art-word { letter-spacing: -.03em; }
.auth-art-copy { position: absolute; z-index: 5; inset: auto auto 65px 7%; max-width: 440px; color: #fff; }
.auth-art-copy > span { color: #ffb0b5; font-size: .68rem; font-weight: 850; }
.auth-art-copy h2 { margin: 9px 0; font-size: clamp(1.9rem, 3.5vw, 3.55rem); line-height: .98; letter-spacing: -.055em; }
html[lang="fa"] .auth-art-copy h2 { line-height: 1.24; letter-spacing: -.03em; }
.auth-art-copy p { margin: 0; color: #f4dadd; }
.auth-art-badge { position: absolute; z-index: 6; inset: 34px 34px auto auto; display: flex; align-items: center; gap: 10px; padding: 11px 13px; color: var(--ink); background: #fff; border-radius: 10px; }
.auth-art-badge span { display: grid; }
.auth-art-badge small { color: var(--primary); font-size: .55rem; font-weight: 850; }
.auth-art-badge b { font-size: .65rem; }
.auth-visual-footer { position: absolute; z-index: 9; inset: auto 38px 28px; display: flex; justify-content: space-between; color: rgba(255,255,255,.66); font-size: .65rem; }

.registration-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 20px 0 22px; }
.registration-progress > span { position: relative; display: flex; align-items: center; gap: 8px; color: var(--muted); }
.registration-progress > span::after { content: ''; position: absolute; inset: 50% 7px auto calc(100% - 1px); height: 1px; background: var(--line); }
.registration-progress > span:last-child::after { display: none; }
html[dir="rtl"] .registration-progress > span::after { inset-inline: calc(100% - 1px) 7px; }
.registration-progress i { position: relative; z-index: 2; width: 31px; height: 31px; display: grid; place-items: center; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 50%; font-style: normal; font-size: .7rem; }
.registration-progress b { font-size: .66rem; }
.registration-progress .active, .registration-progress .complete { color: var(--ink); }
.registration-progress .active i { color: #fff; background: var(--primary); border-color: var(--primary); }
.registration-progress .complete i { color: #fff; background: var(--ink); border-color: var(--ink); }
.register-actions { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; }
.registration-review { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.registration-review > div { display: grid; gap: 3px; padding: 13px; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.registration-review span { color: var(--muted); font-size: .65rem; }
.security-code { letter-spacing: .55em; text-align: center; font-weight: 800; }

/* Dashboard */
body.dashboard-mode { background: #f2f0eb; }
.dashboard-shell { min-height: calc(100vh - 78px); display: grid; grid-template-columns: 246px minmax(0, 1fr); background: #f2f0eb; }
.dashboard-sidebar { position: sticky; top: 78px; align-self: start; height: calc(100vh - 78px); display: flex; flex-direction: column; padding: 22px 16px 18px; background: #fff; border-inline-end: 1px solid var(--line); overflow-y: auto; }
.sidebar-profile { display: flex; align-items: center; gap: 11px; padding: 2px 4px 19px; border-bottom: 1px solid var(--line); }
.sidebar-profile > div { min-width: 0; display: grid; }
.sidebar-profile b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.sidebar-profile span:not(.avatar) { color: var(--muted); font-size: .65rem; }
.avatar { position: relative; width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--ink); border-radius: 11px; font-size: .72rem; font-weight: 800; }
.avatar.large { width: 82px; height: 82px; margin-inline: auto; border-radius: 20px; font-size: 1.1rem; }
.verified-dot { position: absolute; inset: auto -4px -4px auto; width: 19px; height: 19px; display: grid; place-items: center; color: #fff; background: var(--primary); border: 2px solid #fff; border-radius: 50%; }
.verified-dot .icon { width: 10px; height: 10px; }
.sidebar-nav { display: grid; gap: 3px; margin-top: 16px; }
.sidebar-label { padding: 12px 10px 5px; color: #969199; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-nav a { position: relative; min-height: 39px; display: flex; align-items: center; gap: 10px; padding: 8px 10px; color: #5d5960; border-radius: 9px; font-size: .72rem; font-weight: 650; }
.sidebar-nav a:hover { color: var(--ink); background: var(--surface-2); }
.sidebar-nav a.active { color: #fff; background: var(--ink); }
.sidebar-nav a .icon { width: 18px; height: 18px; }
.nav-count { width: 7px; height: 7px; margin-inline-start: auto; background: var(--primary); border-radius: 50%; font-style: normal; }
.sidebar-membership { margin-top: auto; padding: 13px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 12px; }
.sidebar-membership > div { display: flex; gap: 8px; margin-bottom: 10px; }
.sidebar-membership > div > .icon { color: var(--primary); }
.sidebar-membership span { display: grid; font-size: .64rem; }
.sidebar-membership span span { color: var(--muted); }
.dashboard-main { min-width: 0; padding: 28px clamp(20px, 3vw, 42px) 48px; }
.dashboard-topbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.dashboard-title h1 { margin: 0; font-size: clamp(1.55rem, 2.4vw, 2.25rem); line-height: 1.2; letter-spacing: -.035em; }
.dashboard-title p { margin: 4px 0 0; color: var(--muted); font-size: .77rem; }
.dashboard-actions { display: flex; align-items: center; gap: 8px; }
.mobile-sidebar-button { display: none; }
.admin-bar { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 13px; color: #fff; background: var(--ink); border-radius: 9px; font-size: .7rem; font-weight: 750; }
.panel { margin-bottom: 17px; }
.panel-head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 19px; border-bottom: 1px solid var(--line); }
.panel-head h2 { margin: 0; font-size: .95rem; }
.panel-head p { margin: 2px 0 0; color: var(--muted); font-size: .66rem; }
.text-link { display: inline-flex; align-items: center; gap: 6px; padding: 4px; color: var(--primary); background: transparent; font-size: .7rem; font-weight: 750; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 17px; }
.metric-card { min-height: 135px; padding: 17px; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.metric-top { display: flex; align-items: center; justify-content: space-between; }
.metric-icon { width: 39px; height: 39px; display: grid; place-items: center; color: #fff; background: var(--ink); border-radius: 9px; }
.metric-card.success .metric-icon, .metric-card.warning .metric-icon { color: #fff; background: var(--ink); }
.metric-card.danger .metric-icon { background: var(--primary); }
.trend { color: var(--ink); font-size: .62rem; font-weight: 800; }
.metric-value { display: block; margin-top: 13px; font-size: 1.65rem; line-height: 1; }
.metric-label { color: var(--muted); font-size: .67rem; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .8fr); gap: 17px; align-items: start; }
.notice-card, .timing-note, .filename-rule { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; padding: 15px 17px; background: #fff; border: 1px solid var(--line); border-inline-start: 4px solid var(--primary); border-radius: 10px; }
.notice-card > .icon, .timing-note > .icon, .filename-rule > .icon { color: var(--primary); }
.notice-card > div, .timing-note > div, .filename-rule > div { flex: 1; }
.notice-card b, .timing-note b, .filename-rule b { display: block; font-size: .74rem; }
.notice-card p, .timing-note p, .filename-rule p { margin: 2px 0 0; color: var(--muted); font-size: .66rem; }
.release-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.release-table th, .release-table td { padding: 13px 16px; text-align: start; border-bottom: 1px solid var(--line); font-size: .68rem; }
.release-table th { color: var(--muted); font-weight: 700; }
.release-cell { display: flex; align-items: center; gap: 10px; }
.release-cover { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--ink); border-radius: 9px; }
.release-cover.ocean, .release-cover.violet, .release-cover.sunset { background: var(--primary); }
.release-name { min-width: 0; display: grid; }
.release-name b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.release-name span { color: var(--muted); font-size: .61rem; }
.status-badge { display: inline-flex; align-items: center; width: max-content; padding: 5px 8px; color: var(--ink); background: #eeece7; border: 1px solid #d9d5cf; border-radius: 99px; font-size: .58rem; font-weight: 800; white-space: nowrap; }
.status-rejected, .status-changes { color: var(--danger); background: #fff0f1; border-color: #efb2b7; }
.status-review, .status-pending { color: #7a4300; background: #fff4df; border-color: #efd09a; }
.status-published, .status-approved, .status-verified, .status-sent { color: #fff; background: var(--ink); border-color: var(--ink); }
.pipeline { padding: 16px 19px; }
.pipeline-row { display: grid; grid-template-columns: 92px 1fr 34px; align-items: center; gap: 10px; margin: 10px 0; font-size: .65rem; }
.pipeline-track { height: 7px; overflow: hidden; background: #ece9e3; border-radius: 99px; }
.pipeline-track i { display: block; height: 100%; background: var(--primary); border-radius: inherit; }
.account-card { padding: 18px; }
.account-state { display: flex; gap: 11px; align-items: center; }
.account-state-icon { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--ink); border-radius: 10px; }
.account-state > div { display: grid; }
.account-state span { color: var(--muted); font-size: .63rem; }
.profile-meter { margin-top: 17px; }
.profile-meter > div:first-child { display: flex; justify-content: space-between; font-size: .64rem; }
.meter { height: 7px; margin-top: 7px; background: #ece9e3; border-radius: 99px; }
.meter i { display: block; width: 82%; height: 100%; background: var(--primary); border-radius: inherit; }
.channel-list { padding: 0 18px; }
.channel-row { min-height: 64px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); }
.channel-row:last-child { border-bottom: 0; }
.channel-avatar { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--ink); border-radius: 9px; font-size: .62rem; font-weight: 800; }
.channel-row > div { min-width: 0; display: grid; }
.channel-row b { font-size: .69rem; }
.channel-row span { color: var(--muted); font-size: .61rem; }
.channel-check { width: 25px; height: 25px; display: grid; place-items: center; margin-inline-start: auto; color: #fff !important; background: var(--primary); border-radius: 50%; }
.channel-check .icon { width: 13px; height: 13px; }

.onboarding-hero { position: relative; min-height: 240px; display: grid; grid-template-columns: 1fr 250px; align-items: center; overflow: hidden; margin-bottom: 17px; padding: 28px 32px; color: #fff; background: var(--ink); border-radius: var(--radius); }
.onboarding-hero > div { position: relative; z-index: 2; max-width: 600px; }
.onboarding-hero h2 { margin: 12px 0 8px; font-size: 1.65rem; }
.onboarding-hero p { margin: 0 0 18px; color: #cac6cc; }
.onboarding-hero img { position: absolute; inset: -65px 12px auto auto; width: 270px; height: 370px; object-fit: contain; filter: drop-shadow(0 20px 20px rgba(0,0,0,.3)); }
html[dir="rtl"] .onboarding-hero img { inset-inline: 12px auto; }
.onboarding-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 17px; }
.onboarding-list { padding: 7px 18px 15px; }
.onboarding-list > a, .onboarding-list > span { display: flex; align-items: center; gap: 12px; min-height: 68px; border-bottom: 1px solid var(--line); }
.onboarding-list > :last-child { border-bottom: 0; }
.onboarding-list div { flex: 1; display: grid; }
.onboarding-list b { font-size: .73rem; }
.onboarding-list p { margin: 0; color: var(--muted); font-size: .63rem; }
.step-state { width: 34px; height: 34px; display: grid; place-items: center; color: var(--ink); background: var(--surface-2); border: 1px solid var(--line); border-radius: 50%; font-size: .62rem; }
.step-state.complete { color: #fff; background: var(--primary); border-color: var(--primary); }
.empty-first-release, .empty-state { display: grid; place-items: center; align-content: center; min-height: 260px; padding: 28px; text-align: center; }
.empty-state { min-height: 240px; }
.empty-icon { width: 55px; height: 55px; display: grid; place-items: center; color: #fff; background: var(--ink); border-radius: 14px; }
.empty-first-release h2, .empty-state h2 { margin: 15px 0 6px; font-size: 1rem; }
.empty-first-release p, .empty-state p { max-width: 420px; margin: 0 0 17px; color: var(--muted); font-size: .7rem; }

.profile-layout { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 17px; align-items: start; }
.profile-card { padding: 27px; text-align: center; }
.profile-card h2 { margin: 13px 0 3px; }
.profile-card p { margin: 0 0 12px; color: var(--muted); font-size: .68rem; }
.profile-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }
.profile-facts > div { display: grid; padding: 12px; background: var(--surface-2); border-radius: 9px; }
.profile-facts span { color: var(--muted); font-size: .61rem; }
.form-panel { padding: 24px; }

.toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; }
.search-field { position: relative; flex: 1; }
.search-field .icon { position: absolute; z-index: 2; inset: 13px auto auto 13px; color: var(--muted); }
.search-field .form-control { padding-inline-start: 42px; }
html[dir="rtl"] .search-field .icon { inset-inline: auto 13px; }
html[dir="rtl"] .search-field .form-control { padding-inline: 42px 13px; }
.segmented { display: flex; padding: 3px; background: #e9e6e0; border-radius: 9px; }
.segmented button { min-height: 35px; padding: 0 11px; color: var(--muted); background: transparent; border-radius: 7px; font-size: .65rem; font-weight: 700; }
.segmented button.active { color: #fff; background: var(--ink); }
.release-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.release-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 13px; }
.release-art { position: relative; min-height: 135px; display: grid; place-items: center; color: #fff; background: var(--ink) !important; }
.release-art > .icon { width: 36px; height: 36px; }
.release-art .status-badge { position: absolute; inset: 12px 12px auto auto; }
html[dir="rtl"] .release-art .status-badge { inset-inline: 12px auto; }
.release-card-body { padding: 17px; }
.release-card-body h3 { margin: 0; font-size: .9rem; }
.release-card-body > span { display: block; margin-top: 2px; color: var(--muted); font-size: .63rem; }
.release-card-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .62rem; }
.release-card-meta > div { display: flex; align-items: center; gap: 5px; }

.wizard-layout { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 17px; align-items: start; }
.wizard-rail, .wizard-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.wizard-rail { padding: 20px 15px; }
.wizard-rail > h2 { margin: 0 8px 14px; font-size: .8rem; }
.wizard-step { display: flex; align-items: center; gap: 10px; min-height: 57px; padding: 8px; color: var(--muted); border-radius: 9px; }
.wizard-step.active { color: #fff; background: var(--ink); }
.wizard-index { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid currentColor; border-radius: 50%; font-size: .57rem; }
.wizard-step > div { display: grid; }
.wizard-step b { font-size: .68rem; }
.wizard-step span { font-size: .57rem; }
.wizard-card { overflow: hidden; }
.wizard-head { padding: 22px 26px; background: var(--surface-2); border-bottom: 1px solid var(--line); }
.wizard-head > span { color: var(--primary); font-size: .62rem; font-weight: 800; }
.wizard-head h2 { margin: 4px 0 3px; font-size: 1.25rem; }
.wizard-head p { margin: 0; color: var(--muted); font-size: .7rem; }
.wizard-body { padding: 26px; }
.wizard-footer { display: flex; justify-content: space-between; padding: 17px 26px; background: var(--surface-2); border-top: 1px solid var(--line); }
.choice-grid, .upload-grid, .review-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.choice-card { position: relative; display: flex; align-items: center; gap: 12px; min-height: 88px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.choice-card.selected { border-color: var(--ink); background: var(--surface-2); }
.choice-card input { position: absolute; opacity: 0; }
.choice-icon { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--ink); border-radius: 9px; }
.choice-card > span:nth-child(3) { display: grid; }
.choice-card b { font-size: .75rem; }
.choice-card span { color: var(--muted); font-size: .62rem; }
.choice-check { margin-inline-start: auto; color: var(--primary); }
.upload-zone { position: relative; min-height: 260px; display: grid; place-items: center; align-content: center; padding: 22px; text-align: center; background: #fff; border: 1px dashed var(--line-strong); border-radius: 13px; cursor: pointer; }
.upload-zone:hover { border-color: var(--primary); }
.upload-zone > input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-icon { width: 52px; height: 52px; display: grid; place-items: center; color: #fff; background: var(--ink); border-radius: 12px; }
.upload-zone h3 { margin: 13px 0 3px; font-size: .83rem; }
.upload-zone > p { margin: 0; color: var(--muted); font-size: .65rem; }
.upload-rules { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 12px; }
.upload-rules span { padding: 4px 7px; color: var(--muted); background: var(--surface-2); border-radius: 5px; font-size: .55rem; }
.upload-result { position: relative; z-index: 2; width: 100%; display: flex; align-items: center; gap: 9px; margin-top: 13px; padding: 9px; background: var(--surface-2); border-radius: 8px; text-align: start; pointer-events: none; }
.upload-result:empty { display: none; }
.upload-thumb { width: 35px; height: 35px; display: grid; place-items: center; overflow: hidden; color: #fff; background: var(--primary); border-radius: 7px; }
.upload-thumb img { width: 100%; height: 100%; object-fit: cover; }
.upload-info { min-width: 0; display: grid; flex: 1; }
.upload-info b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .62rem; }
.upload-info span { color: var(--muted); font-size: .56rem; }
.filename-code { display: inline-flex; padding: 5px 8px; direction: ltr; color: #fff; background: var(--ink); border-radius: 5px; font-size: .63rem; }
.validation-list { display: grid; gap: 8px; margin-top: 16px; }
.validation-item { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .66rem; }
.validation-item .icon { color: var(--primary); }
.rules-box { display: grid; gap: 9px; }
.rule-check { display: flex; align-items: flex-start; gap: 12px; padding: 14px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; }
.rule-check input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--primary); }
.rule-check > span:not(.account-state-icon) { flex: 1; }
.rule-check b { font-size: .7rem; }
.rule-check p { margin: 2px 0 0; color: var(--muted); font-size: .63rem; }
.summary-card { display: grid; gap: 5px; padding: 14px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 10px; }
.summary-card > span { color: var(--muted); font-size: .61rem; }
.summary-card b { font-size: .68rem; }
.track-list { display: grid; gap: 8px; margin-top: 13px; }
.track-row { display: grid; grid-template-columns: auto 1fr 1fr 135px auto; align-items: center; gap: 7px; }
.track-grip { color: var(--muted); cursor: grab; }

.admin-list { padding: 0 18px; }
.admin-list-row { min-height: 70px; display: grid; grid-template-columns: minmax(190px, 1fr) auto minmax(120px, auto) auto; align-items: center; gap: 14px; padding-block: 10px; border-bottom: 1px solid var(--line); font-size: .66rem; }
.admin-list-row:last-child { border-bottom: 0; }
.admin-user { min-width: 0; display: flex; align-items: center; gap: 10px; }
.admin-user > div { min-width: 0; display: grid; }
.admin-user b, .admin-user span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-user span { color: var(--muted); font-size: .6rem; }
.queue-card { padding: 18px 0; border-bottom: 1px solid var(--line); }
.queue-card:last-child { border-bottom: 0; }
.queue-top { display: flex; align-items: center; gap: 11px; }
.queue-info { min-width: 0; flex: 1; }
.queue-info h3 { margin: 0; font-size: .82rem; }
.queue-info p { margin: 2px 0 0; color: var(--muted); font-size: .62rem; }
.quality-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 13px; }
.quality-item { display: grid; gap: 3px; padding: 10px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; }
.quality-item span { color: var(--muted); font-size: .58rem; }
.quality-item b { display: flex; align-items: center; gap: 5px; font-size: .63rem; }
.quality-item .icon { color: var(--primary); }
.queue-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; }
.queue-actions .text-link { margin-inline-start: auto; }
.switch { position: relative; display: inline-flex; }
.switch input { position: absolute; opacity: 0; }
.switch i { width: 38px; height: 22px; display: block; padding: 3px; background: #bdb9b2; border-radius: 99px; transition: background .2s ease; }
.switch i::after { content: ''; display: block; width: 16px; height: 16px; background: #fff; border-radius: 50%; transition: transform .2s ease; }
.switch input:checked + i { background: var(--ink); }
.switch input:checked + i::after { transform: translateX(16px); }
html[dir="rtl"] .switch input:checked + i::after { transform: translateX(-16px); }

.ad-slot { display: none; }
.ad-slot.is-enabled { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0; padding: 14px 18px; background: #fff; border: 1px dashed var(--primary); border-radius: 10px; font-size: .7rem; }
.ad-slot span { display: flex; align-items: center; gap: 7px; }

/* Footer */
.site-footer { color: #fff; background: var(--ink); border-top: 0; }
.footer-lead { position: relative; min-height: 180px; display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 0; padding-block: 38px; border-bottom: 1px solid #343438; }
.footer-lead::before { content: ''; position: absolute; inset: 0 calc(50% - 50vw); z-index: 0; background: var(--primary); clip-path: polygon(0 18%, 62% 0, 58% 100%, 0 100%); }
html[dir="rtl"] .footer-lead::before { clip-path: polygon(100% 18%, 38% 0, 42% 100%, 100% 100%); }
.footer-lead > * { position: relative; z-index: 1; }
.footer-lead-kicker { display: block; margin-bottom: 5px; font-size: .68rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
html[lang="fa"] .footer-lead-kicker { letter-spacing: 0; }
.footer-lead h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.04em; }
.footer-lead-button { color: var(--ink); background: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.15fr .72fr .82fr 1.3fr; gap: 38px; padding-block: 48px; }
.footer-brand p { max-width: 300px; margin: 17px 0; color: #aaa7ad; font-size: .73rem; }
.footer-admin-link { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: .7rem; font-weight: 700; }
.footer-admin-link:hover { color: #ff7f87; }
.footer-links, .footer-network { display: grid; align-content: start; gap: 9px; }
.footer-links strong, .footer-network > strong { margin-bottom: 6px; color: #fff; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.footer-links a { color: #aaa7ad; font-size: .7rem; }
.footer-links a:hover { color: #fff; }
#footer-network-sites { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.footer-site-link { min-width: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 6px; padding: 7px 8px; color: #c5c1c8; background: #1b1b1e; border: 1px solid #343438; border-radius: 7px; font-size: .58rem; }
.footer-site-link:hover { color: #fff; border-color: var(--primary); }
.footer-site-link .destination-index { display: none; }
.footer-site-link .icon { width: 13px; height: 13px; }
.footer-bottom { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #8e8a91; border-top: 1px solid #343438; font-size: .65rem; }

/* Modal and feedback */
.modal-layer { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(13,13,15,.62); opacity: 0; visibility: hidden; transition: .2s ease; }
.modal-layer.open { opacity: 1; visibility: visible; }
.modal { width: min(620px, 100%); max-height: calc(100vh - 40px); overflow: auto; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.modal-head, .modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 19px; }
.modal-head { border-bottom: 1px solid var(--line); }
.modal-head h2 { margin: 0; font-size: 1rem; }
.modal-body { padding: 19px; }
.modal-footer { justify-content: flex-end; background: var(--surface-2); border-top: 1px solid var(--line); }
.toast-region { position: fixed; z-index: 700; inset: auto 20px 20px auto; display: grid; gap: 9px; }
html[dir="rtl"] .toast-region { inset-inline: 20px auto; }
.toast { min-width: 300px; display: flex; gap: 10px; padding: 13px; color: #fff; background: var(--ink); border-inline-start: 4px solid var(--primary); border-radius: 10px; box-shadow: var(--shadow-lg); }
.toast-icon { color: #fff; }
.toast span { display: grid; }
.toast b { font-size: .7rem; }
.toast p { margin: 1px 0 0; color: #c8c4ca; font-size: .61rem; }
.route-loading { min-height: 70vh; display: flex; place-content: center; align-items: center; gap: 6px; }
.route-loading span { width: 8px; height: 8px; background: var(--primary); border-radius: 50%; animation: pulse 1s infinite alternate; }
.route-loading span:nth-child(2) { animation-delay: .2s; }
.route-loading span:nth-child(3) { animation-delay: .4s; }
@keyframes pulse { to { transform: translateY(-8px); opacity: .35; } }
.mobile-dock { display: none !important; }

@media (max-width: 1180px) {
  .main-nav a { padding-inline: 9px; font-size: .8rem; }
  .header-inner { gap: 16px; }
  .hero-v4-copy h1 { font-size: clamp(3rem, 5.5vw, 4.8rem); }
  .process-page-grid { grid-template-columns: repeat(3, 1fr); }
  .process-page-card:nth-last-child(-n+2) { grid-column: span 1; }
  .destination-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.1fr .8fr .9fr; }
  .footer-network { grid-column: 1 / -1; }
  #footer-network-sites { grid-template-columns: repeat(4, 1fr); }
  .dashboard-shell { grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 1020px) {
  .main-nav { display: none; }
  .header-inner { grid-template-columns: auto 1fr; }
  .header-actions { justify-self: end; }
  .menu-button { display: inline-grid; }
  .hero-v4-grid { grid-template-columns: 1fr 1fr; }
  .hero-v4-art img { width: 78%; }
  .time-ticket.free { inset-inline-end: 0; }
  .story-layout, .support-layout { grid-template-columns: 1fr 1fr; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-topbar { width: 100%; min-width: 0; }
  .auth-panel { grid-column: 1; padding-inline: 7vw; }
  .auth-visual { display: none; }
  .dashboard-shell { grid-template-columns: 1fr; }
  .dashboard-sidebar { display: none; }
  .dashboard-main { padding-top: 22px; }
  .mobile-sidebar-button { display: inline-grid; }
  .release-card-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .shell, .content-shell, .guideline-grid { width: min(100% - 32px, 680px); }
  .site-header { height: 70px; }
  .mobile-menu { inset-block-start: 69px; }
  .brand-mark { width: 36px; height: 36px; }
  .header-cta, .login-link { display: none; }
  .hero-v4, .hero-v4-grid { min-height: auto; }
  .hero-v4-grid { grid-template-columns: 1fr; gap: 0; }
  .hero-v4-copy { padding: 58px 0 12px; text-align: center; }
  .hero-v4-copy .eyebrow { justify-content: center; }
  .hero-v4-copy > p { margin-inline: auto; }
  .hero-actions, .hero-trust { justify-content: center; }
  .hero-v4-art { min-height: 480px; }
  .hero-v4-art::before { inset: 55px 3% 15px; }
  .hero-v4-art img { inset: 0 15% 0 auto; width: 70%; height: 100%; }
  .hero-poster-word { inset-block-start: 35%; inset-inline-start: 8%; font-size: 14vw; }
  .hero-poster-label { inset-block-start: 74px; inset-inline-start: 18%; }
  .time-ticket.free { inset-block-start: 112px; inset-inline-end: 11%; }
  .time-ticket.premium { inset-block-end: 52px; inset-inline-start: 11%; }
  .metrics-v4-grid { grid-template-columns: 1fr; }
  .metrics-v4 article { min-height: 108px; border-inline-end: 0; border-bottom: 1px solid #343438; }
  .metrics-v4 article:last-child { border-bottom: 0; }
  .method-grid, .plan-page-grid, .story-layout, .support-layout, .guideline-grid { grid-template-columns: 1fr; }
  .story-poster { min-height: 500px; }
  .support-visual { min-height: 580px; }
  .process-page-grid { grid-template-columns: 1fr 1fr; }
  .destination-grid { grid-template-columns: 1fr 1fr; }
  .network-page-copy { grid-template-columns: 1fr; gap: 8px; }
  .network-count { font-size: 4rem; }
  .footer-lead { align-items: flex-start; flex-direction: column; }
  .footer-lead::before { clip-path: polygon(0 0, 100% 0, 92% 72%, 0 100%); }
  html[dir="rtl"] .footer-lead::before { clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 72%); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-network { grid-column: 1 / -1; }
  #footer-network-sites { grid-template-columns: repeat(2, 1fr); }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-grid, .onboarding-grid, .profile-layout { grid-template-columns: 1fr; }
  .onboarding-hero { grid-template-columns: 1fr; padding-inline-end: 210px; }
  html[dir="rtl"] .onboarding-hero { padding-inline: 210px 32px; }
  .wizard-layout { grid-template-columns: 1fr; }
  .wizard-rail { display: flex; gap: 5px; overflow-x: auto; }
  .wizard-rail > h2 { display: none; }
  .wizard-step { min-width: 115px; }
  .track-row { grid-template-columns: auto 1fr auto; }
  .track-row .form-control:nth-of-type(2), .track-row select { grid-column: 2; }
  .admin-list-row { grid-template-columns: minmax(180px,1fr) auto auto; }
  .admin-list-row > span:nth-of-type(2) { display: none; }
}

@media (max-width: 620px) {
  body.poster-theme { font-size: 14px; }
  .shell, .content-shell, .guideline-grid { width: calc(100% - 24px); }
  .header-inner { gap: 8px; }
  .brand { gap: 8px; font-size: .82rem; }
  .brand-mark { width: 34px; height: 34px; }
  .language-button { width: 39px; height: 39px; }
  .hero-v4-copy { padding-top: 44px; }
  .hero-v4-copy h1 { font-size: 2.65rem; }
  html[lang="fa"] .hero-v4-copy h1 { font-size: 2.45rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .hero-trust { display: grid; justify-content: start; width: max-content; max-width: 100%; margin-inline: auto; text-align: start; }
  .hero-v4-art { min-height: 400px; }
  .hero-v4-art img { inset-inline-end: 11%; width: 78%; }
  .hero-poster-label { inset: 50px auto auto 13%; }
  .time-ticket { min-width: 128px; padding: 9px 11px; }
  .time-ticket.free { inset: 86px 8% auto auto; }
  .time-ticket.premium { inset: auto auto 34px 8%; }
  .home-methods { padding-block: 52px 58px; }
  .method-card { grid-template-columns: auto 1fr; padding: 22px; }
  .method-card > a { grid-column: 1 / -1; width: 100%; border-radius: 9px; }
  .page-hero { padding: 52px 0 38px; }
  .page-hero h1 { font-size: 2.45rem; }
  .process-page-grid, .destination-grid, .plan-page-grid, .form-grid, .choice-grid, .upload-grid, .review-summary, .registration-review { grid-template-columns: 1fr; }
  .process-page-card { min-height: auto; }
  .story-poster { min-height: 430px; }
  .support-visual { min-height: 500px; padding: 24px 20px; }
  .support-step-card { margin-inline-start: 16px; padding: 14px 15px; }
  .support-chip-row { justify-content: center; transform: translateX(8px); }
  html[dir="rtl"] .support-chip-row { transform: translateX(8px); }
  html[dir="rtl"] .support-step-card { margin-inline: 0 16px; }
  .support-flow-line { display: none; }
  html[dir="rtl"] .support-flow-line { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-brand, .footer-network { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 16px; }
  .auth-topbar { padding-inline: 16px; }
  .auth-topbar-actions > a span { display: none; }
  .auth-panel { padding: 104px 18px 38px; }
  .auth-box > h1 { font-size: 2.25rem; }
  .registration-progress b { display: none; }
  .dashboard-main { padding: 18px 12px 36px; }
  .dashboard-topbar { align-items: flex-start; }
  .dashboard-actions .button { display: none; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .metric-card { min-height: 116px; padding: 14px; }
  .onboarding-hero, html[dir="rtl"] .onboarding-hero { min-height: 330px; padding: 24px 22px 150px; }
  .onboarding-hero img, html[dir="rtl"] .onboarding-hero img { inset: auto 50% -95px auto; width: 210px; height: 290px; transform: translateX(50%); }
  .toolbar { align-items: stretch; flex-direction: column; }
  .segmented { overflow-x: auto; }
  .release-card-grid { grid-template-columns: 1fr; }
  .wizard-body, .wizard-head, .wizard-footer { padding-inline: 17px; }
  .wizard-footer { gap: 8px; }
  .wizard-footer .button { flex: 1; }
  .admin-list { padding-inline: 12px; }
  .admin-list-row { grid-template-columns: 1fr auto; }
  .admin-list-row > .status-badge, .admin-list-row > span { grid-column: 1; }
  .quality-grid { grid-template-columns: 1fr; }
  .queue-actions .button { flex: 1 1 calc(50% - 7px); }
  .queue-actions .text-link { width: 100%; justify-content: center; }
  .modal-layer { padding: 10px; }
  .toast-region { inset: auto 10px 10px; }
  .toast { min-width: 0; width: calc(100vw - 20px); }
}

@media (max-width: 390px) {
  .hero-v4-copy h1, html[lang="fa"] .hero-v4-copy h1 { font-size: 2.15rem; }
  .hero-v4-art { min-height: 350px; }
  .hero-poster-label { display: none; }
  .time-ticket { min-width: 113px; }
  .time-ticket small { font-size: .53rem; }
  .time-ticket b { font-size: .65rem; }
  .metrics-v4 article { padding-inline: 22px; }
  .method-card { grid-template-columns: 1fr; text-align: center; }
  .method-icon { margin-inline: auto; }
  .metric-grid { grid-template-columns: 1fr; }
  #footer-network-sites { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Final cascade lock against previous preview themes */
.poster-theme .shell { width: min(1240px, calc(100% - 48px)); }
.poster-theme .header-inner { min-height: 0; height: 78px; }
.poster-theme .brand-mark { width: 40px; height: 40px; color: #fff; background: var(--primary); border-radius: 11px; box-shadow: none; transform: none; }
.poster-theme .brand:hover .brand-mark { transform: translateY(-1px); }
.poster-theme .main-nav { gap: 4px; }
.poster-theme .main-nav a { padding: 9px 13px; color: #565159; border-radius: 9px; font-size: .87rem; }
.poster-theme .main-nav a::after { display: none; content: none; }
.poster-theme .main-nav a.active { color: #fff; background: var(--ink); }
.poster-theme .button { border-radius: 10px; box-shadow: none; }
.poster-theme .button-primary, .poster-theme .button-success { color: #fff; background: var(--primary); box-shadow: none; }
.poster-theme .button-primary:hover, .poster-theme .button-success:hover { background: var(--primary-dark); box-shadow: none; transform: translateY(-2px); }
.poster-theme .button-secondary { color: var(--ink); background: #fff; border-color: var(--line-strong); box-shadow: none; }
.poster-theme .button-secondary:hover { color: #fff; background: var(--ink); border-color: var(--ink); }
.poster-theme .eyebrow { margin-bottom: 0; font-size: .72rem; }
.poster-theme .page-hero { padding: 72px 0 52px; background: #f5f2ec; background-image: none; }
.poster-theme .page-hero::before, .poster-theme .page-hero::after { display: none; }
.poster-theme .page-hero h1 { margin: 13px auto 12px; font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: 1.04; }
.poster-theme .page-hero p { font-size: .95rem; line-height: 1.7; }
.poster-theme .content-shell, .poster-theme .guideline-grid { padding-top: 0; margin-block: 42px 72px; }
.poster-theme .content-card { padding: 28px; border-radius: var(--radius); }
.poster-theme .content-card p, .poster-theme .content-card li, .poster-theme .guide-card p, .poster-theme .guide-card li { font-size: .84rem; line-height: 1.75; }
.poster-theme .guide-card { border-radius: var(--radius); }

.poster-theme .site-footer { padding-top: 0; color: #fff; background: var(--ink); border-top: 0; }
.poster-theme .footer-brand p, .poster-theme .footer-links a { color: #aaa7ad; font-size: .7rem; }
.poster-theme .footer-links strong, .poster-theme .footer-network > strong { color: #fff; font-size: .7rem; }
.poster-theme .footer-bottom { color: #8e8a91; border-color: #343438; font-size: .65rem; }

.poster-theme .auth-page { min-height: 100vh; grid-template-columns: minmax(470px,.86fr) minmax(520px,1.14fr); grid-template-rows: 78px minmax(0,1fr); background: #f8f6f1; }
.poster-theme .auth-topbar { position: fixed; width: 48%; min-width: 520px; height: 78px; padding: 0 4vw; background: rgba(248,246,241,.95); }
.poster-theme .auth-panel { grid-row: 2; padding: 38px 6vw 48px; background-image: none; }
.poster-theme .auth-box { width: min(100%,500px); }
.poster-theme .register-box { width: min(100%,620px); }
.poster-theme .auth-step { margin-bottom: 0; font-size: .68rem; }
.poster-theme .auth-box h1 { margin: 12px 0 9px; }
.poster-theme .auth-box > p { margin-bottom: 24px; font-size: .86rem; }
.poster-theme .auth-form .form-control { min-height: 48px; border-radius: 9px; background: #fff; }
.poster-theme .auth-security-note { color: var(--ink); background: #f0ede7; border-inline-start-color: var(--ink); }
.poster-theme .auth-security-note > .icon { color: var(--primary); }
.poster-theme .auth-security-note small { color: var(--muted); }
.poster-theme .auth-visual { position: relative; grid-row: 1 / -1; min-height: 100vh; padding: 0; background: var(--ink); }
.poster-theme .auth-poster-art { position: absolute; inset: 20px; min-height: 0; height: auto; overflow: hidden; background: var(--primary); border-radius: 18px; }
.poster-theme .auth-poster-art::before { z-index: 0; width: auto; height: auto; inset: 0; background: linear-gradient(142deg,var(--ink) 0 31%,transparent 31.2% 100%); clip-path: none; transform: none; }
.poster-theme .auth-poster-art::after { z-index: 1; width: 55%; height: auto; aspect-ratio: 1; inset: 30px -15% auto auto; border: 44px solid rgba(13,13,15,.14); }
.poster-theme .auth-poster-art > img { inset: 25px 1% 0 auto; bottom: auto; right: 1%; width: min(60%,570px); height: calc(100% - 25px); max-width: 60%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 24px rgba(0,0,0,.28)); }
.poster-theme .auth-visual-register .auth-poster-art > img { width: min(56%,520px); max-width: 56%; }
.poster-theme .auth-visual-admin .auth-poster-art > img { width: min(62%,590px); max-width: 62%; }
.poster-theme .auth-art-kicker { inset: 35px auto auto 35px; top: 35px; left: 35px; }
.poster-theme .auth-art-word { inset: 14% auto auto 7%; top: 14%; left: 7%; }
.poster-theme .auth-art-copy { inset: auto auto 65px 7%; left: 7%; bottom: 65px; width: min(58%,440px); }
.poster-theme .auth-art-badge { inset: 34px 34px auto auto; top: 34px; right: 34px; border-radius: 10px; box-shadow: none; }
.poster-theme .auth-visual-footer { display: flex; }

.poster-theme .dashboard-shell { padding-top: 78px; grid-template-columns: 246px minmax(0,1fr); background: #f2f0eb; }
.poster-theme .dashboard-sidebar { inset-block-start: 78px; width: auto; height: calc(100vh - 78px); background: #fff; }
.poster-theme .sidebar-nav a { min-height: 39px; border-radius: 9px; font-size: .72rem; }
.poster-theme .sidebar-nav a.active { color: #fff; background: var(--ink); box-shadow: none; }
.poster-theme .nav-count { width: 7px; height: 7px; color: transparent; background: var(--primary); }
.poster-theme .dashboard-main { padding: 28px clamp(20px,3vw,42px) 48px; }
.poster-theme .metric-card { padding: 17px; border-radius: 13px; background: #fff; }
.poster-theme .metric-card::after { display: none; content: none; }
.poster-theme .metric-icon, .poster-theme .metric-card.success .metric-icon, .poster-theme .metric-card.warning .metric-icon { color: #fff; background: var(--ink); border-radius: 9px; }
.poster-theme .metric-card.danger .metric-icon { background: var(--primary); }
.poster-theme .panel { border-radius: var(--radius); background: #fff; }
.poster-theme .notice-card { color: var(--ink); background: #fff; border-color: var(--line); border-inline-start-color: var(--primary); }
.poster-theme .channel-avatar { color: #fff; background: var(--ink); border-radius: 9px; }
.poster-theme .channel-check { color: #fff; background: var(--primary); }
.poster-theme .account-state-icon { color: #fff; background: var(--ink); border-radius: 10px; }
.poster-theme .wizard-rail, .poster-theme .wizard-card { border-radius: var(--radius); background: #fff; }
.poster-theme .wizard-step { border-radius: 9px; }
.poster-theme .wizard-step.active { background: var(--ink); }
.poster-theme .wizard-index { border-radius: 50%; }
.poster-theme .choice-card, .poster-theme .upload-zone, .poster-theme .rule-check, .poster-theme .summary-card, .poster-theme .track-row, .poster-theme .quality-item { border-radius: 10px; background: #fff; }
.poster-theme .choice-card.selected, .poster-theme .choice-card:hover { border-color: var(--ink); background: var(--surface-2); box-shadow: none; }
.poster-theme .upload-zone:hover { background: #fff; }
.poster-theme .upload-icon, .poster-theme .empty-icon { color: #fff; background: var(--ink); border-radius: 12px; }
.poster-theme .filename-rule, .poster-theme .timing-note { color: var(--ink); background: #fff; border-color: var(--line); border-inline-start-color: var(--primary); }
.poster-theme .filename-code { color: #fff; background: var(--ink); border-radius: 5px; }
.poster-theme .switch input:checked + i { background: var(--ink); }
.poster-theme .modal { border: 0; border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-lg); }
.poster-theme .toast { border: 0; border-inline-start: 4px solid var(--primary); border-radius: 10px; box-shadow: var(--shadow-lg); }

@media (max-width: 1020px) {
  .poster-theme .auth-page { grid-template-columns: 1fr; }
  .poster-theme .auth-topbar { width: 100%; min-width: 0; }
  .poster-theme .auth-visual { display: none; }
  .poster-theme .dashboard-shell { grid-template-columns: 1fr; }
  .poster-theme .dashboard-sidebar { display: none; }
  .poster-theme .dashboard-actions .mobile-sidebar-button { display: inline-grid; }
}

@media (max-width: 820px) {
  .poster-theme .shell, .poster-theme .content-shell, .poster-theme .guideline-grid { width: min(100% - 32px,680px); }
  .poster-theme .header-inner { height: 70px; }
}

@media (max-width: 620px) {
  .poster-theme .shell, .poster-theme .content-shell, .poster-theme .guideline-grid { width: calc(100% - 24px); }
  .poster-theme .auth-panel { padding: 26px 18px 38px; }
  .poster-theme .dashboard-main { padding: 18px 12px 36px; }
}

/* Persian dashboard RTL polish — layout-only patch */
/* Scope is intentionally limited to dashboard views while html is RTL. */
html[dir="rtl"] .poster-theme .dashboard-shell {
  direction: ltr;
  grid-template-columns: minmax(0, 1fr) 246px;
}

html[dir="rtl"] .poster-theme .dashboard-sidebar,
html[dir="rtl"] .poster-theme .dashboard-main {
  direction: rtl;
}

html[dir="rtl"] .poster-theme .dashboard-sidebar {
  grid-column: 2;
  border-inline-start: 0;
  border-inline-end: 1px solid var(--line);
}

html[dir="rtl"] .poster-theme .dashboard-main {
  grid-column: 1;
}

html[dir="rtl"] .poster-theme .sidebar-profile,
html[dir="rtl"] .poster-theme .sidebar-nav a,
html[dir="rtl"] .poster-theme .sidebar-membership,
html[dir="rtl"] .poster-theme .dashboard-title,
html[dir="rtl"] .poster-theme .panel-head,
html[dir="rtl"] .poster-theme .form-section-title,
html[dir="rtl"] .poster-theme .field,
html[dir="rtl"] .poster-theme .release-card-body,
html[dir="rtl"] .poster-theme .queue-info,
html[dir="rtl"] .poster-theme .admin-user,
html[dir="rtl"] .poster-theme .account-state,
html[dir="rtl"] .poster-theme .onboarding-list,
html[dir="rtl"] .poster-theme .rule-check,
html[dir="rtl"] .poster-theme .summary-card {
  text-align: right;
}

html[dir="rtl"] .poster-theme .sidebar-label {
  letter-spacing: 0;
  text-align: right;
}

html[dir="rtl"] .poster-theme .sidebar-profile > div,
html[dir="rtl"] .poster-theme .panel-head > div,
html[dir="rtl"] .poster-theme .notice-card > div,
html[dir="rtl"] .poster-theme .timing-note > div,
html[dir="rtl"] .poster-theme .filename-rule > div,
html[dir="rtl"] .poster-theme .account-state > div,
html[dir="rtl"] .poster-theme .channel-row > div,
html[dir="rtl"] .poster-theme .admin-user > div,
html[dir="rtl"] .poster-theme .queue-info,
html[dir="rtl"] .poster-theme .upload-info {
  min-width: 0;
}

html[dir="rtl"] .poster-theme .dashboard-topbar,
html[dir="rtl"] .poster-theme .panel-head,
html[dir="rtl"] .poster-theme .notice-card,
html[dir="rtl"] .poster-theme .timing-note,
html[dir="rtl"] .poster-theme .filename-rule,
html[dir="rtl"] .poster-theme .channel-row,
html[dir="rtl"] .poster-theme .account-state,
html[dir="rtl"] .poster-theme .queue-top,
html[dir="rtl"] .poster-theme .queue-actions,
html[dir="rtl"] .poster-theme .rule-check,
html[dir="rtl"] .poster-theme .validation-item,
html[dir="rtl"] .poster-theme .choice-card,
html[dir="rtl"] .poster-theme .wizard-step {
  direction: rtl;
}

html[dir="rtl"] .poster-theme .dashboard-title h1 {
  letter-spacing: -.018em;
  line-height: 1.35;
}

html[dir="rtl"] .poster-theme .dashboard-title p,
html[dir="rtl"] .poster-theme .panel-head p,
html[dir="rtl"] .poster-theme .form-section-title p,
html[dir="rtl"] .poster-theme .notice-card p,
html[dir="rtl"] .poster-theme .timing-note p,
html[dir="rtl"] .poster-theme .filename-rule p,
html[dir="rtl"] .poster-theme .queue-info p {
  line-height: 1.8;
}

/* Search icon and input padding were pointing to opposite sides in RTL. */
html[dir="rtl"] .poster-theme .search-field .icon {
  left: auto;
  right: 13px;
  inset-inline-start: 13px;
  inset-inline-end: auto;
}

html[dir="rtl"] .poster-theme .search-field .form-control {
  padding-inline-start: 42px;
  padding-inline-end: 13px;
  text-align: right;
}

html[dir="rtl"] .poster-theme .toolbar {
  direction: rtl;
}

html[dir="rtl"] .poster-theme .toolbar .search-field {
  min-width: 220px;
}

html[dir="rtl"] .poster-theme .segmented {
  direction: rtl;
  flex: 0 0 auto;
}

html[dir="rtl"] .poster-theme .segmented button,
html[dir="rtl"] .poster-theme .button,
html[dir="rtl"] .poster-theme .text-link,
html[dir="rtl"] .poster-theme .status-badge {
  letter-spacing: 0;
}

html[dir="rtl"] .poster-theme .form-grid,
html[dir="rtl"] .poster-theme .choice-grid,
html[dir="rtl"] .poster-theme .upload-grid,
html[dir="rtl"] .poster-theme .review-summary,
html[dir="rtl"] .poster-theme .profile-facts,
html[dir="rtl"] .poster-theme .quality-grid {
  direction: rtl;
}

html[dir="rtl"] .poster-theme .form-control:not([dir="ltr"]),
html[dir="rtl"] .poster-theme textarea.form-control:not([dir="ltr"]),
html[dir="rtl"] .poster-theme select.form-control:not([dir="ltr"]) {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .poster-theme select.form-control:not([dir="ltr"]) {
  background-position: left 12px center;
}

html[dir="rtl"] .poster-theme [dir="ltr"],
html[dir="rtl"] .poster-theme input[type="email"],
html[dir="rtl"] .poster-theme input[type="tel"],
html[dir="rtl"] .poster-theme .filename-code {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

html[dir="rtl"] .poster-theme .release-table {
  direction: rtl;
}

html[dir="rtl"] .poster-theme .release-table th,
html[dir="rtl"] .poster-theme .release-table td {
  text-align: right;
}

html[dir="rtl"] .poster-theme .release-table th:nth-child(4),
html[dir="rtl"] .poster-theme .release-table td:nth-child(4) {
  direction: ltr;
  text-align: left;
  unicode-bidi: isolate;
}

html[dir="rtl"] .poster-theme .release-cell,
html[dir="rtl"] .poster-theme .release-name {
  min-width: 0;
  text-align: right;
}

html[dir="rtl"] .poster-theme .release-name span[dir="ltr"] {
  text-align: right;
}

html[dir="rtl"] .poster-theme .pipeline-row {
  direction: rtl;
  grid-template-columns: 92px minmax(0, 1fr) 34px;
}

html[dir="rtl"] .poster-theme .pipeline-row b,
html[dir="rtl"] .poster-theme .metric-value,
html[dir="rtl"] .poster-theme .trend,
html[dir="rtl"] .poster-theme .profile-meter b {
  direction: ltr;
  unicode-bidi: isolate;
}

html[dir="rtl"] .poster-theme .admin-list-row {
  direction: rtl;
}

html[dir="rtl"] .poster-theme .admin-user span:not(.avatar):not(.channel-avatar) {
  unicode-bidi: plaintext;
}

html[dir="rtl"] .poster-theme .channel-row > div > span {
  unicode-bidi: plaintext;
}

html[dir="rtl"] .poster-theme .verified-dot {
  inset: auto auto -4px -4px;
}

html[dir="rtl"] .poster-theme .release-art .status-badge {
  right: auto;
  left: 12px;
  inset-inline-start: auto;
  inset-inline-end: 12px;
}

html[dir="rtl"] .poster-theme .wizard-head,
html[dir="rtl"] .poster-theme .wizard-body,
html[dir="rtl"] .poster-theme .wizard-footer,
html[dir="rtl"] .poster-theme .wizard-rail {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .poster-theme .wizard-footer {
  align-items: center;
}

html[dir="rtl"] .poster-theme .track-row-bilingual {
  direction: rtl;
  grid-template-columns: 30px minmax(0, 1fr) minmax(0, 1fr) 100px 34px;
}

html[dir="rtl"] .poster-theme .track-row-bilingual [data-track-title-en],
html[dir="rtl"] .poster-theme .track-row-bilingual [data-title-en] {
  direction: ltr;
  text-align: left;
}

html[dir="rtl"] .poster-theme .modal,
html[dir="rtl"] .poster-theme .toast {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .poster-theme .modal-footer {
  justify-content: flex-start;
}

@media (max-width: 1180px) and (min-width: 1021px) {
  html[dir="rtl"] .poster-theme .dashboard-shell {
    grid-template-columns: minmax(0, 1fr) 220px;
  }
}

@media (max-width: 1020px) {
  html[dir="rtl"] .poster-theme .dashboard-shell {
    display: block;
    grid-template-columns: 1fr;
  }

  html[dir="rtl"] .poster-theme .dashboard-main {
    grid-column: auto;
  }
}

@media (max-width: 820px) {
  html[dir="rtl"] .poster-theme .dashboard-topbar {
    align-items: flex-start;
  }

  html[dir="rtl"] .poster-theme .panel-head {
    align-items: flex-start;
  }

  html[dir="rtl"] .poster-theme .track-row-bilingual {
    grid-template-columns: 24px minmax(0, 1fr) 30px;
  }

  html[dir="rtl"] .poster-theme .track-row-bilingual [data-track-title-en],
  html[dir="rtl"] .poster-theme .track-row-bilingual [data-title-en] {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 620px) {
  html[dir="rtl"] .poster-theme .dashboard-topbar {
    flex-wrap: wrap;
  }

  html[dir="rtl"] .poster-theme .dashboard-title {
    flex: 1 1 210px;
    min-width: 0;
  }

  html[dir="rtl"] .poster-theme .dashboard-actions {
    margin-inline-start: auto;
  }

  html[dir="rtl"] .poster-theme .panel-head {
    min-height: 64px;
    flex-wrap: wrap;
  }

  html[dir="rtl"] .poster-theme .panel-head > .button,
  html[dir="rtl"] .poster-theme .panel-head > .text-link {
    margin-inline-start: auto;
  }

  html[dir="rtl"] .poster-theme .toolbar .search-field {
    min-width: 100%;
  }

  html[dir="rtl"] .poster-theme .segmented {
    width: 100%;
    overflow-x: auto;
  }

  html[dir="rtl"] .poster-theme .segmented button {
    flex: 1 0 auto;
  }

  html[dir="rtl"] .poster-theme .notice-card,
  html[dir="rtl"] .poster-theme .timing-note,
  html[dir="rtl"] .poster-theme .filename-rule {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  html[dir="rtl"] .poster-theme .notice-card > .button {
    margin-inline-start: auto;
  }

  html[dir="rtl"] .poster-theme .admin-list-row {
    align-items: center;
  }
}


/* ==========================================================
   Persian dashboard structural repair V2
   Fixes RTL grid auto-placement without touching LTR/English.
   ========================================================== */
@media (min-width: 1021px) {
  html[dir="rtl"] .poster-theme .dashboard-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 246px;
    grid-template-areas: "dashboard-main dashboard-sidebar";
    align-items: start;
    align-content: start;
    direction: ltr;
  }

  html[dir="rtl"] .poster-theme .dashboard-sidebar {
    grid-area: dashboard-sidebar;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    position: sticky;
    top: 78px;
    bottom: auto;
    inset-block-start: 78px;
    inset-block-end: auto;
    inset-inline-start: auto;
    inset-inline-end: auto;
    min-width: 0;
    max-width: 100%;
    height: calc(100vh - 78px);
    direction: rtl;
  }

  html[dir="rtl"] .poster-theme .dashboard-main {
    grid-area: dashboard-main;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    width: 100%;
    min-width: 0;
    max-width: none;
    direction: rtl;
  }

  html[dir="rtl"] .poster-theme .dashboard-topbar,
  html[dir="rtl"] .poster-theme .notice-card,
  html[dir="rtl"] .poster-theme .metric-grid,
  html[dir="rtl"] .poster-theme .dashboard-grid,
  html[dir="rtl"] .poster-theme .onboarding-hero,
  html[dir="rtl"] .poster-theme .onboarding-grid,
  html[dir="rtl"] .poster-theme .toolbar,
  html[dir="rtl"] .poster-theme .release-card-grid,
  html[dir="rtl"] .poster-theme .wizard-layout,
  html[dir="rtl"] .poster-theme .profile-layout,
  html[dir="rtl"] .poster-theme .form-panel,
  html[dir="rtl"] .poster-theme .admin-list,
  html[dir="rtl"] .poster-theme .queue-list {
    width: 100%;
    min-width: 0;
  }

  html[dir="rtl"] .poster-theme .dashboard-main > * {
    min-width: 0;
  }
}

@media (min-width: 1021px) and (max-width: 1180px) {
  html[dir="rtl"] .poster-theme .dashboard-shell {
    grid-template-columns: minmax(0, 1fr) 220px;
  }
}

@media (max-width: 1020px) {
  html[dir="rtl"] .poster-theme .dashboard-shell {
    display: block;
    grid-template-columns: none;
    grid-template-areas: none;
  }

  html[dir="rtl"] .poster-theme .dashboard-sidebar {
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
  }

  html[dir="rtl"] .poster-theme .dashboard-main {
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
    width: 100%;
  }
}

/* ==========================================================
   V5 requested refinement pass — icon system, mirrored RTL,
   fixed workspace, wallet, manager accounts, scheduling,
   promotion workflow. Existing visual language is preserved.
   ========================================================== */

/* Clean SVG icon language: no heavy black icon tiles. */
.poster-theme .metric-icon,
.poster-theme .metric-card.success .metric-icon,
.poster-theme .metric-card.warning .metric-icon,
.poster-theme .metric-card.danger .metric-icon,
.poster-theme .account-state-icon,
.poster-theme .channel-avatar,
.poster-theme .choice-icon,
.poster-theme .upload-icon,
.poster-theme .empty-icon,
.poster-theme .clean-feature-icon,
.poster-theme .wallet-symbol,
.poster-theme .receipt-symbol,
.poster-theme .transaction-icon,
.poster-theme .site-symbol {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0;
  color: var(--ink);
  background: transparent !important;
  border: 0;
  border-radius: 0;
}
.poster-theme .metric-icon .icon,
.poster-theme .account-state-icon .icon,
.poster-theme .channel-avatar .icon,
.poster-theme .choice-icon .icon,
.poster-theme .clean-feature-icon .icon,
.poster-theme .wallet-symbol .icon,
.poster-theme .receipt-symbol .icon,
.poster-theme .transaction-icon .icon,
.poster-theme .site-symbol .icon { width: 27px; height: 27px; stroke-width: 1.65; }
.poster-theme .upload-icon .icon,
.poster-theme .empty-icon .icon { width: 32px; height: 32px; stroke-width: 1.55; }
.poster-theme .service-avatar { color: var(--primary); }
.poster-theme .service-avatar .icon { width: 29px; height: 29px; }
.poster-theme .channel-check { width: 30px; height: 30px; display: grid; place-items: center; color: var(--primary); background: transparent !important; border: 0; }
.poster-theme .channel-check .icon { width: 20px; height: 20px; stroke-width: 2.5; }
.poster-theme .clean-cover-icon { color: var(--ink); background: transparent !important; border: 1px solid var(--line); }
.poster-theme .clean-cover-icon .icon { width: 22px; height: 22px; }
.poster-theme .nav-count { display: none !important; }

/* Keep the desktop Workspace column permanently visible while content scrolls. */
@media (min-width: 1021px) {
  .poster-theme .dashboard-sidebar {
    position: fixed !important;
    z-index: 45;
    top: 78px !important;
    bottom: 0 !important;
    left: 0;
    right: auto;
    width: 246px !important;
    height: auto !important;
    max-height: calc(100vh - 78px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  html[dir="rtl"] .poster-theme .dashboard-sidebar {
    left: auto;
    right: 0;
  }
  .poster-theme .dashboard-main { min-height: calc(100vh - 78px); }
}

/* Exact top alignment across paired cards and wizard columns. */
.poster-theme .profile-layout,
.poster-theme .wizard-layout,
.poster-theme .dashboard-grid { align-items: start !important; }
.poster-theme .profile-layout > *,
.poster-theme .wizard-layout > *,
.poster-theme .dashboard-grid > * { margin-top: 0 !important; align-self: start; }
.poster-theme .wizard-rail,
.poster-theme .wizard-card { margin-block-start: 0 !important; }
.poster-theme .wizard-rail { top: 98px; }

/* Dashboard hero portrait: keep face and upper body inside the banner. */
.poster-theme .onboarding-hero { min-height: 242px; }
.poster-theme .onboarding-hero img {
  inset-block-start: -6px !important;
  inset-block-end: auto !important;
  inset-inline-end: 18px !important;
  inset-inline-start: auto !important;
  width: 246px !important;
  height: 338px !important;
  object-fit: contain;
  object-position: center top;
}

/* Release artwork keeps a square publication-ready ratio. */
.poster-theme .release-art {
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  overflow: hidden;
}
.poster-theme .release-art > img { width: 100%; height: 100%; object-fit: cover; }
.poster-theme .release-card-body { min-height: 154px; display: flex; flex-direction: column; }
.poster-theme .release-card-meta { margin-top: auto; }

/* Registration account type. */
.poster-theme .account-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.poster-theme .account-type-card {
  position: relative;
  min-height: 94px;
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 22px;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fff;
  cursor: pointer;
}
.poster-theme .account-type-card.selected { border-color: var(--ink); background: var(--surface-2); }
.poster-theme .account-type-card input { position: absolute; opacity: 0; }
.poster-theme .account-type-symbol { width: 40px; height: 40px; display: grid; place-items: center; color: var(--ink); }
.poster-theme .account-type-symbol .icon { width: 27px; height: 27px; }
.poster-theme .account-type-card > span:nth-of-type(2) { min-width: 0; display: grid; gap: 3px; }
.poster-theme .account-type-card b { font-size: .75rem; }
.poster-theme .account-type-card small { color: var(--muted); font-size: .62rem; line-height: 1.55; }
.poster-theme .account-type-check { color: var(--primary); opacity: 0; }
.poster-theme .account-type-card.selected .account-type-check { opacity: 1; }
.poster-theme .service-input { position: relative; }
.poster-theme .service-input > .icon { position: absolute; z-index: 2; inset-inline-start: 13px; top: 50%; width: 20px; height: 20px; color: var(--primary); transform: translateY(-50%); }
.poster-theme .service-input .form-control { padding-inline-start: 42px; }

/* Mirrored Persian layout follows English geometry one-to-one. */
html[dir="rtl"] .poster-theme .profile-layout,
html[dir="rtl"] .poster-theme .wizard-layout,
html[dir="rtl"] .poster-theme .dashboard-grid,
html[dir="rtl"] .poster-theme .choice-grid,
html[dir="rtl"] .poster-theme .form-grid,
html[dir="rtl"] .poster-theme .release-card-grid,
html[dir="rtl"] .poster-theme .metric-grid { direction: rtl; }
html[dir="rtl"] .poster-theme .profile-layout { grid-template-columns: 310px minmax(0,1fr); }
html[dir="rtl"] .poster-theme .wizard-layout { grid-template-columns: 205px minmax(0,1fr); }
html[dir="rtl"] .poster-theme .wizard-rail { grid-column: auto; grid-row: 1; }
html[dir="rtl"] .poster-theme .wizard-card { grid-column: auto; grid-row: 1; }
html[dir="rtl"] .poster-theme .field { text-align: right; }
html[dir="rtl"] .poster-theme .form-control[dir="ltr"] { direction: ltr !important; text-align: left !important; }
html[dir="rtl"] .poster-theme .track-row-bilingual {
  direction: rtl;
  grid-template-columns: 30px minmax(180px,1fr) minmax(180px,1fr) 135px 38px;
  gap: 9px;
}
html[dir="rtl"] .poster-theme .track-row-bilingual [data-track-title-fa] { direction: rtl; text-align: right; }
html[dir="rtl"] .poster-theme .track-row-bilingual [data-track-title-en] { direction: ltr; text-align: left; }
.poster-theme .track-row-bilingual { grid-template-columns: 30px minmax(180px,1fr) minmax(180px,1fr) 135px 38px; gap: 9px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.poster-theme .track-row-bilingual .form-control { width: 100%; min-width: 0; }

/* Premium schedule controls. */
.poster-theme .premium-schedule-lock {
  width: 100%; min-height: 50px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 9px;
  padding: 9px 12px; color: var(--muted); background: #f5f3ef; border: 1px dashed #cfc9c1; border-radius: 9px; text-align: start;
}
.poster-theme .premium-schedule-lock .icon { width: 19px; height: 19px; color: #918b83; }
.poster-theme .premium-schedule-lock span { color: #69635d; font-size: .7rem; font-weight: 700; }
.poster-theme .premium-schedule-lock small { font-size: .58rem; }
.poster-theme .jalali-picker { display: grid; grid-template-columns: .72fr 1.25fr .9fr; gap: 7px; direction: rtl; }
.poster-theme .jalali-picker .form-control { min-width: 0; padding-inline: 10px 30px; }
.poster-theme .premium-wallet-note {
  display: flex; align-items: center; gap: 12px; margin: 17px 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff;
}
.poster-theme .premium-wallet-note > .icon { width: 28px; height: 28px; color: var(--primary); }
.poster-theme .premium-wallet-note > div { min-width: 0; flex: 1; }
.poster-theme .premium-wallet-note b { font-size: .75rem; }
.poster-theme .premium-wallet-note p { margin: 3px 0 0; color: var(--muted); font-size: .66rem; }
.poster-theme .premium-wallet-note small { display: block; margin-top: 5px; color: var(--muted); font-size: .6rem; line-height: 1.6; }
.poster-theme .premium-wallet-note.insufficient { border-color: #e7b0b4; background: #fff8f8; }
.poster-theme .premium-ready { display: inline-flex; align-items: center; gap: 5px; color: var(--ink); font-size: .63rem; font-weight: 800; white-space: nowrap; }
.poster-theme .premium-ready .icon { width: 16px; height: 16px; color: var(--primary); }

/* Manager artists. */
.poster-theme .manager-eligibility { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 20px; }
.poster-theme .manager-eligibility-copy { display: flex; align-items: center; gap: 12px; }
.poster-theme .manager-eligibility-copy > .icon { width: 31px; height: 31px; color: var(--primary); }
.poster-theme .manager-eligibility h2 { margin: 0 0 3px; font-size: .92rem; }
.poster-theme .manager-eligibility p { margin: 0; color: var(--muted); font-size: .67rem; }
.poster-theme .manager-progress { width: min(280px,36%); }
.poster-theme .manager-progress > span { display: block; margin-bottom: 7px; color: var(--muted); font-size: .62rem; }
.poster-theme .manager-artists-layout { grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); }
.poster-theme .managed-artist-row { grid-template-columns: minmax(220px,1fr) minmax(150px,.7fr) auto; }

/* Wallet. */
.poster-theme .wallet-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; }
.poster-theme .wallet-balance-block { display: flex; align-items: center; gap: 14px; }
.poster-theme .wallet-balance-block > div { display: grid; gap: 2px; }
.poster-theme .wallet-balance-block span { color: var(--muted); font-size: .66rem; }
.poster-theme .wallet-balance-block b { font-size: clamp(1.45rem,2.6vw,2.15rem); line-height: 1.15; }
.poster-theme .wallet-balance-block small { color: var(--muted); font-size: .61rem; }
.poster-theme .wallet-symbol { color: var(--primary); }
.poster-theme .wallet-rate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 17px; }
.poster-theme .wallet-rate { min-height: 126px; display: flex; align-items: center; gap: 11px; padding: 18px; }
.poster-theme .wallet-rate > div { min-width: 0; display: grid; gap: 2px; }
.poster-theme .wallet-rate span { color: var(--muted); font-size: .63rem; }
.poster-theme .wallet-rate b { font-size: 1rem; }
.poster-theme .wallet-rate small { color: var(--muted); font-size: .58rem; line-height: 1.5; }
.poster-theme .wallet-layout { grid-template-columns: minmax(0,1.5fr) minmax(310px,.7fr); }
.poster-theme .wallet-transactions, .poster-theme .wallet-requests, .poster-theme .wallet-admin-requests { padding: 0 18px; }
.poster-theme .wallet-transaction, .poster-theme .wallet-request-row, .poster-theme .wallet-admin-request {
  min-height: 66px; display: flex; align-items: center; gap: 11px; padding: 10px 0; border-bottom: 1px solid var(--line);
}
.poster-theme .wallet-transaction:last-child, .poster-theme .wallet-request-row:last-child, .poster-theme .wallet-admin-request:last-child { border-bottom: 0; }
.poster-theme .wallet-transaction > div, .poster-theme .wallet-request-row > div, .poster-theme .wallet-admin-request > div:nth-of-type(2) { min-width: 0; flex: 1; display: grid; gap: 2px; }
.poster-theme .wallet-transaction b, .poster-theme .wallet-request-row b, .poster-theme .wallet-admin-request b { font-size: .7rem; }
.poster-theme .wallet-transaction span, .poster-theme .wallet-request-row span, .poster-theme .wallet-admin-request span { color: var(--muted); font-size: .6rem; }
.poster-theme .wallet-transaction strong { margin-inline-start: auto; font-size: .72rem; white-space: nowrap; }
.poster-theme .wallet-transaction strong.credit { color: #111; }
.poster-theme .wallet-transaction strong.debit { color: var(--primary); }
.poster-theme .receipt-upload { position: relative; min-height: 78px; display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px dashed #c9c3bc; border-radius: 10px; cursor: pointer; }
.poster-theme .receipt-upload > .icon { width: 27px; height: 27px; color: var(--primary); }
.poster-theme .receipt-upload span { display: grid; gap: 2px; }
.poster-theme .receipt-upload b { font-size: .7rem; }
.poster-theme .receipt-upload small { color: var(--muted); font-size: .58rem; }
.poster-theme .receipt-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.poster-theme .empty-inline { padding: 24px 0; color: var(--muted); text-align: center; font-size: .68rem; }
.poster-theme .wallet-admin-actions { display: flex !important; flex: 0 0 auto !important; gap: 6px; }
.poster-theme .admin-wallet-layout { grid-template-columns: minmax(0,1.4fr) minmax(320px,.7fr); }
.poster-theme .admin-rate-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); }
.poster-theme .admin-rate-note p { margin: 0; font-size: .63rem; line-height: 1.65; }

/* Promotion request builder. */
.poster-theme .promotion-layout { grid-template-columns: minmax(0,1.4fr) minmax(350px,.8fr); }
.poster-theme .promotion-request-list { padding: 0 18px; }
.poster-theme .promotion-request-row { display: grid; grid-template-columns: minmax(190px,.8fr) minmax(260px,1.2fr) auto; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.poster-theme .promotion-request-row:last-child { border-bottom: 0; }
.poster-theme .promotion-target-summary { display: flex; flex-wrap: wrap; gap: 7px; }
.poster-theme .promotion-target-summary > span { display: grid; grid-template-columns: 18px auto; column-gap: 6px; align-items: center; padding: 7px 9px; background: var(--surface-2); border: 1px solid var(--line); border-radius: 8px; }
.poster-theme .promotion-target-summary .icon { grid-row: 1 / 3; width: 16px; height: 16px; color: var(--primary); }
.poster-theme .promotion-target-summary b { font-size: .6rem; }
.poster-theme .promotion-target-summary small { color: var(--muted); font-size: .55rem; }
.poster-theme .promotion-request-status { display: grid; justify-items: end; gap: 6px; }
.poster-theme .promotion-request-status > span:not(.status-badge) { color: var(--muted); font-size: .58rem; }
.poster-theme .promotion-sites-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.poster-theme .select-all-sites { display: inline-flex !important; align-items: center; gap: 5px; color: var(--muted) !important; font-size: .62rem !important; font-weight: 650 !important; }
.poster-theme .select-all-sites input { accent-color: var(--primary); }
.poster-theme .promotion-site-grid { display: grid; gap: 7px; max-height: 330px; overflow-y: auto; padding-inline-end: 3px; }
.poster-theme .promotion-site-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.8fr); align-items: center; gap: 8px; padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.poster-theme .promotion-site-toggle { display: flex !important; align-items: center; gap: 8px; margin: 0 !important; cursor: pointer; }
.poster-theme .promotion-site-toggle input { accent-color: var(--primary); }
.poster-theme .promotion-site-toggle .site-symbol { width: 31px; height: 31px; }
.poster-theme .promotion-site-toggle .site-symbol .icon { width: 20px; height: 20px; }
.poster-theme .promotion-site-toggle > span:last-child { display: grid; }
.poster-theme .promotion-site-toggle b { font-size: .63rem; }
.poster-theme .promotion-site-toggle small { color: var(--muted); font-size: .55rem; }
.poster-theme .promotion-site-card .form-control { min-height: 38px; font-size: .62rem; }
.poster-theme .promotion-flow-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); }
.poster-theme .promotion-flow-note .icon { width: 21px; height: 21px; color: var(--primary); }
.poster-theme .promotion-flow-note p { margin: 0; color: var(--muted); font-size: .62rem; line-height: 1.65; }
.poster-theme .admin-promotion-list { padding: 6px 18px 18px; display: grid; gap: 10px; }
.poster-theme .admin-promotion-card { padding: 15px; border: 1px solid var(--line); border-radius: 11px; }
.poster-theme .admin-promotion-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; }
.poster-theme .admin-promotion-head > div:first-child { display: flex; align-items: center; gap: 8px; }
.poster-theme .admin-promotion-head h3 { margin: 0; font-size: .78rem; }
.poster-theme .admin-promotion-head span { color: var(--muted); font-size: .58rem; }
.poster-theme .admin-targets { margin-bottom: 13px; }
.poster-theme .admin-promotion-offer { padding-top: 13px; border-top: 1px solid var(--line); }
.poster-theme .management-offer-summary { display: grid; gap: 3px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.poster-theme .management-offer-summary b { font-size: .68rem; }
.poster-theme .management-offer-summary span { color: var(--muted); font-size: .62rem; }

/* Statuses introduced by promotion workflow. */
.poster-theme .status-offer { color: #7a4300; background: #fff4df; border-color: #efd09a; }
.poster-theme .status-accepted, .poster-theme .status-running, .poster-theme .status-completed { color: #fff; background: var(--ink); border-color: var(--ink); }

/* RTL micro-alignment: icons, mixed-script values, rows and cards. */
html[dir="rtl"] .poster-theme .account-state,
html[dir="rtl"] .poster-theme .channel-row,
html[dir="rtl"] .poster-theme .wallet-transaction,
html[dir="rtl"] .poster-theme .wallet-request-row,
html[dir="rtl"] .poster-theme .wallet-admin-request,
html[dir="rtl"] .poster-theme .promotion-request-row,
html[dir="rtl"] .poster-theme .manager-eligibility,
html[dir="rtl"] .poster-theme .wallet-hero { direction: rtl; text-align: right; }
html[dir="rtl"] .poster-theme .promotion-request-status { justify-items: start; }
html[dir="rtl"] .poster-theme .account-type-card { direction: rtl; text-align: right; }
html[dir="rtl"] .poster-theme .registration-review { direction: rtl; }
html[dir="rtl"] .poster-theme .release-card-meta { direction: rtl; }
html[dir="rtl"] .poster-theme .release-card-body > span[dir="ltr"] { text-align: right; unicode-bidi: isolate; }

@media (max-width: 1180px) {
  .poster-theme .promotion-layout, .poster-theme .wallet-layout, .poster-theme .admin-wallet-layout, .poster-theme .manager-artists-layout { grid-template-columns: minmax(0,1fr) minmax(280px,.75fr); }
  .poster-theme .promotion-request-row { grid-template-columns: minmax(170px,.7fr) minmax(220px,1fr); }
  .poster-theme .promotion-request-status { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; }
}

@media (max-width: 1020px) {
  .poster-theme .profile-layout, html[dir="rtl"] .poster-theme .profile-layout,
  .poster-theme .wizard-layout, html[dir="rtl"] .poster-theme .wizard-layout,
  .poster-theme .promotion-layout, .poster-theme .wallet-layout, .poster-theme .admin-wallet-layout, .poster-theme .manager-artists-layout { grid-template-columns: 1fr; }
  .poster-theme .wizard-rail, html[dir="rtl"] .poster-theme .wizard-rail,
  .poster-theme .wizard-card, html[dir="rtl"] .poster-theme .wizard-card { grid-column: auto; grid-row: auto; }
  .poster-theme .wallet-rate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .poster-theme .manager-progress { width: min(320px,45%); }
}

@media (max-width: 820px) {
  .poster-theme .track-row-bilingual, html[dir="rtl"] .poster-theme .track-row-bilingual { grid-template-columns: 24px minmax(0,1fr) 36px; }
  .poster-theme .track-row-bilingual [data-track-title-fa] { grid-column: 2; grid-row: 1; }
  .poster-theme .track-row-bilingual [data-track-title-en] { grid-column: 2; grid-row: 2; }
  .poster-theme .track-row-bilingual .track-duration { grid-column: 2; grid-row: 3; display: block; }
  .poster-theme .track-row-bilingual [data-remove-track] { grid-column: 3; grid-row: 1 / 4; }
  .poster-theme .track-grip { grid-column: 1; grid-row: 1 / 4; }
  .poster-theme .promotion-site-card { grid-template-columns: 1fr; }
  .poster-theme .promotion-request-row { grid-template-columns: 1fr; }
  .poster-theme .promotion-request-status { grid-column: auto; justify-content: flex-start; justify-items: start; }
  .poster-theme .wallet-rate-grid { grid-template-columns: 1fr; }
  .poster-theme .manager-eligibility { align-items: flex-start; flex-direction: column; }
  .poster-theme .manager-progress { width: 100%; }
  .poster-theme .managed-artist-row { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .poster-theme .account-type-grid { grid-template-columns: 1fr; }
  .poster-theme .wallet-hero { align-items: flex-start; flex-direction: column; }
  .poster-theme .wallet-hero .button { width: 100%; }
  .poster-theme .jalali-picker { grid-template-columns: .8fr 1.35fr 1fr; }
  .poster-theme .premium-wallet-note { align-items: flex-start; flex-wrap: wrap; }
  .poster-theme .premium-wallet-note .button { width: 100%; }
  .poster-theme .onboarding-hero img { inset-block-start: auto !important; inset-block-end: -72px !important; inset-inline-start: 50% !important; inset-inline-end: auto !important; width: 195px !important; height: 255px !important; transform: translateX(-50%) !important; }
}

/* Keep fixed sidebar width synchronized with the responsive dashboard grid. */
@media (min-width: 1021px) and (max-width: 1180px) {
  .poster-theme .dashboard-sidebar { width: 220px !important; }
}

/* Per-site promotion placement management. */
.poster-theme .network-admin-row { grid-template-columns: minmax(360px,1fr) auto auto auto auto; }
.poster-theme .network-admin-user { align-items:flex-start; }
.poster-theme .network-site-meta { min-width:0; display:grid; gap:6px; }
.poster-theme .network-site-line { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.poster-theme .network-site-line b { font-size:.74rem; line-height:1.25; }
.poster-theme .network-site-link { color:var(--muted); text-decoration:none; font-size:.64rem; white-space:nowrap; }
.poster-theme .network-site-link:hover { color:var(--text); }
.poster-theme .site-placement-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:2px; }
.poster-theme .site-placement-chips small { padding:3px 7px; border:1px solid var(--line); border-radius:999px; background:var(--surface-2); color:var(--muted); font-size:.53rem; line-height:1.3; }
.poster-theme .placement-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.poster-theme .placement-check { min-height:42px; display:flex !important; align-items:center; gap:8px; margin:0 !important; padding:9px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; font-size:.64rem !important; font-weight:650 !important; }
.poster-theme .placement-check input { accent-color:var(--primary); }
.poster-theme .modal-copy { margin:0 0 13px; color:var(--muted); font-size:.68rem; line-height:1.65; }
@media (max-width:820px){
  .poster-theme .network-admin-row { grid-template-columns:1fr auto auto; }
  .poster-theme .network-admin-row > .status-badge { grid-column:2; }
  .poster-theme .network-site-line { gap:7px; }
  .poster-theme .network-site-link { font-size:.6rem; }
  .poster-theme .placement-check-grid { grid-template-columns:1fr; }
}
.poster-theme .release-premium-detail { display:flex; align-items:center; gap:12px; margin-top:12px; padding:14px 17px !important; }
.poster-theme .release-premium-detail > div { display:grid; gap:2px; }
.poster-theme .release-premium-detail b { font-size:.72rem; }
.poster-theme .release-premium-detail span, .poster-theme .release-premium-detail small { color:var(--muted); font-size:.61rem; }

/* V5 final: keep fixed LTR sidebar geometry identical to RTL mirror. */
@media (min-width:1021px){
  html[dir="ltr"] .poster-theme .dashboard-shell{
    grid-template-columns:246px minmax(0,1fr);
    grid-template-areas:"dashboard-sidebar dashboard-main";
  }
  html[dir="ltr"] .poster-theme .dashboard-sidebar{
    grid-area:dashboard-sidebar;
    grid-column:1;
    grid-row:1;
  }
  html[dir="ltr"] .poster-theme .dashboard-main{
    grid-area:dashboard-main;
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
}
@media (min-width:1021px) and (max-width:1180px){
  html[dir="ltr"] .poster-theme .dashboard-shell{grid-template-columns:220px minmax(0,1fr);}
}

/* ==========================================================
   V5.1 global sidebar lock
   Dashboard routes must never establish a transformed containing
   block around the fixed workspace sidebar. The old route entrance
   transform made the sidebar scroll with long pages while short
   pages only appeared to be fixed. Keep a fade-only entrance here.
   ========================================================== */
@keyframes dashboard-route-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

.poster-theme .dashboard-shell.view-enter {
  animation: dashboard-route-fade .22s ease both !important;
  transform: none !important;
}

@media (min-width: 1021px) {
  .poster-theme .dashboard-shell {
    transform: none !important;
  }

  .poster-theme .dashboard-sidebar {
    position: fixed !important;
    top: 78px !important;
    bottom: 0 !important;
    height: calc(100vh - 78px) !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    transform: none !important;
  }

  html[dir="ltr"] .poster-theme .dashboard-sidebar {
    left: 0 !important;
    right: auto !important;
  }

  html[dir="rtl"] .poster-theme .dashboard-sidebar {
    right: 0 !important;
    left: auto !important;
  }
}

/* ==========================================================
   V5.2 status language — text-only states
   Status labels across both LTR and RTL dashboards use color
   instead of filled badge backgrounds. Action buttons are not
   affected by these rules.
   ========================================================== */
.poster-theme .status-badge {
  gap: 6px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1.45;
  font-weight: 800;
}

.poster-theme .status-badge::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  background: currentColor !important;
  box-shadow: none !important;
}

/* successful / completed states */
.poster-theme .status-published,
.poster-theme .status-approved,
.poster-theme .status-verified,
.poster-theme .status-accepted,
.poster-theme .status-completed {
  color: #147b5a !important;
  background: transparent !important;
  border-color: transparent !important;
}

/* waiting / review states */
.poster-theme .status-review,
.poster-theme .status-pending,
.poster-theme .status-offer {
  color: #a96808 !important;
  background: transparent !important;
  border-color: transparent !important;
}

/* action required / failed states */
.poster-theme .status-changes,
.poster-theme .status-rejected,
.poster-theme .status-blocked {
  color: #d70b18 !important;
  background: transparent !important;
  border-color: transparent !important;
}

/* network / in-progress states */
.poster-theme .status-sent,
.poster-theme .status-running {
  color: #315cf5 !important;
  background: transparent !important;
  border-color: transparent !important;
}

/* neutral state */
.poster-theme .status-draft {
  color: #68778c !important;
  background: transparent !important;
  border-color: transparent !important;
}

/* Keep positioned release-card statuses readable without restoring a box. */
.poster-theme .release-art .status-badge {
  text-shadow: none;
}

/* ==========================================================
   V5.3 layout polish — wizard geometry + structural surfaces
   Keep LTR and RTL geometry identical, with mirrored direction only.
   ========================================================== */

/* Use a cooler structural neutral so section heads never disappear
   into the warm dashboard canvas. This token is intentionally global:
   every component that previously used the nearly-identical warm tint
   now gets the same cleaner neutral in both languages. */
:root {
  --surface-2: #f7f7f9;
}

/* All multi-column dashboard compositions start on one exact baseline. */
.poster-theme .dashboard-grid,
.poster-theme .profile-layout,
.poster-theme .wizard-layout,
.poster-theme .wallet-layout,
.poster-theme .admin-wallet-layout,
.poster-theme .manager-artists-layout,
.poster-theme .promotion-layout,
.poster-theme .onboarding-grid {
  align-items: start !important;
}

.poster-theme .dashboard-grid > *,
.poster-theme .profile-layout > *,
.poster-theme .wizard-layout > *,
.poster-theme .wallet-layout > *,
.poster-theme .admin-wallet-layout > *,
.poster-theme .manager-artists-layout > *,
.poster-theme .promotion-layout > *,
.poster-theme .onboarding-grid > * {
  align-self: start !important;
  margin-block-start: 0 !important;
}

/* The release-progress rail should share the exact top edge of the
   wizard card. It does not need an independent sticky offset because
   the main Workspace sidebar already remains fixed globally. */
@media (min-width: 821px) {
  .poster-theme .wizard-rail {
    position: static !important;
    top: auto !important;
    margin: 0 !important;
  }

  .poster-theme .wizard-card {
    margin: 0 !important;
  }
}

/* Step rows: circle, connector and copy use one measured grid so the
   number cannot drift in LTR or RTL. */
@media (min-width: 821px) {
  .poster-theme .wizard-step {
    position: relative;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center !important;
    column-gap: 11px !important;
    min-height: 57px;
    padding: 8px 10px !important;
  }

  html[dir="rtl"] .poster-theme .wizard-step {
    grid-template-columns: 32px minmax(0, 1fr);
    direction: rtl;
  }

  .poster-theme .wizard-index {
    position: relative;
    z-index: 2;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px;
    min-height: 32px;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
    font-family: Manrope, Inter, system-ui, sans-serif;
    font-size: .62rem !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
  }

  .poster-theme .wizard-index .icon {
    width: 15px;
    height: 15px;
    margin: 0 !important;
  }

  .poster-theme .wizard-step > div {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 1px;
  }

  .poster-theme .wizard-step:not(:last-child)::after {
    content: '';
    position: absolute;
    z-index: 0;
    top: 40px !important;
    bottom: -9px !important;
    inset-inline-start: 25px !important;
    width: 1px !important;
    background: var(--line) !important;
    transform: none !important;
  }
}

/* Give wizard section headers/footer a visibly separate structural
   surface while keeping the body clean white. */
.poster-theme .wizard-head,
.poster-theme .wizard-footer {
  background: #f7f7f9 !important;
}

.poster-theme .wizard-head {
  border-bottom-color: #dddde2 !important;
}

.poster-theme .wizard-footer {
  border-top-color: #dddde2 !important;
}

/* The step eyebrow stays crisp on the new neutral header. */
.poster-theme .wizard-head > span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  color: var(--primary) !important;
}

/* Paired cards elsewhere use the same baseline discipline. */
.poster-theme .panel,
.poster-theme .profile-card,
.poster-theme .wizard-rail,
.poster-theme .wizard-card {
  box-sizing: border-box;
}

/* Preserve mirrored text alignment without altering field direction. */
html[dir="ltr"] .poster-theme .wizard-step > div { text-align: left; }
html[dir="rtl"] .poster-theme .wizard-step > div { text-align: right; }


/* ==========================================================
   V5.4 release workflow polish
   LTR / RTL share the same component geometry.
   ========================================================== */

/* Release progress: light, quiet and readable. The red step marker is
   enough to communicate the active stage; no heavy black row is needed. */
.poster-theme .wizard-step,
.poster-theme .wizard-step.active,
.poster-theme .wizard-step.complete {
  color: var(--muted) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.poster-theme .wizard-step.active {
  background: #f3f3f5 !important;
}
.poster-theme .wizard-step b { color: var(--ink) !important; }
.poster-theme .wizard-step.active b { color: var(--ink) !important; }
.poster-theme .wizard-index {
  color: #6d6862 !important;
  background: #fff !important;
  border-color: #bdb8b2 !important;
  box-shadow: none !important;
}
.poster-theme .wizard-step.active .wizard-index {
  color: #fff !important;
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  box-shadow: none !important;
}
.poster-theme .wizard-step.complete .wizard-index {
  color: var(--primary) !important;
  background: #f7f7f8 !important;
  border-color: #c9c5c0 !important;
}
.poster-theme .wizard-step.complete .wizard-index .icon {
  color: var(--primary) !important;
  stroke-width: 2.4;
}

/* Form focus uses a neutral outline so opened selects never visually
   collide with a bright red control underneath. */
.poster-theme .field:focus-within { position: relative; z-index: 6; }
.poster-theme .form-control:focus,
.poster-theme select.form-control:focus,
.poster-theme textarea.form-control:focus {
  border-color: #8d8881 !important;
  box-shadow: 0 0 0 3px rgba(20,20,22,.045) !important;
  outline: 0 !important;
}
.poster-theme select.form-control {
  position: relative;
  z-index: 1;
  background-color: #fff !important;
}
.poster-theme select.form-control option { background: #fff; color: var(--ink); }

/* File naming chips are outlined, not black filled. */
.poster-theme .filename-code {
  color: var(--ink) !important;
  background: transparent !important;
  border: 1px solid #bdb8b2 !important;
  border-radius: 6px !important;
  font-weight: 700;
}
.poster-theme .filename-rule { background: #fff !important; }

/* Upload validation stays lightweight. */
.poster-theme .validation-item .icon {
  width: 17px !important;
  height: 17px !important;
  padding: 0 !important;
  color: var(--primary) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  stroke-width: 2.2 !important;
}
.poster-theme .upload-icon {
  width: 46px !important;
  height: 46px !important;
  color: var(--primary) !important;
  background: transparent !important;
  border: 1px solid #d8d3cd;
  border-radius: 12px !important;
}
.poster-theme .upload-icon .icon { width: 24px; height: 24px; }
.poster-theme .upload-result {
  pointer-events: auto !important;
  gap: 10px !important;
  background: #fff !important;
  border: 1px solid #d8d3cd !important;
  box-shadow: none !important;
}
.poster-theme .upload-info { min-width: 0; display: grid; gap: 1px; flex: 1; }
.poster-theme .upload-info small { color: var(--muted); font-size: .55rem; font-weight: 650; }
.poster-theme .upload-info b { color: var(--ink); }
.poster-theme .upload-ok {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: var(--primary);
}
.poster-theme .upload-ok .icon { width: 16px; height: 16px; }
.poster-theme .upload-remove {
  position: relative;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 0 9px;
  color: #5e5954;
  background: #f6f5f3;
  border: 1px solid #d8d3cd;
  border-radius: 7px;
  font-size: .58rem;
  font-weight: 750;
  cursor: pointer;
}
.poster-theme .upload-remove:hover { color: var(--primary); border-color: #d8aeb2; background: #fff7f8; }
.poster-theme .upload-remove .icon { width: 13px; height: 13px; }

/* Exact schedule controls. */
.poster-theme .schedule-picker-button {
  display: grid !important;
  grid-template-columns: 20px 1fr auto;
  align-items: center;
  gap: 9px;
  text-align: start;
  cursor: pointer;
}
.poster-theme .schedule-picker-button .icon { width: 18px; height: 18px; color: #6c6761; }
.poster-theme .schedule-picker-button span { font-weight: 700; }
.poster-theme .schedule-picker-button small { color: var(--muted); font-size: .56rem; }
html[dir="rtl"] .poster-theme .schedule-picker-button { direction: rtl; }

.poster-theme .time24-wrap { display: grid; gap: 5px; }
.poster-theme .time24-wrap > small { color: var(--muted); font-size: .56rem; }
.poster-theme .time24-input { position: relative; }
.poster-theme .time24-input > .icon {
  position: absolute;
  z-index: 3;
  top: 50%;
  inset-inline-end: 13px;
  width: 17px;
  height: 17px;
  color: #6c6761;
  transform: translateY(-50%);
  pointer-events: none;
}
.poster-theme .time24-input .form-control {
  direction: ltr !important;
  text-align: left !important;
  padding-inline-end: 42px !important;
  font-variant-numeric: tabular-nums;
}

/* Calendar modal. */
.poster-theme .schedule-calendar { width: min(430px, 100%); margin-inline: auto; }
.poster-theme .calendar-toolbar {
  display: grid;
  grid-template-columns: 42px 1fr 42px;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.poster-theme .calendar-toolbar strong { text-align: center; font-size: .88rem; }
.poster-theme .calendar-weekdays,
.poster-theme .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0,1fr));
  gap: 5px;
}
.poster-theme .calendar-weekdays { margin-bottom: 5px; }
.poster-theme .calendar-weekdays span {
  min-height: 27px;
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: .58rem;
  font-weight: 750;
}
.poster-theme .calendar-day {
  min-width: 0;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: var(--ink);
  background: #fff;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: .66rem;
  font-weight: 650;
  cursor: pointer;
}
.poster-theme .calendar-day:hover { background: #f5f4f2; border-color: #d8d3cd; }
.poster-theme .calendar-day.today { border-color: #bdb8b2; }
.poster-theme .calendar-day.selected { color: #fff; background: var(--primary); border-color: var(--primary); }
.poster-theme .calendar-day.empty { pointer-events: none; }
.poster-theme .calendar-hint {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 14px;
  padding-top: 12px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  font-size: .59rem;
}
.poster-theme .calendar-hint .icon { width: 15px; height: 15px; color: var(--primary); }
html[dir="rtl"] .poster-theme .schedule-calendar { direction: rtl; }

/* Feedback should never become a heavy black block. */
.poster-theme .toast,
.poster-theme .toast.error {
  color: var(--ink) !important;
  background: #fff !important;
  border: 1px solid #eadbdd !important;
  border-inline-start: 4px solid var(--primary) !important;
  box-shadow: 0 10px 30px rgba(24,20,20,.12) !important;
}
.poster-theme .toast-icon,
.poster-theme .toast.error .toast-icon {
  color: var(--primary) !important;
  background: #fff1f2 !important;
  border: 1px solid #f0c8cc;
}
.poster-theme .toast p,
.poster-theme .toast.error p { color: var(--muted) !important; }

/* Premium submission is visibly locked until the wallet can cover it. */
.poster-theme .premium-final-warning {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 17px;
  padding: 14px 16px;
  color: var(--ink);
  background: #fff8f8;
  border: 1px solid #edc9cc;
  border-radius: 10px;
}
.poster-theme .premium-final-warning > .icon { width: 22px; height: 22px; color: var(--primary); flex: 0 0 auto; }
.poster-theme .premium-final-warning b { display: block; font-size: .7rem; }
.poster-theme .premium-final-warning p { margin: 3px 0 0; color: var(--muted); font-size: .61rem; }
.poster-theme .wallet-submit-block {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-inline-start: auto;
  margin-inline-end: 10px;
}
.poster-theme .wallet-submit-block > span { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-size: .6rem; font-weight: 700; }
.poster-theme .wallet-submit-block > span .icon { width: 15px; height: 15px; }
.poster-theme .button:disabled,
.poster-theme button:disabled {
  cursor: not-allowed !important;
  opacity: .58;
  box-shadow: none !important;
}

@media (max-width: 700px) {
  .poster-theme .wizard-footer { flex-wrap: wrap; }
  .poster-theme .wallet-submit-block { order: 3; width: 100%; margin: 0; justify-content: space-between; }
  .poster-theme .upload-result { flex-wrap: wrap; }
  .poster-theme .upload-remove { margin-inline-start: auto; }
  .poster-theme .schedule-picker-button { grid-template-columns: 20px 1fr; }
  .poster-theme .schedule-picker-button small { grid-column: 2; }
}


/* ==========================================================
   V5.5 artist/admin usability fixes
   ========================================================== */
.poster-theme .toolbar-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.poster-theme .search-field .icon { top: 50% !important; left: 13px; right: auto; inset: auto !important; transform: translateY(-50%); }
.poster-theme .search-field .form-control { min-height: 46px; }
html[dir="rtl"] .poster-theme .search-field .icon { right: 13px !important; left: auto !important; inset-inline-start: auto !important; inset-inline-end: 13px !important; }
html[dir="rtl"] .poster-theme .search-field .form-control { padding-inline-start: 13px !important; padding-inline-end: 42px !important; }

.poster-theme .support-page-layout { grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); align-items:start; }
.poster-theme .support-overview-panel { margin-bottom: 14px; }
.poster-theme .support-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.poster-theme .support-topic-card { display:grid; align-content:start; gap:8px; min-height:120px; padding:16px; text-align:start; background:#fff; border:1px solid var(--line); border-radius:12px; cursor:pointer; transition:.18s ease; }
.poster-theme .support-topic-card:hover { border-color:#d7c8ca; background:#fcfbfb; transform:translateY(-1px); }
.poster-theme .support-topic-card .icon { width:24px; height:24px; color:var(--primary); }
.poster-theme .support-topic-card b { font-size:.74rem; }
.poster-theme .support-topic-card span { color:var(--muted); font-size:.62rem; line-height:1.7; }

.poster-theme .wallet-rate-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.poster-theme .wallet-topup-quick { justify-content:space-between; }
.poster-theme .wallet-topup-quick > div { flex:1; }
.poster-theme .wallet-payment-box { display:grid; gap:12px; margin: 0 0 16px; padding:16px; background:#fbfbfc; border:1px solid #dddde2; border-radius:12px; }
.poster-theme .wallet-payment-head { display:flex; align-items:flex-start; gap:10px; }
.poster-theme .wallet-payment-head > .icon { width:22px; height:22px; color:var(--primary); flex:0 0 auto; }
.poster-theme .wallet-payment-head b { display:block; font-size:.75rem; }
.poster-theme .wallet-payment-head span { color:var(--muted); font-size:.61rem; }
.poster-theme .wallet-payment-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:10px; }
.poster-theme .wallet-payment-grid > div { display:grid; gap:3px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:10px; }
.poster-theme .wallet-payment-grid span { color:var(--muted); font-size:.58rem; }
.poster-theme .wallet-payment-grid b { font-size:.69rem; word-break:break-word; }
.poster-theme .wallet-payment-box p { margin:0; color:var(--muted); font-size:.61rem; line-height:1.8; }

.poster-theme .promotion-site-card { grid-template-columns: 1fr !important; align-items: stretch !important; gap: 10px !important; }
.poster-theme .promotion-site-toggle { align-items:flex-start !important; }
.poster-theme .promotion-site-meta { min-width:0; display:grid; gap:2px; }
.poster-theme .promotion-site-meta b { display:block; }
.poster-theme .promotion-site-card .form-control { width:100%; }
.poster-theme .promotion-target-summary { display:flex; flex-wrap:wrap; gap:8px; }
.poster-theme .promotion-target-chip { min-width:140px; display:grid; gap:2px; padding:10px 12px; background:#fbfbfc; border:1px solid var(--line); border-radius:10px; }
.poster-theme .promotion-target-chip b { font-size:.66rem; }
.poster-theme .promotion-target-chip small { color:var(--muted); font-size:.57rem; }

.poster-theme .metric-card .metric-top { justify-content:flex-start; }
.poster-theme .metric-card .metric-icon { width:36px; height:36px; }
.poster-theme .metric-card .metric-icon .icon { width:22px; height:22px; }

.poster-theme .field select.form-control { min-height:50px; }
.poster-theme .publishing-mode-field, .poster-theme .field:has([data-draft="genre"]) { position:relative; z-index: 4; }

@media (max-width: 1020px) {
  .poster-theme .support-page-layout { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .poster-theme .support-topic-grid { grid-template-columns:1fr; }
  .poster-theme .wallet-rate-grid { grid-template-columns:1fr !important; }
  .poster-theme .wallet-payment-grid { grid-template-columns:1fr; }
}


/* ==========================================================
   V5.6 exact requested fixes — applied to EN + FA
   ========================================================== */

/* Search icons: exact vertical center on every toolbar/search field. */
.poster-theme .search-field { position: relative !important; }
.poster-theme .search-field > .icon {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  left: 14px !important;
  right: auto !important;
  inset: auto !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  pointer-events: none;
}
.poster-theme .search-field .form-control { min-height: 48px; padding-left: 44px !important; padding-right: 14px !important; }
html[dir="rtl"] .poster-theme .search-field > .icon { right: 14px !important; left: auto !important; }
html[dir="rtl"] .poster-theme .search-field .form-control { padding-right: 44px !important; padding-left: 14px !important; text-align:right; }

/* One custom dropdown implementation for all form selects.
   This removes browser-dependent popup offsets (Genre vs Publishing mode). */
.poster-theme .custom-select-shell { position: relative; width: 100%; min-width: 0; z-index: 3; }
.poster-theme .custom-select-shell.open { z-index: 120; }
.poster-theme .custom-select-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  inset: 0 auto auto 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.poster-theme .custom-select-trigger {
  width: 100%; min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 0 14px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 9px;
  text-align: left; font-size: .72rem; font-weight: 500; cursor: pointer; box-shadow: none;
}
html[dir="rtl"] .poster-theme .custom-select-trigger { text-align: right; direction: rtl; }
.poster-theme .custom-select-trigger:hover { border-color: #aaa49d; }
.poster-theme .custom-select-shell.open .custom-select-trigger { border-color: #8d8881; box-shadow: 0 0 0 3px rgba(20,20,22,.045); }
.poster-theme .custom-select-arrow { display:grid; place-items:center; flex:0 0 auto; transition: transform .15s ease; }
.poster-theme .custom-select-arrow .icon { width: 16px; height: 16px; }
.poster-theme .custom-select-shell.open .custom-select-arrow { transform: rotate(180deg); }
.poster-theme .custom-select-menu {
  display: none; position: absolute; top: calc(100% + 6px); left: 0; right: 0; max-height: 260px; overflow-y: auto;
  padding: 5px; background: #fff; border: 1px solid #d9d5cf; border-radius: 10px; box-shadow: 0 12px 28px rgba(21,18,18,.12);
}
.poster-theme .custom-select-shell.open .custom-select-menu { display: grid; gap: 2px; }
.poster-theme .custom-select-option { width:100%; min-height: 38px; padding: 8px 10px; color:var(--ink); background:transparent; border:0; border-radius:7px; text-align:left; font-size:.68rem; cursor:pointer; }
html[dir="rtl"] .poster-theme .custom-select-option { text-align:right; direction:rtl; }
.poster-theme .custom-select-option:hover, .poster-theme .custom-select-option.selected { background:#f1f1f3; }
.poster-theme .custom-select-option:disabled { opacity:.45; cursor:not-allowed; }

/* Script validation for Persian/English release names. */
.poster-theme .script-hint { display:block; margin-top:5px; color:var(--muted); font-size:.56rem; }
.poster-theme .script-field.has-error .script-hint { color:var(--primary); font-weight:700; }
.poster-theme .form-control.script-invalid { border-color:var(--primary) !important; box-shadow:0 0 0 3px rgba(215,11,24,.06) !important; }

/* Albums toolbar: Single + Album are a real paired action group. */
.poster-theme .toolbar-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }

/* Wallet: top-up column starts exactly with Premium cards. */
.poster-theme .wallet-main-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr); align-items:start; gap:16px; }
.poster-theme .wallet-main-content { min-width:0; display:grid; gap:16px; }
.poster-theme .wallet-rate-grid-two { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px; margin:0 !important; }
.poster-theme .wallet-rate-grid-two .wallet-rate { min-height:142px !important; height:100%; align-items:center; }
.poster-theme .wallet-rate-grid-two .manager-rate-card { grid-column:1 / -1; }
.poster-theme .wallet-topup-panel { margin:0 !important; align-self:start !important; }
.poster-theme .wallet-history-panel, .poster-theme .wallet-requests-panel { margin:0 !important; }
.poster-theme .wallet-payment-box { margin-top:0; }
.poster-theme .wallet-card-number { grid-column:1 / -1; }
.poster-theme .warning-note { color:var(--primary) !important; }

/* Promotion: icons sit consistently above numbers, domains use a stable grid,
   and every site's placement selector lives below its domain. */
.poster-theme .metric-card { display:grid; align-content:start; grid-template-rows:auto auto auto; }
.poster-theme .metric-card .metric-top { min-height:38px; align-items:center; justify-content:flex-start !important; margin-bottom:10px; }
.poster-theme .metric-card .metric-value { margin-top:0 !important; }
.poster-theme .promotion-layout { grid-template-columns:minmax(0,1.35fr) minmax(390px,.75fr) !important; }
.poster-theme .promotion-request-row { grid-template-columns:minmax(190px,.8fr) minmax(260px,1fr) minmax(130px,.55fr) !important; }
.poster-theme .promotion-target-summary { align-items:stretch; }
.poster-theme .promotion-target-chip { min-width:0 !important; width:100%; }
.poster-theme .promotion-target-chip b { direction:ltr; text-align:left; }
html[dir="rtl"] .poster-theme .promotion-target-chip b { text-align:right; }
.poster-theme .promotion-site-grid { max-height:440px !important; gap:9px !important; }
.poster-theme .promotion-site-card { grid-template-columns:1fr !important; gap:9px !important; padding:11px !important; align-items:stretch !important; overflow:visible !important; }
.poster-theme .promotion-site-toggle { display:grid !important; grid-template-columns:auto 34px minmax(0,1fr); align-items:center !important; gap:9px !important; min-width:0; }
.poster-theme .promotion-site-toggle > input { margin:0; }
.poster-theme .promotion-site-meta { min-width:0; overflow:visible; }
.poster-theme .promotion-site-meta b { display:block; white-space:normal; overflow-wrap:anywhere; line-height:1.35; }
.poster-theme .promotion-site-card .custom-select-shell { width:100%; }
.poster-theme .promotion-site-card .custom-select-trigger { min-height:42px; font-size:.62rem; }

/* Support: complete topic selector + full ticket form align on top. */
.poster-theme .support-page-layout { grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr) !important; align-items:start !important; }
.poster-theme .support-page-layout > aside { align-self:start; margin-top:0 !important; }
.poster-theme .support-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.poster-theme .support-topic-card { display:grid; align-content:start; gap:7px; min-height:118px; padding:15px; text-align:start; background:#fff; border:1px solid var(--line); border-radius:11px; cursor:pointer; }
.poster-theme .support-topic-card:hover { border-color:#cfc9c3; background:#fafafa; }
.poster-theme .support-topic-card .icon { width:23px; height:23px; color:var(--primary); }
.poster-theme .support-topic-card b { font-size:.72rem; }
.poster-theme .support-topic-card span { color:var(--muted); font-size:.6rem; line-height:1.65; }
.poster-theme .support-attachment { min-height:72px; }

/* Keep wizard progress light: no black active slab. */
.poster-theme .wizard-step.active { background:#f1f1f3 !important; color:var(--ink) !important; }
.poster-theme .wizard-step.complete { background:transparent !important; }
.poster-theme .wizard-step.active .wizard-index { background:var(--primary) !important; color:#fff !important; }
.poster-theme .wizard-step.complete .wizard-index { background:#fff !important; color:var(--primary) !important; border-color:#c8c3bd !important; }

@media (max-width:1100px) {
  .poster-theme .wallet-main-grid, .poster-theme .promotion-layout, .poster-theme .support-page-layout { grid-template-columns:1fr !important; }
}
@media (max-width:820px) {
  .poster-theme .wallet-rate-grid-two, .poster-theme .support-topic-grid { grid-template-columns:1fr !important; }
  .poster-theme .promotion-request-row { grid-template-columns:1fr !important; }
}

/* V5.6 final micro-fixes */
.poster-theme .promotion-site-grid { max-height:none !important; overflow:visible !important; padding-inline-end:0 !important; }
.poster-theme .track-row [data-script].script-invalid { border-color:var(--primary) !important; }


/* ==========================================================
   V5.7 dashboard + publishing requirement refinement
   ========================================================== */

/* Hide the browser/page scrollbar in dashboard mode while preserving
   wheel/touch scrolling. The Workspace column keeps its own visible bar. */
html.dashboard-mode,
body.dashboard-mode {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html.dashboard-mode::-webkit-scrollbar,
body.dashboard-mode::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

@media (min-width: 1021px) {
  .poster-theme .dashboard-sidebar {
    scrollbar-width: thin !important;
    scrollbar-color: #bdb8b2 transparent !important;
  }
  .poster-theme .dashboard-sidebar::-webkit-scrollbar {
    display: block !important;
    width: 7px !important;
  }
  .poster-theme .dashboard-sidebar::-webkit-scrollbar-track {
    background: transparent;
  }
  .poster-theme .dashboard-sidebar::-webkit-scrollbar-thumb {
    background: #bdb8b2;
    border-radius: 999px;
  }
  .poster-theme .dashboard-sidebar::-webkit-scrollbar-thumb:hover {
    background: #8e8983;
  }
}

/* Main dashboard KPI cards: one centered visual hierarchy, no trend clutter. */
.poster-theme .dashboard-kpi-grid .metric-card {
  min-height: 150px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 7px;
  padding: 20px 16px;
}
.poster-theme .dashboard-kpi-grid .metric-top {
  width: auto;
  display: grid;
  place-items: center;
  margin: 0;
}
.poster-theme .dashboard-kpi-grid .metric-icon,
.poster-theme .dashboard-kpi-grid .metric-card.success .metric-icon,
.poster-theme .dashboard-kpi-grid .metric-card.warning .metric-icon,
.poster-theme .dashboard-kpi-grid .metric-card.danger .metric-icon {
  width: 52px !important;
  height: 52px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
}
.poster-theme .dashboard-kpi-grid .metric-icon .icon {
  width: 34px !important;
  height: 34px !important;
  stroke-width: 1.55 !important;
}
.poster-theme .dashboard-kpi-grid .metric-value {
  margin: 0 !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  text-align: center !important;
}
.poster-theme .dashboard-kpi-grid .metric-label {
  font-size: .69rem;
  text-align: center;
}
.poster-theme .dashboard-kpi-grid .trend { display: none !important; }

/* Publishing channels behave like deliberate links, not static text rows. */
.poster-theme .channel-list .channel-link {
  position: relative;
  text-decoration: none;
  color: inherit;
  border-radius: 10px;
  transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.poster-theme .channel-list .channel-link:hover,
.poster-theme .channel-list .channel-link:focus-visible {
  background: #faf8f8;
  outline: 0;
  transform: translateX(2px);
}
html[dir="rtl"] .poster-theme .channel-list .channel-link:hover,
html[dir="rtl"] .poster-theme .channel-list .channel-link:focus-visible {
  transform: translateX(-2px);
}
.poster-theme .channel-list .channel-link:hover b,
.poster-theme .channel-list .channel-link:focus-visible b {
  color: var(--primary);
}
.poster-theme .channel-list .channel-link .channel-open {
  color: #756f69;
  opacity: .72;
  transition: color .16s ease, opacity .16s ease;
}
.poster-theme .channel-list .channel-link:hover .channel-open,
.poster-theme .channel-list .channel-link:focus-visible .channel-open {
  color: var(--primary);
  opacity: 1;
}
.poster-theme .channel-list .channel-link .channel-open .icon {
  width: 17px;
  height: 17px;
}


/* V5.8 profile statistic simplification */
.poster-theme .profile-facts.profile-facts-single {
  grid-template-columns: 1fr !important;
}
.poster-theme .profile-facts.profile-facts-single > div {
  min-height: 92px;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  text-align: start;
  background: #f7f7f9;
  border: 1px solid #e3e0dc;
}
.poster-theme .profile-facts.profile-facts-single b {
  font-size: 1.35rem;
  line-height: 1;
}
.poster-theme .profile-facts.profile-facts-single span:not(.profile-published-icon) {
  font-size: .66rem;
  color: var(--muted);
}
.poster-theme .profile-published-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #147b5a !important;
}
.poster-theme .profile-published-icon .icon { width: 22px; height: 22px; }
html[dir="rtl"] .poster-theme .profile-facts.profile-facts-single > div { text-align: right; }


/* ==========================================================
   V5.9 dropdown stacking fix
   The opened field owns the highest stacking context so later
   form rows can never paint over Genre/Publishing dropdowns.
   ========================================================== */
.poster-theme .release-meta-grid,
.poster-theme .wizard-body,
.poster-theme .form-grid {
  overflow: visible !important;
}

.poster-theme .release-meta-grid > .field,
.poster-theme .form-grid > .field {
  position: relative;
  z-index: 1;
}

.poster-theme .release-meta-grid > .field.select-field-open,
.poster-theme .form-grid > .field.select-field-open,
.poster-theme .field:has(.custom-select-shell.open) {
  z-index: 1000 !important;
}

.poster-theme .custom-select-shell {
  isolation: isolate;
}
.poster-theme .custom-select-shell.open {
  z-index: 1100 !important;
  isolation: auto;
}
.poster-theme .custom-select-menu {
  z-index: 1200 !important;
  overflow-x: hidden;
}

/* Remove older per-field stacking rules that can compete with an open menu. */
.poster-theme .publishing-mode-field,
.poster-theme .field:has([data-draft="genre"]) {
  z-index: 1 !important;
}
.poster-theme .publishing-mode-field.select-field-open,
.poster-theme .field:has([data-draft="genre"]):has(.custom-select-shell.open) {
  z-index: 1000 !important;
}

/* Keep the dropdown visually attached to its control in both directions. */
.poster-theme .custom-select-menu {
  top: calc(100% + 6px) !important;
  inset-inline: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(21,18,18,.14) !important;
}


/* V5.10 Albums quick-create column */
.poster-theme .albums-toolbar .search-field { max-width: 100%; }
.poster-theme .albums-card-grid { align-items: start; }
.poster-theme .album-create-stack { display:grid; gap:13px; min-width:0; }
.poster-theme .quick-release-card { min-height:0 !important; }
.poster-theme .quick-release-card .empty-state { min-height:205px; padding:22px 18px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.poster-theme .quick-release-card .empty-state h2 { margin-top:10px; }
.poster-theme .quick-release-card .button { margin-top:4px; }
@media (max-width: 820px) {
  .poster-theme .album-create-stack { gap:12px; }
  .poster-theme .quick-release-card .empty-state { min-height:185px; }
}


/* ==========================================================
   V5.11 release type filters + Albums quick-card cleanup
   ========================================================== */
.poster-theme .releases-toolbar {
  align-items: center;
  flex-wrap: wrap;
}
.poster-theme .release-filter-cluster {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.poster-theme .filter-divider {
  width: 1px;
  height: 26px;
  background: var(--line);
  flex: 0 0 auto;
}
.poster-theme .segmented-type button.active {
  color: #fff;
  background: var(--primary);
}
.poster-theme .album-create-single-only {
  align-self: start;
}
@media (max-width: 1180px) {
  .poster-theme .releases-toolbar .search-field {
    flex-basis: 100%;
  }
  .poster-theme .release-filter-cluster {
    flex: 1 1 auto;
  }
}
@media (max-width: 720px) {
  .poster-theme .filter-divider { display: none; }
  .poster-theme .release-filter-cluster {
    width: 100%;
    gap: 6px;
  }
  .poster-theme .segmented {
    max-width: 100%;
    overflow-x: auto;
  }
}


/* ==========================================================
   V5.12 wallet compact premium cards
   ========================================================== */
.poster-theme .wallet-hero-compact {
  min-height: 0 !important;
  padding-block: 19px !important;
}
.poster-theme .wallet-rate-grid-two {
  align-items: stretch !important;
  grid-auto-rows: 112px !important;
}
.poster-theme .wallet-rate-grid-two .wallet-rate {
  min-height: 112px !important;
  height: 112px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  align-self: stretch !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden;
}
.poster-theme .wallet-rate-grid-two .wallet-rate > .clean-feature-icon {
  width: 38px !important;
  height: 38px !important;
}
.poster-theme .wallet-rate-grid-two .wallet-rate > .clean-feature-icon .icon {
  width: 24px !important;
  height: 24px !important;
}
.poster-theme .wallet-rate-grid-two .wallet-rate > div {
  display: grid !important;
  align-content: center !important;
  gap: 2px !important;
  min-width: 0 !important;
}
.poster-theme .wallet-rate-grid-two .wallet-rate span {
  font-size: .59rem !important;
}
.poster-theme .wallet-rate-grid-two .wallet-rate b {
  font-size: .91rem !important;
  line-height: 1.25 !important;
}
.poster-theme .wallet-rate-grid-two .wallet-rate small {
  min-height: 1.5em;
  font-size: .53rem !important;
  line-height: 1.45 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[dir="rtl"] .poster-theme .wallet-rate-grid-two .wallet-rate,
html[dir="ltr"] .poster-theme .wallet-rate-grid-two .wallet-rate {
  transform: none !important;
}
@media (max-width: 1020px) {
  .poster-theme .wallet-rate-grid-two { grid-auto-rows: auto !important; }
  .poster-theme .wallet-rate-grid-two .wallet-rate { height: 106px !important; min-height: 106px !important; }
}


/* ==========================================================
   V5.13 Promotion center rebuild
   ========================================================== */
.poster-theme .promotion-kpi-grid .metric-card {
  min-height: 150px !important;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  text-align: center !important;
  gap: 7px !important;
  padding: 20px 16px !important;
}
.poster-theme .promotion-kpi-grid .metric-top {
  width: auto !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
}
.poster-theme .promotion-kpi-grid .metric-icon,
.poster-theme .promotion-kpi-grid .metric-card.success .metric-icon,
.poster-theme .promotion-kpi-grid .metric-card.warning .metric-icon,
.poster-theme .promotion-kpi-grid .metric-card.danger .metric-icon {
  width: 52px !important;
  height: 52px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
}
.poster-theme .promotion-kpi-grid .metric-icon .icon {
  width: 34px !important;
  height: 34px !important;
  stroke-width: 1.55 !important;
}
.poster-theme .promotion-kpi-grid .metric-value {
  margin: 0 !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  text-align: center !important;
}
.poster-theme .promotion-kpi-grid .metric-label { font-size: .69rem !important; text-align: center !important; }

.poster-theme .promotion-layout-wide {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 16px !important;
}
.poster-theme .promotion-panel-list,
.poster-theme .promotion-request-form-wide {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  align-self: start !important;
}
.poster-theme .promotion-request-row-clean {
  display: grid !important;
  grid-template-columns: minmax(145px, 1fr) minmax(120px, .75fr) minmax(115px, auto) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 13px 18px !important;
}
.poster-theme .promotion-request-row-clean .release-cell { min-width: 0; }
.poster-theme .promotion-site-names {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.poster-theme .promotion-site-names > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  color: var(--ink);
  background: #f7f7f9;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: .61rem;
  font-weight: 750;
  white-space: nowrap;
}
.poster-theme .promotion-request-status {
  min-width: 0;
  display: grid !important;
  justify-items: end;
  gap: 5px;
  text-align: end;
}
html[dir="rtl"] .poster-theme .promotion-request-status { justify-items: start; text-align: start; }

.poster-theme .promotion-release-picker { position: relative; z-index: 30; }
.poster-theme .promotion-release-search { width: 100%; }
.poster-theme .promotion-release-search .form-control.has-selection { font-weight: 700; }
.poster-theme .promotion-release-results {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 7px);
  left: 0;
  right: 0;
  display: grid;
  gap: 4px;
  max-height: 300px;
  overflow: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid #d9d5cf;
  border-radius: 11px;
  box-shadow: 0 15px 34px rgba(24,20,20,.13);
}
.poster-theme .promotion-release-results[hidden] { display: none !important; }
.poster-theme .promotion-release-option {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  color: var(--ink);
  background: #fff;
  border: 0;
  border-radius: 8px;
  text-align: start;
  cursor: pointer;
}
.poster-theme .promotion-release-option:hover { background: #f5f5f7; }
.poster-theme .promotion-release-option[hidden] { display: none !important; }
.poster-theme .promotion-release-option-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.poster-theme .promotion-release-option-icon .icon { width: 20px; height: 20px; }
.poster-theme .promotion-release-option-copy { min-width: 0; display: grid; gap: 2px; }
.poster-theme .promotion-release-option-copy b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .68rem; }
.poster-theme .promotion-release-option-copy small { color: var(--muted); font-size: .56rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.poster-theme .promotion-release-option-state { min-width: max-content; }
.poster-theme .promotion-release-empty { padding: 16px 12px; color: var(--muted); text-align: center; font-size: .62rem; }

.poster-theme .promotion-site-grid-clean {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  max-height: none !important;
  overflow: visible !important;
}
.poster-theme .promotion-site-grid-clean .promotion-site-card {
  min-width: 0;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  padding: 11px !important;
  overflow: visible !important;
}
.poster-theme .promotion-site-grid-clean .promotion-site-toggle { min-width: 0; }
.poster-theme .promotion-site-grid-clean .promotion-site-meta b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.poster-theme .promotion-site-grid-clean .custom-select-shell,
.poster-theme .promotion-site-grid-clean select.form-control { width: 100%; }

@media (max-width: 1180px) {
  .poster-theme .promotion-layout-wide { grid-template-columns: 1fr !important; }
  .poster-theme .promotion-site-grid-clean { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 820px) {
  .poster-theme .promotion-request-row-clean { grid-template-columns: 1fr !important; align-items: start !important; }
  .poster-theme .promotion-request-status,
  html[dir="rtl"] .poster-theme .promotion-request-status { justify-items: start; text-align: start; }
  .poster-theme .promotion-site-grid-clean { grid-template-columns: 1fr !important; }
}


/* ==========================================================
   V5.14 Promotion search + icon cleanup
   Fixes are intentionally appended after every earlier search rule.
   ========================================================== */

/* Keep the magnifier physically inside the search control in both directions.
   Earlier V5.6 used `inset:auto` after top/left, which reset the position. */
.poster-theme .promotion-release-search {
  position: relative !important;
  min-height: 48px !important;
}
.poster-theme .promotion-release-search > .icon {
  position: absolute !important;
  z-index: 8 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  inset: 50% auto auto 14px !important;
  transform: translateY(-50%) !important;
  color: var(--muted) !important;
  pointer-events: none !important;
}
.poster-theme .promotion-release-search .form-control {
  min-height: 48px !important;
  padding-left: 44px !important;
  padding-right: 14px !important;
}
html[dir="rtl"] .poster-theme .promotion-release-search > .icon {
  inset: 50% 14px auto auto !important;
}
html[dir="rtl"] .poster-theme .promotion-release-search .form-control {
  padding-right: 44px !important;
  padding-left: 14px !important;
  text-align: right !important;
}

/* Search results must float over every following field instead of being painted
   underneath Sites and placements or its labels. */
.poster-theme .promotion-form-grid,
.poster-theme .promotion-request-form-wide,
.poster-theme .promotion-release-picker-field {
  overflow: visible !important;
}
.poster-theme .promotion-release-picker-field {
  position: relative !important;
  z-index: 4000 !important;
}
.poster-theme .promotion-release-picker-field:focus-within {
  z-index: 5000 !important;
}
.poster-theme .promotion-release-picker {
  position: relative !important;
  z-index: 5000 !important;
  overflow: visible !important;
}
.poster-theme .promotion-release-results {
  z-index: 6000 !important;
  top: calc(100% + 8px) !important;
  background: #fff !important;
  isolation: isolate;
}
.poster-theme .promotion-sites-field {
  position: relative !important;
  z-index: 1 !important;
}

/* Clean icon treatment for promotion KPIs: no tile, ring, or decorative box. */
.poster-theme .promotion-kpi-grid .metric-icon,
.poster-theme .promotion-kpi-grid .metric-icon::before,
.poster-theme .promotion-kpi-grid .metric-icon::after {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.poster-theme .promotion-kpi-grid .metric-icon .icon {
  overflow: visible;
  fill: none !important;
}

/* Sidebar Promotion icon uses the same clean SVG with no extra tile/line effects. */
.poster-theme .sidebar-nav a[href="#/promotion"] > .icon,
.poster-theme .sidebar-nav a[href="#/admin-promotions"] > .icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}


/* V5.16 — Persian login-protection switch alignment fix */
html[dir="rtl"] .poster-theme .switch input:checked + i::after {
  transform: translateX(16px) !important;
}
html[dir="rtl"] .poster-theme .rule-check > .switch {
  flex: 0 0 auto !important;
  align-self: center;
  margin: 0 !important;
}


/* ==========================================================
   V5.17 Support + sidebar behavior
   ========================================================== */
/* Sidebar keeps its own scroll position across route renders. No auto-centering
   or page jump is performed when a Workspace item is selected. */
.poster-theme .dashboard-sidebar { scroll-behavior: auto !important; overflow-anchor: none; }
.poster-theme .sidebar-nav a.active { scroll-margin: 0 !important; }

/* Support topics are compact clickable rows, not large cards. */
.poster-theme .support-topic-list {
  display: grid;
  border-top: 1px solid var(--line);
}
.poster-theme .support-topic-row {
  width: 100%;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 18px;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 12px 18px;
  color: var(--ink);
  text-align: start;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}
.poster-theme .support-topic-row:last-child { border-bottom: 0; }
.poster-theme .support-topic-row:hover,
.poster-theme .support-topic-row:focus-visible { background: #f7f7f9; outline: 0; }
.poster-theme .support-topic-icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--primary); }
.poster-theme .support-topic-icon .icon { width: 23px; height: 23px; }
.poster-theme .support-topic-row > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.poster-theme .support-topic-row b { font-size: .72rem; }
.poster-theme .support-topic-row small { color: var(--muted); font-size: .61rem; line-height: 1.6; }
.poster-theme .support-topic-row > .icon { width: 16px; height: 16px; color: #8b8680; }
html[dir="rtl"] .poster-theme .support-topic-row { direction: rtl; }

/* Ticket titles and the overflow button open the same conversation. */
.poster-theme .support-ticket-main { min-width: 0; }
.poster-theme .ticket-title-button {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 0;
  text-align: start;
  color: var(--ink);
  background: transparent;
  border: 0;
  cursor: pointer;
}
.poster-theme .ticket-title-button b { font-size: .69rem; }
.poster-theme .ticket-title-button span { color: var(--muted); font-size: .59rem; }
.poster-theme .ticket-title-button:hover b { color: var(--primary); }

.poster-theme .ticket-compose-panel { transition: border-color .2s ease, box-shadow .2s ease; }
.poster-theme .ticket-compose-panel.ticket-compose-highlight { border-color: #e2aeb3 !important; box-shadow: 0 0 0 3px rgba(230,0,18,.04) !important; }

/* Conversation modal */
.poster-theme .ticket-conversation-body { display: grid; gap: 16px; }
.poster-theme .ticket-conversation-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .61rem; }
.poster-theme .ticket-thread { display: grid; gap: 10px; }
.poster-theme .ticket-message { width: min(86%, 620px); padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.poster-theme .ticket-message.user { justify-self: end; background: #f8f8fa; }
.poster-theme .ticket-message.support { justify-self: start; border-inline-start: 3px solid var(--primary); }
.poster-theme .ticket-message-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.poster-theme .ticket-message-head b { font-size: .66rem; }
.poster-theme .ticket-message-head span { color: var(--muted); font-size: .55rem; }
.poster-theme .ticket-message p { margin: 0; color: #4d4945; font-size: .65rem; line-height: 1.8; }
.poster-theme .ticket-reply-form { display: grid; gap: 9px; padding-top: 14px; border-top: 1px solid var(--line); }
.poster-theme .ticket-reply-form label { font-size: .66rem; font-weight: 800; }
.poster-theme .ticket-reply-form textarea { min-height: 100px; }
.poster-theme .ticket-reply-form .button { justify-self: end; }
html[dir="rtl"] .poster-theme .ticket-reply-form .button { justify-self: start; }

@media (max-width: 820px) {
  .poster-theme .support-topic-row { grid-template-columns: 34px minmax(0,1fr) 16px; padding-inline: 12px; }
  .poster-theme .ticket-message { width: 94%; }
}


/* V5.20 — Persian schedule input + localized bitrate pill */
html[dir="rtl"] .poster-theme .time24-input > .icon {
  right: 13px !important;
  left: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
}
html[dir="rtl"] .poster-theme .time24-input .form-control {
  direction: ltr !important;
  text-align: left !important;
  padding-left: 13px !important;
  padding-right: 42px !important;
}


/* ==========================================================
   V5.21 language switch placement
   ========================================================== */
.poster-theme .dashboard-header #language-toggle {
  display: none !important;
}
.poster-theme .language-button,
.poster-theme .auth-language {
  width: auto !important;
  min-width: 72px;
  padding-inline: 14px !important;
  white-space: nowrap;
}
.poster-theme .dashboard-language-switch {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  font-size: .68rem;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.poster-theme .dashboard-language-switch:hover {
  background: #faf9f7;
  border-color: #bdb8b2;
  transform: translateY(-1px);
}
.poster-theme .dashboard-language-switch .icon {
  width: 17px;
  height: 17px;
  stroke-width: 1.8;
}
html[dir="rtl"] .poster-theme .dashboard-language-switch {
  direction: ltr;
}
@media (max-width: 680px) {
  .poster-theme .dashboard-language-switch {
    min-width: 42px;
    padding-inline: 10px;
  }
  .poster-theme .dashboard-language-switch span {
    display: none;
  }
}


/* ==========================================================
   V5.22 brand/header refinement
   ========================================================== */
.poster-theme .brand-with-tagline {
  gap: 10px;
  align-items: center;
  letter-spacing: 0;
}
.poster-theme .brand-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 4px;
  line-height: 1;
}
.poster-theme .brand-with-tagline .brand-word {
  display: block;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1;
}
html[lang="fa"] .poster-theme .brand-with-tagline .brand-word {
  font-family: Vazirmatn, sans-serif;
  font-size: 1.02rem;
  letter-spacing: 0;
}
.poster-theme .brand-tagline {
  display: block;
  max-width: 250px;
  color: #817b75;
  font-size: .49rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
  white-space: nowrap;
}
html[lang="fa"] .poster-theme .brand-tagline {
  font-family: Vazirmatn, sans-serif;
  font-size: .51rem;
  direction: rtl;
}
.poster-theme .brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}
.poster-theme .brand-mark svg {
  width: 29px;
  height: 29px;
  stroke-width: 1.55;
}
.poster-theme .brand-mark circle {
  fill: currentColor;
  stroke: none;
}

/* On dashboard pages align the header brand more closely with the
   profile/sidebar content edge instead of the centered public shell. */
@media (min-width: 1021px) {
  .poster-theme .site-header.dashboard-header .header-inner {
    width: calc(100% - 40px);
    max-width: none;
    margin-inline: 20px;
  }
}

@media (max-width: 820px) {
  .poster-theme .brand-tagline { display: none; }
  .poster-theme .brand-mark { width: 36px; height: 36px; }
  .poster-theme .brand-mark svg { width: 25px; height: 25px; }
}


/* V5.23 — make Persian publication-time field match English exactly */
html[dir="rtl"] .poster-theme .time24-input {
  direction: ltr !important;
  position: relative !important;
}
html[dir="rtl"] .poster-theme .time24-input > .icon {
  position: absolute !important;
  top: 50% !important;
  right: 13px !important;
  left: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: 13px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
}
html[dir="rtl"] .poster-theme .time24-input .form-control {
  direction: ltr !important;
  text-align: left !important;
  padding-left: 13px !important;
  padding-right: 42px !important;
}


/* V5.24 — My releases/search icon exact centering in EN + FA */
.poster-theme .search-field {
  position: relative !important;
  min-height: 48px;
}
.poster-theme .search-field > svg.icon,
.poster-theme .search-field > .icon {
  position: absolute !important;
  inset: 50% auto auto 14px !important;
  width: 17px !important;
  height: 17px !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  z-index: 5 !important;
  pointer-events: none !important;
  color: var(--muted) !important;
}
.poster-theme .search-field .form-control {
  min-height: 48px !important;
  padding-left: 44px !important;
  padding-right: 14px !important;
}
html[dir="rtl"] .poster-theme .search-field > svg.icon,
html[dir="rtl"] .poster-theme .search-field > .icon {
  inset: 50% 14px auto auto !important;
}
html[dir="rtl"] .poster-theme .search-field .form-control {
  padding-right: 44px !important;
  padding-left: 14px !important;
  text-align: right !important;
}


/* V5.25 — unified ENTESHAR brand symbol from the user-provided icon */
.poster-theme .brand-mark {
  overflow: hidden;
  background: var(--primary) !important;
}
.poster-theme .brand-mark .brand-symbol-image {
  width: 31px;
  height: 31px;
  display: block;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}
.poster-theme .brand-mark svg { display: none !important; }
@media (max-width: 820px) {
  .poster-theme .brand-mark .brand-symbol-image { width: 27px; height: 27px; }
}


/* V5.26 — tighter English brand word and cleaner sidebar identity */
html[lang="en"] .poster-theme .brand-with-tagline .brand-word {
  letter-spacing: .075em !important;
}
.poster-theme .sidebar-profile .avatar .verified-dot {
  display: none !important;
}


/* V5.27 profile identity flow */
.poster-theme .profile-avatar { overflow:hidden; }
.poster-theme .profile-avatar-image { width:100%; height:100%; object-fit:cover; display:block; border-radius:inherit; }
.poster-theme .profile-photo-note { display:block; margin-top:9px; color:var(--muted); font-size:.58rem; line-height:1.7; }
.poster-theme .identity-summary { display:flex; align-items:center; gap:13px; padding:16px 17px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.poster-theme .identity-summary.verified { border-color:#cfe4db; background:#fbfdfc; }
.poster-theme .identity-summary.missing { border-color:#efd2d5; background:#fffafa; }
.poster-theme .identity-summary-icon { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; color:var(--primary); }
.poster-theme .identity-summary.verified .identity-summary-icon { color:#13805c; }
.poster-theme .identity-summary-icon .icon { width:25px; height:25px; }
.poster-theme .identity-summary > div { flex:1; min-width:0; }
.poster-theme .identity-summary b { display:block; font-size:.76rem; }
.poster-theme .identity-summary p { margin:4px 0 0; color:var(--muted); font-size:.64rem; line-height:1.75; }
.poster-theme .identity-name-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.poster-theme .identity-name-grid > div { display:grid; gap:5px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#fafafa; }
.poster-theme .identity-name-grid span { color:var(--muted); font-size:.6rem; }
.poster-theme .identity-name-grid b { font-size:.75rem; }
.poster-theme .wizard-step.identity-locked { cursor:default; }
.poster-theme .wizard-step.identity-locked:hover { background:transparent; }
@media (max-width:700px){ .poster-theme .identity-summary{align-items:flex-start;flex-wrap:wrap}.poster-theme .identity-summary .button{width:100%}.poster-theme .identity-name-grid{grid-template-columns:1fr} }


/* V5.28 — standardize sidebar spacing between artist identity and workspace */
.poster-theme .sidebar-profile {
  padding-bottom: 14px !important;
}
.poster-theme .sidebar-nav {
  margin-top: 8px !important;
}
.poster-theme .sidebar-nav > .sidebar-label:first-child {
  padding-top: 4px !important;
  padding-bottom: 5px !important;
}


/* V5.30 — sync artist photo into sidebar avatar */
.poster-theme .sidebar-profile .sidebar-avatar { overflow:hidden; }
.poster-theme .sidebar-profile .sidebar-avatar-image { width:100%; height:100%; object-fit:cover; display:block; border-radius:inherit; }

/* ==========================================================
   V5.32 — lock typography to the original panel fonts
   English: Manrope | Persian: Vazirmatn
   ========================================================== */
body.poster-theme,
body.poster-theme button,
body.poster-theme input,
body.poster-theme select,
body.poster-theme textarea,
body.poster-theme option {
  font-family: Manrope, Inter, system-ui, sans-serif !important;
}

html[lang="fa"] body.poster-theme,
html[lang="fa"] body.poster-theme button,
html[lang="fa"] body.poster-theme input,
html[lang="fa"] body.poster-theme select,
html[lang="fa"] body.poster-theme textarea,
html[lang="fa"] body.poster-theme option {
  font-family: Vazirmatn, Tahoma, sans-serif !important;
  letter-spacing: 0;
}


.hero-v4-protected, .hero-v4-protected * { -webkit-user-select: none; user-select: none; }
.hero-v4-protected img { -webkit-touch-callout: none; }
@media (max-width: 740px) {
  .hero-poster-label { font-size: .64rem; }
  .time-ticket small { font-size: .58rem; }
  .time-ticket b { font-size: .74rem; }
}


/* v5.35 home hero vertical text stack */
.hero-v4-art { overflow: hidden; }
.hero-text-stack {
  position: absolute;
  z-index: 4;
  inset: 84px auto auto 12%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  max-width: 290px;
  text-align: left;
}
html[lang="fa"] .hero-text-stack {
  inset: 88px auto auto 14%;
  align-items: flex-start;
  text-align: right;
}
.hero-poster-word {
  position: static;
  display: block;
  color: rgba(255,255,255,.97);
  font-size: clamp(4.2rem, 7vw, 6.5rem);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -.08em;
  transform: none;
  white-space: nowrap;
  text-shadow: 0 10px 28px rgba(13,13,15,.14);
}
html[lang="fa"] .hero-poster-word {
  font-size: clamp(3.5rem, 6vw, 5.3rem);
  letter-spacing: -.03em;
}
.hero-poster-label {
  position: static;
  display: block;
  max-width: 100%;
  padding: 0;
  color: rgba(255,255,255,.92);
  background: none;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.6;
  text-shadow: 0 2px 12px rgba(13,13,15,.22);
}
html[lang="fa"] .hero-poster-label {
  letter-spacing: 0;
  line-height: 1.8;
}
.hero-text-stack .time-ticket {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding: 0;
  color: #fff;
  background: none;
  border: 0;
  transform: none;
  text-shadow: 0 2px 12px rgba(13,13,15,.24);
}
.hero-text-stack .time-ticket.free,
.hero-text-stack .time-ticket.premium { inset: auto; text-align: left; }
html[lang="fa"] .hero-text-stack .time-ticket.free,
html[lang="fa"] .hero-text-stack .time-ticket.premium { text-align: right; }
.hero-text-stack .time-ticket small {
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.hero-text-stack .time-ticket b {
  color: rgba(255,255,255,.96);
  font-size: .94rem;
  font-weight: 800;
}
.hero-v4-art img {
  inset: 18px 4% 0 auto;
  width: min(68%, 500px);
  height: calc(100% - 18px);
}
@media (max-width: 1110px) {
  .hero-text-stack { inset-inline-start: 9%; max-width: 240px; }
  .hero-v4-art img { width: 72%; inset-inline-end: 3%; }
}
@media (max-width: 920px) {
  .hero-text-stack { inset: 72px auto auto 10%; gap: 8px; max-width: 210px; }
  html[lang="fa"] .hero-text-stack { inset: 72px auto auto 10%; }
  .hero-poster-word { font-size: clamp(3.35rem, 10vw, 5rem); }
  .hero-poster-label { font-size: .66rem; }
  .hero-text-stack .time-ticket small { font-size: .6rem; }
  .hero-text-stack .time-ticket b { font-size: .8rem; }
}
@media (max-width: 740px) {
  .hero-v4-art { min-height: 430px; }
  .hero-text-stack { inset: 58px auto auto 8%; max-width: 175px; gap: 6px; }
  html[lang="fa"] .hero-text-stack { inset: 58px auto auto 8%; }
  .hero-poster-word { font-size: clamp(2.8rem, 10vw, 4.2rem); }
  .hero-poster-label { font-size: .6rem; }
  .hero-text-stack .time-ticket small { font-size: .54rem; }
  .hero-text-stack .time-ticket b { font-size: .7rem; }
  .hero-v4-art img { width: 75%; inset-inline-end: 2%; }
}
@media (max-width: 540px) {
  .hero-v4-art { min-height: 360px; }
  .hero-text-stack { inset: 46px auto auto 7%; max-width: 145px; }
  .hero-poster-word { font-size: clamp(2.35rem, 11vw, 3.35rem); }
  .hero-poster-label { font-size: .54rem; line-height: 1.5; }
  .hero-text-stack .time-ticket small { font-size: .48rem; }
  .hero-text-stack .time-ticket b { font-size: .62rem; }
}


/* v5.36 home hero refined text placement */
.hero-v4-art { overflow: hidden; }
.hero-text-stack {
  position: absolute;
  z-index: 4;
  inset: 112px auto auto 24%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 220px;
  max-width: 220px;
  text-align: left;
  pointer-events: none;
}
html[lang="fa"] .hero-text-stack {
  inset: 116px auto auto 22%;
  align-items: flex-start;
  text-align: right;
}
.hero-poster-word {
  position: static;
  display: block;
  margin: 0 0 4px;
  color: rgba(255,255,255,.98);
  font-size: clamp(2.7rem, 4.5vw, 4.2rem);
  line-height: .94;
  font-weight: 900;
  letter-spacing: -.045em;
  text-transform: none;
  transform: none;
  white-space: nowrap;
  text-shadow: 0 10px 24px rgba(13,13,15,.16);
}
html[lang="fa"] .hero-poster-word {
  font-size: clamp(2.45rem, 4vw, 3.6rem);
  letter-spacing: -.02em;
}
.hero-poster-label {
  position: static;
  display: block;
  max-width: 100%;
  padding: 0;
  color: rgba(255,255,255,.9);
  background: none;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.65;
  text-transform: none;
  text-shadow: 0 3px 12px rgba(13,13,15,.16);
}
html[lang="fa"] .hero-poster-label {
  line-height: 1.8;
  letter-spacing: 0;
}
.hero-text-stack .time-ticket {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding: 0;
  margin: 0;
  color: #fff;
  background: none;
  border: 0;
  transform: none;
  text-shadow: 0 3px 12px rgba(13,13,15,.16);
}
.hero-text-stack .time-ticket.free,
.hero-text-stack .time-ticket.premium {
  inset: auto;
  text-align: left;
}
html[lang="fa"] .hero-text-stack .time-ticket.free,
html[lang="fa"] .hero-text-stack .time-ticket.premium {
  text-align: right;
}
.hero-text-stack .time-ticket small {
  color: rgba(255,255,255,.78);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: none;
}
.hero-text-stack .time-ticket b {
  color: rgba(255,255,255,.98);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -.01em;
  text-transform: none;
}
.hero-v4-art img {
  inset: 18px 4% 0 auto;
  width: min(68%, 500px);
  height: calc(100% - 18px);
}
@media (max-width: 1240px) {
  .hero-text-stack { inset-inline-start: 21%; width: 205px; max-width: 205px; }
  html[lang="fa"] .hero-text-stack { inset-inline-start: 20%; }
}
@media (max-width: 1110px) {
  .hero-text-stack { inset: 104px auto auto 20%; width: 188px; max-width: 188px; }
  html[lang="fa"] .hero-text-stack { inset: 106px auto auto 20%; }
  .hero-poster-word { font-size: clamp(2.35rem, 4.1vw, 3.4rem); }
  .hero-poster-label { font-size: .72rem; }
  .hero-text-stack .time-ticket small { font-size: .68rem; }
  .hero-text-stack .time-ticket b { font-size: .9rem; }
}
@media (max-width: 920px) {
  .hero-text-stack { inset: 88px auto auto 19%; width: 168px; max-width: 168px; gap: 8px; }
  html[lang="fa"] .hero-text-stack { inset: 90px auto auto 19%; }
  .hero-poster-word { font-size: clamp(2rem, 6vw, 2.8rem); }
  .hero-poster-label { font-size: .64rem; }
  .hero-text-stack .time-ticket small { font-size: .6rem; }
  .hero-text-stack .time-ticket b { font-size: .8rem; }
}
@media (max-width: 740px) {
  .hero-v4-art { min-height: 430px; }
  .hero-text-stack { inset: 74px auto auto 20%; width: 146px; max-width: 146px; gap: 6px; }
  html[lang="fa"] .hero-text-stack { inset: 76px auto auto 20%; }
  .hero-poster-word { font-size: clamp(1.7rem, 7vw, 2.35rem); }
  .hero-poster-label { font-size: .55rem; }
  .hero-text-stack .time-ticket small { font-size: .52rem; }
  .hero-text-stack .time-ticket b { font-size: .68rem; }
}
@media (max-width: 540px) {
  .hero-v4-art { min-height: 360px; }
  .hero-text-stack { inset: 56px auto auto 18%; width: 122px; max-width: 122px; }
  html[lang="fa"] .hero-text-stack { inset: 56px auto auto 18%; }
  .hero-poster-word { font-size: clamp(1.35rem, 7vw, 1.95rem); }
  .hero-poster-label { font-size: .48rem; line-height: 1.45; }
  .hero-text-stack .time-ticket small { font-size: .45rem; }
  .hero-text-stack .time-ticket b { font-size: .58rem; }
}


/* v5.37 hero stacked copy refined with stronger card */
.hero-v4-art { overflow: hidden; }
.hero-text-stack {
  position: absolute;
  z-index: 6;
  inset: auto auto 86px 12%;
  width: 250px;
  max-width: 250px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 18px 18px 16px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(18,18,21,.18) 0%, rgba(18,18,21,.34) 100%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 18px 42px rgba(13,13,15,.18);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  text-align: left;
  pointer-events: none;
}
.hero-text-stack::before {
  content: '';
  position: absolute;
  inset: 14px auto 14px 0;
  width: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
}
html[lang="fa"] .hero-text-stack {
  inset: auto auto 88px 10%;
  align-items: flex-start;
  text-align: right;
}
html[lang="fa"] .hero-text-stack::before { inset-inline: auto 0; }
.hero-poster-word {
  position: static;
  display: block;
  margin: 0;
  padding-inline-start: 12px;
  color: #fff;
  font-size: clamp(2.65rem, 4.25vw, 3.75rem);
  line-height: .92;
  font-weight: 900;
  letter-spacing: -.05em;
  text-transform: none;
  transform: none;
  white-space: nowrap;
  text-shadow: 0 8px 22px rgba(13,13,15,.18);
}
html[lang="fa"] .hero-poster-word {
  padding-inline-start: 0;
  padding-inline-end: 12px;
  font-size: clamp(2.15rem, 3.55vw, 3rem);
  letter-spacing: -.015em;
}
.hero-poster-label {
  position: static;
  display: block;
  max-width: 100%;
  padding-inline-start: 12px;
  color: rgba(255,255,255,.9);
  background: none;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.55;
  text-transform: none;
  text-shadow: 0 2px 12px rgba(13,13,15,.16);
}
html[lang="fa"] .hero-poster-label { padding-inline-start: 0; padding-inline-end: 12px; line-height: 1.75; }
.hero-text-stack .time-ticket {
  position: static;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  margin: 0;
  padding: 10px 12px;
  width: 100%;
  border-radius: 16px;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
  transform: none;
  text-shadow: none;
}
.hero-text-stack .time-ticket.free,
.hero-text-stack .time-ticket.premium { inset: auto; text-align: left; }
html[lang="fa"] .hero-text-stack .time-ticket.free,
html[lang="fa"] .hero-text-stack .time-ticket.premium { text-align: right; }
.hero-text-stack .time-ticket small {
  color: rgba(255,255,255,.8);
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.hero-text-stack .time-ticket b {
  color: #fff;
  font-size: 1.08rem;
  font-weight: 850;
  letter-spacing: -.02em;
  text-transform: none;
}
.hero-v4-art img {
  inset: 18px 2% 0 auto;
  width: min(64%, 485px);
  height: calc(100% - 18px);
}
@media (max-width: 1240px) {
  .hero-text-stack { inset-inline-start: 10%; width: 234px; max-width: 234px; }
  html[lang="fa"] .hero-text-stack { inset-inline-start: 9%; }
}
@media (max-width: 1110px) {
  .hero-text-stack { inset: auto auto 72px 9%; width: 220px; max-width: 220px; padding: 16px 16px 14px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 74px 8%; }
  .hero-poster-word { font-size: clamp(2.25rem, 4.3vw, 3rem); }
  .hero-poster-label { font-size: .74rem; }
  .hero-text-stack .time-ticket small { font-size: .67rem; }
  .hero-text-stack .time-ticket b { font-size: .95rem; }
}
@media (max-width: 920px) {
  .hero-text-stack { inset: auto auto 56px 8%; width: 190px; max-width: 190px; gap: 8px; padding: 14px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 58px 8%; }
  .hero-poster-word { font-size: clamp(1.9rem, 5vw, 2.45rem); }
  .hero-poster-label { font-size: .66rem; }
  .hero-text-stack .time-ticket small { font-size: .59rem; }
  .hero-text-stack .time-ticket b { font-size: .8rem; }
  .hero-v4-art img { width: 67%; inset-inline-end: 1%; }
}
@media (max-width: 740px) {
  .hero-v4-art { min-height: 430px; }
  .hero-text-stack { inset: auto auto 34px 8%; width: 162px; max-width: 162px; gap: 6px; padding: 12px; border-radius: 18px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 36px 8%; }
  .hero-poster-word { font-size: clamp(1.55rem, 6vw, 2rem); }
  .hero-poster-label { font-size: .56rem; }
  .hero-text-stack .time-ticket { padding: 8px 9px; border-radius: 12px; }
  .hero-text-stack .time-ticket small { font-size: .5rem; }
  .hero-text-stack .time-ticket b { font-size: .67rem; }
}
@media (max-width: 540px) {
  .hero-v4-art { min-height: 360px; }
  .hero-text-stack { inset: auto auto 24px 7%; width: 136px; max-width: 136px; padding: 10px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 24px 7%; }
  .hero-poster-word { font-size: clamp(1.22rem, 7vw, 1.7rem); }
  .hero-poster-label { font-size: .48rem; line-height: 1.45; }
  .hero-text-stack .time-ticket small { font-size: .43rem; }
  .hero-text-stack .time-ticket b { font-size: .56rem; }
}


/* v5.38 compact and more eye-catching hero text stack */
.hero-v4-art { overflow: hidden; }
.hero-text-stack {
  position: absolute;
  z-index: 6;
  inset: auto auto 64px 7%;
  width: 205px;
  max-width: 205px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 14px 14px 12px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(17,17,20,.58) 0%, rgba(17,17,20,.38) 100%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 36px rgba(13,13,15,.18), inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  text-align: left;
  pointer-events: none;
}
.hero-text-stack::before {
  content: '';
  position: absolute;
  inset: 12px auto auto 14px;
  width: 52px;
  height: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
}
.hero-text-stack::after {
  content: '';
  position: absolute;
  inset: auto 12px 12px auto;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  background: radial-gradient(circle, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 72%);
  pointer-events: none;
}
html[lang="fa"] .hero-text-stack {
  inset: auto auto 66px 7%;
  text-align: right;
}
html[lang="fa"] .hero-text-stack::before { inset-inline: auto 14px; }
.hero-poster-word {
  position: static;
  display: block;
  margin: 10px 0 0;
  color: #fff;
  font-size: clamp(2.2rem, 3.6vw, 3.1rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.055em;
  text-transform: none;
  transform: none;
  white-space: nowrap;
  text-shadow: 0 8px 22px rgba(13,13,15,.16);
}
html[lang="fa"] .hero-poster-word {
  font-size: clamp(1.9rem, 3vw, 2.65rem);
  letter-spacing: -.018em;
}
.hero-poster-label {
  position: static;
  display: block;
  margin: 0 0 4px;
  color: rgba(255,255,255,.9);
  background: none;
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  text-shadow: 0 2px 12px rgba(13,13,15,.16);
}
html[lang="fa"] .hero-poster-label { line-height: 1.65; }
.hero-text-stack .time-ticket {
  position: static;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 9px 10px;
  width: 100%;
  border-radius: 14px;
  color: #fff;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.09);
  transform: none;
  text-shadow: none;
}
.hero-text-stack .time-ticket.free,
.hero-text-stack .time-ticket.premium { inset: auto; text-align: left; }
html[lang="fa"] .hero-text-stack .time-ticket.free,
html[lang="fa"] .hero-text-stack .time-ticket.premium { text-align: right; }
.hero-text-stack .time-ticket small {
  flex: 1 1 auto;
  min-width: 0;
  color: rgba(255,255,255,.82);
  font-size: .64rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}
.hero-text-stack .time-ticket b {
  flex: 0 0 auto;
  color: #fff;
  font-size: .92rem;
  font-weight: 850;
  letter-spacing: -.02em;
  white-space: nowrap;
  text-transform: none;
}
.hero-v4-art img {
  inset: 16px 0 0 auto;
  width: min(61%, 455px);
  height: calc(100% - 16px);
}
@media (max-width: 1240px) {
  .hero-text-stack { inset-inline-start: 8%; width: 195px; max-width: 195px; }
  .hero-v4-art img { width: min(63%, 440px); }
}
@media (max-width: 1110px) {
  .hero-text-stack { inset: auto auto 54px 7%; width: 184px; max-width: 184px; padding: 13px 13px 11px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 56px 7%; }
  .hero-poster-word { font-size: clamp(1.95rem, 4vw, 2.55rem); }
  .hero-poster-label { font-size: .66rem; }
  .hero-text-stack .time-ticket small { font-size: .58rem; }
  .hero-text-stack .time-ticket b { font-size: .82rem; }
}
@media (max-width: 920px) {
  .hero-v4-art { min-height: 430px; }
  .hero-text-stack { inset: auto auto 40px 8%; width: 162px; max-width: 162px; gap: 7px; padding: 12px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 42px 8%; }
  .hero-poster-word { font-size: clamp(1.65rem, 5vw, 2rem); }
  .hero-poster-label { font-size: .57rem; }
  .hero-text-stack .time-ticket { padding: 8px 8px; border-radius: 12px; }
  .hero-text-stack .time-ticket small { font-size: .5rem; }
  .hero-text-stack .time-ticket b { font-size: .68rem; }
  .hero-v4-art img { width: 66%; }
}
@media (max-width: 740px) {
  .hero-v4-art { min-height: 380px; }
  .hero-text-stack { inset: auto auto 28px 8%; width: 142px; max-width: 142px; padding: 10px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 30px 8%; }
  .hero-text-stack::before { width: 38px; height: 3px; inset: 10px auto auto 10px; }
  html[lang="fa"] .hero-text-stack::before { inset-inline: auto 10px; }
  .hero-poster-word { font-size: clamp(1.35rem, 6vw, 1.7rem); margin-top: 8px; }
  .hero-poster-label { font-size: .48rem; }
  .hero-text-stack .time-ticket { gap: 8px; }
  .hero-text-stack .time-ticket small { font-size: .44rem; }
  .hero-text-stack .time-ticket b { font-size: .58rem; }
}
@media (max-width: 540px) {
  .hero-v4-art { min-height: 345px; }
  .hero-text-stack { inset: auto auto 18px 7%; width: 125px; max-width: 125px; padding: 9px; border-radius: 18px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 20px 7%; }
  .hero-poster-word { font-size: clamp(1.16rem, 6.5vw, 1.42rem); }
  .hero-poster-label { font-size: .42rem; line-height: 1.4; }
  .hero-text-stack .time-ticket { padding: 7px 7px; }
  .hero-text-stack .time-ticket small { font-size: .39rem; }
  .hero-text-stack .time-ticket b { font-size: .5rem; }
}


/* v5.39 stronger poster-like hero mood */
.hero-v4-art { overflow: hidden; }
.hero-v4-art::before {
  background:
    radial-gradient(circle at 68% 34%, rgba(255,255,255,.08) 0 18%, transparent 19%),
    radial-gradient(circle at 64% 58%, rgba(145,0,10,.42) 0 22%, transparent 23%),
    linear-gradient(180deg, rgba(220,5,24,1) 0%, rgba(235,0,21,1) 100%);
}
.hero-text-stack {
  position: absolute;
  z-index: 7;
  inset: auto auto 56px 4.5%;
  width: 248px;
  max-width: 248px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px 16px 14px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(16,16,20,.82) 0%, rgba(16,16,20,.58) 100%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 26px 54px rgba(9,9,12,.22), inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  pointer-events: none;
  overflow: hidden;
}
.hero-text-stack::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.38) 100%);
}
.hero-text-stack::after {
  content: '';
  position: absolute;
  inset: auto 16px 14px auto;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,13,31,.3) 0%, rgba(232,13,31,0) 72%);
  pointer-events: none;
}
html[lang="fa"] .hero-text-stack {
  inset: auto auto 58px 4.5%;
  text-align: right;
}
html[lang="fa"] .hero-text-stack::before { inset-inline: auto 0; }
.hero-poster-word {
  position: static;
  display: block;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 3.3vw, 2.95rem);
  line-height: .96;
  font-weight: 900;
  letter-spacing: -.055em;
  text-transform: none;
  white-space: nowrap;
  transform: none;
  text-shadow: 0 8px 18px rgba(0,0,0,.12);
}
html[lang="fa"] .hero-poster-word {
  font-size: clamp(1.78rem, 3vw, 2.4rem);
  letter-spacing: -.02em;
}
.hero-poster-label {
  position: static;
  display: block;
  margin: 1px 0 2px;
  color: rgba(255,255,255,.92);
  background: none;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
}
html[lang="fa"] .hero-poster-label { line-height: 1.7; }
.hero-text-stack .time-ticket {
  position: static;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  margin: 0;
  padding: 10px 12px;
  width: 100%;
  min-width: 0;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.06) 100%);
  border: 1px solid rgba(255,255,255,.08);
  text-shadow: none;
  transform: none;
}
.hero-text-stack .time-ticket.free,
.hero-text-stack .time-ticket.premium { inset: auto; text-align: left; }
html[lang="fa"] .hero-text-stack .time-ticket.free,
html[lang="fa"] .hero-text-stack .time-ticket.premium { text-align: right; }
.hero-text-stack .time-ticket small {
  color: rgba(255,255,255,.78);
  font-size: .65rem;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.hero-text-stack .time-ticket b {
  color: #fff;
  font-size: 1.18rem;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: -.03em;
  white-space: nowrap;
  text-transform: none;
}
.hero-v4-art img {
  inset: 16px 4% 0 auto;
  width: min(61%, 462px);
  height: calc(100% - 16px);
}
@media (max-width: 1260px) {
  .hero-text-stack { inset-inline-start: 4%; width: 228px; max-width: 228px; }
  .hero-v4-art img { width: min(62%, 450px); }
}
@media (max-width: 1120px) {
  .hero-text-stack { inset: auto auto 46px 4.5%; width: 210px; max-width: 210px; padding: 14px 14px 13px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 48px 4.5%; }
  .hero-poster-word { font-size: clamp(1.8rem, 4vw, 2.35rem); }
  .hero-poster-label { font-size: .68rem; }
  .hero-text-stack .time-ticket { padding: 9px 10px; }
  .hero-text-stack .time-ticket small { font-size: .58rem; }
  .hero-text-stack .time-ticket b { font-size: .98rem; }
}
@media (max-width: 920px) {
  .hero-v4-art { min-height: 430px; }
  .hero-text-stack { inset: auto auto 34px 7%; width: 188px; max-width: 188px; gap: 8px; padding: 13px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 36px 7%; }
  .hero-poster-word { font-size: clamp(1.58rem, 5vw, 1.92rem); }
  .hero-poster-label { font-size: .58rem; }
  .hero-text-stack .time-ticket small { font-size: .49rem; }
  .hero-text-stack .time-ticket b { font-size: .84rem; }
  .hero-v4-art img { width: 65%; }
}
@media (max-width: 740px) {
  .hero-v4-art { min-height: 390px; }
  .hero-text-stack { inset: auto auto 28px 7%; width: 160px; max-width: 160px; padding: 11px; border-radius: 18px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 30px 7%; }
  .hero-text-stack::before { width: 4px; }
  .hero-poster-word { font-size: clamp(1.28rem, 6vw, 1.56rem); }
  .hero-poster-label { font-size: .47rem; }
  .hero-text-stack .time-ticket { padding: 8px; border-radius: 12px; }
  .hero-text-stack .time-ticket small { font-size: .41rem; }
  .hero-text-stack .time-ticket b { font-size: .64rem; }
}
@media (max-width: 540px) {
  .hero-v4-art { min-height: 350px; }
  .hero-text-stack { inset: auto auto 18px 6%; width: 138px; max-width: 138px; padding: 9px; gap: 6px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 20px 6%; }
  .hero-poster-word { font-size: clamp(1.08rem, 6.4vw, 1.28rem); }
  .hero-poster-label { font-size: .39rem; }
  .hero-text-stack .time-ticket { padding: 7px; }
  .hero-text-stack .time-ticket small { font-size: .35rem; }
  .hero-text-stack .time-ticket b { font-size: .5rem; }
}


/* v5.40 home hero - stronger white-card poster feel + restore circle */
.hero-v4-art { overflow: visible; }
.hero-v4-art::before {
  inset: 92px 0 34px 10%;
  background:
    radial-gradient(circle at 67% 38%, rgba(255,255,255,.09) 0 17%, transparent 18%),
    radial-gradient(circle at 60% 58%, rgba(140,0,10,.22) 0 23%, transparent 24%),
    linear-gradient(180deg, #f20618 0%, #e40016 100%);
  clip-path: polygon(16% 6%, 100% 0, 94% 90%, 25% 100%, 0 66%);
}
.hero-v4-art::after {
  z-index: -1;
  width: 67%;
  aspect-ratio: 1;
  inset: 52px 0 auto auto;
  border: 38px solid rgba(13,13,15,.11);
  border-radius: 50%;
  opacity: .92;
}
.hero-v4-art img {
  inset: 14px 3% 0 auto;
  width: min(62%, 458px);
  height: calc(100% - 14px);
}
.hero-text-stack {
  position: absolute;
  z-index: 7;
  inset: auto auto 52px 7%;
  width: 255px;
  max-width: 255px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 16px 15px;
  background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(248,246,241,.96) 100%);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 24px;
  box-shadow: 0 24px 44px rgba(13,13,15,.18), 0 10px 18px rgba(228,0,22,.12);
  overflow: visible;
}
.hero-text-stack::before {
  content: '';
  position: absolute;
  z-index: -2;
  inset: 18px -12px -14px 20px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(227,0,24,.98) 0%, rgba(166,0,19,.96) 100%);
  transform: rotate(-5deg);
  box-shadow: 0 16px 26px rgba(184,0,17,.28);
}
.hero-text-stack::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -10px auto auto -10px;
  width: 88px;
  height: 88px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(18,18,22,.94) 0%, rgba(18,18,22,.78) 100%);
  transform: rotate(-7deg);
  opacity: .96;
}
html[lang="fa"] .hero-text-stack {
  inset: auto auto 54px 7%;
  text-align: right;
}
html[lang="fa"] .hero-text-stack::before { inset: 18px 20px -14px -12px; transform: rotate(5deg); }
html[lang="fa"] .hero-text-stack::after { inset: -10px -10px auto auto; transform: rotate(7deg); }
.hero-poster-word {
  position: relative;
  z-index: 2;
  display: block;
  margin: 0;
  color: #0f1014;
  font-size: clamp(2.35rem, 3.5vw, 3.1rem);
  line-height: .94;
  font-weight: 900;
  letter-spacing: -.06em;
  text-transform: none;
  white-space: nowrap;
}
html[lang="fa"] .hero-poster-word {
  font-size: clamp(2rem, 3vw, 2.5rem);
  letter-spacing: -.025em;
}
.hero-poster-label {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-self: flex-start;
  margin: -2px 0 2px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(227,0,24,.08);
  color: #2b2c31;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}
html[lang="fa"] .hero-poster-label { align-self: flex-end; }
.hero-text-stack .time-ticket {
  position: static;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  margin: 0;
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(13,13,15,.06);
  background: linear-gradient(180deg, rgba(13,13,15,.03) 0%, rgba(13,13,15,.01) 100%);
  color: #111318;
  text-shadow: none;
  transform: none;
}
.hero-text-stack .time-ticket.free,
.hero-text-stack .time-ticket.premium { inset: auto; text-align: left; }
html[lang="fa"] .hero-text-stack .time-ticket.free,
html[lang="fa"] .hero-text-stack .time-ticket.premium { text-align: right; }
.hero-text-stack .time-ticket.premium {
  background: linear-gradient(180deg, rgba(227,0,24,.12) 0%, rgba(227,0,24,.07) 100%);
}
.hero-text-stack .time-ticket.free {
  background: linear-gradient(180deg, rgba(18,18,22,.05) 0%, rgba(18,18,22,.025) 100%);
}
.hero-text-stack .time-ticket small {
  color: #585b65;
  font-size: .66rem;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}
.hero-text-stack .time-ticket b {
  color: #101115;
  font-size: 1.14rem;
  line-height: 1.1;
  font-weight: 850;
  letter-spacing: -.04em;
  white-space: nowrap;
  text-transform: none;
}
@media (max-width: 1260px) {
  .hero-v4-art::after { width: 64%; inset-inline-end: 0; }
  .hero-text-stack { inset-inline-start: 5%; width: 238px; max-width: 238px; }
  .hero-v4-art img { width: min(63%, 448px); }
}
@media (max-width: 1120px) {
  .hero-text-stack { inset: auto auto 44px 5%; width: 218px; max-width: 218px; padding: 14px; gap: 8px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 46px 5%; }
  .hero-poster-word { font-size: clamp(1.95rem, 4vw, 2.45rem); }
  .hero-poster-label { font-size: .66rem; padding: 5px 9px; }
  .hero-text-stack .time-ticket { padding: 9px 10px; }
  .hero-text-stack .time-ticket small { font-size: .58rem; }
  .hero-text-stack .time-ticket b { font-size: .94rem; }
}
@media (max-width: 920px) {
  .hero-v4-art { min-height: 440px; }
  .hero-v4-art::before { inset: 58px 3% 18px; }
  .hero-v4-art::after { width: 64%; inset: 38px -2% auto auto; }
  .hero-text-stack { inset: auto auto 30px 7%; width: 182px; max-width: 182px; padding: 12px; gap: 7px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 32px 7%; }
  .hero-poster-word { font-size: clamp(1.55rem, 5vw, 1.95rem); }
  .hero-poster-label { font-size: .52rem; padding: 4px 8px; }
  .hero-text-stack .time-ticket small { font-size: .47rem; }
  .hero-text-stack .time-ticket b { font-size: .76rem; }
  .hero-v4-art img { width: 66%; }
}
@media (max-width: 740px) {
  .hero-v4-art { min-height: 390px; }
  .hero-text-stack { inset: auto auto 24px 6%; width: 154px; max-width: 154px; padding: 10px; border-radius: 18px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 24px 6%; }
  .hero-text-stack::before { inset: 14px -8px -10px 14px; border-radius: 18px; }
  html[lang="fa"] .hero-text-stack::before { inset: 14px 14px -10px -8px; }
  .hero-text-stack::after { width: 54px; height: 54px; border-radius: 12px; }
  .hero-poster-word { font-size: clamp(1.28rem, 6vw, 1.58rem); }
  .hero-poster-label { font-size: .44rem; }
  .hero-text-stack .time-ticket { padding: 8px 8px; border-radius: 12px; }
  .hero-text-stack .time-ticket small { font-size: .39rem; }
  .hero-text-stack .time-ticket b { font-size: .62rem; }
}
@media (max-width: 540px) {
  .hero-v4-art { min-height: 355px; }
  .hero-text-stack { inset: auto auto 16px 6%; width: 132px; max-width: 132px; padding: 9px; gap: 6px; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 18px 6%; }
  .hero-poster-word { font-size: clamp(1.06rem, 6.5vw, 1.3rem); }
  .hero-poster-label { font-size: .35rem; padding: 4px 6px; }
  .hero-text-stack .time-ticket { padding: 7px 7px; }
  .hero-text-stack .time-ticket small { font-size: .33rem; }
  .hero-text-stack .time-ticket b { font-size: .5rem; }
}


/* v5.41 home hero - remove black tilted square and clean vertical text stack */
.hero-text-stack {
  inset: auto auto 44px 8% !important;
  width: 236px !important;
  max-width: 236px !important;
  gap: 9px !important;
  padding: 14px 14px 13px !important;
  align-items: stretch;
}
html[lang="fa"] .hero-text-stack {
  inset: auto auto 46px 8% !important;
}
.hero-text-stack::after {
  content: none !important;
  display: none !important;
}
.hero-text-stack::before {
  inset: 14px 16px -10px -8px !important;
  transform: rotate(-4deg) !important;
  border-radius: 22px !important;
}
html[lang="fa"] .hero-text-stack::before {
  inset: 14px -8px -10px 16px !important;
  transform: rotate(4deg) !important;
}
.hero-poster-word {
  display: block;
  width: 100%;
  margin: 0 !important;
  font-size: clamp(2.05rem, 3vw, 2.65rem) !important;
  line-height: .95 !important;
  letter-spacing: -.05em !important;
  white-space: normal !important;
}
html[lang="fa"] .hero-poster-word {
  font-size: clamp(1.9rem, 2.7vw, 2.35rem) !important;
  letter-spacing: -.02em !important;
}
.hero-poster-label {
  display: block !important;
  width: 100%;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: #43464f !important;
  font-size: .78rem !important;
  line-height: 1.45 !important;
}
html[lang="fa"] .hero-poster-label {
  text-align: right;
  font-size: .76rem !important;
}
.hero-text-stack .time-ticket {
  width: 100%;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px !important;
  padding: 10px 12px !important;
}
html[lang="fa"] .hero-text-stack .time-ticket {
  align-items: flex-end;
}
.hero-text-stack .time-ticket small {
  display: block;
  width: 100%;
  font-size: .68rem !important;
  line-height: 1.35 !important;
}
.hero-text-stack .time-ticket b {
  display: block;
  width: 100%;
  font-size: 1.05rem !important;
  line-height: 1.05 !important;
}
@media (max-width: 1120px) {
  .hero-text-stack { inset: auto auto 40px 7% !important; width: 208px !important; max-width: 208px !important; padding: 13px !important; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 42px 7% !important; }
  .hero-poster-word { font-size: clamp(1.8rem, 4.2vw, 2.2rem) !important; }
  .hero-poster-label { font-size: .72rem !important; }
  .hero-text-stack .time-ticket small { font-size: .61rem !important; }
  .hero-text-stack .time-ticket b { font-size: .92rem !important; }
}
@media (max-width: 920px) {
  .hero-text-stack { inset: auto auto 28px 7% !important; width: 176px !important; max-width: 176px !important; padding: 11px !important; gap: 7px !important; }
  html[lang="fa"] .hero-text-stack { inset: auto auto 30px 7% !important; }
  .hero-poster-word { font-size: clamp(1.5rem, 5vw, 1.85rem) !important; }
  .hero-poster-label { font-size: .58rem !important; }
  .hero-text-stack .time-ticket { padding: 8px 9px !important; }
  .hero-text-stack .time-ticket small { font-size: .5rem !important; }
  .hero-text-stack .time-ticket b { font-size: .74rem !important; }
}
@media (max-width: 740px) {
  .hero-text-stack { width: 148px !important; max-width: 148px !important; padding: 9px !important; gap: 6px !important; }
  .hero-poster-word { font-size: clamp(1.22rem, 6vw, 1.52rem) !important; }
  .hero-poster-label { font-size: .46rem !important; }
  .hero-text-stack .time-ticket small { font-size: .39rem !important; }
  .hero-text-stack .time-ticket b { font-size: .58rem !important; }
}


/* v5.42 hero label cleanup */
.hero-text-stack {
  overflow: hidden !important;
}
.hero-poster-label {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  max-width: 100% !important;
  align-self: flex-start !important;
  margin: 2px 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.hero-poster-label::before,
.hero-poster-label::after {
  content: none !important;
  display: none !important;
}
html[lang="fa"] .hero-poster-label {
  align-self: flex-end !important;
  text-align: right !important;
  margin: 2px 0 4px !important;
}


/* v5.43 hero label center alignment */
.hero-poster-label {
  width: 100% !important;
  align-self: center !important;
  text-align: center !important;
  margin: 4px auto 6px !important;
}
html[lang="fa"] .hero-poster-label {
  width: 100% !important;
  align-self: center !important;
  text-align: center !important;
  margin: 4px auto 6px !important;
}


/* v5.44 center the Persian hero title like English */
html[lang="fa"] .hero-text-stack {
  align-items: center !important;
}
html[lang="fa"] .hero-poster-word {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
}
html[lang="fa"] .hero-poster-label {
  width: 100% !important;
  text-align: center !important;
}


/* v5.45 Persian hero copy tuning */
html[lang="fa"] .hero-text-stack {
  text-align: center !important;
  align-items: center !important;
}
html[lang="fa"] .hero-poster-word {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  align-self: center !important;
  margin: 0 auto 2px !important;
  line-height: 1.02 !important;
}
html[lang="fa"] .hero-poster-label {
  width: 100% !important;
  max-width: 160px !important;
  text-align: center !important;
  align-self: center !important;
  margin: 4px auto 8px !important;
}


/* v5.46 Persian hero card cleanup to match English neatness */
html[lang="fa"] .hero-text-stack {
  inset: auto auto 46px 8% !important;
  width: 236px !important;
  max-width: 236px !important;
  padding: 15px 16px 14px !important;
  gap: 8px !important;
  align-items: center !important;
  text-align: center !important;
}
html[lang="fa"] .hero-poster-word {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 auto 2px !important;
  text-align: center !important;
  align-self: center !important;
  font-size: clamp(2rem, 2.8vw, 2.45rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  white-space: normal !important;
}
html[lang="fa"] .hero-poster-label {
  width: 100% !important;
  max-width: 188px !important;
  padding: 0 !important;
  margin: 0 auto 8px !important;
  align-self: center !important;
  text-align: center !important;
  color: #43464f !important;
  font-size: .76rem !important;
  line-height: 1.6 !important;
}
html[lang="fa"] .hero-text-stack .time-ticket {
  width: 100% !important;
  align-items: flex-end !important;
  text-align: right !important;
}
@media (max-width: 1120px) {
  html[lang="fa"] .hero-text-stack {
    width: 212px !important;
    max-width: 212px !important;
    inset: auto auto 42px 7% !important;
    padding: 13px 14px !important;
  }
  html[lang="fa"] .hero-poster-word { font-size: clamp(1.82rem, 4.2vw, 2.2rem) !important; }
  html[lang="fa"] .hero-poster-label { max-width: 176px !important; font-size: .71rem !important; }
}
@media (max-width: 920px) {
  html[lang="fa"] .hero-text-stack {
    width: 180px !important;
    max-width: 180px !important;
    inset: auto auto 30px 7% !important;
    padding: 11px !important;
    gap: 7px !important;
  }
  html[lang="fa"] .hero-poster-word { font-size: clamp(1.46rem, 5vw, 1.8rem) !important; }
  html[lang="fa"] .hero-poster-label { max-width: 152px !important; font-size: .58rem !important; }
}
@media (max-width: 740px) {
  html[lang="fa"] .hero-text-stack {
    width: 148px !important;
    max-width: 148px !important;
    inset: auto auto 24px 6% !important;
    padding: 9px !important;
    gap: 6px !important;
  }
  html[lang="fa"] .hero-poster-word { font-size: clamp(1.2rem, 6vw, 1.48rem) !important; }
  html[lang="fa"] .hero-poster-label { max-width: 124px !important; font-size: .46rem !important; }
}


/* v5.47 — Web S: Persian/English hero geometry match */
@media (min-width: 921px) {
  .hero-v4,
  .hero-v4-grid,
  .hero-v4-art {
    min-height: 620px !important;
    height: 620px !important;
  }
  .hero-v4-grid { align-items: stretch !important; }
  .hero-v4-copy {
    align-self: center !important;
    padding-block: 72px !important;
  }
  html[lang="fa"] .hero-v4-copy h1 {
    line-height: 1.06 !important;
  }
  .hero-v4-art img,
  html[lang="fa"] .hero-v4-art img {
    inset: 14px 3% 0 auto !important;
    width: min(62%, 458px) !important;
    height: calc(100% - 14px) !important;
    object-position: center bottom !important;
  }
  .hero-v4-art::before,
  html[lang="fa"] .hero-v4-art::before {
    inset: 92px 0 34px 10% !important;
  }
  .hero-v4-art::after,
  html[lang="fa"] .hero-v4-art::after {
    width: 67% !important;
    inset: 52px 0 auto auto !important;
  }
}

/* Persian poster card top block mirrors English spacing and centering */
html[lang="fa"] .hero-text-stack {
  direction: rtl !important;
  inset: auto auto 44px 8% !important;
  width: 236px !important;
  max-width: 236px !important;
  padding: 14px 14px 13px !important;
  gap: 9px !important;
  align-items: stretch !important;
  text-align: center !important;
}
html[lang="fa"] .hero-poster-word {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  align-self: stretch !important;
  font-size: clamp(2.05rem, 3vw, 2.65rem) !important;
  line-height: .95 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
}
html[lang="fa"] .hero-poster-label {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  text-align: center !important;
  align-self: stretch !important;
  font-size: .66rem !important;
  line-height: 1.45 !important;
  white-space: nowrap !important;
}
html[lang="fa"] .hero-text-stack .time-ticket {
  width: 100% !important;
  align-items: flex-end !important;
  text-align: right !important;
}

@media (max-width: 1120px) and (min-width: 921px) {
  html[lang="fa"] .hero-text-stack {
    inset: auto auto 40px 7% !important;
    width: 208px !important;
    max-width: 208px !important;
    padding: 13px !important;
  }
  html[lang="fa"] .hero-poster-word {
    font-size: clamp(1.8rem, 4.2vw, 2.2rem) !important;
  }
  html[lang="fa"] .hero-poster-label {
    font-size: .59rem !important;
  }
}

/* Mobile/tablet keeps identical vertical art geometry in both languages */
@media (max-width: 920px) {
  html[lang="fa"] .hero-v4-art,
  .hero-v4-art { min-height: 440px !important; }
  html[lang="fa"] .hero-v4-art img,
  .hero-v4-art img { inset: 0 2% 0 auto !important; width: 66% !important; height: 100% !important; }
  html[lang="fa"] .hero-text-stack {
    inset: auto auto 28px 7% !important;
    width: 176px !important;
    max-width: 176px !important;
    padding: 11px !important;
    gap: 7px !important;
  }
  html[lang="fa"] .hero-poster-word { font-size: clamp(1.5rem, 5vw, 1.85rem) !important; }
  html[lang="fa"] .hero-poster-label { font-size: .48rem !important; }
}
@media (max-width: 740px) {
  html[lang="fa"] .hero-v4-art,
  .hero-v4-art { min-height: 390px !important; }
  html[lang="fa"] .hero-text-stack {
    inset: auto auto 24px 6% !important;
    width: 148px !important;
    max-width: 148px !important;
    padding: 9px !important;
    gap: 6px !important;
  }
  html[lang="fa"] .hero-poster-word { font-size: clamp(1.22rem, 6vw, 1.52rem) !important; }
  html[lang="fa"] .hero-poster-label { font-size: .38rem !important; }
}


/* v5.48 — Persian poster heading tuned to match the approved card look */
html[lang="fa"] .hero-text-stack {
  direction: rtl !important;
  inset: auto auto 46px 8% !important;
  width: 236px !important;
  max-width: 236px !important;
  padding: 17px 16px 14px !important;
  gap: 8px !important;
  align-items: center !important;
  text-align: center !important;
}
html[lang="fa"] .hero-poster-word {
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-self: center !important;
  text-align: center !important;
  font-size: clamp(2.15rem, 3vw, 2.72rem) !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
  white-space: nowrap !important;
}
html[lang="fa"] .hero-poster-label {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto 8px !important;
  padding: 0 !important;
  align-self: center !important;
  text-align: center !important;
  color: #43464f !important;
  font-size: .68rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
html[lang="fa"] .hero-text-stack .time-ticket {
  width: 100% !important;
  align-items: flex-end !important;
  text-align: right !important;
}
@media (max-width: 1120px) and (min-width: 921px) {
  html[lang="fa"] .hero-text-stack {
    inset: auto auto 42px 7% !important;
    width: 212px !important;
    max-width: 212px !important;
    padding: 15px 14px 13px !important;
  }
  html[lang="fa"] .hero-poster-word {
    font-size: clamp(1.9rem, 4vw, 2.3rem) !important;
  }
  html[lang="fa"] .hero-poster-label {
    font-size: .61rem !important;
  }
}
@media (max-width: 920px) {
  html[lang="fa"] .hero-text-stack {
    inset: auto auto 30px 7% !important;
    width: 180px !important;
    max-width: 180px !important;
    padding: 12px 11px !important;
    gap: 7px !important;
  }
  html[lang="fa"] .hero-poster-word {
    font-size: clamp(1.52rem, 5vw, 1.86rem) !important;
  }
  html[lang="fa"] .hero-poster-label {
    font-size: .5rem !important;
  }
}
@media (max-width: 740px) {
  html[lang="fa"] .hero-text-stack {
    inset: auto auto 24px 6% !important;
    width: 148px !important;
    max-width: 148px !important;
    padding: 9px !important;
    gap: 6px !important;
  }
  html[lang="fa"] .hero-poster-word {
    font-size: clamp(1.22rem, 6vw, 1.5rem) !important;
  }
  html[lang="fa"] .hero-poster-label {
    font-size: .4rem !important;
  }
}


/* v5.49 — Persian poster title optical centering fix */
html[lang="fa"] .hero-poster-word {
  position: relative !important;
  right: -10px !important;
}
@media (max-width: 1120px) and (min-width: 921px) {
  html[lang="fa"] .hero-poster-word { right: -8px !important; }
}
@media (max-width: 920px) {
  html[lang="fa"] .hero-poster-word { right: -6px !important; }
}


/* v5.50 footer: replace destination links with concise platform introduction */
.footer-about {
  align-content: start;
}
.footer-about p {
  max-width: 340px;
  margin: 0;
  color: #aaa7ad;
  font-size: .72rem;
  line-height: 1.85;
}
html[lang="fa"] .footer-about p {
  line-height: 2;
}
.footer-credit-wrap {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
#footer-credit {
  color: #c9c6cc;
  font-weight: 800;
  text-decoration: none;
  transition: color .18s ease;
}
#footer-credit:hover,
#footer-credit:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 1180px) {
  .footer-about { grid-column: auto; }
}
@media (max-width: 760px) {
  .footer-about { grid-column: auto; }
  .footer-about p { max-width: 100%; }
  .footer-credit-wrap { white-space: normal; }
}


/* v5.51 About page — flow visual + clean card numbering */
.story-layout {
  align-items: stretch;
}
.story-poster.story-flow {
  min-height: 570px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 26%, rgba(255,255,255,.11) 0 12%, transparent 13%),
    radial-gradient(circle at 82% 78%, rgba(13,13,15,.12) 0 17%, transparent 18%),
    linear-gradient(145deg, #ef071d 0%, #dc0017 56%, #b90016 100%);
  isolation: isolate;
}
.story-poster.story-flow::before {
  content: '';
  position: absolute;
  z-index: 0;
  width: 390px;
  height: 390px;
  inset: 72px auto auto -154px;
  border: 52px solid rgba(13,13,15,.13);
  border-radius: 50%;
}
.story-poster.story-flow::after {
  content: '';
  position: absolute;
  z-index: 0;
  width: 250px;
  height: 250px;
  inset: auto -92px -76px auto;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(255,255,255,.035), 0 0 0 76px rgba(255,255,255,.025);
}
.story-flow-kicker,
.story-flow-title,
.story-flow-sub,
.story-flow-track,
.story-flow-step,
.story-flow-mark { position: absolute; z-index: 2; }
.story-flow-kicker {
  inset: 30px auto auto 30px;
  color: rgba(255,255,255,.9);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .12em;
}
.story-flow-title {
  inset: 62px 30px auto 30px;
  max-width: 360px;
  color: #fff;
  font-size: clamp(2.25rem, 4vw, 4.2rem);
  line-height: .96;
  font-weight: 900;
  letter-spacing: -.055em;
}
.story-flow-sub {
  inset: 152px 30px auto 30px;
  max-width: 330px;
  color: rgba(255,255,255,.76);
  font-size: .8rem;
  line-height: 1.65;
}
.story-flow-track {
  inset: 222px auto 88px 84px;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.18));
}
.story-flow-track::after {
  content: '';
  position: absolute;
  left: -5px;
  bottom: -4px;
  width: 14px;
  height: 14px;
  border-right: 3px solid rgba(255,255,255,.85);
  border-bottom: 3px solid rgba(255,255,255,.85);
  transform: rotate(45deg);
}
.story-flow-step {
  left: 50px;
  width: calc(100% - 82px);
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
}
.story-flow-step.step-1 { top: 214px; }
.story-flow-step.step-2 { top: 294px; }
.story-flow-step.step-3 { top: 374px; }
.story-flow-step.step-4 { top: 454px; }
.story-flow-icon {
  flex: 0 0 68px;
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  color: #e3071e;
  box-shadow: 0 16px 32px rgba(54,0,8,.18);
}
.story-flow-icon .icon { width: 29px; height: 29px; }
.story-flow-step strong {
  display: block;
  font-size: 1.06rem;
  line-height: 1.2;
}
.story-flow-step span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.7);
  font-size: .74rem;
}
.story-flow-mark {
  right: 24px;
  bottom: 22px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,255,255,.78);
  background: rgba(13,13,15,.16);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-size: .64rem;
  font-weight: 750;
  letter-spacing: .06em;
}
.story-flow-mark .icon { width: 15px; height: 15px; }
html[dir="rtl"] .story-flow-kicker { inset: 30px 30px auto auto; letter-spacing: 0; }
html[dir="rtl"] .story-flow-title { inset: 62px 30px auto 30px; text-align: right; letter-spacing: -.02em; }
html[dir="rtl"] .story-flow-sub { inset: 152px 30px auto 30px; text-align: right; }
html[dir="rtl"] .story-flow-track { inset: 222px 84px 88px auto; }
html[dir="rtl"] .story-flow-track::after { left: auto; right: -5px; transform: rotate(45deg); }
html[dir="rtl"] .story-flow-step {
  left: auto;
  right: 50px;
  flex-direction: row-reverse;
  text-align: right;
}
html[dir="rtl"] .story-flow-mark { right: auto; left: 24px; letter-spacing: 0; }
.story-cards .content-card {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 7px;
  align-content: center;
  min-height: 168px;
  padding: 26px 30px;
}
.story-cards .content-card .card-number {
  position: static;
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(227,7,30,.08);
  color: var(--primary);
  font-size: .75rem;
  font-weight: 900;
  line-height: 1;
}
.story-cards .content-card h2 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
}
.story-cards .content-card p {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
}
html[dir="rtl"] .story-cards .content-card {
  grid-template-columns: minmax(0,1fr) 46px;
  padding: 26px 30px;
}
html[dir="rtl"] .story-cards .content-card .card-number { grid-column: 2; }
html[dir="rtl"] .story-cards .content-card h2,
html[dir="rtl"] .story-cards .content-card p { grid-column: 1; }
@media (max-width: 980px) {
  .story-poster.story-flow { min-height: 520px; }
  .story-flow-step.step-1 { top: 204px; }
  .story-flow-step.step-2 { top: 274px; }
  .story-flow-step.step-3 { top: 344px; }
  .story-flow-step.step-4 { top: 414px; }
  .story-flow-track { inset-block: 212px 76px; }
  html[dir="rtl"] .story-flow-track { inset-block: 212px 76px; }
  .story-flow-icon { flex-basis: 58px; width: 58px; height: 58px; border-radius: 17px; }
}
@media (max-width: 720px) {
  .story-poster.story-flow { min-height: 500px; }
  .story-flow-title { font-size: 2.7rem; }
  .story-flow-step { left: 28px; width: calc(100% - 50px); }
  html[dir="rtl"] .story-flow-step { right: 28px; }
  .story-flow-track { left: 57px; }
  html[dir="rtl"] .story-flow-track { right: 57px; left: auto; }
  .story-cards .content-card,
  html[dir="rtl"] .story-cards .content-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 8px;
    padding: 22px;
  }
  .story-cards .content-card .card-number,
  html[dir="rtl"] .story-cards .content-card .card-number { grid-column: 1; grid-row: 1; }
  .story-cards .content-card h2,
  html[dir="rtl"] .story-cards .content-card h2 { grid-column: 1; grid-row: 2; }
  .story-cards .content-card p,
  html[dir="rtl"] .story-cards .content-card p { grid-column: 1; grid-row: 3; }
}



/* v5.52 ABOUT — exact EN/FA structural parity, mirrored for RTL */
.story-poster.story-flow {
  min-height: 590px;
  overflow: hidden;
  background: linear-gradient(145deg, #ef071d 0%, #e3071e 58%, #c90019 100%);
  isolation: isolate;
}
/* Clean red canvas: remove all previous circular glows/rings */
.story-poster.story-flow::before,
.story-poster.story-flow::after {
  content: none !important;
  display: none !important;
}
.story-flow-kicker {
  inset: 30px auto auto 30px;
}
.story-flow-title {
  inset: 62px 30px auto 30px;
  max-width: 390px;
  font-size: clamp(2.25rem, 3.5vw, 3.55rem);
  line-height: .98;
}
.story-flow-sub {
  inset: 184px 30px auto 30px;
  max-width: 360px;
  font-size: .8rem;
  line-height: 1.55;
}
.story-flow-track {
  inset: 250px auto 76px 84px;
}
.story-flow-step {
  left: 50px;
  width: calc(100% - 82px);
  flex-direction: row;
}
.story-flow-step.step-1 { top: 240px; }
.story-flow-step.step-2 { top: 320px; }
.story-flow-step.step-3 { top: 400px; }
.story-flow-step.step-4 { top: 480px; }
.story-flow-mark {
  right: 24px;
  bottom: 22px;
  background: rgba(13,13,15,.12);
}
/* Persian uses exactly the same geometry, mirrored horizontally */
html[dir="rtl"] .story-flow-kicker {
  inset: 30px 30px auto auto;
  letter-spacing: 0;
  text-align: right;
}
html[dir="rtl"] .story-flow-title {
  inset: 62px 30px auto 30px;
  max-width: 390px;
  text-align: right;
  letter-spacing: -.02em;
}
html[dir="rtl"] .story-flow-sub {
  inset: 184px 30px auto 30px;
  max-width: 360px;
  text-align: right;
}
html[dir="rtl"] .story-flow-track {
  inset: 250px 84px 76px auto;
}
html[dir="rtl"] .story-flow-track::after {
  left: auto;
  right: -5px;
}
html[dir="rtl"] .story-flow-step {
  left: auto;
  right: 50px;
  width: calc(100% - 82px);
  flex-direction: row;
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .story-flow-step > div:last-child {
  text-align: right;
}
html[dir="rtl"] .story-flow-mark {
  right: auto;
  left: 24px;
  letter-spacing: 0;
}
/* About text cards: same composition, number mirrors to reading side */
.story-cards .content-card {
  grid-template-columns: 46px minmax(0,1fr);
}
html[dir="rtl"] .story-cards .content-card {
  grid-template-columns: 46px minmax(0,1fr);
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .story-cards .content-card .card-number {
  grid-column: 1;
  grid-row: 1 / span 2;
}
html[dir="rtl"] .story-cards .content-card h2,
html[dir="rtl"] .story-cards .content-card p {
  grid-column: 2;
  text-align: right;
}
@media (max-width: 980px) {
  .story-poster.story-flow { min-height: 550px; }
  .story-flow-title { font-size: clamp(2.1rem, 4.4vw, 3.15rem); }
  .story-flow-sub { top: 174px; }
  .story-flow-track { inset-block: 235px 72px; }
  html[dir="rtl"] .story-flow-track { inset-block: 235px 72px; }
  .story-flow-step.step-1 { top: 226px; }
  .story-flow-step.step-2 { top: 296px; }
  .story-flow-step.step-3 { top: 366px; }
  .story-flow-step.step-4 { top: 436px; }
}
@media (max-width: 720px) {
  .story-poster.story-flow { min-height: 520px; }
  .story-flow-title,
  html[dir="rtl"] .story-flow-title { font-size: 2.55rem; }
  .story-flow-sub,
  html[dir="rtl"] .story-flow-sub { top: 166px; }
  .story-flow-track,
  html[dir="rtl"] .story-flow-track { inset-block: 226px 70px; }
  .story-flow-step.step-1 { top: 218px; }
  .story-flow-step.step-2 { top: 288px; }
  .story-flow-step.step-3 { top: 358px; }
  .story-flow-step.step-4 { top: 428px; }
  html[dir="rtl"] .story-flow-step { right: 28px; width: calc(100% - 50px); }
  .story-cards .content-card,
  html[dir="rtl"] .story-cards .content-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    direction: inherit;
  }
  html[dir="rtl"] .story-cards .content-card .card-number,
  html[dir="rtl"] .story-cards .content-card h2,
  html[dir="rtl"] .story-cards .content-card p {
    grid-column: 1;
  }
}


/* v5.59 auth / role structure polish */
@media (min-width: 1021px) {
  .auth-page,
  .poster-theme .auth-page {
    grid-template-columns: minmax(470px, 44%) minmax(0, 1fr);
  }
  .auth-topbar,
  .poster-theme .auth-topbar {
    width: max(44%, 470px);
    min-width: 470px;
    max-width: none;
  }
}
html[dir="rtl"] .password-toggle {
  inset-inline: auto 5px;
  right: auto;
  left: 5px;
}
html[dir="rtl"] .auth-password-input .form-control {
  padding-inline-start: 45px;
  padding-inline-end: 50px;
}
.auth-visual-login .auth-art-badge-login,
.poster-theme .auth-visual-login .auth-art-badge-login {
  inset: auto auto 214px 7%;
  top: auto;
  right: auto;
  bottom: 214px;
  left: 7%;
}
html[lang="fa"] .auth-visual-login .auth-art-badge-login {
  min-width: 190px;
}
.manager-code-field { margin-top: 2px; }
.manager-code-input > .icon { color: var(--primary); }
.manager-code-input .form-control { letter-spacing: .08em; font-weight: 700; }
.account-type-card small { line-height: 1.55; }


/* v5.60 auth navigation + bilingual login visual alignment */
.register-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}
.register-actions > .button,
.register-actions > span {
  width: 100% !important;
  min-width: 0 !important;
}
.register-actions > .button {
  justify-self: stretch !important;
}

/* Keep the Persian login poster title directly beneath the quality badge,
   matching the English composition instead of drifting to the right. */
html[lang="fa"] .auth-visual-login .auth-art-copy,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy {
  left: 7% !important;
  right: auto !important;
  bottom: 62px !important;
  width: 250px !important;
  max-width: 250px !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy h2 {
  margin-inline: auto !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy p {
  text-align: center !important;
}

/* Keep the new access/registration kicker readable in both languages. */
.auth-art-kicker {
  max-width: 360px;
}
html[lang="fa"] .auth-art-kicker {
  letter-spacing: 0 !important;
  line-height: 1.55;
}

@media (max-width: 720px) {
  .register-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}


/* v5.62 — one bilingual auth poster for sign-in and all registration steps */
.auth-visual-login .auth-art-copy,
.poster-theme .auth-visual-login .auth-art-copy {
  left: 7% !important;
  right: auto !important;
  bottom: 60px !important;
  width: min(410px, 48%) !important;
  max-width: 410px !important;
  text-align: left !important;
}
.auth-visual-login .auth-art-copy h2,
.poster-theme .auth-visual-login .auth-art-copy h2 {
  margin: 0 0 10px !important;
  line-height: 1.02 !important;
  text-align: left !important;
}
.auth-visual-login .auth-art-copy p,
.poster-theme .auth-visual-login .auth-art-copy p {
  text-align: left !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy {
  left: 7% !important;
  right: auto !important;
  bottom: 60px !important;
  width: 300px !important;
  max-width: 300px !important;
  direction: rtl !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy h2,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy h2 {
  margin: 0 0 10px !important;
  line-height: 1.24 !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy p,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy p {
  text-align: center !important;
}
.auth-visual-login .auth-art-badge-login,
.poster-theme .auth-visual-login .auth-art-badge-login {
  left: 7% !important;
  right: auto !important;
  bottom: 218px !important;
  top: auto !important;
  max-width: 360px !important;
}
.auth-visual-login .auth-art-badge-login b {
  white-space: nowrap;
}
html[lang="fa"] .auth-visual-login .auth-art-badge-login {
  min-width: 245px !important;
}
@media (max-width: 1180px) and (min-width: 1021px) {
  .auth-visual-login .auth-art-copy,
  .poster-theme .auth-visual-login .auth-art-copy {
    width: min(360px, 49%) !important;
  }
  html[lang="fa"] .auth-visual-login .auth-art-copy,
  html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy {
    width: 270px !important;
  }
  .auth-visual-login .auth-art-badge-login b { font-size: .58rem; }
}


/* v5.63 — auth poster copy cleanup / exact bilingual alignment */
.auth-art-kicker,
.poster-theme .auth-art-kicker {
  display: none !important;
}

/* Keep the white account badge above the poster headline without overlap. */
.auth-visual-login .auth-art-badge-login,
.poster-theme .auth-visual-login .auth-art-badge-login {
  left: 7% !important;
  right: auto !important;
  bottom: 224px !important;
  top: auto !important;
  max-width: 370px !important;
}

.auth-visual-login .auth-art-copy,
.poster-theme .auth-visual-login .auth-art-copy {
  left: 7% !important;
  right: auto !important;
  bottom: 58px !important;
  width: min(470px, 62%) !important;
  max-width: 470px !important;
  text-align: left !important;
}
.auth-visual-login .auth-art-copy h2,
.poster-theme .auth-visual-login .auth-art-copy h2 {
  margin: 0 !important;
  font-size: clamp(2.35rem, 3.2vw, 3.15rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -.045em !important;
  text-align: left !important;
}
.auth-visual-login .auth-art-copy p,
.poster-theme .auth-visual-login .auth-art-copy p {
  margin: 7px 0 0 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

/* Persian uses the exact same composition, mirrored only for text direction. */
html[lang="fa"] .auth-visual-login .auth-art-copy,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy {
  left: 7% !important;
  right: auto !important;
  bottom: 58px !important;
  width: 330px !important;
  max-width: 330px !important;
  direction: rtl !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy h2,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy h2 {
  margin: 0 !important;
  font-size: clamp(2.15rem, 2.9vw, 2.8rem) !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-copy p,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy p {
  margin: 6px 0 0 !important;
  font-size: .8rem !important;
  line-height: 1.7 !important;
  text-align: center !important;
}
html[lang="fa"] .auth-visual-login .auth-art-badge-login,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-badge-login {
  left: 7% !important;
  right: auto !important;
  bottom: 224px !important;
  min-width: 245px !important;
}

@media (max-width: 1180px) and (min-width: 1021px) {
  .auth-visual-login .auth-art-copy,
  .poster-theme .auth-visual-login .auth-art-copy {
    width: min(430px, 64%) !important;
  }
  .auth-visual-login .auth-art-copy h2,
  .poster-theme .auth-visual-login .auth-art-copy h2 {
    font-size: clamp(2.1rem, 3vw, 2.75rem) !important;
  }
  html[lang="fa"] .auth-visual-login .auth-art-copy,
  html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy {
    width: 300px !important;
  }
  html[lang="fa"] .auth-visual-login .auth-art-copy h2,
  html[lang="fa"] .poster-theme .auth-visual-login .auth-art-copy h2 {
    font-size: 2.25rem !important;
  }
}


/* v5.64 — auth poster alignment + white brand mark */
/* The public login/registration poster uses the white site mark instead of Release/انتشار. */
.auth-visual-login .auth-art-word,
.poster-theme .auth-visual-login .auth-art-word {
  display: none !important;
}
.auth-visual-login .auth-art-logo,
.poster-theme .auth-visual-login .auth-art-logo {
  position: absolute;
  z-index: 6;
  left: 7%;
  top: 14%;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  pointer-events: none;
  user-select: none;
}
.auth-visual-login .auth-art-logo img,
.poster-theme .auth-visual-login .auth-art-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

/* Badge, title and supporting copy now share one anchor so they cannot drift apart. */
.auth-visual-login .auth-art-info,
.poster-theme .auth-visual-login .auth-art-info {
  position: absolute;
  z-index: 7;
  left: 7%;
  right: auto;
  bottom: 58px;
  width: min(470px, 62%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}
.auth-visual-login .auth-art-info .auth-art-badge-login,
.poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login,
.auth-visual-login .auth-art-info .auth-art-copy,
.poster-theme .auth-visual-login .auth-art-info .auth-art-copy {
  position: static !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
}
.auth-visual-login .auth-art-info .auth-art-badge-login,
.poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-self: flex-start;
}
.auth-visual-login .auth-art-info .auth-art-copy,
.poster-theme .auth-visual-login .auth-art-info .auth-art-copy {
  width: 100% !important;
  max-width: none !important;
  text-align: left !important;
}
.auth-visual-login .auth-art-info .auth-art-copy h2,
.poster-theme .auth-visual-login .auth-art-info .auth-art-copy h2 {
  margin: 0 !important;
  font-size: clamp(2.15rem, 3vw, 2.9rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  text-align: left !important;
}
.auth-visual-login .auth-art-info .auth-art-copy p,
.poster-theme .auth-visual-login .auth-art-info .auth-art-copy p {
  margin: 7px 0 0 !important;
  max-width: 100% !important;
  font-size: .82rem !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* Persian keeps the same physical composition, while the content itself is right-aligned. */
html[lang="fa"] .auth-visual-login .auth-art-info,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info {
  left: 7%;
  right: auto;
  width: 330px;
  align-items: flex-end;
  direction: rtl;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-badge-login,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login {
  align-self: flex-end;
  width: auto !important;
  max-width: 100% !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-copy,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-copy {
  width: 100% !important;
  direction: rtl !important;
  text-align: right !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-copy h2,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-copy h2 {
  font-size: clamp(2rem, 2.7vw, 2.55rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  text-align: right !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-copy p,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-copy p {
  margin-top: 6px !important;
  line-height: 1.7 !important;
  text-align: right !important;
}

@media (max-width: 1180px) and (min-width: 1021px) {
  .auth-visual-login .auth-art-info,
  .poster-theme .auth-visual-login .auth-art-info {
    width: min(430px, 64%);
  }
  html[lang="fa"] .auth-visual-login .auth-art-info,
  html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info {
    width: 300px;
  }
  .auth-visual-login .auth-art-logo,
  .poster-theme .auth-visual-login .auth-art-logo {
    width: 70px;
    height: 70px;
  }
}

/* V5.65 icon-only patch: keep the V5.64 layout exactly; swap only the black-area brand mark for a signup icon. */
.auth-visual-login .auth-art-logo.auth-signup-icon .icon,
.poster-theme .auth-visual-login .auth-art-logo.auth-signup-icon .icon {
  width: 74px;
  height: 74px;
  color: #fff;
  stroke-width: 1.65;
}

/* v5.66 — Persian auth poster badge aligned to the same right edge as the title/copy */
html[lang="fa"] .auth-visual-login .auth-art-info,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info {
  width: 330px !important;
  max-width: 330px !important;
  align-items: stretch !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-badge-login,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-badge-login span,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login span {
  width: 100% !important;
  text-align: right !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-copy,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-copy {
  width: 100% !important;
  max-width: 100% !important;
}

/* v5.67 — compact Persian artist-workspace badge; keep the same right alignment */
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-badge-login,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login {
  width: auto !important;
  min-width: 245px !important;
  max-width: 270px !important;
  align-self: flex-end !important;
  box-sizing: border-box !important;
}
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-badge-login span,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login span {
  width: auto !important;
  min-width: 0 !important;
  text-align: right !important;
}

/* v5.68 — keep the compact Persian badge, but restore its previous right-edge position */
html[lang="fa"] .auth-visual-login .auth-art-info .auth-art-badge-login,
html[lang="fa"] .poster-theme .auth-visual-login .auth-art-info .auth-art-badge-login {
  width: auto !important;
  min-width: 245px !important;
  max-width: 270px !important;
  align-self: flex-start !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* v5.69 — normalize 01/02/03 placement in home metrics for LTR + RTL */
.metrics-v4 article > span,
.metrics-v4 article > div {
  position: relative;
  z-index: 2;
}
.metrics-v4 article > i {
  inset: auto !important;
  inset-block-end: -15px !important;
  inset-inline-end: 14px !important;
  z-index: 0 !important;
  pointer-events: none;
  white-space: nowrap;
}


/* v5.70 — keep 01/02/03 pinned to the outer corner of each metric card in both LTR and RTL */
.metrics-v4 article {
  isolation: isolate;
}
.metrics-v4 article > i {
  display: block !important;
  min-width: 96px !important;
  text-align: end !important;
  inset: auto !important;
  inset-block-end: -15px !important;
  inset-inline-end: 14px !important;
  z-index: 0 !important;
  pointer-events: none;
  white-space: nowrap;
}
html[lang='fa'] .metrics-v4 article > i,
html[dir='rtl'] .metrics-v4 article > i {
  min-width: 102px !important;
  text-align: end !important;
}


/* v5.71 — dashboard parity: onboarding/manager KPI cards match the main user dashboard */
.poster-theme .new-account-metrics .metric-card {
  min-height: 150px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 7px;
  padding: 20px 16px;
}
.poster-theme .new-account-metrics .metric-top {
  width: auto;
  display: grid;
  place-items: center;
  margin: 0;
}
.poster-theme .new-account-metrics .metric-icon,
.poster-theme .new-account-metrics .metric-card.success .metric-icon,
.poster-theme .new-account-metrics .metric-card.warning .metric-icon,
.poster-theme .new-account-metrics .metric-card.danger .metric-icon {
  width: 52px !important;
  height: 52px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--ink) !important;
  background: transparent !important;
  border: 0 !important;
}
.poster-theme .new-account-metrics .metric-icon .icon {
  width: 34px !important;
  height: 34px !important;
  stroke-width: 1.55 !important;
}
.poster-theme .new-account-metrics .metric-value {
  margin: 0 !important;
  font-size: 1.8rem !important;
  line-height: 1 !important;
  text-align: center !important;
}
.poster-theme .new-account-metrics .metric-label {
  font-size: .69rem;
  text-align: center !important;
}
.poster-theme .new-account-metrics .trend {
  display: none !important;
}

/* v5.73 — management control center polish */
.notification-button{position:relative}
.notification-count{position:absolute;inset-block-start:-7px;inset-inline-end:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--red,#ed0015);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid var(--surface,#fff);line-height:1}
.admin-notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px;margin-bottom:18px}
.admin-notification-toolbar h2{margin:0 0 6px}.admin-notification-toolbar p{margin:0;color:var(--muted)}
.admin-sound-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compact-rule{margin:0;min-width:260px}
.admin-alert-item{position:relative;text-decoration:none;color:inherit}.admin-alert-item.is-unread{background:#fff6f7}.admin-alert-dot{width:9px;height:9px;border-radius:50%;background:var(--red,#ed0015);margin-inline-start:auto;margin-inline-end:12px;flex:0 0 auto;box-shadow:0 0 0 6px rgba(237,0,21,.08)}
.admin-manager-layout{align-items:start}.manager-code-list{margin-top:18px}.manager-admin-row .wallet-admin-actions{margin-inline-start:auto}
.ticket-admin-actions{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.ticket-admin-actions .button{flex:1}
.admin-support-list .ticket-title-button{text-align:start}
@media(max-width:900px){.admin-notification-toolbar{align-items:flex-start;flex-direction:column}.admin-sound-actions{width:100%}.compact-rule{min-width:0;flex:1}.manager-admin-row{align-items:flex-start;flex-wrap:wrap}.manager-admin-row .wallet-admin-actions{width:100%;margin-inline-start:0}.ticket-admin-actions{flex-direction:column}}


/* v5.75 — admin manager page layout polish + KPI parity */
.poster-theme .admin-manager-layout {
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  align-items: start;
}
.poster-theme .manager-admin-row {
  grid-template-columns: minmax(220px, 1fr) auto minmax(145px, auto) auto;
  align-items: center;
}
.poster-theme .manager-admin-meta {
  color: var(--muted);
  white-space: nowrap;
}
.poster-theme .manager-admin-row .wallet-admin-actions {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-inline-start: auto;
}
.poster-theme .manager-code-list {
  margin-top: 18px;
}
.poster-theme .manager-code-row {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
}
.poster-theme .manager-code-main {
  min-width: 0;
}
.poster-theme .manager-code-main b {
  display: block;
  margin-bottom: 4px;
  font-size: .95rem;
  letter-spacing: .01em;
}
.poster-theme .manager-code-main span {
  display: block;
  color: var(--muted);
}
.poster-theme .manager-code-copy {
  justify-self: end;
}
.poster-theme .admin-list.manager-code-list .admin-list-row:last-child {
  border-bottom: 0;
}
@media (max-width: 1100px) {
  .poster-theme .admin-manager-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .poster-theme .manager-admin-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .poster-theme .manager-admin-meta,
  .poster-theme .manager-admin-row > .status-badge,
  .poster-theme .manager-admin-row .wallet-admin-actions {
    justify-self: start;
  }
  .poster-theme .manager-code-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .poster-theme .manager-code-copy {
    justify-self: start;
  }
}
html[dir="rtl"] .poster-theme .manager-code-row,
html[dir="rtl"] .poster-theme .manager-admin-row {
  direction: rtl;
}
html[dir="rtl"] .poster-theme .manager-code-copy,
html[dir="rtl"] .poster-theme .manager-admin-row .wallet-admin-actions {
  justify-self: end;
}


/* v5.76 — keep manager account action buttons inside the card */
.poster-theme .manager-admin-row {
  grid-template-columns: minmax(0, 1fr) auto minmax(150px, auto);
  row-gap: 10px;
}
.poster-theme .manager-admin-row .admin-user {
  grid-column: 1;
}
.poster-theme .manager-admin-row > .status-badge {
  grid-column: 2;
}
.poster-theme .manager-admin-row > .manager-admin-meta {
  grid-column: 3;
  justify-self: start;
}
.poster-theme .manager-admin-row .wallet-admin-actions {
  grid-column: 1 / -1;
  justify-self: end;
  justify-content: flex-end;
  flex-wrap: wrap;
  max-width: 100%;
  margin-top: 2px;
}
.poster-theme .manager-admin-row .wallet-admin-actions .button {
  flex: 0 0 auto;
  white-space: nowrap;
}
html[dir="rtl"] .poster-theme .manager-admin-row > .manager-admin-meta {
  justify-self: end;
}
html[dir="rtl"] .poster-theme .manager-admin-row .wallet-admin-actions {
  justify-self: start;
  justify-content: flex-start;
}
@media (max-width: 1100px) {
  .poster-theme .manager-admin-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .poster-theme .manager-admin-row > .manager-admin-meta {
    grid-column: 1 / -1;
  }
}
@media (max-width: 900px) {
  .poster-theme .manager-admin-row {
    grid-template-columns: 1fr;
  }
  .poster-theme .manager-admin-row > .status-badge,
  .poster-theme .manager-admin-row > .manager-admin-meta,
  .poster-theme .manager-admin-row .wallet-admin-actions {
    grid-column: 1;
    justify-self: start;
  }
  .poster-theme .manager-admin-row .wallet-admin-actions {
    justify-content: flex-start;
  }
}


/* v5.77 — professional wallet approval queue + Premium balance lock */
.poster-theme .wallet-approval-panel .panel-head {
  padding-bottom: 16px;
}
.poster-theme .wallet-admin-requests {
  padding: 0 18px 18px;
}
.poster-theme .professional-wallet-request {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(145px, .62fr) minmax(175px, .86fr) auto;
  gap: 14px 18px;
  align-items: center;
  padding: 16px 0;
}
.poster-theme .wallet-request-user {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.poster-theme .wallet-request-user > div,
.poster-theme .wallet-request-receipt > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.poster-theme .wallet-request-user b,
.poster-theme .wallet-request-receipt b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.poster-theme .wallet-request-avatar {
  width: 42px;
  height: 42px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  background: var(--ink);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
}
.poster-theme .wallet-request-user span,
.poster-theme .wallet-request-receipt span,
.poster-theme .wallet-request-amount span,
.poster-theme .wallet-request-state small {
  color: var(--muted);
  font-size: .58rem;
}
.poster-theme .wallet-request-amount {
  display: grid;
  gap: 3px;
}
.poster-theme .wallet-request-amount small,
.poster-theme .wallet-request-receipt small {
  color: var(--muted);
  font-size: .56rem;
}
.poster-theme .wallet-request-amount strong {
  font-size: .82rem;
  white-space: nowrap;
}
.poster-theme .wallet-request-receipt {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}
.poster-theme .wallet-request-receipt .receipt-symbol {
  width: 36px;
  height: 36px;
}
.poster-theme .wallet-request-receipt .receipt-symbol .icon {
  width: 23px;
  height: 23px;
}
.poster-theme .wallet-request-state {
  display: grid;
  justify-items: end;
  gap: 5px;
}
.poster-theme .professional-wallet-request .wallet-admin-actions {
  grid-column: 1 / -1;
  display: flex !important;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 2px;
}
.poster-theme .wallet-manual-card .admin-rate-note + .admin-rate-note {
  margin-top: 12px;
}
.poster-theme .receipt-preview-image {
  display: grid;
  place-items: center;
  padding: 8px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.poster-theme .receipt-preview-image img {
  max-width: 100%;
  max-height: 68vh;
  object-fit: contain;
  border-radius: 8px;
}
.poster-theme .receipt-preview-file {
  min-height: 220px;
  display: grid;
  place-items: center;
  gap: 14px;
  text-align: center;
}
.poster-theme .receipt-preview-file > .icon {
  width: 42px;
  height: 42px;
}
html[dir="rtl"] .poster-theme .professional-wallet-request {
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .poster-theme .wallet-request-state {
  justify-items: start;
}
html[dir="rtl"] .poster-theme .professional-wallet-request .wallet-admin-actions {
  justify-content: flex-start;
}
@media (max-width: 1180px) {
  .poster-theme .professional-wallet-request {
    grid-template-columns: minmax(190px,1fr) minmax(140px,.7fr) minmax(175px,1fr);
  }
  .poster-theme .wallet-request-state {
    grid-column: 1 / -1;
    justify-items: start;
  }
}
@media (max-width: 760px) {
  .poster-theme .professional-wallet-request {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .poster-theme .wallet-request-state,
  .poster-theme .professional-wallet-request .wallet-admin-actions {
    grid-column: 1;
    justify-items: start;
    justify-content: flex-start;
  }
}
