:root{
  --ds-primary:#0f766e;--ds-primary-hover:#0b5f59;--ds-primary-soft:#e8f7f5;
  --ds-bg:#f4f7fb;--ds-surface:#fff;--ds-surface-alt:#f8fafc;--ds-border:#dbe4ef;
  --ds-text:#142033;--ds-muted:#64748b;--ds-danger:#b42318;--ds-danger-soft:#fff0ee;
  --ds-success:#087a55;--ds-success-soft:#e9fbf3;--ds-warning:#9a6700;--ds-warning-soft:#fff8db;
  --ds-radius-sm:10px;--ds-radius-md:16px;--ds-radius-lg:24px;
  --ds-shadow:0 12px 32px rgba(15,23,42,.08);--ds-content-max:1540px;
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;--ds-space-8:32px;
  --ds-control-h:46px;--ds-transition:160ms ease;
}
*{box-sizing:border-box}.page-content{width:100%;max-width:var(--ds-content-max);margin-inline:auto;padding:var(--ds-space-6)}
.panel,.ds-card{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow)}
.panel{padding:var(--ds-space-6)}.panel-head,.ds-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);margin-bottom:var(--ds-space-5)}
.ds-page-header h1,.users-heading h1{margin:0;color:var(--ds-text);font-size:clamp(1.45rem,2.4vw,2rem)}
.ds-page-header p,.users-heading p,.panel-head p{color:var(--ds-muted);margin:.35rem 0 0}
.button,button,input,select,textarea{font:inherit}.button,button{min-height:42px;border-radius:var(--ds-radius-sm);transition:all var(--ds-transition)}
.button.primary,button.primary{background:var(--ds-primary);color:#fff;border-color:var(--ds-primary)}.button.primary:hover,button.primary:hover{background:var(--ds-primary-hover)}
.button.secondary,button.secondary{background:var(--ds-surface-alt);color:var(--ds-text);border:1px solid var(--ds-border)}
.button.danger,button.danger,.ghost-danger{color:var(--ds-danger);background:var(--ds-danger-soft);border:1px solid #ffc9c3}
label{color:var(--ds-text);font-weight:600}input,select,textarea{width:100%;min-height:var(--ds-control-h);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:#fff;color:var(--ds-text);padding:10px 13px;outline:none;transition:border-color var(--ds-transition),box-shadow var(--ds-transition)}
textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ds-primary);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
input.is-invalid{border-color:var(--ds-danger);box-shadow:0 0 0 3px rgba(180,35,24,.1)}
.field-error{display:block;color:var(--ds-danger);font-size:.78rem;margin-top:5px;font-weight:500}.date-field{position:relative}.date-field input{padding-left:42px}.date-field::after{content:'⌗';position:absolute;left:14px;bottom:13px;color:var(--ds-muted);pointer-events:none}
.flash{border-radius:var(--ds-radius-md);padding:13px 16px;margin-bottom:var(--ds-space-4)}.flash.success{background:var(--ds-success-soft);color:var(--ds-success)}.flash.danger{background:var(--ds-danger-soft);color:var(--ds-danger)}
.status-chip,.ds-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:.78rem;font-weight:700}
.table-wrap{overflow:auto;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md)}table{width:100%;border-collapse:collapse}th{background:var(--ds-surface-alt);color:var(--ds-muted);font-size:.82rem}th,td{padding:13px 14px;border-bottom:1px solid var(--ds-border);text-align:right}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{margin:0}
.empty-state{border:1px dashed #cbd5e1;border-radius:var(--ds-radius-md);padding:30px;text-align:center;color:var(--ds-muted);background:var(--ds-surface-alt)}
.form-grid,.owner-form-grid,.user-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-4)}.wide{grid-column:1/-1}
@media(max-width:760px){.page-content{padding:14px}.panel{padding:16px;border-radius:18px}.panel-head,.ds-page-header,.users-heading{align-items:stretch;flex-direction:column}.form-grid,.owner-form-grid,.user-fields{grid-template-columns:1fr}.wide{grid-column:auto}.button,button{min-height:44px}.table-wrap.mobile-cards{border:0;overflow:visible}.table-wrap.mobile-cards table,.table-wrap.mobile-cards tbody{display:block}.table-wrap.mobile-cards thead{display:none}.table-wrap.mobile-cards tr{display:block;background:#fff;border:1px solid var(--ds-border);border-radius:16px;padding:10px 14px;margin-bottom:12px;box-shadow:0 5px 18px rgba(15,23,42,.05)}.table-wrap.mobile-cards td{display:flex;justify-content:space-between;gap:16px;border:0;padding:8px 0;text-align:left}.table-wrap.mobile-cards td::before{content:attr(data-label);font-weight:700;color:var(--ds-muted);text-align:right}.table-wrap.mobile-cards td.actions{justify-content:flex-start;padding-top:12px;border-top:1px solid var(--ds-border)}.table-wrap.mobile-cards td.actions::before{display:none}.actions .button,.actions button{flex:1}}
.login-type-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}.login-type-switch label{position:relative}.login-type-switch input{position:absolute;opacity:0;pointer-events:none}.login-type-switch span{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-surface-alt);cursor:pointer}.login-type-switch input:checked+span{background:var(--ds-primary-soft);border-color:var(--ds-primary);color:var(--ds-primary);box-shadow:0 0 0 3px rgba(15,118,110,.08)}
.rate-summary{background:linear-gradient(135deg,var(--ds-primary-soft),#fff);border:1px solid #bce7e1;border-radius:16px;padding:16px;margin-bottom:18px}.rate-summary div{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.rate-summary span{font-weight:800;color:var(--ds-primary);margin-left:auto}.rate-summary b{background:#fff;border:1px solid var(--ds-border);padding:8px 12px;border-radius:10px}
.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-card{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--ds-text);background:#fff;border:1px solid var(--ds-border);border-radius:20px;padding:20px;box-shadow:var(--ds-shadow);transition:.18s}.account-card:hover{transform:translateY(-2px);border-color:#9fd6cf}.account-main{flex:1}.account-main h3{margin:0 0 5px}.account-main p{margin:0 0 14px;color:var(--ds-muted)}.account-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.account-metrics span{background:var(--ds-surface-alt);padding:9px;border-radius:10px;font-size:.8rem}.account-metrics b{display:block;margin-top:4px}.account-metrics .debt{background:var(--ds-danger-soft);color:var(--ds-danger)}.account-metrics .credit{background:var(--ds-success-soft);color:var(--ds-success)}.charge-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.login-type-switch{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.account-metrics{grid-template-columns:1fr}.charge-stats{grid-template-columns:1fr}.rate-summary div{display:grid}.rate-summary span{margin-left:0}}

/* ورودی استاندارد تاریخ شمسی */
.jalali-date-input{direction:ltr!important;text-align:left!important;unicode-bidi:plaintext;font-variant-numeric:tabular-nums;letter-spacing:.04em;font-family:inherit}
select.is-invalid,textarea.is-invalid{border-color:var(--ds-danger);box-shadow:0 0 0 3px rgba(180,35,24,.1)}

/* کامپوننت مرکزی تاریخ شمسی؛ کمبوی جست‌وجودار سراسری */
.jalali-date-value{display:none!important}
.jalali-combo{display:grid;grid-template-columns:92px 154px 72px;gap:7px;direction:ltr;width:max-content;max-width:100%;align-items:center}
.jalali-search-combo{position:relative;min-width:0}
.jalali-search-combo input{width:100%;margin:0;min-width:0;text-align:center;padding:8px 9px;background:#fff;direction:rtl;font-variant-numeric:tabular-nums}
.jalali-search-combo input.is-complete{border-color:var(--ds-primary);box-shadow:0 0 0 3px rgba(15,118,110,.10)}
.jalali-search-combo input::placeholder{color:#94a3b8}
.jalali-year-wrap{width:92px}.jalali-month-wrap{width:154px}.jalali-day-wrap{width:72px}
.jalali-month{font-size:.9rem}
.jalali-combo.is-invalid input{border-color:var(--ds-danger);box-shadow:0 0 0 3px rgba(180,35,24,.1)}
.jalali-combo input:focus{position:relative;z-index:2}
.date-field::after{display:none!important}
.date-field .jalali-combo{margin-top:0}
/* هر ورودی دارای data-jalali-date در هر صفحه، خودکار همین استاندارد را می‌گیرد. */
@media(max-width:520px){
  .jalali-combo{grid-template-columns:minmax(78px,.8fr) minmax(132px,1.35fr) minmax(64px,.65fr);width:100%;gap:5px}
  .jalali-year-wrap,.jalali-month-wrap,.jalali-day-wrap{width:auto}
  .jalali-search-combo input{padding-inline:5px;font-size:.86rem}
}

/* تایپوگرافی مرکزی ShareHome */
html,body,button,input,select,textarea,.button{
  font-family:"Yekan","B Yekan","IRYekan",Tahoma,"Segoe UI",Arial,sans-serif!important;
}
h1,h2,h3,h4,h5,h6,.topbar-title b,.panel-head h2,.section-title b,.page-heading h1,.hero-panel h1,.auth-card h2,.showcase-content h1{
  font-family:"Titr","B Titr","IR Titr",Tahoma,"Segoe UI",Arial,sans-serif!important;
  font-weight:700;
}

/* Opening balance for special turns */
.opening-entry-card{border:1px solid var(--border,#d9e2ec);border-radius:16px;padding:14px 16px;background:rgba(15,118,110,.04)}
.switch-row{display:flex!important;align-items:flex-start;gap:12px;cursor:pointer;margin:0!important}
.switch-row input{width:20px;height:20px;margin-top:2px;accent-color:#0f766e;flex:0 0 auto}
.switch-row span{display:flex;flex-direction:column;gap:4px}.switch-row b{font-size:15px}.switch-row small{color:var(--muted,#64748b);line-height:1.8}
.opening-special-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--border,#d9e2ec)}
.opening-special-fields[hidden]{display:none!important}.field-help{grid-column:1/-1;margin:0}.danger-text{color:#b42318}
.transfer-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transfer-form select{min-width:170px}
@media(max-width:760px){.opening-special-fields{grid-template-columns:1fr}.transfer-form{align-items:stretch}.transfer-form select,.transfer-form button{width:100%}}

/* Period exchange market */
.exchange-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.exchange-help-grid>div{padding:16px;border:1px solid var(--border,#dbe3e6);border-radius:16px;background:var(--surface-soft,#f8fafc);display:flex;flex-direction:column;gap:6px}
.exchange-help-grid b{font-family:var(--font-title,"Titr",sans-serif);font-size:1.05rem}
.exchange-help-grid span{color:var(--muted,#64748b);line-height:1.9}
.exchange-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.exchange-card-top small{font-weight:700;color:var(--muted,#64748b)}
.exchange-note{padding:10px 12px;border-radius:12px;background:#f1f5f9;margin:10px 0;line-height:1.8}
.exchange-owner-state{padding:10px 12px;border-radius:12px;background:#ecfeff;color:#155e75;font-weight:700;margin:10px 0}
.request-list{display:grid;gap:14px}
.request-card{border:1px solid var(--border,#dbe3e6);border-radius:18px;padding:16px;background:#fff;display:grid;gap:12px}
.request-card>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.request-card>div:first-child span{color:var(--muted,#64748b)}
.request-card small{display:block;color:var(--muted,#64748b)}
.swap-preview{padding:12px;border-radius:14px;background:#f8fafc;display:grid;gap:4px}
.inline-actions{display:flex;flex-wrap:wrap;gap:10px}.inline-actions form{margin:0}
.status-chip{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;font-weight:700;background:#f1f5f9}.status-chip.pending{background:#fff7ed;color:#9a3412}.status-chip.approved{background:#ecfdf5;color:#166534}.status-chip.rejected,.status-chip.cancelled{background:#fef2f2;color:#991b1b}
.button-danger{background:#b91c1c!important}.button-secondary{background:#475569!important}
@media(max-width:760px){.exchange-help-grid{grid-template-columns:1fr}.inline-actions,.inline-actions form,.inline-actions button{width:100%}}


/* Global font size boost */
html{font-size:18px;}
body{font-size:1.125rem;}
input,select,textarea,button,.btn,.form-control,.form-select{font-size:1.125rem!important;}
label,.card,.table,small,.small{font-size:1.05rem!important;}
h1{font-size:3rem!important;}
h2{font-size:2.5rem!important;}
h3{font-size:2.1rem!important;}
h4{font-size:1.8rem!important;}
h5{font-size:1.55rem!important;}
h6{font-size:1.35rem!important;}
.nav-link,.sidebar a,.menu-item,.stat-value,.stat-title,.page-title,.section-title{font-size:1.2rem!important;}

/* ShareHome v32: increase all secondary/caption text by roughly two visual sizes */
:root{
  --ds-caption-size:13px;
  --ds-small-size:14px;
  --ds-secondary-size:15px;
}

/* Global secondary copy, hints and captions */
small,
.form-hint,
.field-help,
.field-error,
.topbar-title small,
.brand span,
.user-panel small,
.nav-caption,
.stat-card span,
.stat-card small,
.panel-head p,
.panel-head > a,
.owner-name small,
.progress-meta,
.donut span,
.legend p,
.period-type,
.period-card p,
.form-grid label,
.auth-form label,
.form-divider,
.section-title span,
.account-existing span,
.account-existing small,
.owner-profile-stats span,
.info-grid span,
.user-stat span,
.user-stat small,
.user-role-row span,
.user-meta-grid span,
.user-modal-card > header p,
.role-card small,
.permission-group > label,
.permission-toolbar span,
.group-toggle,
.wizard-progress,
.eyebrow{
  font-size:var(--ds-caption-size)!important;
  line-height:1.75;
}

/* Slightly more important secondary values */
.user-panel b,
.role-badge,
.button,
.status-chip,
.ds-badge,
.user-role-row b,
.user-meta-grid b,
.info-grid b,
.account-metrics span,
th,
.field-error{
  font-size:var(--ds-small-size)!important;
}

/* Descriptions under page and section titles */
.ds-page-header p,
.users-heading p,
.page-heading p,
.hero-panel p,
.owner-profile-id p,
.manager-note,
.account-main p{
  font-size:var(--ds-secondary-size)!important;
  line-height:1.9;
}

/* Preserve comfortable size on mobile instead of shrinking captions again */
@media(max-width:640px){
  .status-chip,
  .ds-badge,
  .jalali-search-combo input{
    font-size:var(--ds-small-size)!important;
  }
}

/* ShareHome v33: balanced headings, modern login and global waiting overlay */
:root{
  --ds-heading-1:2.35rem;
  --ds-heading-2:1.95rem;
  --ds-heading-3:1.65rem;
  --ds-heading-4:1.4rem;
  --ds-heading-5:1.22rem;
  --ds-heading-6:1.1rem;
}
h1{font-size:var(--ds-heading-1)!important;line-height:1.45}
h2{font-size:var(--ds-heading-2)!important;line-height:1.5}
h3{font-size:var(--ds-heading-3)!important;line-height:1.55}
h4{font-size:var(--ds-heading-4)!important;line-height:1.6}
h5{font-size:var(--ds-heading-5)!important;line-height:1.65}
h6{font-size:var(--ds-heading-6)!important;line-height:1.7}
.showcase-content h1{font-size:clamp(2rem,3.2vw,3.05rem)!important;line-height:1.55}
.auth-card h2{font-size:clamp(1.75rem,2.2vw,2.15rem)!important}
.hero-panel h1,.page-heading h1,.users-heading h1,.ds-page-header h1{font-size:clamp(1.85rem,2.7vw,2.45rem)!important}
.panel-head h2{font-size:1.55rem!important}

/* Modern login */
.auth-page{background:linear-gradient(135deg,#f8fbfc 0%,#eef7f6 100%);min-height:100svh}
.auth-showcase{background:
  radial-gradient(circle at 18% 22%,rgba(45,212,191,.19),transparent 27%),
  radial-gradient(circle at 82% 82%,rgba(255,255,255,.08),transparent 32%),
  linear-gradient(145deg,#082f34 0%,#075e58 48%,#0f766e 100%);padding:clamp(42px,6vw,88px)}
.auth-showcase:before{width:520px;height:520px;border-color:rgba(255,255,255,.11)}
.auth-showcase:after{width:300px;height:300px;border-color:rgba(255,255,255,.1)}
.showcase-content{max-width:640px}
.showcase-content .brand-mark.jumbo{width:72px;height:72px;border-radius:22px;font-size:1.35rem;box-shadow:0 20px 50px rgba(45,212,191,.28)}
.showcase-content p{font-size:1.05rem!important;line-height:2;max-width:590px}
.feature-pills{gap:12px}.feature-pills span{padding:11px 15px;font-size:.9rem!important;background:rgba(255,255,255,.09);backdrop-filter:blur(7px)}
.auth-form-wrap{padding:clamp(24px,5vw,64px);position:relative}
.auth-card{width:min(470px,100%);background:rgba(255,255,255,.94);border:1px solid rgba(203,213,225,.72);border-radius:28px;padding:clamp(25px,3.5vw,42px);box-shadow:0 26px 80px rgba(15,23,42,.13);backdrop-filter:blur(14px)}
.auth-card>p{font-size:1rem!important;margin-bottom:0}.auth-form{margin-top:28px;gap:18px}
.login-type-switch{background:#f1f5f9;padding:5px;border-radius:15px;gap:5px}
.login-type-switch span{border:0;background:transparent;min-height:50px;border-radius:11px;font-weight:800}
.login-type-switch input:checked+span{background:#fff;border:1px solid #99d8d2;box-shadow:0 7px 20px rgba(15,118,110,.12)}
.auth-form label{font-size:.95rem!important;gap:9px}
.input-icon input{height:54px;border-radius:14px;background:#f8fafc;border-color:#dbe5ec;padding-right:44px}
.input-icon input:focus{background:#fff}.input-icon span{right:15px;font-size:1.05rem}
.auth-form .button{height:54px;border-radius:14px;font-size:1rem!important;box-shadow:0 13px 28px rgba(15,118,110,.2)}
.login-note{font-size:.8rem!important;background:#f8fafc;border:1px dashed #d6e0e8;border-radius:12px;padding:10px 12px;margin:18px 0 0!important}
.login-copyright{text-align:center;color:var(--ds-muted);font-size:.82rem!important;line-height:1.9;margin:18px 0 0;padding-top:16px;border-top:1px solid #eef2f7}
.mobile-brand b{font-size:1.1rem}.auth-card .eyebrow{display:inline-flex;align-items:center;gap:7px;background:var(--ds-primary-soft);padding:7px 11px;border-radius:999px;letter-spacing:0;color:var(--ds-primary)}
@media(max-width:900px){.auth-form-wrap{min-height:100svh}.auth-card{margin:auto}.mobile-brand{display:flex}}
@media(max-width:640px){.auth-card{border-radius:22px;padding:24px 19px}.auth-form-wrap{padding:18px}.auth-card h2{font-size:1.75rem!important}}

/* Global server-wait overlay */
.global-wait-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:rgba(8,30,35,.48);backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.global-wait-overlay.is-visible{opacity:1;visibility:visible;pointer-events:all}
.global-wait-card{min-width:min(330px,calc(100vw - 34px));background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.8);border-radius:22px;padding:25px 28px;box-shadow:0 28px 80px rgba(2,25,29,.28);display:flex;align-items:center;gap:17px;color:var(--ds-text)}
.global-wait-spinner{width:48px;height:48px;flex:0 0 auto;border-radius:50%;border:4px solid #d8efec;border-top-color:var(--ds-primary);animation:sharehome-spin .78s linear infinite}
.global-wait-copy b{display:block;font-size:1.08rem;margin-bottom:5px}.global-wait-copy span{display:block;color:var(--ds-muted);font-size:.9rem;line-height:1.7}
body.is-waiting{cursor:progress}.is-action-pending{pointer-events:none!important;opacity:.7!important}
@keyframes sharehome-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.global-wait-spinner{animation-duration:1.6s}}

/* ShareHome v34: Razavi dashboard and modern owner panel */
.razavi-banner{position:relative;min-height:285px;border-radius:30px;overflow:hidden;color:#fff;box-shadow:0 24px 64px rgba(2,44,50,.2);isolation:isolate;margin-bottom:20px}
.razavi-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;transform:scale(1.015)}
.razavi-banner-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,31,36,.96) 0%,rgba(4,53,56,.87) 48%,rgba(5,67,69,.48) 100%)}
.razavi-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 82% 18%,rgba(251,191,36,.22),transparent 25%),linear-gradient(180deg,transparent 40%,rgba(0,0,0,.28))}
.razavi-banner-content{max-width:880px;padding:clamp(30px,4.5vw,58px);display:flex;flex-direction:column;justify-content:center;min-height:285px}
.razavi-kicker{display:inline-flex;width:max-content;padding:7px 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font-weight:800;font-size:.86rem!important;color:#fef3c7}
.razavi-banner h1{margin:14px 0 10px;font-size:clamp(1.75rem,3vw,2.55rem)!important;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.22)}
.razavi-banner p{margin:0;max-width:820px;font-size:clamp(.9rem,1.25vw,1.04rem)!important;line-height:2.15;color:rgba(255,255,255,.9);text-align:justify}
.razavi-photo-credit{position:absolute;left:16px;bottom:10px;color:rgba(255,255,255,.58);font-size:.64rem!important;direction:ltr}
.dashboard-commandbar{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#f8fbfc);border:1px solid var(--ds-border);border-radius:22px;padding:20px 22px;box-shadow:0 10px 30px rgba(15,23,42,.055);margin-bottom:18px}
.dashboard-commandbar h2{margin:5px 0 4px;font-size:1.45rem!important}.dashboard-commandbar p{margin:0;color:var(--ds-muted);font-size:.92rem!important}
.dashboard-quick-actions{display:flex;gap:9px;flex-wrap:wrap}.button.soft{background:#ecfeff;color:#0e7490;border:1px solid #bae6fd}
.modern-stats .stat-card{position:relative;overflow:hidden;min-height:124px;border-radius:22px;padding:20px;transition:transform .18s ease,box-shadow .18s ease}
.modern-stats .stat-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,23,42,.09)}
.modern-stats .stat-card:after{content:"";position:absolute;width:95px;height:95px;border-radius:50%;background:rgba(15,118,110,.035);left:-35px;bottom:-42px}
.modern-stats .stat-icon{width:54px;height:54px;border-radius:17px}.modern-stats .stat-card strong{font-size:1.6rem!important}
.modern-dashboard-grid{grid-template-columns:minmax(0,1.9fr) minmax(290px,.8fr)}
.dashboard-main-panel,.dashboard-side-panel,.latest-periods-panel{border-radius:24px;background:linear-gradient(180deg,#fff,#fbfdff)}
.panel-kicker{display:block;color:var(--ds-primary);font-weight:800;font-size:.74rem!important;margin-bottom:5px}
.dashboard-main-panel .owner-progress{padding:15px 0}.dashboard-main-panel .owner-progress:first-child{padding-top:2px}
.dashboard-side-panel .donut-wrap{min-height:285px;display:flex;flex-direction:column;justify-content:center}
.modern-period-cards{gap:14px}.modern-period-cards .period-card{border-radius:20px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.045);transition:transform .18s ease,border-color .18s ease}
.modern-period-cards .period-card:hover{transform:translateY(-3px);border-color:#99d8d2}.period-card-top{display:flex;align-items:center;justify-content:space-between}
.status-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px rgba(15,118,110,.08)}.status-dot.free{background:#10b981}.status-dot.allocated{background:#3b82f6}
@media(max-width:1000px){.dashboard-commandbar{align-items:flex-start;flex-direction:column}.modern-dashboard-grid{grid-template-columns:1fr}.razavi-banner-content{max-width:100%}}
@media(max-width:640px){.razavi-banner{min-height:330px;border-radius:22px}.razavi-banner-content{padding:24px 20px;min-height:330px}.razavi-banner p{line-height:2;font-size:.86rem!important}.razavi-photo-credit{font-size:.52rem!important}.dashboard-commandbar{padding:17px}.dashboard-quick-actions{display:grid;grid-template-columns:1fr;width:100%}.dashboard-quick-actions .button{width:100%}.modern-stats .stat-card{min-height:112px}.modern-dashboard-grid{display:block}.dashboard-side-panel{margin-top:14px}}

/* ShareHome v35: property/suite settings, fair suite lottery, refined Razavi banner */
.razavi-banner{display:grid!important;grid-template-columns:minmax(0,1fr) 280px;gap:14px;background:transparent!important;min-height:0!important;box-shadow:none!important;overflow:visible!important;isolation:auto!important}
.razavi-banner-main{position:relative;min-height:285px;border-radius:30px;overflow:hidden;color:#fff;box-shadow:0 24px 64px rgba(2,44,50,.2);isolation:isolate}
.razavi-banner-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;transform:scale(1.015)}
.razavi-side-photo{margin:0;min-height:285px;border-radius:30px;overflow:hidden;box-shadow:0 24px 64px rgba(2,44,50,.16);background:#0b3438}
.razavi-side-photo img{width:100%;height:100%;min-height:285px;display:block;object-fit:cover;object-position:68% center;transform:scale(1.08)}
.razavi-banner h1{font-size:clamp(1.25rem,2vw,1.75rem)!important;margin:12px 0 8px}
.razavi-photo-credit{display:none!important}
.sidebar-nav a{font-size:calc(1rem - 1px)!important}
.settings-modern-card{max-width:900px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid .form-divider,.settings-grid .form-hint,.settings-grid button{grid-column:1/-1}
.suite-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#ecfeff;color:#0f766e;border:1px solid #a5f3fc;font-size:.72rem;font-weight:800;margin-bottom:7px}
@media(max-width:1050px){.razavi-banner{grid-template-columns:1fr 220px}.razavi-side-photo,.razavi-side-photo img{min-height:285px}}
@media(max-width:760px){.razavi-banner{grid-template-columns:1fr}.razavi-side-photo{display:none}.razavi-banner-main{min-height:330px}.settings-grid{grid-template-columns:1fr}.settings-grid>*{grid-column:1!important}}
\n\n/* ShareHome v36: single full-width Razavi hero */\n.razavi-banner{\n  display:block!important;\n  position:relative!important;\n  min-height:300px!important;\n  margin-bottom:20px!important;\n  border-radius:30px!important;\n  overflow:hidden!important;\n  background:#062f34!important;\n  box-shadow:0 24px 64px rgba(2,44,50,.2)!important;\n  isolation:isolate!important;\n}\n.razavi-banner-main{\n  position:relative;\n  width:100%;\n  min-height:300px;\n  border-radius:0!important;\n  overflow:hidden;\n  box-shadow:none!important;\n  isolation:isolate;\n}\n.razavi-banner-bg{\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  object-position:center 46%;\n  transform:none!important;\n  z-index:-3;\n}\n.razavi-banner-shade{\n  position:absolute;\n  inset:0;\n  z-index:-2;\n  background:linear-gradient(90deg,rgba(2,27,31,.92) 0%,rgba(3,42,46,.74) 48%,rgba(2,30,33,.52) 100%)!important;\n}\n.razavi-banner-main:after{\n  content:"";\n  position:absolute;\n  inset:0;\n  z-index:-1;\n  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28));\n}\n.razavi-banner-content{\n  max-width:980px;\n  min-height:300px;\n  padding:clamp(28px,4vw,52px);\n  display:flex;\n  flex-direction:column;\n  justify-content:center;\n}\n.razavi-banner h1{\n  margin:12px 0 8px!important;\n  font-size:clamp(1.12rem,1.65vw,1.55rem)!important;\n  line-height:1.75!important;\n}\n.razavi-banner p{\n  max-width:900px;\n  font-size:clamp(.86rem,1.05vw,.98rem)!important;\n  line-height:2.15!important;\n}\n.razavi-side-photo{display:none!important}\n@media(max-width:760px){\n  .razavi-banner,.razavi-banner-main{min-height:340px!important}\n  .razavi-banner-content{min-height:340px;padding:24px 20px}\n  .razavi-banner-bg{object-position:center center}\n  .razavi-banner h1{font-size:1.18rem!important}\n}\n
/* ShareHome v38: approved full-width Razavi banner */
.razavi-banner-v38{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(300px,31%) minmax(0,69%)!important;
  width:100%!important;
  min-height:330px!important;
  margin:0 0 20px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#062f35 0%,#073f43 55%,#05292f 100%)!important;
  box-shadow:0 22px 56px rgba(2,44,50,.18)!important;
  isolation:isolate!important;
  border:1px solid rgba(205,158,61,.28)!important;
}
.razavi-banner-v38:before,
.razavi-banner-v38:after{
  content:"";
  position:absolute;
  width:48px;
  height:48px;
  z-index:4;
  pointer-events:none;
  opacity:.95;
}
.razavi-banner-v38:before{
  top:12px;right:12px;
  border-top:3px solid #d9ad4b;
  border-right:3px solid #d9ad4b;
  border-radius:0 13px 0 0;
}
.razavi-banner-v38:after{
  bottom:12px;left:12px;
  border-bottom:3px solid #d9ad4b;
  border-left:3px solid #d9ad4b;
  border-radius:0 0 0 13px;
}
.razavi-shrine-panel{
  position:relative;
  min-height:330px;
  overflow:hidden;
  background:#071f2d;
}
.razavi-shrine-panel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,41,47,.05),rgba(5,41,47,.02) 68%,rgba(5,41,47,.58));
  pointer-events:none;
}
.razavi-shrine-panel img{
  display:block;
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  object-position:center 42%;
  filter:saturate(1.06) contrast(1.03);
}
.razavi-prayer-panel{
  position:relative;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:34px clamp(28px,4vw,64px) 30px;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.055),transparent 42%),
    linear-gradient(135deg,rgba(4,57,61,.98),rgba(3,38,44,.98));
}
.razavi-prayer-panel:before{
  content:"";
  position:absolute;
  top:-7%;
  bottom:-7%;
  right:-24px;
  width:52px;
  background:#d8aa43;
  border-radius:48% 52% 47% 53% / 8% 11% 89% 92%;
  box-shadow:-8px 0 0 rgba(255,229,160,.25);
  z-index:3;
}
.razavi-prayer-panel .razavi-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin:0 auto 12px;
  padding:7px 16px;
  border:1px solid rgba(222,177,79,.78);
  border-radius:10px;
  background:rgba(2,33,38,.55);
  color:#f7d77d;
  font-size:.86rem!important;
  font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.razavi-banner-v38 h1{
  margin:0 0 12px!important;
  color:#f5d273!important;
  font-size:clamp(1rem,1.25vw,1.28rem)!important;
  line-height:1.8!important;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.razavi-banner-v38 .razavi-calligraphy{
  max-width:930px;
  margin:0!important;
  color:#fffdf6!important;
  font-family:"Titr","B Titr","Yekan","B Yekan",Tahoma,sans-serif!important;
  font-size:clamp(1.08rem,1.55vw,1.62rem)!important;
  font-weight:700;
  line-height:2.15!important;
  text-align:center!important;
  text-shadow:0 2px 11px rgba(0,0,0,.38);
}
.razavi-ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:42%;
  margin-top:14px;
  color:#d9ad4b;
  font-size:.9rem;
}
.razavi-ornament:before,.razavi-ornament:after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,#d9ad4b);
}
.razavi-ornament:after{background:linear-gradient(90deg,#d9ad4b,transparent)}
@media(max-width:900px){
  .razavi-banner-v38{grid-template-columns:260px minmax(0,1fr)!important;min-height:300px!important}
  .razavi-shrine-panel,.razavi-shrine-panel img,.razavi-prayer-panel{min-height:300px}
  .razavi-prayer-panel{padding:26px 26px 24px}
  .razavi-banner-v38 .razavi-calligraphy{font-size:1.02rem!important;line-height:2.05!important}
}
@media(max-width:680px){
  .razavi-banner-v38{grid-template-columns:1fr!important;border-radius:22px!important}
  .razavi-shrine-panel{min-height:210px}
  .razavi-shrine-panel img{min-height:210px;height:210px;object-position:center 38%}
  .razavi-shrine-panel:after{background:linear-gradient(180deg,transparent 55%,rgba(5,41,47,.82))}
  .razavi-prayer-panel{min-height:0;padding:25px 18px 27px}
  .razavi-prayer-panel:before{display:none}
  .razavi-banner-v38 .razavi-calligraphy{font-size:.91rem!important;line-height:2!important}
  .razavi-ornament{width:70%}
}

/* ShareHome v39: final approved Razavi banner */
.razavi-banner-v39{
  direction:ltr!important;
  display:grid!important;
  grid-template-columns:minmax(300px,31%) minmax(0,69%)!important;
  width:100%!important;
  min-height:330px!important;
  margin:0 0 22px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  position:relative!important;
  isolation:isolate!important;
  background:#052e33!important;
  border:1px solid rgba(220,174,72,.42)!important;
  box-shadow:0 20px 52px rgba(2,44,50,.18)!important;
}
.razavi-banner-v39:before,
.razavi-banner-v39:after{
  content:"";
  position:absolute;
  width:42px;
  height:42px;
  z-index:8;
  pointer-events:none;
}
.razavi-banner-v39:before{
  top:12px;right:12px;
  border-top:3px solid #ddb348;
  border-right:3px solid #ddb348;
  border-radius:0 13px 0 0;
}
.razavi-banner-v39:after{
  bottom:12px;left:12px;
  border-bottom:3px solid #ddb348;
  border-left:3px solid #ddb348;
  border-radius:0 0 0 13px;
}
.razavi-banner-v39 .razavi-shrine-panel{
  grid-column:1;
  position:relative;
  min-width:0;
  min-height:330px;
  overflow:hidden;
  background:#071f2d;
}
.razavi-banner-v39 .razavi-shrine-panel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,31,37,.04) 0%,rgba(2,31,37,.03) 70%,rgba(2,47,52,.5) 100%);
  pointer-events:none;
}
.razavi-banner-v39 .razavi-shrine-panel img{
  display:block;
  width:100%;
  height:100%;
  min-height:330px;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.08) contrast(1.04);
}
.razavi-banner-v39 .razavi-prayer-panel{
  grid-column:2;
  position:relative;
  min-width:0;
  min-height:330px;
  padding:32px clamp(28px,4vw,66px) 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,255,255,.055),transparent 42%),
    linear-gradient(135deg,#073f43 0%,#052f35 58%,#041f27 100%);
}
.razavi-banner-v39 .razavi-prayer-panel:before{
  content:"";
  position:absolute;
  top:-9%;
  bottom:-9%;
  left:-30px;
  width:62px;
  background:#deb247;
  clip-path:polygon(52% 0,100% 0,100% 100%,52% 100%,37% 92%,51% 82%,31% 70%,48% 58%,29% 46%,50% 34%,34% 21%,51% 10%);
  box-shadow:10px 0 0 rgba(255,231,168,.2);
  z-index:4;
}
.razavi-banner-v39 .razavi-kicker{
  display:inline-flex;
  padding:7px 17px;
  margin-bottom:11px;
  border:1px solid rgba(226,181,79,.82);
  border-radius:10px;
  background:rgba(2,31,37,.56);
  color:#f6d676;
  font-size:.83rem!important;
  font-weight:800;
  white-space:nowrap;
}
.razavi-banner-v39 h1{
  margin:0 0 12px!important;
  color:#f4cf69!important;
  font-size:clamp(.96rem,1.16vw,1.2rem)!important;
  line-height:1.7!important;
  white-space:nowrap;
}
.razavi-banner-v39 .razavi-calligraphy{
  width:100%;
  max-width:980px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin:0!important;
  color:#fffdf7!important;
  font-family:"Titr","B Titr","Yekan","B Yekan",Tahoma,sans-serif!important;
  font-size:clamp(1.02rem,1.42vw,1.52rem)!important;
  font-weight:700;
  line-height:2.02!important;
  text-align:center!important;
  text-shadow:0 2px 10px rgba(0,0,0,.34);
}
.razavi-banner-v39 .razavi-calligraphy span{
  display:block;
  width:100%;
  white-space:normal;
}
.razavi-banner-v39 .razavi-ornament{
  display:flex;
  align-items:center;
  width:42%;
  margin-top:12px;
  color:#ddb348;
}
@media(max-width:1050px){
  .razavi-banner-v39{grid-template-columns:minmax(245px,30%) minmax(0,70%)!important;min-height:300px!important}
  .razavi-banner-v39 .razavi-shrine-panel,
  .razavi-banner-v39 .razavi-shrine-panel img,
  .razavi-banner-v39 .razavi-prayer-panel{min-height:300px}
  .razavi-banner-v39 .razavi-prayer-panel{padding:25px 25px 23px}
  .razavi-banner-v39 .razavi-calligraphy{font-size:.98rem!important;line-height:1.95!important}
}
@media(max-width:720px){
  .razavi-banner-v39{grid-template-columns:1fr!important;border-radius:22px!important}
  .razavi-banner-v39 .razavi-shrine-panel{grid-column:1;min-height:205px}
  .razavi-banner-v39 .razavi-shrine-panel img{min-height:205px;height:205px;object-position:center 40%}
  .razavi-banner-v39 .razavi-shrine-panel:after{background:linear-gradient(180deg,transparent 55%,rgba(5,47,53,.78))}
  .razavi-banner-v39 .razavi-prayer-panel{grid-column:1;min-height:0;padding:24px 18px 26px}
  .razavi-banner-v39 .razavi-prayer-panel:before{display:none}
  .razavi-banner-v39 h1{white-space:normal;font-size:1rem!important}
  .razavi-banner-v39 .razavi-calligraphy{font-size:.9rem!important;line-height:1.95!important}
  .razavi-banner-v39 .razavi-ornament{width:70%}
}


/* ShareHome v40: exact approved Razavi artwork banner */
.razavi-banner-static{
  width:100%;
  margin:0 0 20px;
  border-radius:28px;
  overflow:hidden;
  background:#062f34;
  box-shadow:0 22px 58px rgba(2,44,50,.18);
}
.razavi-banner-static img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1380/336;
  object-fit:cover;
  object-position:center;
}
@media(max-width:760px){
  .razavi-banner-static{
    border-radius:16px;
    margin-bottom:12px;
  }
  .razavi-banner-static img{
    width:100%;
    height:auto;
    aspect-ratio:1380/336;
    object-fit:contain;
    object-position:center;
  }
}

/* ShareHome v44: dashboard typography and secure maintenance */
.latest-periods-panel .panel-head h2{font-size:1.38rem!important}
.modern-period-cards .period-card h3{font-size:1.72rem!important}
.latest-periods-panel .panel-kicker,.latest-periods-panel .panel-head p,.latest-periods-panel .panel-head>a,.modern-period-cards .period-type,.modern-period-cards .period-card p,.modern-period-cards .suite-badge,.modern-period-cards .status-chip{font-size:calc(1em + 1px)!important}
.maintenance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.maintenance-card{padding:22px}.maintenance-card h2{font-size:1.45rem!important;margin:8px 0}.maintenance-card p{color:var(--ds-muted);line-height:1.9}.stack-form{display:grid;gap:12px;margin-top:16px}.danger-zone{border-color:#fecaca;background:#fffafa}.danger-zone .eyebrow,.danger-zone h2{color:var(--ds-danger)}.year-history{margin-top:20px;padding:22px}
@media(max-width:900px){.maintenance-grid{grid-template-columns:1fr}.modern-period-cards .period-card h3{font-size:1.55rem!important}}

/* =========================================================
   ShareHome Central Typography System - v45
   تنها مرجع اندازه عنوان‌ها و ریزمتن‌های کل سامانه
   ========================================================= */
:root{
  --ds-title-scale:1;
  --ds-body-scale:1;
  --ds-meta-scale:1;
  --ds-font-body:calc(15px * var(--ds-body-scale));
  --ds-font-title-xl:calc(23px * var(--ds-title-scale));
  --ds-font-title-lg:calc(19px * var(--ds-title-scale));
  --ds-font-title-md:calc(15px * var(--ds-title-scale));
  --ds-font-title-sm:calc(13px * var(--ds-title-scale));
  --ds-font-meta:calc(12px * var(--ds-meta-scale));
  --ds-font-caption:calc(11.5px * var(--ds-meta-scale));
  --ds-font-label:calc(12.5px * var(--ds-body-scale));
  --ds-line-body:1.85;
  --ds-line-meta:1.75;
}

html{font-size:var(--ds-font-body)!important}
body{font-size:var(--ds-font-body)!important;line-height:var(--ds-line-body)!important}

/* عنوان‌های اصلی، بخش‌ها و کارت‌ها؛ یک پله کوچک‌تر و یکپارچه */
h1,
.hero-panel h1,
.page-heading h1,
.ds-page-header h1,
.users-heading h1,
.showcase-content h1,
.auth-card h2{
  font-size:var(--ds-font-title-xl)!important;
  line-height:1.55!important;
}
h2,
.panel-head h2,
.section-title b,
.user-tools h2,
.user-modal-card>header h2{
  font-size:var(--ds-font-title-md)!important;
  line-height:1.6!important;
}
h3,
.period-card h3,
.owner-card-head h3,
.user-identity h3,
.account-main h3,
.info-section h3{
  font-size:var(--ds-font-title-sm)!important;
  line-height:1.65!important;
}
h4,h5,h6{font-size:var(--ds-font-title-sm)!important;line-height:1.65!important}
.topbar-title b,.brand strong,.user-panel b{font-size:var(--ds-font-title-md)!important}

/* ریزمتن‌های عمومی؛ یک پله بزرگ‌تر در تمام صفحات */
small,
.eyebrow,
.panel-kicker,
.nav-caption,
.topbar-title small,
.brand span,
.user-panel small,
.stat-card span,
.stat-card small,
.panel-head p,
.panel-head>a,
.owner-name small,
.progress-meta,
.donut span,
.legend p,
.period-type,
.period-card p,
.status-chip,
.ds-badge,
.form-hint,
.form-divider,
.field-help,
.users-heading p,
.user-stat span,
.user-stat small,
.user-role-row span,
.user-meta-grid span,
.user-modal-card>header p,
.role-card small,
.permission-group>label,
.permission-toolbar span,
.group-toggle,
.info-grid span,
.account-main p,
.account-metrics span,
.rate-summary,
.empty-state{
  font-size:var(--ds-font-meta)!important;
  line-height:var(--ds-line-meta)!important;
}

/* نوشته‌های فرم و کنترل‌ها */
label,.form-grid label,.auth-form label{font-size:var(--ds-font-label)!important;line-height:1.7!important}
input,select,textarea,.button,button{font-size:var(--ds-font-label)!important}
th{font-size:var(--ds-font-label)!important}
td{font-size:var(--ds-font-body)!important}
.field-error{font-size:var(--ds-font-caption)!important}

/* متن‌های عادی داخل پنل‌ها و توضیحات */
p,.manager-note,.owner-progress,.user-role-row b,.user-meta-grid b,.info-grid b{
  line-height:var(--ds-line-body);
}

/* موبایل هم دقیقاً از همان مقادیر مرکزی پیروی می‌کند */
@media(max-width:760px){
  :root{
    --ds-font-body:calc(15px * var(--ds-body-scale));
    --ds-font-title-xl:calc(21px * var(--ds-title-scale));
    --ds-font-title-lg:calc(18px * var(--ds-title-scale));
    --ds-font-title-md:calc(15px * var(--ds-title-scale));
    --ds-font-title-sm:calc(13px * var(--ds-title-scale));
    --ds-font-meta:calc(12px * var(--ds-meta-scale));
    --ds-font-caption:calc(11.5px * var(--ds-meta-scale));
    --ds-font-label:calc(12.5px * var(--ds-body-scale));
  }
}


/* ShareHome v46: controls for central design settings */
.design-settings-card{margin-top:20px;padding:24px}
.design-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}
.design-settings-head h2{margin:6px 0 4px}
.design-settings-head p{margin:0;color:var(--ds-muted)}
.design-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.design-setting-box{padding:17px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface-alt)}
.design-setting-box label{display:grid;gap:9px}
.design-setting-box small{display:block;margin-top:8px;color:var(--ds-muted)}
.design-preview{margin-top:18px;padding:18px;border:1px dashed #b8c7d8;border-radius:var(--ds-radius-md);background:#fff}
.design-preview h3{margin:0 0 6px}.design-preview p{margin:0 0 5px}.design-preview small{color:var(--ds-muted)}
.settings-submit-row{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:900px){.design-settings-grid{grid-template-columns:1fr}.design-settings-head{flex-direction:column}.settings-submit-row{grid-column:auto}}

/* ShareHome v47: modern settings center */
.settings-page{max-width:1240px;margin:0 auto;display:grid;gap:20px;padding-bottom:40px}
.settings-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid var(--ds-border);border-radius:26px;background:linear-gradient(135deg,#ffffff 0%,#f2fbf9 100%);box-shadow:0 16px 45px rgba(15,118,110,.08)}
.settings-hero::after{content:"";position:absolute;left:-80px;top:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.16),transparent 68%)}
.settings-hero-copy{position:relative;z-index:1}.settings-hero h1{margin:7px 0 8px;font-size:clamp(1.65rem,2.2vw,2.25rem)}.settings-hero p{margin:0;color:var(--ds-muted);line-height:1.9}
.settings-hero-badge{position:relative;z-index:1;width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;font-size:32px;box-shadow:0 14px 30px rgba(15,118,110,.24)}
.settings-jump-nav{position:sticky;top:84px;z-index:10;display:flex;gap:9px;flex-wrap:wrap;padding:10px;border:1px solid var(--ds-border);border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(15,23,42,.06)}
.settings-jump-nav a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;text-decoration:none;color:#475569;font-weight:700;transition:.18s}.settings-jump-nav a:hover{background:#ecfdf5;color:#0f766e}.settings-jump-nav .danger-link:hover{background:#fff1f2;color:#b42318}.settings-jump-nav span{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:#f1f5f9}
.settings-main-form{display:grid;gap:20px}.settings-section-card{scroll-margin-top:150px;padding:26px;border:1px solid var(--ds-border);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.055)}
.settings-section-head{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #edf1f5}.settings-section-head h2{margin:5px 0 5px;font-size:1.45rem}.settings-section-head p{margin:0;color:var(--ds-muted);line-height:1.8}.settings-section-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;background:#e8f7f4;color:#0f766e;font-size:22px;font-weight:900}.settings-section-icon.accent{background:#eef2ff;color:#4f46e5}.settings-section-icon.maintenance{background:#eff6ff;color:#2563eb}.settings-section-icon.danger-icon{background:#fff1f2;color:#b42318}.settings-section-icon.history-icon{background:#f5f3ff;color:#7c3aed}
.settings-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-fields-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-field{display:grid;gap:7px;padding:14px;border:1px solid #e4eaf1;border-radius:16px;background:#fbfdff;transition:.18s}.settings-field:focus-within{border-color:#7dd3c7;background:#fff;box-shadow:0 0 0 4px rgba(20,184,166,.08)}.settings-field>span{font-weight:800;color:#243244}.settings-field>small{color:var(--ds-muted);line-height:1.65}.settings-field input,.settings-field select{height:44px;border:1px solid #dbe3ed;border-radius:11px;background:#fff;padding:0 12px;outline:none}.settings-field.compact{padding:0;border:0;background:transparent}.settings-field.compact:focus-within{box-shadow:none}.settings-subsection{margin-top:22px;padding-top:22px;border-top:1px dashed #dce4ec}.settings-subsection-title h3{margin:0 0 5px}.settings-subsection-title p{margin:0 0 14px;color:var(--ds-muted)}.suite-field>span{display:flex;align-items:center;gap:8px}.suite-dot{width:10px;height:10px;border-radius:50%}.suite-one{background:#3b82f6}.suite-two{background:#ec4899}
.design-settings-grid.modern{gap:14px}.modern-box{position:relative;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px;padding:16px}.modern-box select{height:46px;width:100%;border:1px solid #dce4ec;border-radius:12px;background:#fff;padding:0 12px;margin-top:12px}.setting-box-title{display:flex;align-items:center;gap:10px}.setting-symbol{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ecfdf5;color:#0f766e;font-size:18px;font-weight:900}.body-symbol{background:#eff6ff;color:#2563eb}.meta-symbol{background:#f5f3ff;color:#7c3aed}.modern-preview{position:relative;margin-top:18px;padding:22px 24px;background:linear-gradient(135deg,#fbfdff,#f6fffd);border-style:solid}.preview-label{position:absolute;left:16px;top:14px;padding:5px 9px;border-radius:999px;background:#e8f7f4;color:#0f766e;font-size:.75rem;font-weight:800}.modern-preview h3{padding-left:105px}
.settings-sticky-actions{position:sticky;bottom:12px;z-index:12;display:flex;justify-content:flex-end;gap:10px;padding:12px;border:1px solid var(--ds-border);border-radius:17px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 12px 35px rgba(15,23,42,.12)}
.modern-maintenance{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.action-card{display:flex;gap:16px;min-height:100%;padding:20px;border:1px solid #e4eaf1;border-radius:20px;background:linear-gradient(180deg,#fff,#fafcff);box-shadow:none}.action-card-icon{width:48px;height:48px;flex:0 0 auto;display:grid;place-items:center;border-radius:15px;background:#e8f7f4;color:#0f766e;font-size:24px;font-weight:900}.year-card .action-card-icon{background:#eff6ff;color:#2563eb}.action-card-content{display:flex;flex-direction:column;flex:1}.action-card h3{margin:6px 0 7px;font-size:1.25rem}.action-card p{margin:0;color:var(--ds-muted);line-height:1.85}.action-features{margin:14px 0 18px;padding:0;list-style:none;display:grid;gap:7px;color:#475569}.action-features li::before{content:"✓";color:#0f766e;font-weight:900;margin-left:7px}.action-card form{margin-top:auto}.full-button{width:100%;justify-content:center}
.danger-section{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fffafa)}.danger-section .settings-section-head{border-color:#fee2e2}.danger-section .eyebrow,.danger-section h2{color:#b42318}.danger-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}.danger-warning{padding:19px;border:1px solid #fecaca;border-radius:17px;background:#fff1f2}.danger-warning strong{display:block;color:#9f1239;margin-bottom:8px}.danger-warning p{margin:0;color:#7f1d1d;line-height:1.9}.danger-form{display:grid;gap:13px;padding:19px;border:1px solid #f3d3d3;border-radius:17px;background:#fff}.compact-head{margin-bottom:16px}.modern-table-wrap{border:1px solid #e5eaf0;border-radius:16px;overflow:hidden}.modern-table-wrap table{margin:0}
@media(max-width:900px){.settings-hero{padding:22px}.settings-hero-badge{width:58px;height:58px}.settings-jump-nav{top:72px;overflow:auto;flex-wrap:nowrap}.settings-jump-nav a{white-space:nowrap}.settings-fields-grid,.settings-fields-grid.two-col,.modern-maintenance,.danger-panel{grid-template-columns:1fr}.settings-section-card{padding:20px}.settings-sticky-actions{bottom:8px}.modern-preview h3{padding-left:0;padding-top:34px}}
@media(max-width:600px){.settings-page{gap:14px}.settings-hero{align-items:flex-start}.settings-hero-badge{display:none}.settings-section-head{gap:10px}.settings-section-icon{width:42px;height:42px}.settings-sticky-actions{display:grid;grid-template-columns:1fr 1fr}.settings-sticky-actions .button{width:100%;padding-inline:8px}.action-card{flex-direction:column}.settings-jump-nav{margin-inline:-4px}}
