@font-face{font-family:system-fa;src:local(Tahoma)}
:root{--primary:#0f6c74;--primary-2:#155e75;--accent:#14b8a6;--bg:#f4f7fa;--surface:#fff;--surface-2:#edf3f6;--text:#17212b;--muted:#687785;--line:#dbe3e9;--danger:#c2413a;--warning:#b7791f;--success:#17824b;--shadow:0 14px 38px rgba(30,55,75,.09);--sidebar:#132833;--sidebar-text:#d7e2e7;--sidebar-muted:#8fa5af}
html[data-theme="grey"]{--primary:#4b5563;--primary-2:#374151;--accent:#6b7280;--bg:#e5e7eb;--surface:#f5f5f5;--surface-2:#dadddf;--text:#20252b;--muted:#60676f;--line:#c8cdd2;--shadow:0 14px 38px rgba(30,35,40,.12);--sidebar:#2e3338;--sidebar-text:#f1f3f4;--sidebar-muted:#b9bec3}
html[data-theme="dark"]{--primary:#38bdf8;--primary-2:#0891b2;--accent:#2dd4bf;--bg:#0f1720;--surface:#18232d;--surface-2:#23313c;--text:#eef5f7;--muted:#a5b4be;--line:#30414d;--shadow:0 16px 42px rgba(0,0,0,.28);--sidebar:#0a1118;--sidebar-text:#edf6f8;--sidebar-muted:#83949f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;font-size:14px;transition:background .25s,color .25s}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1460px,calc(100% - 36px));margin:28px auto;min-height:70vh}.top{background:var(--surface);border-bottom:1px solid var(--line);padding:14px 2.5%;display:flex;align-items:center;justify-content:space-between;gap:22px;position:sticky;top:0;z-index:40;box-shadow:0 6px 20px rgba(0,0,0,.04)}.top-brand b{display:block;font-size:16px}.top-brand small{color:var(--muted)}.top nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.top nav a,.theme-mini{padding:9px 11px;border-radius:9px;text-decoration:none;border:0;background:transparent;color:var(--text)}.top nav a:hover,.theme-mini:hover{background:var(--surface-2)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:color-mix(in srgb,var(--primary) 10%,transparent);left:-25px;bottom:-28px}.stat span{color:var(--muted)}.stat b{font-size:30px;display:block;color:var(--primary);margin-top:8px}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;background:var(--primary);color:#fff;padding:10px 15px;text-decoration:none;cursor:pointer;transition:.18s}.btn:hover,button:hover{filter:brightness(.95);transform:translateY(-1px)}.btn.alt{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.btn.danger{background:var(--danger)}.btn.success{background:var(--success)}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);margin-top:6px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}textarea{min-height:100px;resize:vertical}label{display:block;margin:10px 0 4px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.full{grid-column:1/-1}.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--line);background:var(--surface)}table{width:100%;border-collapse:collapse;background:var(--surface)}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}th{background:var(--surface-2);font-size:13px;white-space:nowrap}tr:hover td{background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.alert{padding:13px 15px;border-radius:11px;margin:10px 0 18px}.ok{background:color-mix(in srgb,var(--success) 14%,var(--surface));color:var(--success)}.err{background:color-mix(in srgb,var(--danger) 13%,var(--surface));color:var(--danger)}.badge{display:inline-block;padding:5px 9px;border-radius:99px;background:var(--surface-2);font-size:12px}.badge.approved,.badge.active,.badge.paid{background:#dff4e7;color:#15703b}.badge.pending,.badge.queued{background:#fff0ce;color:#8b5b00}.badge.rejected,.badge.overdue,.badge.cancelled{background:#fde1e1;color:#a12323}.muted{color:var(--muted)}.actions{display:flex;gap:7px;flex-wrap:wrap}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title h1{margin:3px 0;font-size:26px}.page-kicker{color:var(--primary);font-weight:700}.count{background:#ef4444;color:#fff;border-radius:99px;padding:1px 6px}footer{text-align:center;color:var(--muted);padding:30px}
/* Admin shell */
.admin-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.admin-sidebar{height:100vh;position:sticky;top:0;background:var(--sidebar);color:var(--sidebar-text);padding:18px 13px;display:flex;flex-direction:column;overflow:auto;z-index:60}.admin-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 18px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.09)}.admin-brand>span{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:23px;font-weight:900;color:white}.admin-brand b,.admin-brand small{display:block}.admin-brand small{color:var(--sidebar-muted);margin-top:4px}.admin-user{display:flex;align-items:center;gap:10px;margin:14px 5px;padding:11px;border-radius:12px;background:rgba(255,255,255,.06)}.avatar{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-weight:900}.admin-user small{display:block;color:var(--sidebar-muted);margin-top:3px}.admin-menu{display:grid;gap:3px}.menu-label{font-size:11px;color:var(--sidebar-muted);padding:16px 11px 5px}.admin-menu a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sidebar-text);padding:10px 11px;border-radius:10px}.admin-menu a i{width:22px;text-align:center;font-style:normal;color:var(--sidebar-muted)}.admin-menu a:hover,.admin-menu a.active{background:rgba(255,255,255,.10);color:#fff}.admin-menu a.active{box-shadow:inset -3px 0 var(--accent)}.admin-menu a.active i{color:var(--accent)}.sidebar-logout{margin-top:auto;padding:11px;text-align:center;border-radius:10px;background:rgba(220,60,60,.15);color:#ffb6b6;text-decoration:none}.admin-main{min-width:0;display:flex;flex-direction:column}.admin-topbar{height:68px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:45}.sidebar-toggle{display:none}.icon-btn{width:40px;height:40px;border-radius:11px;background:var(--surface-2);color:var(--text);border:1px solid var(--line);text-decoration:none;display:inline-grid;place-items:center;position:relative}.icon-btn em{position:absolute;top:-5px;left:-5px;background:#ef4444;color:#fff;border-radius:99px;min-width:18px;height:18px;font-size:10px;display:grid;place-items:center;font-style:normal}.breadcrumb{display:flex;align-items:center;gap:8px;color:var(--muted)}.breadcrumb a{text-decoration:none}.breadcrumb b{color:var(--text)}.top-actions{display:flex;align-items:center;gap:8px}.theme-cycle{height:40px;background:var(--surface-2);color:var(--text);border:1px solid var(--line);padding:0 11px}.theme-dot{width:14px;height:14px;border-radius:50%;background:var(--primary)}.admin-content{width:100%;max-width:1700px;margin:0 auto;padding:24px 26px;flex:1}.admin-footer{padding:18px;text-align:center;border-top:1px solid var(--line);color:var(--muted)}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:17px;text-decoration:none;box-shadow:var(--shadow);transition:.2s}.module-card:hover{transform:translateY(-3px);border-color:var(--primary)}.module-card i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-style:normal;font-size:20px}.module-card h3{margin:12px 0 6px}.module-card p{margin:0;color:var(--muted);line-height:1.8;font-size:12px}
/* public responsive full desktop */
.public-body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden}.public-header,.hero,.public-section,.public-footer{width:min(1520px,calc(100% - 48px));max-width:none}.public-header{margin:14px auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);position:sticky;top:10px;z-index:50;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--primary)}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;display:grid;place-items:center;font-size:25px;font-weight:900}.brand b,.brand small{display:block}.brand small{color:var(--muted);margin-top:4px}.public-nav{display:flex;align-items:center;gap:4px}.public-nav a,.public-nav button{padding:10px 13px;border-radius:11px;text-decoration:none;color:var(--text);font-weight:700;background:transparent}.public-nav a:hover,.public-nav button:hover{background:var(--surface-2)}.public-nav .nav-cta{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}.menu-toggle{display:none}.hero{margin:28px auto 0;padding:72px clamp(32px,5vw,80px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:54px;align-items:center;border-radius:34px;background:radial-gradient(circle at 12% 15%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 30%),linear-gradient(135deg,var(--surface-2),var(--surface));border:1px solid var(--line);box-shadow:var(--shadow)}.hero h1{font-size:clamp(34px,4vw,58px);line-height:1.45;margin:18px 0}.hero h1 em{font-style:normal;color:var(--primary)}.hero p{font-size:17px;line-height:2;color:var(--muted);max-width:850px}.eyebrow{display:inline-flex;padding:7px 13px;border-radius:999px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--primary);font-weight:800}.hero-actions,.trust-row{display:flex;gap:11px;flex-wrap:wrap;margin:24px 0}.trust-row span{background:var(--surface);border:1px solid var(--line);padding:8px 11px;border-radius:999px}.hero-panel{background:var(--surface);padding:30px;border-radius:28px;text-align:center;box-shadow:var(--shadow);border:1px solid var(--line)}.hero-logo{width:90px;height:90px;margin:auto;display:grid;place-items:center;border-radius:28px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:46px;font-weight:900}.hero-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.hero-stats b{font-size:30px;color:var(--primary);display:block}.steps{width:min(1200px,calc(100% - 48px));margin:34px auto;display:flex;align-items:center;justify-content:center;gap:14px}.steps div{display:flex;align-items:center;gap:8px;background:var(--surface);padding:9px 13px;border-radius:14px;border:1px solid var(--line)}.steps b{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center}.steps i{width:55px;height:2px;background:var(--line)}.public-section{margin:78px auto;padding:0}.section-head{text-align:center;margin-bottom:30px}.section-head h2{font-size:clamp(25px,3vw,38px);margin:8px 0}.section-head>span,.section-head div>span{color:var(--primary);font-weight:800}.service-grid,.news-grid,.loan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-grid article,.news-card,.loan-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow);transition:.25s}.service-grid article:hover,.news-card:hover,.loan-card:hover{transform:translateY(-5px)}.service-grid article>span{font-size:36px}.service-grid p,.news-card p,.loan-card p{line-height:1.95;color:var(--muted)}.loan-card .loan-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));font-size:25px}.loan-meta{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.loan-meta span{font-size:12px;background:var(--surface-2);padding:6px 8px;border-radius:9px}.section-head.inline{display:flex;align-items:end;justify-content:space-between;text-align:right}.section-head.inline a,.news-card a,.loan-card a{color:var(--primary);text-decoration:none;font-weight:800}.news-card time{font-size:12px;color:var(--muted)}.cta{width:min(1320px,calc(100% - 48px));margin:75px auto;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,var(--primary-2),var(--primary));color:#fff;border-radius:28px}.cta .btn{background:#fff;color:#163b4a}.public-footer{margin:auto;padding:30px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:1250px){.module-grid,.admin-dashboard-grid,.service-grid,.news-grid,.loan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;right:0;top:0;width:280px;transform:translateX(105%);transition:.22s}.admin-sidebar.open{transform:translateX(0)}.sidebar-toggle{display:inline-grid}.hero{grid-template-columns:1fr}.service-grid,.news-grid,.loan-grid,.module-grid,.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}}
@media(max-width:680px){.container,.public-header,.hero,.public-section,.public-footer{width:calc(100% - 20px)}.admin-content{padding:18px 12px}.admin-topbar{padding:0 10px}.breadcrumb span,.breadcrumb a{display:none}.theme-cycle b{display:none}.public-header{margin:8px auto;padding:10px 12px}.brand small{display:none}.menu-toggle{display:block}.public-nav{display:none;position:absolute;top:70px;right:10px;left:10px;flex-direction:column;align-items:stretch;background:var(--surface);padding:12px;border-radius:16px;box-shadow:var(--shadow)}.public-nav.open{display:flex}.hero{padding:32px 20px;border-radius:24px}.hero h1{font-size:29px}.service-grid,.news-grid,.loan-grid,.module-grid,.admin-dashboard-grid{grid-template-columns:1fr}.steps{display:grid;grid-template-columns:1fr 1fr}.steps i{display:none}.section-head.inline,.cta,.public-footer,.page-title{align-items:flex-start;flex-direction:column}.table-wrap{font-size:12px}.actions{min-width:180px}}
@media print{.top,.admin-sidebar,.admin-topbar,footer,.print-hide,.actions,button,form{display:none!important}.admin-shell{display:block}.admin-content,.container{max-width:none;width:100%;padding:0;margin:0}.card{box-shadow:none;border:1px solid #aaa}}

/* dashboard refinement */
.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px;margin-bottom:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface));box-shadow:var(--shadow)}
.dashboard-welcome h2{margin:10px 0 7px;font-size:25px}.dashboard-welcome p{margin:0;color:var(--muted);line-height:1.9}.welcome-badge{display:inline-flex;padding:6px 11px;border-radius:999px;background:var(--primary);color:white;font-size:12px;font-weight:800}.welcome-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}.dashboard-columns{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;margin:18px 0}.dashboard-columns .card{margin:0}.section-mini-head h3,.dashboard-note h3{margin:5px 0 12px}.section-mini-head small,.dashboard-note>small{color:var(--primary);font-weight:800}.attention-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.attention-list a{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--surface-2)}.attention-list a:hover{border-color:var(--primary)}.attention-list b{font-size:20px;color:var(--primary)}.attention-list .danger-row b{color:var(--danger)}.dashboard-note ol{margin:0;padding-right:20px;color:var(--muted);line-height:2.15}.danger-stat b{color:var(--danger)}
.admin-user{min-height:62px}.admin-user>div:last-child{min-width:0}.admin-user b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:175px}.admin-user small{direction:ltr;text-align:right}
@media(max-width:900px){.dashboard-columns{grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start;flex-direction:column}.attention-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.attention-list{grid-template-columns:1fr}.dashboard-welcome{padding:20px}.dashboard-welcome h2{font-size:20px}}

/* Persian typography and premium visual refresh */
@font-face{font-family:"Vazirmatn Local";src:local("Vazirmatn"),local("Vazir"),local("Vazir FD");font-display:swap}
@font-face{font-family:"IRANSansX Local";src:local("IRANSansX"),local("IRANSans"),local("IranSans");font-display:swap}
@font-face{font-family:"Estedad Local";src:local("Estedad"),local("Estedad FD");font-display:swap}
:root{--font-body:"Vazirmatn Local","IRANSansX Local","Segoe UI",Tahoma,Arial,sans-serif;--font-heading:"Estedad Local","Vazirmatn Local","IRANSansX Local",Tahoma,sans-serif}
body,button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3,h4,.brand b,.top-brand b,.admin-brand b{font-family:var(--font-heading);font-weight:800;letter-spacing:-.025em}.hero h1{font-weight:900;letter-spacing:-.05em}.public-body{background-image:radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 23%),radial-gradient(circle at 94% 14%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 22%)}
.public-header{box-shadow:0 20px 60px rgba(20,45,58,.1)}.hero{position:relative;isolation:isolate;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;z-index:-1;filter:blur(2px)}.hero:before{width:380px;height:380px;left:-150px;top:-170px;background:color-mix(in srgb,var(--accent) 16%,transparent)}.hero:after{width:260px;height:260px;right:34%;bottom:-180px;background:color-mix(in srgb,var(--primary) 10%,transparent)}.hero-panel{position:relative;overflow:hidden}.hero-panel:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--primary),var(--accent))}.service-grid article,.loan-card,.news-card{position:relative;overflow:hidden}.service-grid article:before,.loan-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transform-origin:right;transition:.25s}.service-grid article:hover:before,.loan-card:hover:before{transform:scaleX(1)}
/* profile page */
.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 11%,var(--surface)),var(--surface))}.profile-hero h2{font-size:28px;margin:12px 0 7px}.profile-hero p{margin:0;color:var(--muted);line-height:1.9}.profile-status-box{min-width:190px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}.profile-status-box small{display:block;color:var(--muted);margin-bottom:9px}.profile-status-box p{font-size:12px;margin-top:10px}.profile-form{display:grid;gap:18px}.form-section{margin:0}.form-section-title{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid var(--line)}.form-section-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:900;font-size:18px}.form-section-title h3{margin:0 0 4px}.form-section-title p{margin:0;color:var(--muted);font-size:12px}.ltr-input{direction:ltr;text-align:left}.identity-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.identity-upload-card{margin:0;border:1.5px dashed var(--line);border-radius:20px;background:linear-gradient(180deg,var(--surface),var(--surface-2));padding:14px;cursor:pointer;transition:.22s;min-width:0}.identity-upload-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow)}.identity-upload-card.has-file{border-style:solid;border-color:color-mix(in srgb,var(--success) 55%,var(--line))}.identity-upload-card>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.document-preview{height:190px;border-radius:15px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.document-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.doc-placeholder{font-size:54px;filter:grayscale(.15)}.pdf-preview{width:84px;height:104px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#ef4444,#b91c1c);color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(185,28,28,.24)}.document-copy{padding:14px 4px 3px}.document-copy h4{margin:0 0 7px;font-size:16px}.document-copy p{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.8;min-height:42px}.upload-action{display:inline-flex;padding:7px 11px;border-radius:9px;background:var(--primary);color:#fff;font-size:12px}.view-current{display:inline-flex;margin-right:7px;color:var(--primary);font-size:12px;text-decoration:none}.upload-hint{margin-top:14px;padding:11px 13px;border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:12px}.extra-docs{display:grid;gap:10px}.sticky-submit{position:sticky;bottom:14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(20,40,55,.16)}.sticky-submit b,.sticky-submit small{display:block}.sticky-submit small{color:var(--muted);margin-top:4px}.section-head-row{display:flex;align-items:center;justify-content:space-between}.section-head-row h3{margin:0}.section-head-row p{margin:5px 0 0;color:var(--muted)}.document-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.document-list-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:var(--surface-2)}.document-list-item:hover{border-color:var(--primary)}.document-list-item b,.document-list-item small{display:block}.document-list-item small{color:var(--muted);margin-top:3px}.file-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--surface);font-size:20px}.empty-state{grid-column:1/-1;text-align:center;padding:24px;color:var(--muted);border:1px dashed var(--line);border-radius:14px}
@media(max-width:1000px){.identity-upload-grid{grid-template-columns:1fr 1fr}.profile-hero{align-items:flex-start}.profile-status-box{min-width:165px}.document-list{grid-template-columns:1fr}}
@media(max-width:680px){.identity-upload-grid{grid-template-columns:1fr}.profile-hero,.sticky-submit{align-items:stretch;flex-direction:column}.profile-status-box{width:100%}.document-preview{height:210px}.sticky-submit{bottom:8px}.sticky-submit .btn{width:100%}}

/* System health center */
.health-list{display:grid;gap:10px}.health-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--border,#dfe4ea);border-radius:14px;background:var(--card,#fff)}.health-row small{display:block;margin-top:3px;opacity:.72}.health-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900;font-size:20px}.health-ok .health-icon{background:#dcfce7;color:#15803d}.health-warn .health-icon{background:#fef3c7;color:#a16207}.health-bad .health-icon{background:#fee2e2;color:#b91c1c}.health-warn{border-color:#f5d98b}.health-bad{border-color:#f3b1b1}.error-log{direction:ltr;text-align:left;white-space:pre-wrap;max-height:420px;overflow:auto;background:#101827;color:#d1fae5;padding:18px;border-radius:15px;font:12px/1.8 Consolas,monospace}.test-steps{line-height:2.1;padding-right:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.btn.danger{background:#b91c1c;color:#fff}

/* Audit & activity center */
.audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.audit-summary>div{background:linear-gradient(145deg,var(--card,#fff),color-mix(in srgb,var(--primary,#3157d5) 7%,var(--card,#fff)));border:1px solid var(--border,#dfe3ea);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:5px;box-shadow:0 8px 28px #0000000b}.audit-summary b{font-size:25px;font-weight:900}.audit-summary span{color:var(--muted,#667085);font-size:13px}.audit-filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px;align-items:end}.audit-filters label{margin:0}.audit-filter-actions{display:flex;gap:8px;align-items:center;grid-column:span 2}.audit-table td{vertical-align:middle}.audit-table td small,.audit-table td b{display:block;margin-top:4px}.audit-action{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:800;font-size:12px}.audit-action.info{background:#eaf2ff;color:#175cd3}.audit-action.success{background:#e8f8ef;color:#067647}.audit-action.warning{background:#fff4df;color:#b54708}.audit-action.danger{background:#feeceb;color:#b42318}.audit-action.security{background:#f2eafe;color:#6938b7}.integrity-ok,.integrity-bad{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.integrity-ok{background:#e8f8ef;color:#067647}.integrity-bad{background:#feeceb;color:#b42318}.btn.tiny{padding:7px 10px;font-size:12px}.pagination{display:flex;justify-content:center;gap:6px;margin:18px}.pagination a{min-width:36px;height:36px;display:grid;place-items:center;background:var(--card,#fff);border:1px solid var(--border,#ddd);border-radius:10px}.pagination a.active{background:var(--primary,#3157d5);color:#fff}.audit-detail-overlay{position:fixed;inset:0;background:#111827a8;z-index:9999;display:grid;place-items:center;padding:22px;backdrop-filter:blur(8px)}.audit-detail{width:min(950px,96vw);max-height:92vh;overflow:auto;background:var(--card,#fff);color:var(--text,#1d2939);border-radius:24px;padding:24px;box-shadow:0 24px 80px #0005}.audit-detail-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border,#ddd);padding-bottom:16px}.audit-detail-head code{display:block;font-size:11px}.audit-detail-head h2{margin:8px 0 0}.audit-detail .close{width:42px;height:42px;border-radius:50%;background:var(--soft,#f2f4f7);display:grid;place-items:center;font-size:28px}.audit-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.audit-meta div{padding:12px;background:var(--soft,#f7f8fa);border-radius:13px}.audit-meta span,.audit-meta b{display:block}.audit-meta span{font-size:11px;color:var(--muted,#667085);margin-bottom:5px}.audit-detail section{margin-top:16px}.audit-detail pre{direction:ltr;text-align:left;white-space:pre-wrap;background:#111827;color:#e5e7eb;border-radius:14px;padding:16px;max-height:300px;overflow:auto}.health-good{padding:20px;border-radius:14px;background:#e8f8ef;color:#067647;text-align:center;font-weight:800}.empty{text-align:center;padding:35px!important;color:var(--muted,#667085)}
@media(max-width:1100px){.audit-filters{grid-template-columns:repeat(3,1fr)}.audit-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.audit-summary,.audit-filters,.audit-meta{grid-template-columns:1fr}.audit-filter-actions{grid-column:auto;flex-wrap:wrap}.audit-detail{padding:16px}.audit-table th:nth-child(4),.audit-table td:nth-child(4),.audit-table th:nth-child(5),.audit-table td:nth-child(5){display:none}}


/* === Persian typography v2: production override === */
:root{
  --font-body:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif;
  --font-heading:"Estedad","Vazirmatn","IRANSansX",Tahoma,sans-serif;
}
html{font-size:16px;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body,button,input,select,textarea{font-family:var(--font-body)!important;font-feature-settings:"ss01" 1,"tnum" 1;font-variant-numeric:tabular-nums}
body{font-size:15px;line-height:1.85;font-weight:400}
h1,h2,h3,h4,h5,h6,.brand b,.top-brand b,.admin-brand b,.page-title h1,.section-head h2,.hero h1{
  font-family:var(--font-heading)!important;
  font-weight:800;
  letter-spacing:-.035em;
}
.public-nav a,.public-nav button,.btn,button{font-weight:700}
.brand b{font-size:17px;line-height:1.45}.brand small{font-size:11.5px}
.public-nav a,.public-nav button{font-size:13px}
.hero{padding-block:68px}
.hero h1{font-size:clamp(38px,4.2vw,66px);line-height:1.42;margin:18px 0 20px}
.hero h1 em{font-weight:900}
.hero p{font-size:17px;line-height:2.15;font-weight:400}
.eyebrow{font-size:12.5px;font-weight:700}
.btn.big{font-size:14px;padding:13px 20px;border-radius:13px}
.trust-row span{font-size:12px;font-weight:500}
.hero-panel h3{font-family:var(--font-heading);font-size:20px;margin:17px 0 5px}
.hero-panel p{font-size:13px;line-height:1.8;margin:0}
.hero-stats b{font-family:var(--font-heading);font-size:32px}.hero-stats span{font-size:12px;color:var(--muted)}
.steps span{font-size:13px;font-weight:600}.steps b{font-family:var(--font-heading);font-size:15px}
.section-head>span,.section-head div>span{font-size:13px;letter-spacing:0}
.section-head h2{font-size:clamp(28px,3vw,42px);line-height:1.5;margin:7px 0}
.service-grid article,.loan-card,.news-card{padding:27px}
.service-grid article>span{font-size:40px}
.service-grid h3,.loan-card h3,.news-card h3{font-family:var(--font-heading);font-size:18px;line-height:1.65;margin:15px 0 8px;font-weight:800}
.service-grid p,.news-card p,.loan-card p{font-size:13.5px;line-height:2.05;margin-bottom:14px}
.service-grid a,.loan-card a,.news-card a,.section-head.inline a{font-size:12.5px;font-weight:700}
.loan-meta span{font-family:var(--font-body);font-size:11.5px;font-weight:600}
.news-card time{font-size:11px}
.cta h2{font-family:var(--font-heading);font-size:28px;margin:0 0 7px}.cta p{font-size:13.5px;margin:0;opacity:.9}
.public-footer{font-size:12px}
/* administration typography */
.admin-menu a{font-size:13px;font-weight:600}.menu-label{font-size:10.5px;font-weight:700;letter-spacing:0}.admin-user b{font-size:13px}.admin-user small{font-size:10.5px}
.page-title h1{font-size:28px;line-height:1.5}.page-kicker{font-size:12px}
.card h2,.card h3,.module-card h3{font-family:var(--font-heading);font-weight:800}
.module-card h3{font-size:16px}.module-card p{font-size:12.5px;line-height:1.95}
th{font-size:12px;font-weight:700}td{font-size:13px}
label{font-size:13px}input,select,textarea{font-size:14px}
@media(max-width:680px){
  body{font-size:14px}.hero h1{font-size:32px;line-height:1.55}.hero p{font-size:14px}.section-head h2{font-size:27px}.service-grid h3,.loan-card h3,.news-card h3{font-size:17px}
}
/* Professional document editor, field guidance and resilient forms */
.form-error-summary{display:flex;gap:15px;align-items:flex-start;margin:0 0 18px;padding:17px 19px;border:1px solid color-mix(in srgb,#dc2626 35%,var(--line));border-radius:18px;background:color-mix(in srgb,#fee2e2 72%,var(--surface));color:#7f1d1d;box-shadow:0 12px 30px rgba(127,29,29,.08)}
.error-summary-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#dc2626;color:#fff;font-weight:900;font-size:21px}.form-error-summary b{font-size:15px}.form-error-summary p{margin:5px 0;color:inherit}.form-error-summary ul{margin:8px 0 0;padding-right:18px;display:grid;gap:4px}.form-error-summary a{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor}
.form-grid label.has-error input,.form-grid label.has-error textarea,.form-grid label.has-error select{border-color:#dc2626!important;box-shadow:0 0 0 4px rgba(220,38,38,.1)!important;background:color-mix(in srgb,#fff1f2 48%,var(--surface))}.field-error{display:block;color:#b91c1c;font-size:11.5px;font-weight:700;line-height:1.7;margin-top:6px}.field-help{display:block;color:var(--muted);font-size:10.5px;font-weight:500;margin-top:5px;line-height:1.6}
.identity-upload-card{position:relative}.identity-upload-card.has-error{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.08)}.upload-card-button{display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;text-align:inherit;font:inherit;cursor:pointer}.image-spec{display:inline-flex;margin-right:7px;padding:6px 9px;border-radius:9px;background:var(--surface);color:var(--muted);font-size:10px}.identity-upload-card>.view-current{margin:8px 5px 2px}.document-preview img{object-fit:contain}.identity-upload-card[data-aspect="1.583"] .document-preview{aspect-ratio:1.583;height:auto;min-height:150px}.identity-upload-card[data-aspect="0.707"] .document-preview{aspect-ratio:.707;height:auto;max-height:300px}
.crop-modal[hidden]{display:none!important}.crop-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(8,15,24,.76);backdrop-filter:blur(8px)}body.modal-open{overflow:hidden}.crop-dialog{width:min(920px,96vw);max-height:94vh;overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:var(--surface);box-shadow:0 28px 90px rgba(0,0,0,.42);padding:18px}.crop-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.crop-header h3{margin:0 0 5px;font-size:20px}.crop-header p{margin:0;color:var(--muted);font-size:12px}.crop-close{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:25px;cursor:pointer}.crop-stage{position:relative;width:100%;max-height:62vh;margin:auto;overflow:hidden;border-radius:18px;background:#17212b;touch-action:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.crop-stage canvas{display:block;width:100%;height:100%;cursor:grab}.crop-stage canvas:active{cursor:grabbing}.crop-guide{pointer-events:none;position:absolute;inset:0;border:2px solid rgba(255,255,255,.92);border-radius:14px;box-shadow:0 0 0 9999px rgba(0,0,0,.08) inset}.crop-guide:before,.crop-guide:after{content:"";position:absolute;inset:33.333% 0 auto;border-top:1px dashed rgba(255,255,255,.35)}.crop-guide:after{inset:66.666% 0 auto}.crop-controls{display:grid;grid-template-columns:auto minmax(200px,1fr) auto;align-items:center;gap:14px;margin-top:15px}.crop-controls label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.crop-controls input[type=range]{width:100%;accent-color:var(--primary)}.crop-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
@media(max-width:680px){.crop-modal{padding:8px}.crop-dialog{padding:12px;border-radius:18px}.crop-controls{grid-template-columns:1fr 1fr}.crop-controls label{grid-column:1/-1;grid-row:1}.crop-actions .btn{flex:1}.form-error-summary{padding:14px}.identity-upload-card[data-aspect="0.707"] .document-preview{max-height:360px}}
/* پرونده و کراپ حرفه‌ای */
.profile-print-link{margin-top:12px;width:100%;justify-content:center}.identity-upload-card.crop-complete{border-color:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 12%,transparent)}.identity-upload-card.crop-complete .upload-action:before{content:"✓ ";font-weight:900}.crop-stage{min-height:300px}.crop-dialog{overscroll-behavior:contain}.document-preview{background:linear-gradient(145deg,#f8fafb,#eef2f3)}.document-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.identity-upload-card[data-aspect="1.583"] .document-preview{height:auto;aspect-ratio:1.583}.identity-upload-card[data-aspect="0.707"] .document-preview{height:min(310px,42vw);aspect-ratio:.707;margin-inline:auto}.identity-upload-card .field-error{display:block;margin-top:10px}.crop-header h3{font-weight:900}.crop-actions .btn{min-width:150px}
@media(max-width:680px){.crop-stage{min-height:240px}.identity-upload-card[data-aspect="0.707"] .document-preview{height:360px}.crop-actions{position:sticky;bottom:0;background:var(--surface);padding-top:10px}}
