/* ==========================================================================
   پوسته‌ی «محاب» برای همه‌ی بخش‌ها (سایت، پنل مراجع، پنل مدیریت، ورود/ثبت‌نام)
   فقط زیر [data-palette="mahab"] فعال است تا پوسته‌های دیگر دست‌نخورده بمانند.
   سبک قالب تأییدشده: گوشه‌های کم‌انحنا و رسمی، سرمه‌ای تیره + طلایی، آیکن‌های طلایی روی زمینه‌ی سرمه‌ای.
   ========================================================================== */
[data-palette="mahab"] {
    --radius-sm: 6px; --radius: 8px; --radius-lg: 10px; --radius-xl: 12px;
    --mk-gold: #f9be17; --mk-gold-d: #a77b00; --mk-deep: #04171a; --mk-deep-2: #0a2328;
    --shadow-sm: 0 1px 2px rgba(4, 23, 26, .05), 0 6px 18px -10px rgba(4, 23, 26, .18);
    --shadow: 0 2px 6px rgba(4, 23, 26, .05), 0 18px 40px -20px rgba(4, 23, 26, .28);
    --shadow-glow: 0 16px 34px -16px rgba(4, 23, 26, .6);
}
[data-palette="mahab"][data-theme="dark"] { --mk-gold-d: #f9be17; }

/* ---------- tones → navy / teal / gold / bronze family ---------- */
[data-palette="mahab"] .tone-teal { --tone: #0f4c52; --tone-grad: linear-gradient(135deg, #04171a, #0f4c52); --tone-soft: #e4eeed; }
[data-palette="mahab"] .tone-lavender { --tone: #1d6b70; --tone-grad: linear-gradient(135deg, #0f4c52, #2b8a8f); --tone-soft: #e2f0ef; }
[data-palette="mahab"] .tone-peach { --tone: #d99a00; --tone-grad: linear-gradient(135deg, #f9be17, #ffd65a); --tone-soft: #fff5d6; }
[data-palette="mahab"] .tone-gold { --tone: #c99510; --tone-grad: linear-gradient(135deg, #e9a90a, #f9be17); --tone-soft: #fff6dc; }
[data-palette="mahab"] .tone-sky { --tone: #2c6e7a; --tone-grad: linear-gradient(135deg, #0a2328, #2c6e7a); --tone-soft: #e3eef0; }
[data-palette="mahab"] .tone-rose { --tone: #a5672a; --tone-grad: linear-gradient(135deg, #8a5420, #c98a3e); --tone-soft: #f6ebdf; }
[data-palette="mahab"][data-theme="dark"] [class*="tone-"] { --tone-soft: color-mix(in srgb, var(--tone) 18%, transparent); }

/* ---------- buttons ---------- */
[data-palette="mahab"] .btn { border-radius: 6px; font-weight: 800; }
[data-palette="mahab"] .btn-icon { border-radius: 50%; }
[data-palette="mahab"] .btn:is(.btn-primary, .btn-warm, .btn-dream, .btn-deep)::after { display: none; }
[data-palette="mahab"] .btn-primary, [data-palette="mahab"] .btn-deep, [data-palette="mahab"] .btn-dream { background: var(--mk-deep); color: #fff; box-shadow: 0 14px 30px -18px rgba(4,23,26,.8); }
[data-palette="mahab"] .btn-primary:hover, [data-palette="mahab"] .btn-deep:hover, [data-palette="mahab"] .btn-dream:hover { background: var(--mk-gold); color: var(--mk-deep); box-shadow: 0 14px 30px -14px rgba(249,190,23,.8); }
[data-palette="mahab"] .btn-warm { background: var(--mk-gold); }
[data-palette="mahab"] .btn-warm:hover { background: var(--mk-deep); color: #fff; }
[data-palette="mahab"] .btn-outline { border-color: var(--line-2); }
[data-palette="mahab"] .btn-outline:hover { border-color: var(--mk-gold); color: var(--ink); background: var(--gold-soft); }
[data-palette="mahab"][data-theme="dark"] .btn-primary, [data-palette="mahab"][data-theme="dark"] .btn-deep { background: #12343a; }

/* ---------- forms ---------- */
[data-palette="mahab"] :is(.input, .select, .textarea) { border-radius: 6px; }
[data-palette="mahab"] :is(.input, .select, .textarea):focus { border-color: var(--mk-gold); box-shadow: 0 0 0 4px rgba(249,190,23,.18); }
[data-palette="mahab"] .input-lg { border-radius: 6px; }
[data-palette="mahab"] .toggle input:checked + .track { background: var(--mk-deep); }
[data-palette="mahab"] .toggle input:checked + .track::after { background: var(--mk-gold); }
[data-palette="mahab"] .check input:checked, [data-palette="mahab"] input[type="checkbox"], [data-palette="mahab"] input[type="radio"] { accent-color: var(--mk-deep); }
[data-palette="mahab"] .check-chip input:checked + span { background: var(--mk-deep); color: #fff; border-color: var(--mk-deep); }
[data-palette="mahab"] .otp-inputs input { border-radius: 6px; }
[data-palette="mahab"] .otp-inputs input:focus { border-color: var(--mk-gold); box-shadow: 0 0 0 4px rgba(249,190,23,.18); }

/* ---------- cards, badges, misc ---------- */
[data-palette="mahab"] .card { border-radius: 10px; }
[data-palette="mahab"] .card-head h2, [data-palette="mahab"] .card-head h3 { font-family: var(--font-head); }
[data-palette="mahab"] .badge, [data-palette="mahab"] .chip { border-radius: 4px; }
[data-palette="mahab"] .alert, [data-palette="mahab"] .toast, [data-palette="mahab"] .acc-item, [data-palette="mahab"] .summary-card, [data-palette="mahab"] .pick .pick-box,
[data-palette="mahab"] .day-btn, [data-palette="mahab"] .slot-btn span, [data-palette="mahab"] .jdp, [data-palette="mahab"] .modal-box, [data-palette="mahab"] .summary-total,
[data-palette="mahab"] .pagination a, [data-palette="mahab"] .pagination span, [data-palette="mahab"] .wizard-steps .ws, [data-palette="mahab"] .prose blockquote { border-radius: 8px; }
[data-palette="mahab"] .pagination .is-active, [data-palette="mahab"] .pagination [aria-current] { background: var(--mk-deep); color: var(--mk-gold); }
[data-palette="mahab"] .avatar { background: var(--mk-deep); color: var(--mk-gold); }
[data-palette="mahab"] .empty .empty-icon { border-radius: 50%; background: var(--gold-soft); color: var(--mk-gold-d); }
[data-palette="mahab"] .meter > span { background: linear-gradient(90deg, var(--mk-gold), #ffd65a); }
[data-palette="mahab"] .pick input:checked + .pick-box, [data-palette="mahab"] .day-btn.is-active, [data-palette="mahab"] .day-btn[aria-pressed="true"] { border-color: var(--mk-gold); box-shadow: 0 0 0 3px rgba(249,190,23,.2); }
[data-palette="mahab"] .pick .pick-check { background: var(--mk-gold); color: var(--mk-deep); }
[data-palette="mahab"] .slot-btn input:checked + span { background: var(--mk-deep); color: #fff; border-color: var(--mk-deep); }
[data-palette="mahab"] .wizard-steps .ws.is-active i, [data-palette="mahab"] .wizard-steps .ws.is-done i { background: var(--mk-gold); color: var(--mk-deep); }
[data-palette="mahab"] .q-option input:checked + span { background: var(--mk-deep); box-shadow: 0 14px 30px -18px rgba(4,23,26,.8); }
[data-palette="mahab"] .acc-item summary .acc-ico { border-radius: 4px; background: var(--gold-soft); color: var(--mk-gold-d); }
[data-palette="mahab"] .acc-item[open] { border-color: var(--mk-gold); }
[data-palette="mahab"] .text-gradient { background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important; color: var(--mk-gold) !important; }
[data-palette="mahab"] .prose a { color: var(--mk-gold-d); }
[data-palette="mahab"] .prose blockquote { background: var(--gold-soft); border-color: var(--mk-gold); }
[data-palette="mahab"] .prose h2::after { background: var(--mk-gold); }

/* ==========================================================================
   Panels (admin + patient)
   ========================================================================== */
[data-palette="mahab"] body.panel-body::before { display: none; }
[data-palette="mahab"] .side { background: var(--mk-deep); border-inline-start: 0; }
[data-palette="mahab"] .side::before { background: radial-gradient(380px 260px at 100% 0%, rgba(249,190,23,.08), transparent 60%), radial-gradient(300px 300px at 0% 100%, rgba(29,107,112,.35), transparent 60%); }
[data-palette="mahab"] .side::after { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, var(--mk-gold), rgba(249,190,23,0) 60%); pointer-events: none; }
[data-palette="mahab"] .side .brand { border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 8px; }
[data-palette="mahab"] .side-user { border-radius: 8px; background: rgba(255,255,255,.05); }
[data-palette="mahab"] .side-group { color: var(--mk-gold); opacity: .8; }
[data-palette="mahab"] .side-link { border-radius: 6px; }
[data-palette="mahab"] .side-link:hover { background: rgba(255,255,255,.06); color: var(--mk-gold); }
[data-palette="mahab"] .side-link.is-active { background: var(--mk-gold); color: var(--mk-deep); box-shadow: 0 10px 24px -14px rgba(249,190,23,.9); }
[data-palette="mahab"] .side-link.is-active .icon { color: var(--mk-deep); }
[data-palette="mahab"] .side-link.is-active::before { display: none; }
[data-palette="mahab"] .side-link .count { background: var(--mk-gold); color: var(--mk-deep); }
[data-palette="mahab"] .side-link.is-active .count { background: var(--mk-deep); color: var(--mk-gold); }
[data-palette="mahab"] .side-cta { border-radius: 8px; background: rgba(249,190,23,.08); border-color: rgba(249,190,23,.25); }
[data-palette="mahab"] .topbar { background: color-mix(in srgb, var(--surface) 92%, transparent); border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 rgba(249,190,23,.35); }
[data-palette="mahab"] .topbar .t-search .input { border-radius: 6px; }
[data-palette="mahab"] .t-btn { border-radius: 6px; }
[data-palette="mahab"] .t-btn:hover { color: var(--mk-gold-d); border-color: var(--mk-gold); }
[data-palette="mahab"] .t-btn .pip { background: var(--mk-gold); }
[data-palette="mahab"] .page-head h1 { font-family: var(--font-head); }
[data-palette="mahab"] .page-head h1 .ph-ico { border-radius: 8px; background: var(--mk-deep); color: var(--mk-gold); box-shadow: 0 12px 24px -14px rgba(4,23,26,.8); }
[data-palette="mahab"] .page-head .crumbs-p a:hover { color: var(--mk-gold-d); }

/* welcome card: navy with gold diagonal stripes (like the site hero) */
[data-palette="mahab"] .welcome { border-radius: 10px; background: var(--mk-deep); }
[data-palette="mahab"] .welcome::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--mk-gold); clip-path: polygon(0 0, 9% 0, 4% 100%, 0 100%); }
[data-palette="mahab"] .welcome::after { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.05); clip-path: polygon(11% 0, 12.5% 0, 7.5% 100%, 6% 100%); }
[data-palette="mahab"] .welcome .orb { display: none; }
[data-palette="mahab"] .welcome .badge { background: var(--mk-gold) !important; color: var(--mk-deep) !important; }
[data-palette="mahab"] .welcome .btn-white, [data-palette="mahab"] .welcome .btn:not(.btn-warm) { border-radius: 6px; }
[data-palette="mahab"] .welcome-art { left: 13%; }
[dir="ltr"][data-palette="mahab"] .welcome::before { clip-path: polygon(91% 0, 100% 0, 100% 100%, 96% 100%); }
[dir="ltr"][data-palette="mahab"] .welcome::after { clip-path: polygon(87.5% 0, 89% 0, 94% 100%, 92.5% 100%); }
[dir="ltr"][data-palette="mahab"] .welcome-art { left: auto; right: 13%; }

/* KPI tiles: white card, navy icon square with gold icon, gold bottom line on hover */
[data-palette="mahab"] .kpi { border-radius: 10px; border: 0; border-top: 3px solid transparent; box-shadow: 0 16px 40px -30px rgba(4,23,26,.6); }
[data-palette="mahab"] .kpi::after { width: 90px; height: 90px; left: -30px; bottom: -40px; opacity: .7; }
[data-palette="mahab"] a.kpi:hover, [data-palette="mahab"] .kpi:hover { border-top-color: var(--mk-gold); }
[data-palette="mahab"] .kpi .k-ico { border-radius: 8px; background: var(--mk-deep); color: var(--mk-gold); box-shadow: 0 12px 22px -14px rgba(4,23,26,.8); }
[data-palette="mahab"] .kpi:nth-child(4n+2) .k-ico { background: var(--mk-gold); color: var(--mk-deep); }
[data-palette="mahab"] .kpi .k-val { font-family: var(--font); }
[data-palette="mahab"] .li-ico { border-radius: 8px; background: var(--gold-soft); color: var(--mk-gold-d); }
[data-palette="mahab"] .date-box { border-radius: 6px; background: var(--mk-deep); }
[data-palette="mahab"] .date-box b { color: var(--mk-gold); }
[data-palette="mahab"] .date-box small { color: rgba(255,255,255,.7); }
[data-palette="mahab"] .tabs-line a.is-active, [data-palette="mahab"] .tabs-line button.is-active { color: var(--ink); border-color: var(--mk-gold); }
[data-palette="mahab"] .pills { border-radius: 8px; }
[data-palette="mahab"] .pills > * { border-radius: 6px; }
[data-palette="mahab"] .pills .is-active, [data-palette="mahab"] .pills [aria-pressed="true"] { background: var(--mk-deep); color: var(--mk-gold); }
[data-palette="mahab"] .cal, [data-palette="mahab"] .week-col, [data-palette="mahab"] .builder-row, [data-palette="mahab"] .player, [data-palette="mahab"] .bank-card, [data-palette="mahab"] .img-field img { border-radius: 8px; }
[data-palette="mahab"] .cal-day.is-today { box-shadow: inset 0 0 0 2px var(--mk-gold); }
[data-palette="mahab"] .bubble { border-radius: 12px 12px 12px 4px; }
[data-palette="mahab"] .bubble.mine { background: var(--mk-deep); color: #fff; border-radius: 12px 12px 4px 12px; }
[data-palette="mahab"] .bank-card { background: linear-gradient(135deg, #04171a, #0f3a40); }
[data-palette="mahab"] .table thead th { background: var(--surface-2); color: var(--ink-2); font-family: var(--font-head); }
[data-palette="mahab"] .table tbody tr:hover { background: var(--gold-soft); }

/* ==========================================================================
   Login / register (auth)
   ========================================================================== */
[data-palette="mahab"] .auth-art { background: var(--mk-deep); }
[data-palette="mahab"] .auth-art img.auth-photo { opacity: .5; }
[data-palette="mahab"] .auth-art::after { background: linear-gradient(180deg, rgba(4,23,26,.25), rgba(4,23,26,.95)); }
[data-palette="mahab"] .auth-art::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--mk-gold); clip-path: polygon(78% 0, 83% 0, 63% 100%, 58% 100%); opacity: .95; }
[data-palette="mahab"] .auth-art .au-stripe { position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.07); clip-path: polygon(86% 0, 87% 0, 67% 100%, 66% 100%); }
[data-palette="mahab"] .auth-art h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.35; }
[data-palette="mahab"] .auth-art h2 span { display: block; color: var(--mk-gold); }
[data-palette="mahab"] .auth-art .au-sub { position: relative; display: inline-block; padding-bottom: 6px; margin-bottom: 18px; font-weight: 800; color: #fff; }
[data-palette="mahab"] .auth-art .au-sub::after { content: ''; position: absolute; inset-inline: 0; bottom: 0; height: 2px; background: var(--mk-gold); }
[data-palette="mahab"] .auth-art .au-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
[data-palette="mahab"] .auth-art .au-chips span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 4px; font-size: .8rem; font-weight: 700; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: #fff; }
[data-palette="mahab"] .auth-art .au-chips .icon { color: var(--mk-gold); }
[data-palette="mahab"] .auth-art .au-contact { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 22px; font-size: .86rem; color: rgba(255,255,255,.75); }
[data-palette="mahab"] .auth-art .au-contact .icon { color: var(--mk-gold); }
[data-palette="mahab"] .auth-main { background: var(--bg); position: relative; }
[data-palette="mahab"] .auth-card { position: relative; padding: 34px 32px; border-radius: 10px; background: var(--surface); border-top: 4px solid var(--mk-gold); box-shadow: 0 30px 70px -40px rgba(4,23,26,.55); width: min(480px, 100%); }
[data-palette="mahab"] .auth-card h1 { font-family: var(--font-head); }
[data-palette="mahab"] .auth-card .eyebrow { color: var(--mk-gold-d); }
[data-palette="mahab"] .auth-card .tabs-line, [data-palette="mahab"] .auth-card .pills { border-radius: 8px; }
[data-palette="mahab"] .auth-mobile-head { display: none; }
@media (max-width: 900px) {
    [data-palette="mahab"] .auth-main { padding: 0 0 30px; place-items: start center; }
    [data-palette="mahab"] .auth-mobile-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 16px 18px 70px; background: var(--mk-deep); position: relative; overflow: hidden; isolation: isolate; }
    [data-palette="mahab"] .auth-mobile-head::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--mk-gold); clip-path: polygon(0 0, 14% 0, 6% 100%, 0 100%); }
    [data-palette="mahab"] .auth-mobile-head .brand-text b { color: #fff; }
    [data-palette="mahab"] .auth-mobile-head .brand-text small { color: rgba(255,255,255,.6); }
    [data-palette="mahab"] .auth-card { margin: -54px 14px 0; width: auto; padding: 26px 20px; }
    [data-palette="mahab"] .auth-main { display: block; }
}

/* active states in gold (settings menu, mood picker, lessons) */
[data-palette="mahab"] .set-nav a { border-radius: 6px; }
[data-palette="mahab"] .set-nav a.is-active { background: var(--gold-soft); color: var(--ink); }
[data-palette="mahab"] .set-nav .set-ico { border-radius: 6px; }
[data-palette="mahab"] .set-nav a.is-active .set-ico { background: var(--mk-deep); color: var(--mk-gold); box-shadow: none; }
[data-palette="mahab"] .mood-scale span { border-radius: 8px; }
[data-palette="mahab"] .mood-scale input:checked + span { border-color: var(--mk-gold); background: var(--gold-soft); }
[data-palette="mahab"] .lesson-list a { border-radius: 6px; }
[data-palette="mahab"] .lesson-list a.is-active { background: var(--gold-soft); color: var(--ink); box-shadow: inset -3px 0 0 var(--mk-gold); }
[data-palette="mahab"] .appt-pill, [data-palette="mahab"] .slot-chip { border-radius: 4px; }
[data-palette="mahab"] a.list-item:hover { background: var(--gold-soft); }
[data-palette="mahab"] .topbar .t-btn, [data-palette="mahab"] .topbar .side-toggle { flex: none; }
@media (max-width: 560px) {
    [data-palette="mahab"] .topbar { gap: 8px; padding: 10px 12px; }
    [data-palette="mahab"] .topbar .t-actions { gap: 4px; }
    [data-palette="mahab"] .topbar .t-btn { width: 38px; height: 38px; }
    [data-palette="mahab"] .topbar .t-lbl { display: none; }
    [data-palette="mahab"] .topbar .btn-soft { padding: 0 10px; min-height: 38px; }
}
