*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--app-font,Tahoma,Arial,sans-serif);background:var(--app-bg,#f4f7fb);color:var(--text,#172033);font-size:var(--base-font-size,14px);line-height:1.65}
a{text-decoration:none;color:var(--primary,#1265a8)}
button,input,select,textarea{font-family:inherit}
h1,h2,h3,h4,h5,h6{font-weight:var(--heading-weight,700);color:var(--text);line-height:1.35}
.topbar{height:var(--topbar-height,62px);background:var(--surface,#fff);border-bottom:1px solid var(--border,#dfe7f0);position:fixed;top:0;right:0;left:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:18px}
.brand-area,.user-area{display:flex;align-items:center;gap:12px;min-width:0}
.brand-copy{display:flex;align-items:baseline;gap:12px;min-width:0}
.brand-copy strong{font-size:20px;color:var(--primary);white-space:nowrap}
.brand-copy .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-logo{display:block;height:var(--logo-height,38px);width:auto;max-width:150px;object-fit:contain}
.user-area{white-space:nowrap}
.sidebar{position:fixed;top:var(--topbar-height,62px);right:0;bottom:0;width:var(--sidebar-width,225px);background:var(--secondary,#102a43);padding:16px 10px;overflow:auto;z-index:18}
.sidebar nav{display:block}
.sidebar a{display:flex;align-items:center;gap:9px;color:#e7f2fb;padding:10px 13px;border-radius:var(--button-radius,8px);margin:2px 0;transition:background .15s ease,transform .15s ease}
.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12)}
.sidebar a.active{box-shadow:inset -3px 0 0 var(--accent,#7c3aed)}
.sidebar a:hover{transform:translateX(-2px)}
.sidebar hr{border:0;border-top:1px solid rgba(255,255,255,.17);margin:12px 7px}
.nav-icon{width:20px;text-align:center;font-size:16px;opacity:.9}
.appearance-link{margin-top:7px!important;background:rgba(255,255,255,.06)}
.content{margin-right:var(--sidebar-width,225px);padding:calc(var(--topbar-height,62px) + 24px) 24px 40px;max-width:calc(var(--content-max-width,1600px) + var(--sidebar-width,225px));min-height:100vh}
.sidebar-left .sidebar{right:auto;left:0}
.sidebar-left .content{margin-right:0;margin-left:var(--sidebar-width,225px)}
.sidebar-left .sidebar a.active{box-shadow:inset 3px 0 0 var(--accent,#7c3aed)}
.sidebar-left .sidebar a:hover{transform:translateX(2px)}
.non-sticky-topbar .topbar{position:relative}
.non-sticky-topbar .sidebar{top:0}
.non-sticky-topbar .content{padding-top:24px}
.menu-btn{display:none}
.mobile-backdrop{display:none}
.muted{color:var(--muted,#6c7d90)}
.inline{display:inline}
.link-btn{border:0;background:none;color:var(--danger,#c0392b);cursor:pointer;padding:6px 4px}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}
.page-head h1{margin:0;font-size:24px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--button-radius,8px);padding:10px 15px;cursor:pointer;background:#e5edf5;color:#17324d;font:inherit;transition:filter .15s ease,transform .1s ease}
.btn:hover{filter:brightness(.96)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--primary,#1473b8);color:#fff}
.btn.secondary{background:var(--secondary,#102a43);color:#fff}
.btn.accent{background:var(--accent,#7c3aed);color:#fff}
.btn.success{background:var(--success,#138a62);color:#fff}
.btn.warning{background:var(--warning,#d97706);color:#fff}
.btn.danger{background:var(--danger,#b6413a);color:#fff}
.btn.outline{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn.small{padding:6px 9px;font-size:12px}
.wide{width:100%}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.card{background:var(--surface,#fff);border:1px solid var(--border,#e0e8f0);border-radius:var(--card-radius,12px);padding:18px;box-shadow:0 2px 12px rgba(30,60,90,.06)}
.no-shadows .card,.no-shadows .table-wrap,.no-shadows .login-card,.no-shadows .form-card{box-shadow:none!important}
.stat{grid-column:span 3}
.stat .number{font-size:26px;font-weight:800;margin-top:8px;color:var(--text)}
.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.table-wrap{overflow:auto;background:var(--surface,#fff);border:1px solid var(--border,#e0e8f0);border-radius:var(--card-radius,12px);box-shadow:0 2px 10px rgba(30,60,90,.035)}
.table{width:100%;border-collapse:collapse;white-space:nowrap}
.table th,.table td{padding:11px 12px;border-bottom:1px solid var(--border,#edf1f5);text-align:right}
.table th{background:rgba(127,145,165,.08);color:var(--muted,#4d6073);font-weight:700}
.table tr:hover td{background:rgba(20,115,184,.035)}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8eef5;font-size:12px}
.badge.green{background:#dff5eb;color:#176947}.badge.red{background:#fde6e4;color:#8e2f29}.badge.orange{background:#fff0d9;color:#8a5708}
.form-card{max-width:1000px;background:var(--surface,#fff);padding:22px;border:1px solid var(--border,#e0e8f0);border-radius:var(--card-radius,12px);box-shadow:0 2px 12px rgba(30,60,90,.04)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px}
.form-grid p{margin:0}.form-grid p:has(textarea),.form-grid .full{grid-column:1/-1}
label{display:block;margin-bottom:6px;font-weight:600;color:var(--text)}
.form-control,.form-select{width:100%;padding:10px;border:1px solid var(--border,#ccd8e3);border-radius:var(--button-radius,7px);background:var(--surface,#fff);color:var(--text);font:inherit}
.form-control:focus,.form-select:focus{outline:2px solid rgba(20,115,184,.22);border-color:var(--primary,#2b8bc6)}
input[type="checkbox"]{accent-color:var(--primary);width:17px;height:17px;vertical-align:middle}
textarea{resize:vertical}
.helptext{display:block;color:var(--muted,#718096);font-size:12px;margin-top:4px}
.errorlist{color:var(--danger,#b42318);margin:5px 0;padding-right:18px}
.alert{padding:12px 15px;border-radius:var(--button-radius,8px);margin-bottom:14px;background:#e6f3ff;border:1px solid rgba(20,115,184,.16)}
.alert.success{background:#dff5eb;border-color:rgba(19,138,98,.2)}.alert.error{background:#fde6e4;border-color:rgba(182,65,58,.2)}
.filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px;background:var(--surface,#fff);padding:14px;border-radius:var(--card-radius,10px);border:1px solid var(--border,#e0e8f0)}
.filter>div{min-width:160px}
.definition{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--border,#edf1f5)}
.definition>div{padding:9px}.definition>div:nth-child(odd){font-weight:bold;color:var(--muted,#53677c)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background-image:linear-gradient(135deg,var(--login-start,#eaf5fc),var(--login-end,#f5f9fd)),var(--login-bg-image);background-size:cover;background-position:center;background-attachment:fixed}
.login-card{width:min(430px,100%);background:var(--surface,#fff);padding:32px;border-radius:calc(var(--card-radius,12px) + 4px);box-shadow:0 20px 50px rgba(20,70,110,.14);border:1px solid var(--border);text-align:right}
.login-logo{display:block;height:72px;max-width:190px;object-fit:contain;margin:0 auto 16px}
.login-card h1{font-size:24px;margin:0 0 6px;text-align:center}
.login-card>p{text-align:center;margin:0 0 18px}
.login-card form p{margin:12px 0}
.login-style-glass .login-card{background:rgba(255,255,255,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.login-style-minimal .login-card{box-shadow:none;border:0;background:transparent;max-width:390px}
.empty{text-align:center;padding:35px;color:var(--muted,#718096)}
.print-only{display:none}

/* Appearance settings */
.settings-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.settings-main{min-width:0}
.settings-nav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;position:sticky;top:calc(var(--topbar-height) + 8px);z-index:6;background:var(--app-bg);padding:7px 0}
.settings-nav a{padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px}
.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);padding:20px;margin-bottom:16px;scroll-margin-top:calc(var(--topbar-height) + 60px)}
.settings-section h2{margin:0 0 6px;font-size:19px}
.settings-section>.section-note{margin:0 0 17px;color:var(--muted)}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.settings-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.setting-field{min-width:0}
.setting-field.full{grid-column:1/-1}
.setting-field.checkbox-field{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--border);border-radius:var(--button-radius);background:rgba(127,145,165,.045)}
.setting-field.checkbox-field label{margin:0;font-weight:600}
.setting-field.checkbox-field .helptext{margin:2px 0 0}
.color-field{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:center}
.color-input{width:54px;height:42px;padding:2px;border:1px solid var(--border);border-radius:var(--button-radius);background:var(--surface);cursor:pointer}
.file-current{display:block;margin-top:5px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.settings-preview{position:sticky;top:calc(var(--topbar-height) + 18px)}
.preview-frame{overflow:hidden;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--app-bg);box-shadow:0 12px 30px rgba(20,50,80,.1)}
.preview-topbar{height:52px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:9px}
.preview-logo{width:34px;height:34px;border-radius:8px;background:var(--primary);display:grid;place-items:center;color:white;font-weight:bold;overflow:hidden}
.preview-logo img{width:100%;height:100%;object-fit:contain;background:white}
.preview-body{display:grid;grid-template-columns:86px 1fr;min-height:300px}
.preview-sidebar{background:var(--secondary);padding:12px 7px}
.preview-sidebar span{display:block;height:22px;border-radius:5px;background:rgba(255,255,255,.13);margin-bottom:8px}
.preview-content{padding:12px}
.preview-card{height:68px;background:var(--surface);border:1px solid var(--border);border-radius:var(--card-radius);margin-bottom:10px;padding:10px;box-shadow:0 2px 8px rgba(30,60,90,.06)}
.preview-card.small{height:42px}
.preset-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}
.preset-button{border:1px solid var(--border);background:var(--surface);border-radius:var(--button-radius);padding:10px;cursor:pointer;text-align:right;color:var(--text)}
.preset-dots{display:flex;gap:4px;margin-top:6px}
.preset-dots i{width:18px;height:18px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.08)}
.settings-actions{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-start;padding:12px;background:rgba(244,247,251,.92);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--card-radius);z-index:7}
.danger-zone{border-color:rgba(182,65,58,.32);background:rgba(182,65,58,.035)}
.code-field textarea{direction:ltr;text-align:left;font-family:Consolas,monospace;font-size:13px;min-height:180px}

.compact-mode .content{padding-top:calc(var(--topbar-height) + 14px)}
.compact-mode .card,.compact-mode .form-card,.compact-mode .settings-section{padding:13px}
.compact-mode .table th,.compact-mode .table td{padding:7px 9px}
.compact-mode .sidebar a{padding:7px 10px}
.compact-mode .form-control,.compact-mode .form-select{padding:7px 9px}

body.theme-dark{--app-bg:#0f172a;--surface:#111827;--text:#e5e7eb;--muted:#94a3b8;--border:#263449}
body.theme-dark .btn:not(.primary):not(.secondary):not(.accent):not(.success):not(.warning):not(.danger){background:#263449;color:#e5e7eb}
body.theme-dark .badge{background:#263449;color:#dbeafe}
body.theme-dark .login-style-glass .login-card{background:rgba(17,24,39,.78)}
@media (prefers-color-scheme:dark){
 body.theme-auto{--app-bg:#0f172a;--surface:#111827;--text:#e5e7eb;--muted:#94a3b8;--border:#263449}
 body.theme-auto .btn:not(.primary):not(.secondary):not(.accent):not(.success):not(.warning):not(.danger){background:#263449;color:#e5e7eb}
}

@media(max-width:1100px){.settings-shell{grid-template-columns:1fr}.settings-preview{position:relative;top:auto;order:-1}.preview-frame{max-width:500px}}
@media(max-width:900px){
 .sidebar{transform:translateX(100%);transition:.2s}.sidebar-left .sidebar{transform:translateX(-100%)}
 .nav-open .sidebar{transform:none}
 .nav-open .mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:17}
 .content,.sidebar-left .content{margin-right:0;margin-left:0;padding:calc(var(--topbar-height) + 20px) 12px 30px}
 .menu-btn{display:inline-block;border:0;background:none;color:var(--text);font-size:22px;cursor:pointer}
 .brand-copy .muted{display:none}.user-area>span{display:none}
 .stat,.span-4,.span-6,.span-8{grid-column:span 12}.form-grid,.settings-grid,.settings-grid.three{grid-template-columns:1fr}.form-grid p,.setting-field.full{grid-column:1}
 .page-head{align-items:flex-start;flex-direction:column}.settings-nav{top:var(--topbar-height)}
}
@media(max-width:520px){.topbar{padding:0 10px}.brand-copy strong{font-size:17px}.brand-logo{max-width:90px}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}}
@media print{.topbar,.sidebar,.actions,.filter,.no-print,.settings-actions,.settings-nav{display:none!important}.content,.sidebar-left .content{margin:0;padding:0;max-width:none}.card,.table-wrap{box-shadow:none}.print-only{display:block}}

/* تقویم شمسی آفلاین */
.jalali-input-wrap{display:flex;position:relative;align-items:stretch;width:100%}
.jalali-input-wrap .jalali-date-input{padding-left:44px;cursor:pointer;background:var(--surface,#fff)}
.jalali-calendar-btn{position:absolute;left:3px;top:3px;bottom:3px;width:38px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--primary);font-size:20px;cursor:pointer;border-radius:var(--button-radius)}
.jalali-picker-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.52);z-index:9999;align-items:center;justify-content:center;padding:16px}
.jalali-picker-overlay.open{display:flex}
.jalali-picker{width:min(390px,100%);background:var(--surface,#fff);color:var(--text,#172033);border:1px solid var(--border,#dfe7f0);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.25);padding:16px;direction:rtl}
.jp-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:17px}
.jp-close{border:0;background:transparent;font-size:27px;color:var(--muted);cursor:pointer;line-height:1}
.jp-controls{display:grid;grid-template-columns:38px 1fr 92px 38px;gap:7px;margin-bottom:12px}
.jp-controls select,.jp-nav{border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:8px;font-family:inherit}
.jp-nav{font-size:22px;cursor:pointer;padding:0}
.jp-week,.jp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.jp-week{font-size:12px;color:var(--muted);padding-bottom:7px;border-bottom:1px solid var(--border);margin-bottom:7px}
.jp-day{aspect-ratio:1;border:0;background:transparent;border-radius:9px;color:var(--text);font:inherit;cursor:pointer}
.jp-day:hover{background:color-mix(in srgb,var(--primary) 12%,transparent)}
.jp-day.today{border:1px solid var(--primary);color:var(--primary);font-weight:700}
.jp-day.selected{background:var(--primary);color:#fff;border-color:var(--primary)}
.jp-empty{aspect-ratio:1}
.jp-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
body.jalali-picker-open{overflow:hidden}

/* رسیدها و فایل‌های پرونده */
.student-photo{width:112px;height:136px;object-fit:cover;border-radius:14px;border:1px solid var(--border);background:var(--app-bg)}
.file-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.receipt-sheet{max-width:850px;margin:0 auto;background:#fff;color:#111;padding:30px;border:1px solid #dfe4ea;border-radius:10px}
.receipt-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--primary);padding-bottom:14px;margin-bottom:18px}
.receipt-number{font-family:Tahoma,Arial,sans-serif;direction:ltr;text-align:left}
.receipt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid #ccd5df;margin:15px 0}
.receipt-grid>div{padding:10px;border-bottom:1px solid #e4e8ed}
.receipt-grid>div:nth-child(odd){background:#f6f8fa;font-weight:700}
.receipt-signatures{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:50px;text-align:center}

/* کارت اتصال پوز */
.pos-panel{margin-top:18px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-radius:var(--card-radius);padding:15px}
.pos-panel.hidden{display:none}
.pos-status{margin-top:10px;padding:9px 11px;border-radius:8px;background:var(--app-bg);color:var(--muted)}
.pos-status.success{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}
.pos-status.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}
.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
@media(max-width:600px){.receipt-grid{grid-template-columns:1fr}.receipt-grid>div:nth-child(odd){border-top:1px solid #e4e8ed}.receipt-signatures{grid-template-columns:1fr;gap:30px}.jp-controls{grid-template-columns:34px 1fr 86px 34px}}

/* نسخه 1.3: واحد ریال، ورودی پولی و رسید حرفه‌ای */
html,body,input,select,textarea,button,table{font-family:Vazirmatn,Vazir,"Vazir FD",Tahoma,Arial,sans-serif}
.money-input{direction:ltr!important;text-align:left!important;font-variant-numeric:tabular-nums;letter-spacing:.2px}
.receipt-header-centered{display:flex!important;flex-direction:column;align-items:center!important;justify-content:center!important;text-align:center!important;gap:5px}
.receipt-header-centered h1{margin:3px 0 0;font-size:26px}
.receipt-logo{display:block;max-width:155px;max-height:105px;object-fit:contain;margin:0 auto 3px}
.receipt-subtitle{font-weight:700;color:#374151}
.receipt-meta{direction:rtl;text-align:center;font-size:13px;color:#4b5563;margin-top:5px}
@media print{.receipt-sheet{border:0!important}.receipt-logo{max-width:145px}.receipt-header-centered{page-break-inside:avoid}}
/* v1.4 membership and reporting */
.status-tabs{display:flex;gap:10px;margin:0 0 18px;flex-wrap:wrap}.status-tab{display:flex;align-items:center;gap:9px;padding:11px 16px;border:1px solid var(--border,#dce5ed);border-radius:12px;background:var(--surface,#fff);color:var(--text,#172534);text-decoration:none;font-weight:700}.status-tab span{background:rgba(20,115,184,.12);padding:2px 8px;border-radius:999px}.status-tab.active{background:var(--primary,#1473b8);color:#fff;border-color:var(--primary,#1473b8)}.status-tab.active span{background:rgba(255,255,255,.22)}
.stat-link{text-decoration:none;color:inherit;transition:.18s transform,.18s box-shadow}.stat-link:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,60,90,.10)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head h3{margin:0}.inline-action-form{display:flex;align-items:center;gap:6px;min-width:480px}.compact-select{min-width:145px}.compact-input{min-width:170px}.danger-card{border:1px solid var(--danger,#d94141);max-width:760px}.btn.danger{background:var(--danger,#d94141);border-color:var(--danger,#d94141);color:#fff}.info-box{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(20,115,184,.08);border:1px solid rgba(20,115,184,.18);color:var(--text,#172534)}
@media(max-width:900px){.inline-action-form{min-width:330px;flex-wrap:wrap}.dashboard-stats .card{grid-column:span 6}}
.tariff-total-row{white-space:nowrap;margin:3px 0}.tariff-total-row span{color:var(--muted)}

/* v1.6 advanced dashboard and reporting */
.report-section>h2,.report-section .section-head h2{margin:0}
.report-filter{margin:12px 0 16px}
.tariff-filter-field{min-width:520px!important}
.tariff-filter-field ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.tariff-filter-field li{margin:0}
.tariff-filter-field label{display:flex;align-items:center;gap:6px;margin:0;padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-weight:600}
.tariff-report-card{grid-column:span 3;opacity:.68;transition:.15s}
.tariff-report-card.selected{opacity:1;border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:0 4px 16px color-mix(in srgb,var(--primary) 11%,transparent)}
.tariff-report-card h3{margin:4px 0 12px}
.report-month-title{margin:6px 0 14px;color:var(--primary)}
.report-stat-grid .stat{grid-column:span 3}
.renewal-filter{margin:12px 0}
.renewal-target-badge{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border));min-width:auto!important}
.renewal-target-badge strong{color:var(--primary);font-size:16px}
.renewal-summary{margin-bottom:14px}
.renewal-summary .stat{grid-column:span 4;padding:13px}
.small-number{font-size:20px!important}
@media(max-width:1100px){.tariff-report-card{grid-column:span 6}.report-stat-grid .stat{grid-column:span 6}.tariff-filter-field{min-width:100%!important}}
@media(max-width:650px){.tariff-report-card,.report-stat-grid .stat,.renewal-summary .stat{grid-column:span 12}.tariff-filter-field ul{display:grid;grid-template-columns:1fr}.renewal-target-badge{width:100%}}

/* Payment center 1.7.0 */
.payment-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:22px}
.payment-plan-title{font-size:18px!important;line-height:1.7}
.payment-plan-card{margin-bottom:22px}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-title-row h2,.section-title-row h3{margin:0}
.payment-type-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.payment-type-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;min-height:150px;padding:18px;border:2px solid var(--border);border-radius:var(--card-radius);background:var(--surface);cursor:pointer;transition:.18s ease}
.payment-type-card:hover{transform:translateY(-2px);border-color:var(--primary)}
.payment-type-card.selected{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent);background:color-mix(in srgb,var(--primary) 6%,var(--surface))}
.payment-type-card input{position:absolute;opacity:0;pointer-events:none}
.payment-type-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));font-size:24px;color:var(--primary);font-weight:800}
.payment-type-card strong{font-size:17px}
.payment-type-card small{color:var(--muted);line-height:1.7}
.plan-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border:1px dashed var(--border);border-radius:var(--card-radius);background:color-mix(in srgb,var(--background) 70%,var(--surface));margin-bottom:18px}
.plan-live-summary div{display:flex;flex-direction:column;gap:5px}.plan-live-summary span{color:var(--muted);font-size:13px}.plan-live-summary strong{font-size:16px}
.plan-cash-grid{align-items:end}.compact-grid{grid-template-columns:minmax(220px,360px)}
.instrument-section{margin:22px 0;padding-top:18px;border-top:1px solid var(--border)}
.instrument-cards{display:grid;gap:14px}
.instrument-card{border:1px solid var(--border);border-radius:var(--card-radius);padding:16px;background:color-mix(in srgb,var(--surface) 96%,var(--primary))}
.instrument-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.instrument-card-head h3{margin:0;font-size:17px}
.instrument-kind-label{padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-weight:700;font-size:12px}
.payment-center-columns{display:grid;grid-template-columns:1.35fr .85fr;gap:18px;margin:22px 0}
.large-button{min-width:240px;justify-content:center}
.field-error,.errorlist{color:var(--danger);font-size:13px;margin:5px 0 0}.errorlist{padding-right:18px}
.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}
.hidden{display:none!important}
@media(max-width:900px){.payment-type-cards{grid-template-columns:1fr}.plan-live-summary{grid-template-columns:1fr 1fr}.payment-center-columns{grid-template-columns:1fr}.payment-center-head{align-items:flex-start}}
@media(max-width:560px){.plan-live-summary{grid-template-columns:1fr}.payment-type-card{min-height:125px}}

/* نسخه ۱.۸: رابط فشرده و پویا برای روش پرداخت */
.payment-plan-select-grid{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:end;margin:14px 0 18px}
.payment-plan-select-grid p{margin:0}
.payment-plan-select-grid label{display:block;margin-bottom:7px;font-weight:700}
.compact-title-row{margin-bottom:12px}
.instrument-section[hidden],template{display:none!important}
@media(max-width:1100px){.payment-plan-select-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:620px){.payment-plan-select-grid{grid-template-columns:1fr}}

/* v2.1 central live dashboard sync */
.live-sync-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap;transition:.2s ease}
.live-sync-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 15%,transparent)}
.live-sync-badge.syncing .live-sync-dot{background:var(--warning);animation:kahkeshan-live-pulse 1s infinite}
.live-sync-badge.ok .live-sync-dot{background:var(--success)}
.live-sync-badge.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 5%,var(--surface))}
.live-sync-badge.error .live-sync-dot{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 15%,transparent)}
.live-sync-badge.paused{color:var(--warning)}
.live-sync-badge.paused .live-sync-dot{background:var(--warning);box-shadow:none}
@keyframes kahkeshan-live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
@media(max-width:720px){.live-sync-badge{width:100%;justify-content:center;order:3}.page-head .actions{flex-wrap:wrap}}
