/* Approved public request redesign, isolated from authenticated views. */
:root,
body.theme-spring,
body.theme-summer,
body.theme-autumn,
body.theme-winter {
    --color-primary: #4c2d91;
    --color-primary-container: #f1ecfa;
    --color-on-primary: #ffffff;
    --color-surface: #ffffff;
    --color-surface-container: #f7f8fa;
    --brand-primary-strong: #3d2479;
    --brand-primary-soft: #f1ecfa;
    --brand-teal: #087f8c;
    --brand-teal-soft: #e5f5f5;
    --brand-ink: #182238;
    --brand-muted: #5f6b7a;
    --brand-line: #e3e7ed;
    --brand-canvas: #f7f8fa;
    --brand-shadow: 0 3px 14px rgba(24,34,56,.055);
    --brand-shadow-raised: 0 14px 36px rgba(24,34,56,.12);
    --bg-gradient: #f7f8fa;
    --product-success: #18794e;
    --product-warning: #a36200;
    --product-danger: #b42332;
}

html:not([data-ui-theme="liquid"]) body,
html[data-ui-theme="liquid"] body {
    background: var(--brand-canvas) !important;
    color: var(--brand-ink);
}

body { font-family: Vazirmatn, sans-serif; }


.request-page :is(button,a,input,select,textarea):focus-visible { outline: 3px solid #087f8c !important; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .request-page * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
/* Public request form uses the same brand as authenticated views. */
.request-page { background: var(--brand-canvas) !important; color: var(--brand-ink); }
.request-page main { max-width: 780px; }
.request-page .card { border: 1px solid var(--brand-line) !important; border-radius: 16px !important; box-shadow: var(--brand-shadow) !important; }
.request-page .field { border-color: var(--brand-line) !important; border-radius: 11px !important; min-height: 46px; font-size: 16px; }
.request-page :is(.tab[data-panel="submit"],.tab[data-panel="track"]).bg-green-700,
.request-page :is(#submit-button,#track-form button,#captcha-submit) { background: var(--color-primary) !important; color: #fff !important; }
.request-page :is(.text-green-700,.text-green-800) { color: var(--color-primary) !important; }
.request-page :is(.bg-green-50) { background: var(--color-primary-container) !important; }
.request-page :is(.border-green-100,.border-green-700) { border-color: #d8ccec !important; }
.request-page label { color: var(--brand-ink); }
.request-page .text-xs, .request-page [class*="text-[10px]"] { font-size: 14px !important; }
.request-steps { display: flex; gap: 8px; margin: 0 0 18px; }
.request-step { flex: 1; min-width: 0; padding: 8px 10px; border-radius: 10px; background: #eceff3; color: #637083; font-size: 14px; font-weight: 800; text-align: center; }
.request-step.is-current { background: var(--color-primary-container); color: var(--color-primary); }
.request-flow-actions { display: flex; gap: 10px; margin-top: 14px; }
.request-flow-actions button { min-height: 46px; flex: 1; padding: 9px 14px; border-radius: 11px; font-size: 14px; font-weight: 800; }
.request-flow-back { border: 1px solid var(--brand-line); color: var(--brand-ink); background: #fff; }
.request-flow-next { color: #fff; background: var(--color-primary); }
.request-flow-actions.is-final { justify-content: flex-start; }
.request-flow-actions.is-final button { flex: 0 0 auto; }
