/* رابط عمومی عضویت — Design System مشترک، RTL و واکنش‌گرا. */
.avr-profile {
	--avr-bg: #eef4ff; --avr-paper: #fff; --avr-band: #e7edff; --avr-field: #f7f9fd;
	--avr-ink: #172033; --avr-accent: #4f46e5; --avr-on-band: #172033; --avr-on-field: #172033;
	--avr-field-line: #dfe5ef; --avr-success: #15803d; --avr-warning: #b45309;
	--avr-danger: #dc2626; --avr-muted: #68738a; --avr-radius-sm: .75rem;
	--avr-radius: 1.15rem; --avr-radius-lg: 1.65rem;
	--avr-shadow-sm: 0 1px 2px rgba(15,23,42,.04), 0 6px 18px rgba(15,23,42,.05);
	--avr-shadow: 0 22px 70px rgba(28,42,73,.12); --avr-ease: cubic-bezier(.2,.8,.2,1);
	position: relative; isolation: isolate; direction: rtl; text-align: right; min-height: 20rem;
	padding: clamp(1rem,4vw,4rem) clamp(.65rem,3vw,2.25rem);
	background: radial-gradient(circle at 8% 12%, color-mix(in srgb,var(--avr-accent) 14%,transparent) 0,transparent 30rem),
		radial-gradient(circle at 92% 90%,color-mix(in srgb,var(--avr-band) 60%,transparent) 0,transparent 28rem), var(--avr-bg);
	color: var(--avr-ink); font-family: inherit; font-size: 16px; line-height: 1.8; overflow: hidden;
}
.avr-profile::before,.avr-profile::after { content:""; position:absolute; z-index:-1; width:15rem; height:15rem; border:1px solid color-mix(in srgb,var(--avr-accent) 18%,transparent); border-radius:50%; pointer-events:none; }
.avr-profile::before { inset:-7rem auto auto -6rem; }
.avr-profile::after { inset:auto -7rem -8rem auto; width:20rem; height:20rem; }
.avr-profile,.avr-profile *,.avr-profile *::before,.avr-profile *::after { box-sizing:border-box; }
.avr-profile a { color:var(--avr-accent); text-underline-offset:.2em; }

.avr-paper { width:100%; max-width:64rem; margin:0 auto; padding:clamp(1.25rem,4vw,3.25rem); background:color-mix(in srgb,var(--avr-paper) 96%,transparent); border:1px solid color-mix(in srgb,var(--avr-field-line) 80%,transparent); border-radius:var(--avr-radius-lg); box-shadow:var(--avr-shadow); backdrop-filter:blur(18px); }
.avr-head { position:relative; margin:0 0 2rem; padding-bottom:1.35rem; text-align:right; }
.avr-head::after { content:""; position:absolute; inset:auto 0 0 auto; width:4rem; height:.3rem; border-radius:999px; background:linear-gradient(90deg,var(--avr-accent),color-mix(in srgb,var(--avr-accent) 35%,#fff)); }
.avr-head-title { margin:0 0 .45rem; color:var(--avr-ink); font-size:clamp(1.55rem,4vw,2.25rem); font-weight:900; line-height:1.35; letter-spacing:-.035em; }
.avr-head-sub { max-width:42rem; margin:0; color:var(--avr-muted); font-size:.94rem; }

.avr-account,.avr-progress,.avr-account-status { position:relative; margin-bottom:1.2rem; padding:1rem 1.15rem; background:color-mix(in srgb,var(--avr-field) 92%,var(--avr-paper)); border:1px solid var(--avr-field-line); border-radius:var(--avr-radius); }
.avr-account { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.1rem .75rem; }
.avr-account-label { color:var(--avr-muted); font-size:.76rem; font-weight:700; }
.avr-account-value { font-weight:900; font-variant-numeric:tabular-nums; letter-spacing:.06em; direction:ltr; unicode-bidi:isolate; }
.avr-account-note { grid-column:1/-1; color:var(--avr-muted); font-size:.76rem; }
.avr-progress { overflow:hidden; }
.avr-progress::before { content:"پیشرفت تکمیل"; display:block; margin-bottom:.55rem; color:var(--avr-muted); font-size:.75rem; font-weight:800; }
.avr-progress-bar { height:.55rem; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--avr-field-line) 70%,transparent); }
.avr-progress-bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--avr-accent),#22c1c3); box-shadow:0 0 15px color-mix(in srgb,var(--avr-accent) 40%,transparent); transition:width .8s var(--avr-ease); }
.avr-progress.is-complete .avr-progress-bar span { background:linear-gradient(90deg,#16a34a,#34d399); }
.avr-progress-text { margin:.65rem 0 0; color:var(--avr-muted); font-size:.82rem; }
.avr-missing { color:var(--avr-danger); font-weight:800; }

.avr-note { position:relative; margin:0 0 1rem; padding:.85rem 2.85rem .85rem 1rem; border:1px solid transparent; border-radius:var(--avr-radius-sm); font-size:.88rem; font-weight:650; animation:avr-note-in .42s var(--avr-ease) both; }
.avr-note::before { position:absolute; inset:.75rem .9rem auto auto; display:grid; place-items:center; width:1.35rem; height:1.35rem; border-radius:50%; color:#fff; font-size:.75rem; font-weight:900; }
.avr-note--ok { color:#166534; background:#f0fdf4; border-color:#bbf7d0; }
.avr-note--ok::before { content:"✓"; background:#16a34a; }
.avr-note--bad { color:#991b1b; background:#fff7f7; border-color:#fecaca; }
.avr-note--bad::before { content:"!"; background:#dc2626; }
@keyframes avr-note-in { from { opacity:0; transform:translateY(-.5rem); } }

.avr-group { margin-bottom:1.65rem; }
.avr-band { display:flex; align-items:center; gap:.6rem; margin:0 0 1rem; padding:0; background:transparent; color:var(--avr-ink); font-size:1rem; font-weight:900; line-height:1.5; text-align:right; }
.avr-band::before { content:""; flex:none; width:.55rem; height:1.15rem; border-radius:999px; background:linear-gradient(180deg,var(--avr-accent),color-mix(in srgb,var(--avr-accent) 45%,#22c1c3)); box-shadow:0 5px 12px color-mix(in srgb,var(--avr-accent) 25%,transparent); }

.avr-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.9rem; }
.avr-cell.is-third { grid-column:span 2; } .avr-cell.is-half { grid-column:span 3; } .avr-cell.is-full { grid-column:span 6; }
.avr-cell { display:flex; flex-direction:column; min-width:0; } .avr-cell.has-help,.avr-cell.has-error { margin-bottom:.25rem; }
.avr-box { display:flex; flex:1 1 auto; flex-direction:column; gap:.15rem; min-height:4.4rem; padding:.65rem .9rem .55rem; background:var(--avr-field); color:var(--avr-on-field); border:1px solid var(--avr-field-line); border-radius:var(--avr-radius-sm); box-shadow:0 1px 0 rgba(255,255,255,.6) inset; transition:border-color .22s,box-shadow .22s,transform .22s,background .22s; }
.avr-box:hover { border-color:color-mix(in srgb,var(--avr-accent) 34%,var(--avr-field-line)); }
.avr-box:focus-within { background:var(--avr-paper); border-color:var(--avr-accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--avr-accent) 12%,transparent),var(--avr-shadow-sm); transform:translateY(-1px); }
.avr-box.is-open { background:color-mix(in srgb,var(--avr-field) 60%,transparent); }
.avr-box-label { color:var(--avr-muted); font-size:.72rem; font-weight:750; line-height:1.6; transition:color .2s; }
.avr-box:focus-within .avr-box-label { color:var(--avr-accent); }
.avr-required { color:var(--avr-danger); font-weight:900; }
.avr-input { width:100%; min-height:1.9rem; padding:0; border:0!important; outline:0!important; background:transparent!important; box-shadow:none!important; color:inherit; font:inherit; font-size:.94rem; font-weight:620; line-height:1.75; }
.avr-input::placeholder { color:color-mix(in srgb,var(--avr-muted) 70%,transparent); }
textarea.avr-input { min-height:5rem; resize:vertical; } select.avr-input { cursor:pointer; }
.avr-choices { display:flex; flex-wrap:wrap; gap:.45rem; padding-top:.2rem; }
.avr-choice { display:inline-flex; align-items:center; gap:.4rem; min-height:2.2rem; padding:.3rem .7rem; border:1px solid var(--avr-field-line); border-radius:999px; background:var(--avr-paper); font-size:.84rem; font-weight:650; cursor:pointer; transition:.2s; }
.avr-choice:hover { border-color:var(--avr-accent); transform:translateY(-1px); }
.avr-choice:has(input:checked) { border-color:var(--avr-accent); background:color-mix(in srgb,var(--avr-accent) 9%,var(--avr-paper)); color:var(--avr-accent); }
.avr-choice input { margin:0; accent-color:var(--avr-accent); }
.avr-field-help { margin:.38rem .2rem 0; color:var(--avr-muted); font-size:.74rem; line-height:1.7; }
.avr-field-error { margin:.38rem .2rem 0; color:var(--avr-danger); font-size:.78rem; font-weight:750; }
.avr-cell.has-error .avr-box { border-color:color-mix(in srgb,var(--avr-danger) 68%,var(--avr-field-line)); box-shadow:0 0 0 3px color-mix(in srgb,var(--avr-danger) 7%,transparent); }
.avr-note-block { padding:1rem 1.15rem; border:1px dashed color-mix(in srgb,var(--avr-accent) 28%,var(--avr-field-line)); border-radius:var(--avr-radius-sm); background:color-mix(in srgb,var(--avr-accent) 4%,var(--avr-paper)); color:var(--avr-muted); font-size:.84rem; }

.avr-actions { position:sticky; z-index:3; bottom:.75rem; display:flex; justify-content:center; margin-top:2rem; padding:.75rem; border:1px solid color-mix(in srgb,var(--avr-field-line) 75%,transparent); border-radius:var(--avr-radius); background:color-mix(in srgb,var(--avr-paper) 88%,transparent); box-shadow:0 12px 34px rgba(20,35,65,.12); backdrop-filter:blur(14px); }
.avr-submit,.avr-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.85rem; min-width:11rem; padding:.7rem 1.35rem; border:0; border-radius:.8rem; background:linear-gradient(135deg,var(--avr-accent),color-mix(in srgb,var(--avr-accent) 78%,#171052)); box-shadow:0 9px 20px color-mix(in srgb,var(--avr-accent) 24%,transparent); color:#fff!important; font:inherit; font-size:.88rem; font-weight:850; line-height:1.3; text-decoration:none; cursor:pointer; transition:transform .22s var(--avr-ease),box-shadow .22s,filter .22s; }
.avr-submit::after,.avr-button::after { content:"←"; font-size:1.05rem; transition:transform .2s; }
.avr-submit:hover,.avr-button:hover { filter:saturate(1.12); transform:translateY(-2px); box-shadow:0 13px 28px color-mix(in srgb,var(--avr-accent) 32%,transparent); }
.avr-submit:hover::after,.avr-button:hover::after { transform:translateX(-.18rem); }
.avr-submit:focus-visible,.avr-button:focus-visible { outline:3px solid color-mix(in srgb,var(--avr-accent) 28%,transparent); outline-offset:3px; }
form.is-submitting .avr-submit,form.is-submitting .avr-button,[aria-busy="true"] { opacity:.72; cursor:progress; pointer-events:none; }
form.is-submitting .avr-submit::after,form.is-submitting .avr-button::after { content:""; width:1rem; height:1rem; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:avr-spin .7s linear infinite; }
@keyframes avr-spin { to { transform:rotate(360deg); } }
.avr-profile--guest,.avr-profile--empty { max-width:34rem; min-height:auto; margin:2rem auto; padding:1.5rem; border:1px solid var(--avr-field-line); border-radius:var(--avr-radius); background:var(--avr-paper); text-align:center; box-shadow:var(--avr-shadow-sm); }

/* مدارک */
.avr-doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.avr-doc-card { position:relative; display:flex; flex-direction:column; gap:.65rem; min-width:0; min-height:16rem; padding:1.15rem; overflow:hidden; background:var(--avr-paper); color:var(--avr-ink); border:1px solid var(--avr-field-line); border-radius:var(--avr-radius); box-shadow:var(--avr-shadow-sm); transition:transform .25s var(--avr-ease),box-shadow .25s,border-color .25s; }
.avr-doc-card::after { content:""; position:absolute; inset:0 0 auto; height:.25rem; background:var(--avr-field-line); }
.avr-doc-card:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--avr-accent) 25%,var(--avr-field-line)); box-shadow:0 16px 34px rgba(22,35,64,.1); }
.avr-doc-status-approved::after { background:#22c55e; } .avr-doc-status-pending::after { background:#f59e0b; } .avr-doc-status-rejected::after { background:#ef4444; }
.avr-doc-head { display:flex; align-items:flex-start; justify-content:space-between; gap:.65rem; }
.avr-doc-label { font-size:.94rem; font-weight:900; }
.avr-doc-badge,.avr-order-status { display:inline-flex; align-items:center; gap:.3rem; width:fit-content; padding:.22rem .65rem; border-radius:999px; background:#f1f5f9; color:#64748b; font-size:.69rem; font-weight:850; white-space:nowrap; }
.avr-doc-badge::before { content:""; width:.38rem; height:.38rem; border-radius:50%; background:currentColor; }
.avr-doc-badge-pending,.avr-doc-badge-incomplete,.avr-order-status--pending_payment,.avr-order-status--awaiting_review { background:#fff7ed; color:#b45309; }
.avr-doc-badge-approved,.avr-order-status--paid { background:#ecfdf5; color:#15803d; }
.avr-doc-badge-rejected { background:#fef2f2; color:#dc2626; }
.avr-doc-file { margin:0; padding:.7rem; border-radius:.65rem; background:var(--avr-field); font-size:.8rem; min-width:0; overflow-wrap:anywhere; }
.avr-doc-file a { font-weight:800; overflow-wrap:anywhere; word-break:break-all; } .avr-doc-meta { display:block; margin-top:.2rem; color:var(--avr-muted); font-size:.7rem; }
.avr-doc-form { display:flex; flex-direction:column; gap:.55rem; }
/* هر «اسلات» یک فایل + فرمِ خودش را نگه می‌دارد — برایِ نوعِ تک‌فایلی
   (اکثرِ انواع) همیشه دقیقاً یک اسلات هست، پس همان ظاهرِ همیشگی می‌ماند؛
   فقط آخرین اسلات به کفِ کارت چسبانده می‌شود، نه هر اسلات جدا. */
.avr-doc-slot { display:flex; flex-direction:column; gap:.55rem; min-width:0; }
.avr-doc-slot:last-child { margin-top:auto; }
.avr-doc-input,.avr-ticket-reply-actions input[type="file"],.avr-ticket-new input[type="file"] { width:100%; padding:.55rem; border:1px dashed color-mix(in srgb,var(--avr-accent) 35%,var(--avr-field-line)); border-radius:.65rem; background:color-mix(in srgb,var(--avr-accent) 3%,var(--avr-field)); color:var(--avr-muted); font-size:.75rem; cursor:pointer; }
.avr-doc-input::file-selector-button,.avr-ticket-reply-actions input::file-selector-button,.avr-ticket-new input::file-selector-button { margin-inline-end:.6rem; padding:.4rem .7rem; border:0; border-radius:.5rem; background:var(--avr-paper); color:var(--avr-accent); font:inherit; font-weight:800; cursor:pointer; }
.avr-doc-requirement { margin:0; color:var(--avr-muted); font-size:.7rem; }
.avr-doc-submit { align-self:flex-start; padding:.5rem .85rem; border:1px solid color-mix(in srgb,var(--avr-accent) 30%,var(--avr-field-line)); border-radius:.6rem; background:color-mix(in srgb,var(--avr-accent) 7%,var(--avr-paper)); color:var(--avr-accent); font:inherit; font-size:.76rem; font-weight:850; cursor:pointer; transition:.2s; }
.avr-doc-submit:hover { border-color:var(--avr-accent); background:var(--avr-accent); color:#fff; }

/* مودال تکمیل پروفایل */
.avr-modal[hidden] { display:none; }
.avr-modal { position:fixed; z-index:100000; inset:0; display:grid; place-items:center; padding:clamp(.5rem,3vw,2rem); direction:rtl; }
.avr-modal-backdrop { position:absolute; inset:0; background:rgba(10,18,38,.68); backdrop-filter:blur(9px); animation:avr-fade .25s ease both; }
.avr-modal-panel { position:relative; width:min(72rem,100%); max-height:calc(100vh - 2rem); overflow:auto; border-radius:var(--avr-radius-lg); box-shadow:0 30px 100px rgba(0,0,0,.3); animation:avr-modal-in .42s var(--avr-ease) both; }
.avr-modal-panel .avr-profile { padding:.5rem; min-height:0; background:transparent; overflow:visible; }
.avr-modal-panel .avr-paper { box-shadow:none; }
.avr-modal-close { position:sticky; z-index:5; top:.75rem; float:left; display:grid; place-items:center; width:2.5rem; height:2.5rem; margin:.75rem .75rem -3.25rem; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(255,255,255,.86); color:#1e293b; font-size:1.5rem; line-height:1; cursor:pointer; backdrop-filter:blur(10px); transition:.2s; }
.avr-modal-close:hover { transform:rotate(8deg) scale(1.05); background:#fff; }
@keyframes avr-fade { from { opacity:0; } } @keyframes avr-modal-in { from { opacity:0; transform:translateY(1.5rem) scale(.98); } }

.avr-profile .avr-group,.avr-profile .avr-dash-card,.avr-profile .avr-plan-card,.avr-profile .avr-doc-card { opacity:0; transform:translateY(.75rem); }
.avr-profile .is-visible { opacity:1; transform:none; transition:opacity .5s var(--avr-ease),transform .5s var(--avr-ease); }
@media (max-width:48rem) { .avr-cell.is-third { grid-column:span 3; } .avr-paper { border-radius:1.25rem; } .avr-actions { position:static; } }
@media (max-width:36rem) { .avr-profile { padding-inline:.4rem; } .avr-paper { padding:1.15rem .9rem; border-radius:1rem; } .avr-grid { grid-template-columns:1fr; } .avr-cell.is-third,.avr-cell.is-half,.avr-cell.is-full { grid-column:span 1; } .avr-doc-grid { grid-template-columns:1fr; } .avr-submit,.avr-button { width:100%; min-width:0; } .avr-account { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .avr-profile *,.avr-profile *::before,.avr-profile *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .avr-profile .avr-group,.avr-profile .avr-dash-card,.avr-profile .avr-plan-card,.avr-profile .avr-doc-card { opacity:1; transform:none; } }

/* کنترل‌های نهایی مشترک */
.avr-submit::after,.avr-button::after { display:none!important; }
.avr-submit,.avr-button { min-width:0; padding-inline:1.15rem; box-shadow:0 7px 16px color-mix(in srgb,var(--avr-accent) 18%,transparent); }
.avr-dashboard .avr-submit { width:auto; }

.avr-file-picker { position:relative; display:flex; align-items:center; gap:.65rem; width:100%; min-height:4.2rem; padding:.65rem .75rem; overflow:hidden; border:1px dashed #cdd6e5; border-radius:.75rem; background:#fafbfe; color:#556176; cursor:pointer; transition:border-color .18s,background .18s,transform .18s; }
.avr-file-picker:hover,.avr-file-picker:focus-within { border-color:#2da8f4; background:#f4faff; transform:translateY(-1px); }
.avr-file-picker input[type="file"] { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; margin:0!important; padding:0!important; opacity:0!important; cursor:pointer; }
.avr-file-icon { display:grid; place-items:center; flex:none; width:2.15rem; height:2.15rem; border-radius:.65rem; background:#eaf6ff; color:#249ee9; font-size:1.15rem; }
.avr-file-copy { min-width:0; }
.avr-file-copy strong,.avr-file-copy small { display:block; }
.avr-file-copy strong,.avr-file-label-text { max-width:100%; overflow:hidden; color:#354158; font-size:.72rem; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.avr-file-copy small { margin-top:.12rem; color:#929bad; font-size:.58rem; }
.avr-file-picker.is-compact { width:auto; min-height:2.45rem; padding:.35rem .55rem; border-style:solid; }
.avr-file-picker.is-compact .avr-file-icon { width:1.55rem; height:1.55rem; font-size:.85rem; }

.avr-modal-reminder { width:min(26rem,calc(100% - 1rem)); padding:2rem; overflow:visible; background:#fff; text-align:center; }
.avr-modal-reminder .avr-modal-close { position:absolute; top:.7rem; left:.7rem; float:none; margin:0; }
.avr-modal-reminder-icon { display:grid; place-items:center; width:3.6rem; height:3.6rem; margin:0 auto .9rem; border-radius:1rem; background:#eef6ff; color:#2196ed; font-size:1.5rem; }
.avr-modal-reminder h2 { margin:0 0 .45rem; color:#172033; font-size:1.2rem; }
.avr-modal-reminder p { margin:0 0 1rem; color:#748097; font-size:.78rem; }
.avr-modal-reminder .avr-submit { width:100%; }
