:root {
  --primary: #007c67;
  --primary-2: #00a486;
  --primary-dark: #00594d;
  --primary-soft: #e6f7f3;
  --navy: #102840;
  --gold: #d3a23a;
  --gold-soft: #fff7df;
  --red: #cf3340;
  --orange: #e98936;
  --blue: #3578d3;
  --ink: #10283f;
  --muted: #64748b;
  --line: #dce8e5;
  --surface: #ffffff;
  --background: #f4faf8;
  --shadow-sm: 0 5px 18px rgba(7, 62, 54, .08);
  --shadow: 0 18px 50px rgba(7, 62, 54, .12);
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --font: "Vazirmatn", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--background); font-family: var(--font); line-height: 1.8; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }
svg.icon { width: 1.35em; height: 1.35em; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.section { padding: 78px 0; }
.section-soft { background: linear-gradient(180deg, rgba(226,247,242,.8), rgba(255,255,255,.92)); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.section-heading h2 { margin: 4px 0 0; font-size: clamp(1.55rem, 3vw, 2.2rem); line-height: 1.35; }
.section-heading p { color: var(--muted); margin: 4px 0 0; }
.eyebrow { margin: 0; color: var(--primary); font-weight: 800; font-size: .82rem; letter-spacing: .02em; }
.gold { color: var(--gold); }
.muted { color: var(--muted); }
.text-danger { color: var(--red); }
.text-success { color: var(--primary); }
.only-mobile { display: none; }

.btn { border: 0; border-radius: 13px; min-height: 46px; padding: 10px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 750; transition: .2s ease; white-space: nowrap; }
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--primary-2), var(--primary-dark)); box-shadow: 0 9px 22px rgba(0,124,103,.22); }
.btn-secondary { color: var(--primary-dark); background: var(--primary-soft); border: 1px solid #b9e7dd; }
.btn-gold { color: #3e2d05; background: linear-gradient(135deg, #f2d27d, var(--gold)); }
.btn-danger { color: #fff; background: var(--red); }
.btn-ghost { color: var(--primary-dark); background: #fff; border: 1px solid var(--line); }
.btn-sm { min-height: 40px; padding: 7px 16px; font-size: .9rem; }
.btn-block { width: 100%; }
.icon-button { width: 43px; height: 43px; padding: 0; border: 1px solid var(--line); border-radius: 13px; color: var(--primary-dark); background: #fff; display: inline-flex; align-items: center; justify-content: center; }

.site-header { height: 76px; padding: 0 max(24px, calc((100vw - 1180px) / 2)); display: flex; align-items: center; gap: 28px; position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.93); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(216,232,228,.85); }
.brand, .app-brand, .footer-brand { display: flex; align-items: center; gap: 10px; }
.brand img { width: 50px; height: 50px; object-fit: contain; }
.brand span, .app-brand span, .footer-brand span { display: grid; line-height: 1.2; }
.brand strong, .app-brand strong, .footer-brand strong { color: var(--primary-dark); font-size: 1.2rem; }
.brand small, .app-brand small, .footer-brand small { color: var(--muted); font-size: .67rem; margin-top: 4px; }
.main-nav { display: flex; align-items: center; gap: 26px; margin-inline-start: auto; }
.main-nav a { font-size: .91rem; font-weight: 650; position: relative; }
.main-nav a::after { content: ""; position: absolute; inset-inline: 50%; bottom: -8px; height: 2px; background: var(--primary); transition: .2s; }
.main-nav a:hover::after { inset-inline: 0; }
.header-actions { display: flex; gap: 9px; }
.nav-toggle { display: none; margin-inline-start: auto; }

.hero { min-height: 650px; position: relative; overflow: hidden; background: #effaf7; }
.hero-media { position: absolute; inset: 0; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(248,255,253,.05) 0, rgba(249,255,253,.55) 42%, rgba(249,255,253,.98) 76%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-content { min-height: 650px; display: grid; grid-template-columns: 1fr .92fr; align-items: center; position: relative; z-index: 1; }
.hero-copy { grid-column: 2; padding: 62px 0 78px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 9px; padding: 7px 12px; border-radius: 999px; color: var(--primary-dark); background: rgba(255,255,255,.8); border: 1px solid #cae9e2; font-weight: 700; }
.hero-kicker::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(211,162,58,.16); }
.hero h1 { margin: 18px 0 14px; font-size: clamp(2.25rem, 5vw, 4.55rem); line-height: 1.22; color: var(--primary-dark); letter-spacing: -.04em; }
.hero h1 span { color: var(--primary); }
.hero-copy > p { max-width: 630px; font-size: 1.08rem; color: #40546a; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; color: #39596a; font-size: .88rem; }
.hero-trust span { display: flex; align-items: center; gap: 6px; }
.hero-trust svg { color: var(--primary); }
.hero-wave { position: absolute; bottom: -1px; left: 0; width: 100%; z-index: 2; height: 64px; color: var(--background); }
.intake-notice { display: flex; gap: 13px; align-items: flex-start; max-width: 600px; padding: 14px 16px; border-radius: 15px; margin-top: 22px; background: rgba(255,247,223,.94); border: 1px solid #ecd28b; }
.intake-notice svg { flex: 0 0 auto; color: #a8780e; margin-top: 3px; }
.intake-notice strong { display: block; }
.intake-notice p { margin: 0; color: #6e551e; font-size: .85rem; }

.service-grid, .cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.service-card, .card { border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.96); box-shadow: var(--shadow-sm); }
.service-card { min-height: 250px; padding: 25px; position: relative; overflow: hidden; transition: .25s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); border-color: #b9ded6; }
.service-card::before { content: ""; position: absolute; width: 120px; height: 120px; border-radius: 50%; left: -45px; top: -55px; background: var(--primary-soft); }
.service-icon { width: 62px; height: 62px; border-radius: 18px; display: grid; place-items: center; color: var(--primary); background: linear-gradient(145deg,#d9f5ee,#fff); border: 1px solid #b6e8dd; }
.service-icon svg { width: 34px; height: 34px; }
.service-card h3 { margin: 20px 0 7px; font-size: 1.08rem; }
.service-card p { color: var(--muted); font-size: .87rem; margin: 0 0 18px; }
.service-link { color: var(--primary); font-weight: 800; font-size: .86rem; display: inline-flex; align-items: center; gap: 8px; }

.stats-ribbon { margin: 0 auto; width: min(1240px, calc(100% - 32px)); background: linear-gradient(120deg, #006153, #00967b); color: #fff; border-radius: 22px; box-shadow: 0 20px 38px rgba(0,87,73,.24); display: grid; grid-template-columns: repeat(4,1fr); padding: 18px 22px; position: relative; overflow: hidden; }
.stats-ribbon::after { content: ""; position: absolute; inset: 0; opacity: .08; background-image: url('../img/pattern.svg'); }
.stat { display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 70px; position: relative; z-index: 1; }
.stat + .stat { border-inline-start: 1px solid rgba(255,255,255,.2); }
.stat-icon { width: 51px; height: 51px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.12); color: #f3ce74; border: 1px solid rgba(255,255,255,.22); }
.stat strong { display: block; font-size: 1.6rem; line-height: 1.1; }
.stat small { color: rgba(255,255,255,.75); }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px; counter-reset: step; }
.step { text-align: center; position: relative; }
.step:not(:last-child)::after { content: ""; position: absolute; top: 33px; right: calc(50% + 50px); width: calc(100% - 65px); border-top: 2px dashed #a9d8cf; }
.step-number { width: 68px; height: 68px; margin: 0 auto 15px; border-radius: 20px; background: #fff; color: var(--primary); display: grid; place-items: center; box-shadow: var(--shadow-sm); border: 1px solid #cce9e3; font-size: 1.25rem; font-weight: 900; transform: rotate(6deg); }
.step-number span { transform: rotate(-6deg); }
.step h3 { margin: 0 0 4px; }
.step p { margin: 0; color: var(--muted); font-size: .86rem; }

.map-showcase { display: grid; grid-template-columns: .8fr 1.2fr; gap: 30px; align-items: stretch; }
.map-copy { padding: 35px; background: linear-gradient(150deg,#064c43,#00806b); color: #fff; border-radius: var(--radius-lg); position: relative; overflow: hidden; }
.map-copy::after { content: ""; position: absolute; left: -90px; bottom: -90px; width: 260px; height: 260px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 38px rgba(255,255,255,.04),0 0 0 76px rgba(255,255,255,.03); }
.map-copy h2 { font-size: 2rem; line-height: 1.45; margin: 5px 0 10px; }
.map-copy p { color: rgba(255,255,255,.75); }
.map-copy .btn { position: relative; z-index: 1; margin-top: 14px; }
.map-frame { min-height: 410px; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); border: 6px solid #fff; position: relative; }
#public-map, #picker-map { width: 100%; height: 100%; min-height: 410px; direction: ltr; }
.map-placeholder { height: 100%; background: url('../img/mokeb-path.webp') center/cover; }

.mokeb-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.mokeb-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.mokeb-card-media { height: 165px; background: linear-gradient(140deg,#d8f3ec,#f8fafc); position: relative; overflow: hidden; }
.mokeb-card-media img { width: 100%; height: 100%; object-fit: cover; }
.mokeb-card-media .placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: var(--primary); }
.mokeb-card-media .placeholder svg { width: 75px; height: 75px; }
.rating { position: absolute; left: 12px; top: 12px; border-radius: 999px; background: rgba(255,255,255,.93); padding: 4px 9px; display: flex; gap: 4px; align-items: center; font-size: .78rem; font-weight: 800; }
.rating svg { color: #e4ad29; width: 16px; height: 16px; fill: currentColor; }
.mokeb-card-body { padding: 17px; }
.mokeb-card-body h3 { margin: 0 0 5px; }
.mokeb-card-body p { color: var(--muted); margin: 0; font-size: .84rem; }
.mokeb-card-body footer { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); font-size: .82rem; }
.empty-state { padding: 45px 25px; text-align: center; border: 1px dashed #b8d7d1; background: rgba(255,255,255,.7); border-radius: var(--radius); }
.empty-state svg { width: 60px; height: 60px; color: #8bbfb5; }
.empty-state h3 { margin: 10px 0 3px; }
.empty-state p { color: var(--muted); margin: 0 0 15px; }

.site-footer { background: #054b43; color: #fff; min-height: 190px; padding: 36px max(24px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 12px 40px; position: relative; overflow: hidden; }
.site-footer::before { content: ""; position: absolute; inset: 0; opacity: .08; background-image: url('../img/pattern.svg'); }
.site-footer > * { position: relative; z-index: 1; }
.footer-brand img { width: 58px; height: 58px; filter: brightness(0) invert(1); }
.footer-brand strong, .footer-brand small { color: #fff; }
.site-footer p, .site-footer small { color: rgba(255,255,255,.72); margin: 0; }
.site-footer div:nth-of-type(2) { display: flex; justify-content: flex-end; gap: 22px; }

.auth-body { min-height: 100vh; background: linear-gradient(120deg,rgba(0,83,70,.98),rgba(0,133,108,.88)), url('../img/hero.webp') center/cover fixed; display: grid; place-items: center; padding: 30px 16px; }
.auth-shell { width: min(1080px, 100%); min-height: 650px; background: rgba(255,255,255,.97); border-radius: 32px; box-shadow: 0 30px 80px rgba(0,31,27,.34); display: grid; grid-template-columns: .85fr 1.15fr; overflow: hidden; }
.auth-aside { background: linear-gradient(rgba(0,93,77,.74),rgba(0,65,56,.84)),url('../img/mokeb-path.webp') center/cover; padding: 45px; color: #fff; display: flex; flex-direction: column; justify-content: space-between; }
.auth-aside .brand strong,.auth-aside .brand small { color: #fff; }
.auth-aside .brand img { filter: brightness(0) invert(1); }
.auth-aside h2 { font-size: 2rem; line-height: 1.5; margin-bottom: 8px; }
.auth-aside p { color: rgba(255,255,255,.8); }
.auth-main { padding: clamp(30px, 6vw, 70px); display: flex; flex-direction: column; justify-content: center; }
.auth-main h1 { margin: 0 0 5px; font-size: 1.8rem; }
.auth-main > p { color: var(--muted); margin: 0 0 28px; }
.auth-main .back-home { align-self: flex-start; color: var(--primary); font-size: .86rem; margin-bottom: 25px; }
.auth-steps { display: flex; margin-bottom: 28px; }
.auth-step { flex: 1; display: grid; grid-template-columns: 30px 1fr; align-items: center; color: #9aabb8; font-size: .75rem; }
.auth-step::after { content: ""; grid-column: 2; height: 2px; background: #e3ecea; }
.auth-step:last-child::after { display: none; }
.auth-step span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #edf3f2; }
.auth-step.active { color: var(--primary); font-weight: 800; }
.auth-step.active span { color: #fff; background: var(--primary); }

.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.form-group { display: grid; gap: 7px; }
.form-group.full { grid-column: 1/-1; }
.form-group label { font-size: .86rem; font-weight: 750; color: #2d485f; }
.required::after { content: " *"; color: var(--red); }
.input, .select, .textarea { width: 100%; border: 1px solid #d9e6e3; background: #fbfdfd; color: var(--ink); border-radius: 13px; outline: 0; padding: 12px 14px; min-height: 49px; transition: .2s; }
.textarea { min-height: 110px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(0,124,103,.1); background: #fff; }
.help { margin: 0; color: var(--muted); font-size: .75rem; }
.field-error { color: var(--red); font-size: .78rem; }
.input-wrap { position: relative; }
.input-wrap .input { padding-inline-start: 45px; }
.input-wrap > svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #88a2a0; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.checkbox { display: flex; align-items: flex-start; gap: 9px; font-size: .84rem; }
.checkbox input { width: 19px; height: 19px; accent-color: var(--primary); margin-top: 4px; }
.otp-code { letter-spacing: .5em; direction: ltr; text-align: center; font-weight: 800; font-size: 1.35rem; }

.toast { position: fixed; z-index: 3000; top: 88px; left: 20px; width: min(420px,calc(100% - 40px)); border-radius: 15px; padding: 13px 16px; display: flex; justify-content: space-between; align-items: center; gap: 14px; box-shadow: var(--shadow); animation: toast-in .3s ease; }
.toast button { border: 0; background: transparent; color: inherit; font-size: 1.35rem; }
.toast-success { background: #e8f8f1; color: #086843; border: 1px solid #b7e4d1; }
.toast-error { background: #fff0f1; color: #9f2531; border: 1px solid #f3c3c7; }
.toast-warning { background: #fff7df; color: #76560c; border: 1px solid #ecd28b; }
@keyframes toast-in { from { opacity: 0; transform: translateX(-20px); } }

.app-body { min-height: 100vh; background: #f3f8f7; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.app-sidebar { height: 100vh; position: sticky; top: 0; padding: 22px 16px; background: linear-gradient(175deg,#075348,#007b66); color: #fff; display: flex; flex-direction: column; z-index: 1200; overflow: hidden; }
.app-brand { padding: 0 10px 20px; border-bottom: 1px solid rgba(255,255,255,.12); }
.app-brand img { width: 52px; height: 52px; filter: brightness(0) invert(1); }
.app-brand strong, .app-brand small { color: #fff; }
.app-nav { display: grid; gap: 5px; margin: 22px 0 10px; flex: 1 1 auto; min-height: 0; align-content: start; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.35) transparent; padding-left: 4px; }
.app-nav::-webkit-scrollbar { width: 6px; }
.app-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.28); border-radius: 999px; }
.app-nav a { min-height: 48px; padding: 9px 13px; border-radius: 13px; color: rgba(255,255,255,.77); display: flex; align-items: center; gap: 12px; font-size: .88rem; font-weight: 650; }
.app-nav a:hover, .app-nav a.active { color: #fff; background: rgba(255,255,255,.13); }
.app-nav a.active { box-shadow: inset -3px 0 #f1c762; }
.sidebar-user { display: flex; align-items: center; gap: 9px; padding: 13px 8px 0; margin-top: 0; flex: 0 0 auto; border-top: 1px solid rgba(255,255,255,.12); }
.sidebar-user .avatar { width: 39px; height: 39px; border-radius: 13px; display: grid; place-items: center; background: #f1c762; color: #4d390b; font-weight: 900; }
.sidebar-user > span:nth-child(2) { min-width: 0; flex: 1; display: grid; }
.sidebar-user strong { font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user small { font-size: .66rem; color: rgba(255,255,255,.62); }
.sidebar-user .icon-button { width: 36px; height: 36px; color: #fff; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.08); }
.app-main { min-width: 0; }
.app-topbar { height: 88px; padding: 0 clamp(20px,4vw,48px); display: flex; align-items: center; justify-content: space-between; background: rgba(255,255,255,.88); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 900; }
.app-topbar h1 { font-size: 1.35rem; margin: 1px 0 0; }
.topbar-actions { display: flex; gap: 8px; }
.sidebar-toggle { display: none; }
.app-content { padding: 30px clamp(18px,4vw,48px) 80px; max-width: 1500px; width: 100%; margin-inline: auto; }
.bottom-nav { display: none; }

.app-hero { background: linear-gradient(120deg,#006653,#00a184); color: #fff; border-radius: 25px; padding: 28px 32px; display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; position: relative; overflow: hidden; margin-bottom: 22px; }
.app-hero::after { content: ""; position: absolute; width: 310px; height: 310px; left: -110px; top: -120px; background: rgba(255,255,255,.07); border-radius: 50%; box-shadow: 0 0 0 40px rgba(255,255,255,.035); }
.app-hero > * { position: relative; z-index: 1; }
.app-hero h2 { margin: 4px 0; font-size: clamp(1.25rem,3vw,2rem); }
.app-hero p { margin: 0; color: rgba(255,255,255,.72); }
.app-hero .btn { background: #fff; color: var(--primary-dark); }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-bottom: 22px; }
.metric-card { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); display: flex; align-items: center; gap: 13px; box-shadow: var(--shadow-sm); }
.metric-icon { width: 51px; height: 51px; border-radius: 16px; color: var(--primary); background: var(--primary-soft); display: grid; place-items: center; }
.metric-card:nth-child(2) .metric-icon { color: #9c7211; background: var(--gold-soft); }
.metric-card:nth-child(3) .metric-icon { color: var(--blue); background: #eaf2ff; }
.metric-card:nth-child(4) .metric-icon { color: #b12a37; background: #fff0f1; }
.metric-card strong { display: block; font-size: 1.45rem; line-height: 1.2; }
.metric-card small { color: var(--muted); }
.dashboard-grid { display: grid; grid-template-columns: 1.6fr .8fr; gap: 20px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.panel-header { padding: 18px 21px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid var(--line); }
.panel-header h2, .panel-header h3 { margin: 0; font-size: 1rem; }
.panel-body { padding: 21px; }
.list { display: grid; }
.list-item { display: flex; align-items: center; gap: 13px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.list-item:last-child { border-bottom: 0; }
.list-icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 13px; color: var(--primary); background: var(--primary-soft); display: grid; place-items: center; }
.list-main { min-width: 0; flex: 1; }
.list-main strong { display: block; font-size: .88rem; }
.list-main small { color: var(--muted); font-size: .74rem; }
.badge { display: inline-flex; align-items: center; min-height: 27px; border-radius: 999px; padding: 3px 10px; font-size: .72rem; font-weight: 750; background: #eef3f5; color: #536878; }
.badge-pending_tabligat,.badge-pending_police,.badge-pending_municipality,.badge-pending,.badge-requested { background: #fff5da; color: #8b6508; }
.badge-approved,.badge-delivered { background: #e4f7ef; color: #09724b; }
.badge-rejected,.badge-cancelled { background: #fff0f1; color: #ad2d39; }
.quick-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.quick-card { padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,#fff,#f6fbfa); transition: .2s; }
.quick-card:hover { transform: translateY(-3px); border-color: #a9d8ce; }
.quick-card svg { color: var(--primary); width: 28px; height: 28px; }
.quick-card strong { display: block; margin-top: 9px; font-size: .87rem; }
.quick-card small { color: var(--muted); font-size: .7rem; }

.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.data-table th, .data-table td { padding: 13px 14px; text-align: right; border-bottom: 1px solid var(--line); font-size: .82rem; vertical-align: middle; }
.data-table th { color: #53677a; background: #f8fbfb; font-size: .75rem; white-space: nowrap; }
.data-table tr:hover td { background: #fbfefd; }
.table-actions { display: flex; gap: 6px; }
.filter-bar { padding: 16px; display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 10px; border-bottom: 1px solid var(--line); }
.pager { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 18px; }
.pager a, .pager span { min-width: 36px; height: 36px; padding: 0 8px; border-radius: 10px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; }
.pager .active { color: #fff; background: var(--primary); border-color: var(--primary); }

.timeline { display: grid; }
.timeline-item { display: grid; grid-template-columns: 35px 1fr; gap: 12px; position: relative; padding-bottom: 20px; }
.timeline-item::before { content: ""; position: absolute; right: 16px; top: 34px; bottom: 0; border-right: 2px dashed #cfe0dd; }
.timeline-item:last-child::before { display: none; }
.timeline-dot { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #b4c4c2; }
.timeline-item.done .timeline-dot { background: var(--primary); }
.timeline-item.rejected .timeline-dot { background: var(--red); }
.timeline-content strong { display: block; font-size: .87rem; }
.timeline-content p { margin: 2px 0 0; color: var(--muted); font-size: .77rem; }

.terms-list { display: grid; gap: 10px; }
.term-item { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 14px; border-radius: 14px; background: #f8fbfa; border: 1px solid var(--line); }
.term-item > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--primary); font-weight: 800; }
.term-item p { margin: 0; font-size: .82rem; }
.term-check { display: grid; grid-template-columns: 25px 42px 1fr; cursor: pointer; }
.term-check input { margin-top: 11px; accent-color: var(--primary); width: 18px; height: 18px; }
.wizard-progress { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 24px; }
.wizard-progress span { height: 5px; border-radius: 999px; background: #dbe7e5; }
.wizard-progress span.active { background: var(--primary); }
.wizard-panel[hidden] { display: none; }
.map-picker-wrap { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.map-picker-toolbar { padding: 12px; display: flex; align-items: center; justify-content: space-between; background: #f8fbfa; border-bottom: 1px solid var(--line); }
#picker-map { min-height: 380px; }

.review-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(310px,.7fr); gap: 20px; align-items: start; }
.detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.detail { padding: 13px 16px; border-bottom: 1px solid var(--line); }
.detail:nth-child(odd) { border-left: 1px solid var(--line); }
.detail small { display: block; color: var(--muted); font-size: .7rem; }
.detail strong { font-size: .86rem; }
.sticky-panel { position: sticky; top: 110px; }
.decision-box { display: grid; gap: 13px; }
.decision-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.document-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.reward-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }
.reward-card { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.reward-card .reward-icon { width: 58px; height: 58px; display: grid; place-items: center; color: #966c0a; background: var(--gold-soft); border-radius: 17px; }
.reward-card h3 { margin: 13px 0 3px; }
.reward-card p { min-height: 50px; color: var(--muted); font-size: .82rem; }
.reward-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); padding-top: 14px; }
.balance-card { padding: 25px; color: #fff; background: linear-gradient(125deg,#876113,#d3a23a); border-radius: 23px; position: relative; overflow: hidden; }
.balance-card strong { display: block; font-size: 2.4rem; }

.stars { display: inline-flex; direction: ltr; gap: 2px; color: #d5dde1; }
.stars .filled { color: #e0a91f; fill: currentColor; }
.rating-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 5px; }
.rating-input input { position: absolute; opacity: 0; }
.rating-input label { color: #cbd5dc; font-size: 2rem; line-height: 1; cursor: pointer; }
.rating-input input:checked ~ label, .rating-input label:hover, .rating-input label:hover ~ label { color: #e0a91f; }

.public-map-page { min-height: calc(100vh - 76px); display: grid; grid-template-columns: 390px 1fr; }
.map-sidebar { padding: 22px; background: #fff; border-left: 1px solid var(--line); overflow-y: auto; max-height: calc(100vh - 76px); }
.map-sidebar h1 { font-size: 1.45rem; margin: 0 0 4px; }
.map-sidebar > p { color: var(--muted); font-size: .82rem; margin: 0 0 18px; }
.map-filters { display: grid; gap: 9px; margin-bottom: 16px; }
.map-result-list { display: grid; gap: 9px; }
.map-result { padding: 13px; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; background: #fff; }
.map-result:hover { border-color: var(--primary); }
.map-result h3 { font-size: .88rem; margin: 0 0 3px; }
.map-result p { margin: 0; color: var(--muted); font-size: .72rem; }
.map-canvas, .map-canvas #public-map { min-height: calc(100vh - 76px); }
.leaflet-popup-content { font-family: var(--font); direction: rtl; text-align: right; }

.track-shell { width: min(760px,calc(100% - 32px)); margin: 60px auto; }
.track-card { padding: clamp(24px,5vw,45px); background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); }
.track-card h1 { margin: 0; }
.track-result { margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--line); }
.error-body { min-height: 100vh; display: grid; place-items: center; background: linear-gradient(150deg,#effaf7,#fff); }
.error-page { text-align: center; padding: 35px; }
.error-page img { width: 90px; }
.error-page > span { display: block; font-size: 4rem; font-weight: 900; color: #c9e6df; }
.error-page h1 { margin: -12px 0 5px; }

@media (max-width: 1100px) {
  .main-nav { gap: 15px; }
  .main-nav a { font-size: .82rem; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .metric-grid { grid-template-columns: repeat(2,1fr); }
  .app-shell { grid-template-columns: 235px 1fr; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .review-layout { grid-template-columns: 1fr; }
  .sticky-panel { position: static; }
}

@media (max-width: 820px) {
  .only-mobile { display: initial; }
  .site-header { height: 68px; padding: 0 16px; gap: 10px; }
  .brand img { width: 44px; height: 44px; }
  .brand small { display: none; }
  .nav-toggle { display: inline-flex; }
  .main-nav { display: none; position: fixed; top: 68px; right: 14px; left: 14px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
  .main-nav.open { display: grid; gap: 6px; }
  .main-nav a { padding: 9px; }
  .header-actions .btn-ghost { display: none; }
  .hero { min-height: 660px; }
  .hero-media::after { background: linear-gradient(180deg,rgba(247,254,252,.2),rgba(247,254,252,.86) 48%,#f8fffd 78%); }
  .hero-content { min-height: 660px; display: flex; align-items: flex-end; }
  .hero-copy { padding: 50px 0 95px; }
  .hero h1 { font-size: 2.4rem; }
  .service-grid,.mokeb-list { grid-template-columns: 1fr 1fr; }
  .stats-ribbon { grid-template-columns: repeat(2,1fr); }
  .stat + .stat { border: 0; }
  .stat:nth-child(2n) { border-inline-start: 1px solid rgba(255,255,255,.2); }
  .steps { grid-template-columns: repeat(2,1fr); row-gap: 35px; }
  .step::after { display: none; }
  .map-showcase { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .site-footer div:nth-of-type(2) { justify-content: center; flex-wrap: wrap; }
  .auth-shell { grid-template-columns: 1fr; min-height: auto; }
  .auth-aside { display: none; }
  .auth-main { padding: 35px 24px; }
  .app-shell { display: block; }
  .app-sidebar { position: fixed; top: 0; right: 0; width: min(285px,85vw); transform: translateX(105%); transition: .25s; box-shadow: var(--shadow); }
  .app-sidebar.open { transform: translateX(0); }
  .sidebar-toggle { display: inline-flex; }
  .app-topbar { height: 76px; padding: 0 18px; }
  .app-content { padding: 20px 16px 95px; }
  .bottom-nav { display: flex; position: fixed; z-index: 1000; bottom: 0; right: 0; left: 0; min-height: 68px; padding: 7px 10px max(7px,env(safe-area-inset-bottom)); background: rgba(255,255,255,.95); backdrop-filter: blur(18px); border-top: 1px solid var(--line); justify-content: space-around; }
  .bottom-nav a { min-width: 52px; display: grid; justify-items: center; align-content: center; color: #73868e; font-size: .62rem; }
  .bottom-nav svg { width: 22px; height: 22px; }
  .public-map-page { display: flex; flex-direction: column-reverse; min-height: auto; }
  .map-sidebar { max-height: none; border: 0; }
  .map-canvas, .map-canvas #public-map { min-height: 55vh; }
}

@media (max-width: 560px) {
  .section { padding: 55px 0; }
  .header-actions .btn { padding: 7px 11px; font-size: .76rem; }
  .hero { min-height: 610px; }
  .hero-content { min-height: 610px; }
  .hero-copy { padding-bottom: 75px; }
  .hero h1 { font-size: 2rem; }
  .hero-copy > p { font-size: .9rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .btn { padding-inline: 10px; font-size: .83rem; }
  .hero-trust { gap: 8px 13px; font-size: .75rem; }
  .service-grid,.mokeb-list,.reward-grid { grid-template-columns: 1fr; }
  .stats-ribbon { border-radius: 0; width: 100%; padding-inline: 10px; }
  .stat { justify-content: flex-start; padding-inline: 8px; }
  .stat-icon { width: 43px; height: 43px; }
  .stat strong { font-size: 1.25rem; }
  .stat small { font-size: .68rem; }
  .steps { gap: 26px 14px; }
  .step-number { width: 55px; height: 55px; }
  .step h3 { font-size: .9rem; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: auto; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .metric-grid { gap: 10px; }
  .metric-card { padding: 14px; display: grid; justify-items: start; }
  .metric-icon { width: 42px; height: 42px; }
  .metric-card strong { font-size: 1.2rem; }
  .app-hero { grid-template-columns: 1fr; padding: 23px; }
  .app-hero .btn { justify-self: start; }
  .quick-grid { grid-template-columns: 1fr 1fr; }
  .filter-bar { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail:nth-child(odd) { border-left: 0; }
  .wizard-progress { gap: 5px; }
  .term-check { grid-template-columns: 25px 36px 1fr; padding: 11px; }
  .panel-body { padding: 15px; }
}

@media print {
  .site-header,.app-sidebar,.app-topbar,.bottom-nav,.site-footer,.no-print,.toast { display: none !important; }
  body,.app-body { background: #fff; }
  .app-shell,.app-main { display: block; }
  .app-content { padding: 0; max-width: none; }
  .panel { box-shadow: none; border: 0; }
}


/* PATCH: Header and Hero layout */
.site-header{
  direction: rtl;
}
.site-header .brand{
  order: 1;
}
.site-header .main-nav{
  order: 2;
  margin-inline-start: auto;
  margin-inline-end: auto;
}
.site-header .header-actions{
  order: 3;
}

/* hero text on left over image */
.hero-content{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  direction:ltr;
}
.hero-copy{
  direction:rtl;
  text-align:left;
  width:50%;
  margin-right:auto;
  padding-left:20px;
}
.hero-copy h1,
.hero-copy p,
.hero-copy .hero-kicker{
  text-align:left;
}
.hero-media::after{
  background:linear-gradient(90deg,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.72) 28%,
    rgba(255,255,255,.18) 55%,
    rgba(255,255,255,.05) 100%);
}

@media(max-width:900px){
  .hero-copy{
    width:100%;
    padding-left:0;
    text-align:center;
  }
  .hero-copy h1,
  .hero-copy p,
  .hero-copy .hero-kicker{
    text-align:center;
  }
}

/* Persian/Jalali date picker */
.jalali-date-input { cursor: pointer; background-image: linear-gradient(45deg,transparent 50%,#6f8a86 50%),linear-gradient(135deg,#6f8a86 50%,transparent 50%); background-position: 18px 21px,13px 21px; background-size: 5px 5px,5px 5px; background-repeat: no-repeat; padding-left: 38px; }
.jalali-picker { position: fixed; z-index: 5000; width: 330px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid #d8e6e3; border-radius: 18px; box-shadow: 0 20px 55px rgba(14,58,52,.22); padding: 12px; direction: rtl; user-select: none; }
.jalali-picker[hidden] { display: none !important; }
.jalali-picker__header { display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 7px; padding: 3px 2px 10px; }
.jalali-picker__header strong { text-align: center; color: var(--primary-dark); font-size: .95rem; }
.jalali-picker__nav { width: 38px; height: 38px; border: 0; border-radius: 11px; background: var(--primary-soft); color: var(--primary); font: 800 1.5rem/1 Vazirmatn,Tahoma,sans-serif; cursor: pointer; }
.jalali-picker__week,.jalali-picker__days { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; }
.jalali-picker__week { padding-bottom: 5px; color: var(--muted); font-size: .72rem; font-weight: 800; text-align: center; }
.jalali-picker__week span { min-height: 28px; display: grid; place-items: center; }
.jalali-picker__day,.jalali-picker__blank { min-width: 0; aspect-ratio: 1; }
.jalali-picker__day { border: 0; border-radius: 10px; background: #f7faf9; color: var(--ink); font: 700 .78rem Vazirmatn,Tahoma,sans-serif; cursor: pointer; transition: .15s; }
.jalali-picker__day:hover { background: var(--primary-soft); color: var(--primary-dark); }
.jalali-picker__day.is-today { outline: 1px solid #74bbae; color: var(--primary-dark); }
.jalali-picker__day.is-selected { background: var(--primary); color: #fff; outline: 0; }
.jalali-picker__day:disabled { opacity: .28; cursor: not-allowed; background: #f2f4f4; }
.jalali-picker__footer { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.jalali-picker__today,.jalali-picker__close { border: 0; border-radius: 10px; padding: 8px 12px; font: 700 .75rem Vazirmatn,Tahoma,sans-serif; cursor: pointer; }
.jalali-picker__today { background: var(--primary-soft); color: var(--primary-dark); }
.jalali-picker__close { background: #f1f4f5; color: var(--muted); }
@media (max-width: 560px) { .jalali-picker { left: 12px !important; right: 12px !important; width: auto !important; top: auto !important; bottom: 12px; border-radius: 20px; } }

/* v2.4 - Jalali year/month/day selector and automatic intake scheduler */
.jalali-select-date{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:8px;width:100%;direction:rtl}
.jalali-date-part{min-width:0;text-align:center;font-weight:700;background:#fff}
.jalali-date-part:invalid{color:var(--muted)}
.time-input{direction:ltr;text-align:center;font-weight:800;letter-spacing:.05em}
.time-label{display:block;margin-top:12px}
.date-time-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#fbfdfc);box-shadow:0 8px 24px rgba(16,72,62,.05)}
.date-time-card>label:first-child{display:block;margin-bottom:9px;font-weight:800;color:var(--ink)}
.intake-settings-panel{max-width:1050px}
.intake-form{gap:18px}
.intake-section-title{margin-top:5px;border-top:1px dashed var(--line);padding-top:18px}
.intake-section-title>div{display:flex;align-items:center;gap:12px}
.intake-section-title>div>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--primary-soft);color:var(--primary-dark);font-weight:900}
.intake-section-title strong{display:block;font-size:1rem}
.intake-section-title small{display:block;color:var(--muted);margin-top:3px}
.intake-auto-note{border:1px solid #bfe6dc;background:#f1fbf8;border-radius:16px;padding:14px 16px}
.intake-auto-note strong{color:var(--primary-dark)}
.intake-auto-note p{margin:5px 0 0;color:var(--muted)}
.intake-status-card{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 26px;border-radius:24px;margin-bottom:20px;color:#fff;box-shadow:0 18px 45px rgba(18,75,65,.16)}
.intake-status-card .eyebrow{color:rgba(255,255,255,.78)}
.intake-status-card h2{margin:4px 0 7px;color:#fff}
.intake-status-card p{margin:0;color:rgba(255,255,255,.88)}
.intake-status-open{background:linear-gradient(120deg,#006653,#00a184)}
.intake-status-scheduled{background:linear-gradient(120deg,#4b5f84,#7087b2)}
.intake-status-closed{background:linear-gradient(120deg,#6e4f0b,#c18b24)}
.intake-status-invalid{background:linear-gradient(120deg,#7b2433,#bd4054)}
.intake-status-inactive{background:linear-gradient(120deg,#4b5563,#7b8797)}
.intake-live-badge{display:flex;align-items:center;gap:8px;white-space:nowrap;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:10px 14px;border-radius:999px;font-weight:800}
.intake-live-badge span{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.12)}
.intake-status-times{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.intake-status-times span{display:flex;flex-direction:column;gap:3px;background:rgba(255,255,255,.12);padding:9px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15)}
.intake-status-times small{color:rgba(255,255,255,.72)}
.intake-status-times strong{font-size:.86rem}
.campaign-window-note{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:12px 14px;border:1px solid #cce8e1;background:#f3fbf9;border-radius:14px}
.campaign-window-note strong{color:var(--primary-dark)}
.campaign-window-note span{font-weight:700;color:var(--ink)}
@media (max-width:700px){.intake-status-card{align-items:flex-start;flex-direction:column}.jalali-select-date{grid-template-columns:1fr 1.2fr 1fr}.date-time-card{grid-column:1/-1}}

/* ===== MookebYar v3 additions ===== */
.period-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}
.period-card{border:1px solid #dbe6e3;border-radius:18px;padding:18px;background:linear-gradient(180deg,#fff,#fbfdfc);box-shadow:0 8px 24px rgba(18,68,60,.05)}
.period-card.is-open{border-color:#78c8b8;box-shadow:0 10px 28px rgba(0,124,103,.12)}
.period-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.period-card-head small{color:#738781}.period-card-head h3{margin:3px 0 0;color:#075f53;font-size:20px}
.period-card>p{color:#677974;line-height:1.9;font-size:13px}.period-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.period-times span{background:#f5faf8;border:1px solid #e0efeb;border-radius:12px;padding:10px}.period-times small,.period-times em{display:block;color:#71837f;font-size:11px;font-style:normal}.period-times strong{display:block;font-size:12px;color:#194d46;margin:3px 0}
.period-selected{margin-bottom:18px;border-radius:20px;padding:18px 22px;background:linear-gradient(135deg,#086f62,#0b9783);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.period-selected small,.period-selected span{opacity:.78}.period-selected h2{margin:3px 0;font-size:22px}.period-selected p{margin:0;opacity:.85}.period-selected>div:last-child{text-align:left}.period-selected strong{display:block;margin-top:5px}
.period-hero{margin-bottom:22px}.jalali-select-date{display:grid;grid-template-columns:1fr 1.35fr .8fr;gap:7px;width:100%}.jalali-date-part{min-width:0}



.qr-scanner{height:360px;max-width:520px;margin:auto;background:#12201e;border-radius:22px;overflow:hidden;position:relative}.qr-scanner video{width:100%;height:100%;object-fit:cover}.qr-scan-frame{position:absolute;width:220px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);border:3px solid #6ce3cb;border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}
.permit-verify-card{display:flex;align-items:center;gap:18px;border-radius:22px;padding:24px;margin-bottom:20px;border:1px solid}.permit-verify-card h1{margin:3px 0 6px}.permit-valid{background:#eaf9f3;border-color:#9bd8c2;color:#165a49}.permit-invalid{background:#fff2f2;border-color:#efb9bd;color:#8d2c35}.verify-status-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#fff}.verify-status-icon .icon{width:28px;height:28px}
@media(max-width:700px){.period-times{grid-template-columns:1fr}.period-selected{align-items:flex-start;flex-direction:column}.period-selected>div:last-child{text-align:right}.qr-scanner{height:300px}.jalali-select-date{grid-template-columns:1fr 1fr 1fr}}

/* ===== v3.1 partners on public index ===== */
.partner-section{position:relative;overflow:hidden}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.partner-card{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f0);border-radius:24px;padding:24px 18px;text-align:center;box-shadow:0 12px 32px rgba(15,70,63,.07);display:flex;flex-direction:column;align-items:center;gap:5px;min-height:190px;justify-content:center}.partner-logo{width:86px;height:86px;border-radius:22px;background:#fff;border:1px solid #e2eeeb;display:flex;align-items:center;justify-content:center;padding:10px;margin-bottom:8px}.partner-logo img{width:100%;height:100%;object-fit:contain}.partner-card strong{font-size:16px;color:var(--text,#143b37)}.partner-card span{font-size:12px;color:var(--muted,#6b7d79);line-height:1.8}@media(max-width:760px){.partner-grid{grid-template-columns:1fr}.partner-card{min-height:150px}}

/* ===== MookebYar v3.3 responsive hardening ===== */
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}
main,section,article,aside,header,footer,nav,form,.app-main,.app-content,.panel,.panel-body{min-width:0}
img,video,canvas,svg{max-width:100%}
input,select,textarea,button{max-width:100%}
.mobile-nav-auth{display:none}
.mobile-menu-backdrop{position:fixed;inset:0;background:rgba(7,38,34,.16);z-index:990;opacity:0;pointer-events:none;transition:opacity .18s ease;-webkit-backdrop-filter:none;backdrop-filter:none}
.mobile-menu-backdrop.open{opacity:1;pointer-events:auto}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.data-table{max-width:none}
.panel-header{flex-wrap:wrap}
.panel-header>*{min-width:0}
.form-grid>*{min-width:0}
.app-content>*{max-width:100%}

@media (max-width: 980px){
  .site-header{padding-inline:16px;gap:12px}
  .site-header .main-nav{gap:10px}
  .hero-copy{width:min(620px,100%);margin-inline:auto;padding-inline:0;text-align:center}
  .hero-copy h1,.hero-copy p,.hero-copy .hero-kicker{text-align:center}
  .hero-copy>p{margin-inline:auto}
  .hero-actions,.hero-trust{justify-content:center}
  .map-showcase{grid-template-columns:1fr}
  .review-layout{grid-template-columns:1fr}
}

@media (max-width: 820px){
  .site-header{height:68px;padding-inline:12px;gap:8px;z-index:1100;overflow:visible}
  .site-header .brand{min-width:0;flex:1 1 auto}
  .site-header .brand img{width:42px;height:42px;flex:0 0 42px}
  .site-header .brand span{min-width:0}
  .site-header .brand strong{font-size:1rem;white-space:nowrap}
  .site-header .header-actions{display:flex;gap:6px;flex:0 0 auto}
  .site-header .header-actions .btn-ghost{display:inline-flex!important}
  .site-header .header-actions .btn{min-height:38px;padding:6px 10px;font-size:.74rem;border-radius:11px}
  .nav-toggle{flex:0 0 42px;margin-inline-start:0;order:4}
  .main-nav{position:absolute;z-index:1110;top:calc(100% + 8px);right:12px;left:12px;max-height:calc(100dvh - 88px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px!important;border-radius:18px!important;background:#fff;box-shadow:0 18px 54px rgba(8,52,46,.18);border:1px solid var(--line)}
  .main-nav.open{display:grid!important;grid-template-columns:1fr;gap:4px!important}
  .main-nav>a{padding:11px 12px!important;border-radius:10px}
  .main-nav>a:hover{background:var(--primary-soft)}
  .main-nav a::after{display:none}
  .mobile-nav-auth{display:none!important;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}
  .main-nav.open .mobile-nav-auth{display:grid!important}
  .mobile-nav-auth .btn{width:100%}
  body.menu-open,body.sidebar-open{overflow:hidden}

  .section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .section-heading>.btn{align-self:stretch}
  .hero{min-height:620px}
  .hero-content{min-height:620px;align-items:flex-end!important;justify-content:center!important;direction:rtl!important}
  .hero-copy{width:100%!important;margin:0!important;padding:40px 0 84px!important;text-align:center!important}
  .hero-copy h1,.hero-copy p,.hero-copy .hero-kicker{text-align:center!important}
  .hero-kicker{max-width:100%}
  .hero-actions{display:flex;justify-content:center;flex-wrap:wrap}
  .hero-actions .btn{flex:1 1 180px}
  .intake-notice{margin-inline:auto;text-align:right}

  .auth-body{padding:0;background:#f4faf8;display:block}
  .auth-shell{width:100%;min-height:100dvh;border-radius:0;box-shadow:none}
  .auth-main{padding:28px 18px 40px;justify-content:flex-start}
  .auth-main .back-home{margin-bottom:20px}
  .auth-main h1{font-size:1.55rem}
  .auth-main>p{font-size:.9rem;margin-bottom:22px}
  .form-actions{gap:10px}

  .app-sidebar{z-index:1200;width:min(300px,88vw);padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .app-topbar{min-height:72px;height:auto;padding:11px 14px;gap:12px}
  .app-topbar h1{font-size:1.08rem;line-height:1.5}
  .app-topbar .eyebrow{font-size:.7rem}
  .topbar-actions{display:flex;gap:7px}
  .app-content{padding:16px 12px calc(86px + env(safe-area-inset-bottom))}
  .panel{border-radius:16px}
  .panel-header{padding:14px 15px;align-items:flex-start}
  .panel-body{padding:14px}
  .dashboard-grid,.metric-grid,.quick-grid,.reward-grid{gap:12px}
  .filter-bar{gap:8px}
  .table-actions{flex-wrap:wrap}
  .table-actions form{max-width:100%}
  .bottom-nav{overflow-x:auto;justify-content:flex-start;gap:4px;padding-inline:8px}
  .bottom-nav a{flex:1 0 64px;min-width:64px;max-width:110px}

  .public-map-page{display:flex;flex-direction:column;min-height:auto}
  .map-canvas{order:1}.map-sidebar{order:2}
  .map-canvas,.map-canvas #public-map{min-height:48vh}
  .map-sidebar{padding:15px}
}

@media (max-width: 600px){
  .container{width:min(100% - 24px,1180px)}
  .section{padding:44px 0}
  .site-header .header-actions .btn-primary{display:none}
  .site-header .brand small{display:none}
  .main-nav.open .mobile-nav-auth{display:grid!important}
  .hero{min-height:590px}
  .hero-content{min-height:590px}
  .hero-copy{padding-bottom:72px!important}
  .hero h1{font-size:clamp(1.75rem,9vw,2.2rem);letter-spacing:-.025em}
  .hero-copy>p{font-size:.9rem;line-height:1.95}
  .hero-actions{display:grid!important;grid-template-columns:1fr;width:100%}
  .hero-actions .btn{width:100%}
  .hero-trust{justify-content:flex-start;text-align:right}
  .service-grid,.mokeb-list,.reward-grid,.metric-grid,.quick-grid,.partner-grid{grid-template-columns:1fr!important}
  .stats-ribbon{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:24px 12px}
  .map-copy{padding:24px 18px}.map-copy h2{font-size:1.55rem}

  .auth-main{padding:22px 14px 32px}
  .auth-steps{overflow-x:auto;padding-bottom:4px}
  .auth-step{min-width:110px}
  .input,.select,.textarea{font-size:16px;min-height:48px}
  .btn{white-space:normal;text-align:center;line-height:1.5}
  .form-actions .btn,.form-actions a.btn{width:100%}

  .app-topbar>div:first-child{min-width:0}
  .app-topbar h1{overflow-wrap:anywhere}
  .metric-card,.app-hero,.balance-card{border-radius:17px}
  .app-hero{padding:18px}
  .period-card-grid{grid-template-columns:1fr!important}
  .period-selected{padding:16px}
  
  
  .qr-scanner{height:min(72vw,300px)}
  .detail,.term-item,.term-check{overflow-wrap:anywhere}
}

@media (max-width: 390px){
  .site-header{padding-inline:8px}
  .site-header .brand strong{font-size:.9rem}
  .site-header .brand img{width:38px;height:38px;flex-basis:38px}
  .site-header .header-actions .btn{padding-inline:8px;font-size:.69rem}
  .nav-toggle{width:38px;height:38px;flex-basis:38px}
  .stats-ribbon{grid-template-columns:1fr}
  .stat:nth-child(2n){border-inline-start:0}
  .steps{grid-template-columns:1fr}
  .jalali-select-date{grid-template-columns:1fr!important}
}


/* ===== v3.3.2 mobile navigation stability ===== */
@media (min-width:821px){
  .mobile-menu-backdrop{display:none!important}
}
@media (max-width:820px){
  .site-header .main-nav.open{visibility:visible;opacity:1;transform:translateY(0)}
  .site-header .main-nav{transform-origin:top center}
  .mobile-menu-backdrop.open{opacity:1;pointer-events:auto}
  body.menu-open{touch-action:none}
}
@media (prefers-reduced-motion:reduce){
  .mobile-menu-backdrop,.main-nav{transition:none!important}
}

/* ===== v3.3.3 map/PWA/dashboard usability ===== */
.mookeb-map-marker { filter: drop-shadow(0 5px 5px rgba(0,76,63,.35)); }
[data-locate-picker].is-loading { opacity: .7; cursor: wait; }
.topbar-logout { color: #9a2f38; background: #fff1f2; border-color: #f3c6ca; }
@media (max-width: 900px) {
  .app-sidebar { height: 100dvh; }
  .app-nav { margin-top: 14px; }
}


/* ===== v3.3.4 privacy + fixed dashboard frame ===== */
.app-dashboard-body{height:100vh;height:100dvh;overflow:hidden}
.app-dashboard-body .app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.app-dashboard-body .app-sidebar{height:100vh;height:100dvh;flex:0 0 auto}
.app-dashboard-body .app-main{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.app-dashboard-body .app-topbar{position:relative;top:auto;flex:0 0 auto}
.app-dashboard-body .app-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
@media(max-width:820px){
  .app-dashboard-body .app-main{height:100dvh}
  .app-dashboard-body .app-content{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
}
@media print{
  html,body,.app-dashboard-body,.app-dashboard-body .app-shell,.app-dashboard-body .app-main,.app-dashboard-body .app-content{height:auto!important;min-height:0!important;overflow:visible!important}
  .app-dashboard-body .app-main{display:block!important}
}

/* ===== v3.3.5 refined religious / tazhib visual system ===== */
:root{
  --primary:#087c69;
  --primary-2:#12a087;
  --primary-dark:#075b51;
  --primary-soft:#e8f5f1;
  --gold:#c89b3c;
  --gold-2:#e0bd68;
  --gold-soft:#fbf3df;
  --ink:#183a3a;
  --muted:#687b78;
  --line:#dbe7e1;
  --background:#f8f7f1;
  --surface:#fffef9;
  --shadow-sm:0 7px 22px rgba(21,77,69,.075);
  --shadow:0 22px 54px rgba(21,77,69,.13);
}
body{background-color:var(--background)}

/* public header */
.site-header{
  background:rgba(255,254,249,.94);
  border-top:2px solid rgba(200,155,60,.72);
  border-bottom-color:rgba(203,221,214,.9);
  box-shadow:0 7px 24px rgba(20,72,64,.05);
}
.site-header::after{
  content:"";position:absolute;right:0;left:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,155,60,.72),transparent);
  pointer-events:none;
}
.brand img,.footer-brand img{filter:drop-shadow(0 5px 10px rgba(2,87,72,.12))}
.main-nav a{color:#355b56}
.main-nav a::after{background:linear-gradient(90deg,var(--gold),var(--primary))}
.btn-primary{background:linear-gradient(135deg,#149c84,#056254);box-shadow:0 10px 24px rgba(7,100,84,.2)}
.btn-gold{background:linear-gradient(135deg,#f0d98d,#c99832);color:#49370d}
.eyebrow{color:#8a6824;letter-spacing:.015em}

/* homepage tazhib language */
.home-page .hero{background:#f7f4e9}
.home-page .hero::before{
  content:"";position:absolute;left:4%;top:50%;width:clamp(260px,31vw,520px);aspect-ratio:1;
  background:url('../img/tazhib-medallion.png') center/contain no-repeat;
  opacity:.105;transform:translateY(-49%) rotate(-2deg);z-index:1;pointer-events:none;
}
.home-page .hero::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,253,246,.12),rgba(255,253,246,.35));
}
.home-page .hero-media{z-index:0}
.home-page .hero-content{z-index:2}
.hero-kicker{border-color:rgba(200,155,60,.34);background:rgba(255,253,246,.88);box-shadow:0 8px 22px rgba(109,84,31,.05)}
.hero-kicker::before{background:var(--gold);box-shadow:0 0 0 5px rgba(200,155,60,.13)}
.hero h1{color:#164e47}
.hero h1 span{color:#07816d;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.hero-copy>p{color:#4d6664}
.hero-trust{color:#46635f}
.hero-wave{color:var(--background)}

.tazhib-divider-shell{
  position:relative;z-index:5;margin:-34px auto -36px;width:min(780px,88vw);height:118px;
  display:grid;place-items:center;pointer-events:none;overflow:hidden;
}
.tazhib-divider-shell::before{
  content:"";position:absolute;right:7%;left:7%;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,155,60,.46),transparent);
}
.tazhib-divider-shell img{position:relative;width:min(720px,100%);height:auto;max-height:112px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(96,69,17,.08))}
.religious-section{padding-top:94px}
.section-heading{position:relative}
.section-heading::after{
  content:"";position:absolute;right:0;bottom:-12px;width:88px;height:3px;border-radius:999px;
  background:linear-gradient(90deg,var(--gold),#d9bf76,var(--primary));opacity:.78;
}
.service-card,.card,.mokeb-card,.partner-card{background:rgba(255,254,250,.97);border-color:#dbe6df}
.service-card{border-top-color:rgba(200,155,60,.46)}
.service-card::before{background:linear-gradient(145deg,#e6f6f1,#fff7e8)}
.service-card::after{
  content:"";position:absolute;left:-30px;bottom:-38px;width:150px;height:150px;
  background:url('../img/tazhib-overlay.png') center/contain no-repeat;opacity:.052;pointer-events:none;
}
.service-icon{color:#067563;background:linear-gradient(145deg,#e4f6f0,#fff9eb);border-color:#d4dfc2;box-shadow:inset 0 0 0 1px rgba(200,155,60,.08)}

.stats-ribbon{background:linear-gradient(125deg,#07574d,#07836d 62%,#096a5c);border:1px solid rgba(224,189,104,.48);box-shadow:0 22px 42px rgba(9,82,71,.2)}
.stats-ribbon::before{
  content:"";position:absolute;inset:-80px 7% -80px 7%;background:url('../img/tazhib-divider.png') center/contain no-repeat;
  opacity:.11;filter:saturate(.7);pointer-events:none;
}
.stats-ribbon::after{opacity:.045}
.stat-icon{color:#f3d582;border-color:rgba(233,205,137,.3);background:rgba(255,255,255,.1)}
.step-number{border-color:#dfd0a7;color:#087563;background:linear-gradient(150deg,#fffdf7,#f7f0db);box-shadow:0 9px 24px rgba(80,64,22,.07)}
.step:not(:last-child)::after{border-top-color:#cfc39d}

.section-soft{position:relative;background:linear-gradient(180deg,rgba(232,246,241,.72),rgba(255,253,247,.92))}
.map-copy{background:linear-gradient(150deg,#084e47,#087866);border:1px solid rgba(224,189,104,.36);box-shadow:0 18px 46px rgba(9,82,71,.16)}
.map-copy::before{
  content:"";position:absolute;width:330px;height:330px;left:-95px;top:-110px;
  background:url('../img/tazhib-overlay.png') center/contain no-repeat;opacity:.14;pointer-events:none;
}
.map-copy::after{border-color:rgba(233,206,141,.18)}
.partner-section::before{
  content:"";position:absolute;width:min(560px,62vw);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);
  background:url('../img/tazhib-medallion.png') center/contain no-repeat;opacity:.035;pointer-events:none;
}
.partner-section>.container{position:relative;z-index:1}
.partner-card{border-top:2px solid rgba(200,155,60,.28)}

.site-footer{background:linear-gradient(145deg,#063f3a,#075d52);border-top:2px solid rgba(200,155,60,.72)}
.site-footer::before{opacity:.035}
.site-footer::after{
  content:"";position:absolute;left:50%;top:-50px;transform:translateX(-50%);width:min(620px,70vw);height:210px;
  background:url('../img/tazhib-divider.png') center/contain no-repeat;opacity:.11;pointer-events:none;
}
.site-footer>*{position:relative;z-index:1}

/* public forms and tracking */
.track-card{position:relative;overflow:hidden;background:#fffefa;border-color:#dedfcf}
.track-card::before{
  content:"";position:absolute;inset:8px;background:url('../img/tazhib-frame.png') center/100% 100% no-repeat;
  opacity:.045;pointer-events:none;
}
.track-card>*{position:relative;z-index:1}

/* auth */
.auth-body{background:linear-gradient(120deg,rgba(6,68,60,.96),rgba(8,124,105,.88)),url('../img/hero.webp') center/cover fixed}
.auth-shell{border:1px solid rgba(224,189,104,.36);box-shadow:0 30px 82px rgba(0,36,31,.35)}
.auth-aside{position:relative;overflow:hidden;background:linear-gradient(rgba(5,83,72,.8),rgba(5,63,57,.9)),url('../img/mokeb-path.webp') center/cover}
.auth-aside::after{
  content:"";position:absolute;width:420px;height:420px;left:-115px;bottom:-120px;
  background:url('../img/tazhib-overlay.png') center/contain no-repeat;opacity:.18;pointer-events:none;
}
.auth-aside>*{position:relative;z-index:1}
.auth-main{background:linear-gradient(180deg,#fffefa,#fff)}
.input,.select,.textarea{background:#fffefb;border-color:#dbe5df}
.input:focus,.select:focus,.textarea:focus{border-color:#118a75;box-shadow:0 0 0 4px rgba(17,138,117,.09)}

/* dashboard: keep frame stationary while content scrolls */
.app-body{background:#f7f7f2}
.app-sidebar{background:linear-gradient(175deg,#063f3a,#075f53 60%,#087361);border-left:1px solid rgba(224,189,104,.2)}
.app-sidebar::before{
  content:"";position:absolute;right:-70px;bottom:-90px;width:380px;height:380px;
  background:url('../img/tazhib-overlay.png') center/contain no-repeat;opacity:.105;pointer-events:none;
}
.app-sidebar>*{position:relative;z-index:1}
.app-brand{border-bottom-color:rgba(233,208,148,.16)}
.app-brand img{filter:brightness(0) invert(1) drop-shadow(0 4px 9px rgba(0,0,0,.12))}
.app-nav a.active{background:rgba(255,255,255,.12);box-shadow:inset -3px 0 #e4bd62}
.sidebar-user{border-top-color:rgba(233,208,148,.16)}
.sidebar-user .avatar{background:linear-gradient(145deg,#f0d381,#c99a37);color:#4d390b;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.app-main{background:#f7f7f2}
.app-topbar{background:rgba(255,254,250,.93);border-bottom-color:#d9e5df;box-shadow:0 7px 22px rgba(20,72,64,.045)}
.app-topbar::after{
  content:"";position:absolute;right:0;left:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,155,60,.65),transparent);pointer-events:none;
}
.app-content{position:relative;background:
  radial-gradient(circle at 11% 8%,rgba(200,155,60,.055),transparent 24%),
  radial-gradient(circle at 87% 84%,rgba(8,124,105,.045),transparent 25%)}
.app-hero{background:linear-gradient(125deg,#07574d,#0a8b73);border:1px solid rgba(224,189,104,.36);box-shadow:0 15px 34px rgba(7,89,74,.14)}
.app-hero::before{
  content:"";position:absolute;width:340px;height:340px;left:-80px;top:-118px;
  background:url('../img/tazhib-overlay.png') center/contain no-repeat;opacity:.13;pointer-events:none;
}
.app-hero::after{display:none}
.metric-card,.panel,.quick-card,.reward-card{background:#fffefa;border-color:#dce6df}
.metric-card{border-top-color:rgba(200,155,60,.33)}
.metric-icon{background:linear-gradient(145deg,#e8f7f2,#fff8e8);border:1px solid rgba(200,155,60,.16)}
.panel-header{background:linear-gradient(180deg,#fffefa,#fdfcf7);border-bottom-color:#e0e8e2}
.quick-card{background:linear-gradient(145deg,#fffefa,#f4faf7)}
.quick-card:hover{border-color:#c9b475;box-shadow:0 11px 26px rgba(70,71,33,.08)}
.topbar-logout{color:#9a3438;background:#fff4f2;border-color:#efcdca}
.bottom-nav{background:rgba(255,254,250,.96);border-top:1px solid rgba(200,155,60,.32)}

@media(max-width:980px){
  .home-page .hero::before{left:50%;top:44%;width:min(440px,72vw);transform:translate(-50%,-50%);opacity:.065}
  .tazhib-divider-shell{margin-top:-28px;margin-bottom:-28px;height:94px}
  .religious-section{padding-top:75px}
}
@media(max-width:600px){
  .tazhib-divider-shell{height:74px;margin-top:-24px;margin-bottom:-18px;width:94vw}
  .tazhib-divider-shell img{max-height:72px}
  .religious-section{padding-top:58px}
  .section-heading::after{width:64px;bottom:-9px}
  .service-card::after{width:125px;height:125px}
  .stats-ribbon::before{inset:-25px -12%}
  .site-footer::after{width:90vw;top:-30px}
  .auth-aside::after{display:none}
}
@media print{
  .tazhib-divider-shell{display:none!important}
  .track-card::before{display:none!important}
}

/* ===== v3.3.6 premium religious UI / turquoise pattern system ===== */
.public-body{
  background-color:#f8fcfb;
  background-image:
    linear-gradient(rgba(250,253,252,.90),rgba(250,253,252,.90)),
    url('../img/site-pattern-turquoise.webp');
  background-size:auto,860px auto;
  background-position:center top,center top;
  background-repeat:repeat,repeat;
}
.home-page main{overflow:hidden}
.home-page main>.section{position:relative;isolation:isolate}
.home-page main>.section>.container{position:relative;z-index:2}

/* glass navigation with subtle Islamic gold detailing */
.site-header{
  height:82px;
  background:rgba(253,255,254,.88);
  border-top:2px solid rgba(201,157,58,.72);
  border-bottom:1px solid rgba(109,176,163,.25);
  box-shadow:0 9px 32px rgba(20,88,77,.08);
  backdrop-filter:blur(22px) saturate(1.15);
  -webkit-backdrop-filter:blur(22px) saturate(1.15);
}
.site-header::before{
  content:"";position:absolute;right:50%;bottom:-6px;transform:translateX(50%);
  width:84px;height:13px;opacity:.48;pointer-events:none;
  background:url('../img/tazhib-divider.png') center/contain no-repeat;
}
.main-nav{gap:7px;padding:5px;border:1px solid rgba(7,124,105,.08);border-radius:16px;background:rgba(255,255,255,.46)}
.main-nav a{padding:7px 12px;border-radius:11px;color:#315f58;transition:.2s ease}
.main-nav a::after{display:none}
.main-nav a:hover{color:#075f52;background:linear-gradient(145deg,rgba(230,248,243,.95),rgba(255,248,228,.72))}
.header-actions .btn{border-radius:12px}

/* hero: generated religious frame + readable premium glass card */
.home-page .hero{min-height:690px;background:#f6fcfa;border-bottom:1px solid rgba(202,176,108,.22)}
.home-page .hero-media img{filter:saturate(.94) contrast(.99) brightness(1.01)}
.home-page .hero-media::after{
  background:
    radial-gradient(circle at 76% 46%,rgba(255,255,255,.28),transparent 36%),
    linear-gradient(90deg,rgba(249,254,252,.18) 0%,rgba(249,254,252,.42) 38%,rgba(251,255,254,.90) 67%,rgba(251,255,254,.98) 100%);
}
.home-page .hero::before{
  left:6%;top:51%;width:clamp(250px,28vw,470px);opacity:.075;filter:saturate(.7);
}
.hero-content{min-height:690px;grid-template-columns:.9fr 1.1fr}
.hero-copy{
  max-width:690px;
  padding:34px 36px 39px;
  border:1px solid rgba(142,190,180,.28);
  border-top-color:rgba(208,171,81,.42);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.83),rgba(249,255,253,.68));
  box-shadow:0 26px 70px rgba(38,96,84,.11),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  position:relative;
  overflow:hidden;
}
.hero-copy::after{
  content:"";position:absolute;left:-55px;bottom:-62px;width:190px;height:190px;
  background:url('../img/tazhib-medallion.png') center/contain no-repeat;opacity:.045;pointer-events:none;
}
.hero-kicker{font-size:.84rem;padding:8px 14px;background:rgba(255,255,255,.72)}
.hero-ornament{width:184px;display:flex;align-items:center;gap:9px;margin:12px 0 2px;opacity:.82}
.hero-ornament span{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(200,155,60,.72))}
.hero-ornament span:last-child{background:linear-gradient(90deg,rgba(200,155,60,.72),transparent)}
.hero-ornament img{width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 3px 7px rgba(98,72,21,.10))}
.hero h1{font-size:clamp(2.35rem,4.6vw,4.2rem);margin-top:10px;letter-spacing:-.035em}
.hero-copy>p{font-size:1.02rem;max-width:590px}
.hero-actions .btn{min-height:50px;border-radius:15px;padding-inline:24px}
.hero-trust{gap:9px;margin-top:24px}
.hero-trust span{padding:7px 10px;border-radius:999px;background:rgba(238,248,245,.78);border:1px solid rgba(117,181,168,.22)}

/* ornamental section atmosphere */
.religious-section::before,
.steps-section::before,
.latest-section::before,
.partner-section::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
.religious-section::before{background-image:linear-gradient(rgba(250,253,252,.91),rgba(250,253,252,.91)),url('../img/islamic-section-frame.webp')}
.steps-section::before{background-image:linear-gradient(rgba(252,254,253,.94),rgba(252,254,253,.94)),url('../img/islamic-ambient-frame.webp')}
.latest-section::before{background-image:linear-gradient(rgba(250,253,252,.93),rgba(250,253,252,.93)),url('../img/islamic-section-frame.webp');transform:scaleX(-1)}
.partner-section::after{background-image:linear-gradient(rgba(237,249,246,.91),rgba(252,252,247,.93)),url('../img/islamic-ambient-frame.webp');opacity:1}
.partner-section>.container{z-index:3}

.section-heading{padding-bottom:12px}
.section-heading::before{
  content:"";width:28px;height:28px;position:absolute;right:-6px;top:-8px;transform:translateX(100%);
  background:url('../img/tazhib-medallion.png') center/contain no-repeat;opacity:.28;filter:saturate(.75);pointer-events:none;
}
.section-heading h2{color:#174e47}
.section-heading>p{max-width:500px}

.tazhib-divider-shell{height:124px;margin-top:-38px;margin-bottom:-40px}
.tazhib-divider-shell img{filter:drop-shadow(0 8px 16px rgba(93,70,22,.10)) saturate(.82)}

/* premium service cards */
.service-grid{gap:20px}
.service-card{
  min-height:270px;padding:27px 25px 24px;border-radius:24px;
  background:linear-gradient(155deg,rgba(255,255,255,.94),rgba(249,253,251,.88));
  border:1px solid rgba(118,170,160,.23);
  box-shadow:0 12px 34px rgba(32,91,80,.075);
}
.service-card::before{width:135px;height:135px;left:-50px;top:-61px;background:radial-gradient(circle,#e6f7f2 0,#fff8e8 52%,transparent 72%)}
.service-card::after{left:-18px;bottom:-28px;width:135px;height:135px;opacity:.072}
.service-card:hover{transform:translateY(-7px);border-color:rgba(202,162,67,.42);box-shadow:0 22px 46px rgba(29,91,79,.12)}
.service-icon{width:66px;height:66px;border-radius:20px;background:linear-gradient(145deg,#e8f8f3,#fff7df);box-shadow:inset 0 0 0 1px rgba(203,159,59,.08),0 8px 18px rgba(12,115,96,.07)}
.service-card h3{color:#174e47}
.service-link{margin-top:auto}

/* stats as jeweled emerald band */
.stats-ribbon{width:min(1180px,calc(100% - 32px));border-radius:26px;padding:20px 24px;background:linear-gradient(122deg,#064f47,#087b68 52%,#0a6d60);border:1px solid rgba(225,190,105,.55);box-shadow:0 24px 48px rgba(6,87,73,.19),inset 0 1px 0 rgba(255,255,255,.12)}
.stats-ribbon::before{opacity:.15;filter:saturate(.8)}
.stat-icon{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(240,211,135,.08));box-shadow:inset 0 0 0 1px rgba(245,217,147,.14)}

/* steps become a unified mihrab-inspired workflow panel */
.steps-section{padding-top:88px;padding-bottom:88px}
.steps-section .container{padding:32px clamp(20px,3vw,38px) 38px;border:1px solid rgba(123,179,168,.22);border-top-color:rgba(203,159,59,.42);border-radius:32px;background:rgba(255,255,255,.80);box-shadow:0 20px 52px rgba(28,87,76,.075);backdrop-filter:blur(4px)}
.steps{gap:26px}
.step{padding:5px 8px 3px}
.step-number{width:72px;height:72px;border-radius:50% 50% 20px 20px;background:linear-gradient(155deg,#fffdf6,#ecf8f4);border:1px solid rgba(200,155,60,.34);box-shadow:0 12px 27px rgba(77,72,33,.08)}
.step h3{color:#174e47}

/* map section with ornate generated ambient frame */
.map-section{overflow:hidden;background:linear-gradient(180deg,rgba(233,248,244,.92),rgba(255,253,248,.95))}
.map-section::before{content:"";position:absolute;inset:0;background:url('../img/islamic-section-frame.webp') center/cover no-repeat;opacity:.15;pointer-events:none}
.map-showcase{position:relative;z-index:2;gap:26px}
.map-copy{border-radius:30px;padding:39px;background:linear-gradient(150deg,rgba(5,77,69,.98),rgba(7,128,106,.96));border:1px solid rgba(231,204,137,.5);box-shadow:0 24px 52px rgba(8,80,69,.18)}
.map-copy::before{width:380px;height:380px;opacity:.16}
.map-frame{border:7px solid rgba(255,255,255,.94);outline:1px solid rgba(205,169,78,.26);box-shadow:0 24px 54px rgba(28,83,73,.15)}

/* latest mokeb cards */
.mokeb-card{border-radius:23px;overflow:hidden;background:rgba(255,255,255,.93);border:1px solid rgba(117,171,161,.22);box-shadow:0 12px 30px rgba(24,84,73,.07);transition:.23s ease}
.mokeb-card:hover{transform:translateY(-5px);border-color:rgba(199,157,57,.38);box-shadow:0 20px 42px rgba(24,84,73,.11)}
.mokeb-card-media{background:linear-gradient(145deg,#eff9f6,#fff8e9)}

/* partner cards */
.partner-section{overflow:hidden}
.partner-card{position:relative;overflow:hidden;border-radius:23px;background:rgba(255,255,255,.89);box-shadow:0 11px 30px rgba(29,84,74,.065)}
.partner-card::after{content:"";position:absolute;left:-30px;bottom:-42px;width:125px;height:125px;background:url('../img/tazhib-medallion.png') center/contain no-repeat;opacity:.04;pointer-events:none}
.partner-logo{background:linear-gradient(145deg,#f3fbf8,#fff9e9);border-color:rgba(200,155,60,.18)}

/* footer */
.site-footer{background:linear-gradient(145deg,#043e39,#075f53 58%,#075449);border-top:2px solid rgba(210,170,73,.78);box-shadow:0 -10px 34px rgba(6,68,58,.08)}
.site-footer::before{opacity:.055;background-image:url('../img/site-pattern-turquoise.webp');background-size:620px auto}
.site-footer::after{opacity:.15}

/* religious styling on inner public pages */
.public-body:not(.home-page) main{position:relative}
.public-body:not(.home-page) .track-card,
.public-body:not(.home-page) .card,
.public-body:not(.home-page) .panel{background:rgba(255,255,255,.94);backdrop-filter:blur(5px)}

/* auth uses generated Islamic background while staying task-focused */
.auth-body{
  background-color:#eaf7f4;
  background-image:linear-gradient(rgba(4,62,56,.80),rgba(6,107,91,.72)),url('../img/islamic-ambient-frame.webp');
  background-size:cover;background-position:center;background-attachment:fixed;
}
.auth-shell{border-radius:34px;border:1px solid rgba(227,194,117,.48);box-shadow:0 34px 90px rgba(0,46,40,.31)}
.auth-aside{background:linear-gradient(rgba(5,78,69,.70),rgba(5,60,55,.84)),url('../img/islamic-section-frame.webp') center/cover}
.auth-aside::before{content:"";position:absolute;inset:18px;border:1px solid rgba(236,209,145,.22);border-radius:24px;pointer-events:none}
.auth-main{background-image:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.95)),url('../img/site-pattern-turquoise.webp');background-size:auto,740px auto}

/* dashboard: subtle pattern, clearer hierarchy, no regression to fixed frame scrolling */
.app-body{background-color:#f5faf8;background-image:linear-gradient(rgba(248,251,249,.92),rgba(248,251,249,.92)),url('../img/site-pattern-turquoise.webp');background-size:auto,820px auto}
.app-sidebar{box-shadow:-8px 0 30px rgba(4,69,59,.08)}
.app-sidebar::before{opacity:.13}
.app-topbar{background:rgba(255,255,252,.90);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1)}
.app-content{background-image:linear-gradient(rgba(249,251,248,.90),rgba(249,251,248,.90)),url('../img/site-pattern-turquoise.webp');background-size:auto,880px auto;background-position:center top}
.app-content::before{content:"";position:fixed;left:4%;bottom:2%;width:300px;height:300px;background:url('../img/tazhib-medallion.png') center/contain no-repeat;opacity:.026;pointer-events:none}
.app-hero{background:linear-gradient(120deg,rgba(4,78,69,.98),rgba(8,139,114,.95)),url('../img/islamic-section-frame.webp') center/cover;border-radius:28px}
.app-hero::before{width:390px;height:390px;left:-90px;top:-135px;opacity:.16}
.metric-card,.panel,.quick-card,.reward-card{background:rgba(255,255,252,.93);backdrop-filter:blur(3px);box-shadow:0 10px 30px rgba(26,82,71,.065)}
.panel{border-radius:22px}
.panel-header{background:linear-gradient(180deg,rgba(255,255,252,.96),rgba(247,252,250,.90))}

@media(max-width:980px){
  .site-header{height:72px}
  .main-nav{padding:13px;background:rgba(255,255,255,.97)}
  .hero-content{min-height:665px;display:flex;align-items:flex-end}
  .hero-copy{max-width:680px;width:100%;padding:28px 26px 34px;margin-bottom:38px}
  .home-page .hero-media::after{background:linear-gradient(180deg,rgba(248,254,252,.20),rgba(248,254,252,.69) 45%,rgba(249,254,252,.98) 78%)}
  .section-heading::before{display:none}
  .steps-section .container{width:min(94%,1180px)}
}
@media(max-width:600px){
  .public-body{background-size:auto,620px auto}
  .site-header{height:68px}
  .site-header::before{display:none}
  .home-page .hero{min-height:630px}
  .hero-content{min-height:630px}
  .hero-copy{padding:23px 18px 27px;border-radius:23px;margin-bottom:28px;background:rgba(255,255,255,.84)}
  .hero-ornament{width:145px}
  .hero-ornament img{width:28px;height:28px}
  .hero h1{font-size:2rem}
  .hero-trust span{font-size:.72rem;padding:6px 8px}
  .religious-section::before,.steps-section::before,.latest-section::before,.partner-section::after{background-size:auto 100%;background-position:center}
  .steps-section{padding-block:58px}
  .steps-section .container{padding:24px 15px 28px;border-radius:24px}
  .steps{gap:25px 12px}
  .step-number{width:58px;height:58px;border-radius:50% 50% 16px 16px}
  .map-copy{padding:28px 22px;border-radius:24px}
  .map-frame{border-width:5px}
  .auth-body{background-attachment:scroll}
  .app-content::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .service-card,.mokeb-card,.btn{transition:none!important}
}
@media print{
  .public-body,.app-body,.auth-body{background:#fff!important}
}

/* v3.3.7 hero banner with custom mokebyar service scene */
.home-page .hero.hero-mokebyar-showcase{
  min-height:640px;
  background:#f5fbfa;
}
.home-page .hero.hero-mokebyar-showcase .hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.97) contrast(1.01) brightness(1.01);
}
.home-page .hero.hero-mokebyar-showcase .hero-media::after{
  background:
    linear-gradient(90deg,rgba(247,252,251,.08) 0%,rgba(247,252,251,.06) 42%,rgba(247,252,251,.22) 66%,rgba(247,252,251,.62) 100%),
    radial-gradient(circle at 82% 52%,rgba(255,255,255,.16),transparent 38%);
}
.home-page .hero.hero-mokebyar-showcase .hero-content{
  min-height:640px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.home-page .hero.hero-mokebyar-showcase .hero-copy{
  max-width:500px;
  margin:0 0 44px auto;
  padding:28px 30px 31px;
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(249,255,253,.72));
  border:1px solid rgba(140,191,180,.26);
  border-top-color:rgba(208,171,81,.42);
  box-shadow:0 28px 70px rgba(26,78,68,.12),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.home-page .hero.hero-mokebyar-showcase .hero-copy h1{
  font-size:clamp(1.85rem,3.2vw,3rem);
  line-height:1.4;
  margin-top:10px;
}
.home-page .hero.hero-mokebyar-showcase .hero-copy>p{
  max-width:none;
  font-size:.98rem;
  line-height:1.95;
}
.home-page .hero.hero-mokebyar-showcase .hero-actions{
  margin-top:22px;
}
.home-page .hero.hero-mokebyar-showcase .hero-trust{
  margin-top:18px;
}
@media (max-width: 980px){
  .home-page .hero.hero-mokebyar-showcase .hero-content{
    justify-content:center;
  }
  .home-page .hero.hero-mokebyar-showcase .hero-copy{
    max-width:560px;
    margin:0 auto 34px;
  }
}
@media (max-width: 820px){
  .home-page .hero.hero-mokebyar-showcase{
    min-height:700px;
  }
  .home-page .hero.hero-mokebyar-showcase .hero-media::after{
    background:linear-gradient(180deg,rgba(247,252,251,.12) 0%,rgba(247,252,251,.18) 44%,rgba(247,252,251,.68) 70%,rgba(247,252,251,.92) 100%);
  }
  .home-page .hero.hero-mokebyar-showcase .hero-content{
    min-height:700px;
    align-items:flex-end;
  }
  .home-page .hero.hero-mokebyar-showcase .hero-copy{
    width:100%;
    max-width:none;
    margin:0 0 22px;
    padding:22px 20px 24px;
  }
}
@media (max-width: 560px){
  .home-page .hero.hero-mokebyar-showcase{
    min-height:640px;
  }
  .home-page .hero.hero-mokebyar-showcase .hero-content{
    min-height:640px;
  }
  .home-page .hero.hero-mokebyar-showcase .hero-copy h1{
    font-size:1.7rem;
  }
}


/* ===== v4.0 — تذهیب ارسالی کاربر + مدیریت مجوز ماهانه ===== */
.public-body{
  background-image:linear-gradient(rgba(250,253,252,.93),rgba(250,253,252,.93)),url('../img/islamic-tile-pattern.webp');
  background-size:auto,880px auto;
  background-position:center top,center top;
  background-repeat:repeat,repeat;
}
.religious-section::before,.steps-section::before,.latest-section::before,.partner-section::after,.map-section::before{
  background-image:linear-gradient(rgba(250,253,252,.92),rgba(250,253,252,.92)),url('../img/islamic-tile-pattern.webp');
  background-size:cover;
  background-position:center;
}
.site-footer::before{background-image:url('../img/islamic-tile-pattern.webp');background-size:720px auto;opacity:.08}
.auth-body{background-image:linear-gradient(rgba(4,62,56,.84),rgba(6,107,91,.78)),url('../img/islamic-tile-pattern.webp');background-size:cover}
.auth-aside{background:linear-gradient(rgba(5,78,69,.77),rgba(5,60,55,.90)),url('../img/islamic-tile-pattern.webp') center/cover}
.auth-main{background-image:linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.97)),url('../img/islamic-tile-pattern.webp');background-size:auto,760px auto}
.app-body{background-image:linear-gradient(rgba(248,251,249,.94),rgba(248,251,249,.94)),url('../img/islamic-tile-pattern.webp');background-size:auto,860px auto}
.app-sidebar{background:linear-gradient(rgba(5,76,67,.93),rgba(5,96,82,.95)),url('../img/islamic-tile-pattern.webp') center/cover}
.app-content{background-image:linear-gradient(rgba(249,251,248,.94),rgba(249,251,248,.94)),url('../img/islamic-tile-pattern.webp');background-size:auto,900px auto}
.app-hero{background:linear-gradient(120deg,rgba(4,78,69,.94),rgba(8,139,114,.91)),url('../img/islamic-tile-pattern.webp') center/cover}

.about-hero{padding:88px 0 72px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(4,74,66,.92),rgba(5,112,94,.88)),url('../img/islamic-tile-pattern.webp') center/cover}
.about-hero::after{content:"";position:absolute;inset:18px;border:1px solid rgba(232,201,124,.26);border-radius:28px;pointer-events:none}
.about-hero .container{position:relative;z-index:1;max-width:980px}.about-hero h1{font-size:clamp(2rem,4vw,3.6rem);margin:8px 0 14px}.about-hero p{max-width:760px;color:rgba(255,255,255,.84);font-size:1.02rem;line-height:2}
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.about-card h2{margin-top:0;color:#17574f}.about-card p{line-height:2;color:var(--muted)}
.about-office{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:28px;max-width:900px}.about-office img{width:130px;height:130px;object-fit:contain;background:#fff;border-radius:28px;padding:15px;box-shadow:var(--shadow)}
.about-home-section{padding-top:20px;padding-bottom:64px}.about-home-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:32px 36px;border:1px solid rgba(196,156,62,.34);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(239,249,245,.90)),url('../img/islamic-tile-pattern.webp') center/cover;box-shadow:0 18px 45px rgba(25,85,74,.08)}.about-home-card h2{margin:5px 0 8px;color:#155249}.about-home-card p{max-width:760px;margin:0;color:var(--muted);line-height:1.95}

.report-kpis,.archive-period-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px}.report-kpis>div,.archive-period-summary>div{padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,#f3faf7)}.report-kpis small,.archive-period-summary small{display:block;color:var(--muted);margin-bottom:6px}.report-kpis strong,.archive-period-summary strong{font-size:1.05rem;color:#12574e}
.permit-admin-actions{display:grid;gap:8px;min-width:300px}.compact-action{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:7px;align-items:center}.compact-action .input{min-width:0}.revoke-action{padding-top:8px;border-top:1px dashed var(--line)}
.permit-revoked-banner{max-width:1120px;margin:14px auto 0;padding:12px 18px;text-align:center;background:#8e1c2b;color:#fff;font-weight:800;border-radius:12px}

@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-office{grid-template-columns:1fr;text-align:center}.about-office img{margin:auto}.about-home-card{align-items:flex-start;flex-direction:column}.report-kpis,.archive-period-summary{grid-template-columns:1fr 1fr}.compact-action{grid-template-columns:1fr}.permit-admin-actions{min-width:220px}}
@media(max-width:560px){.report-kpis,.archive-period-summary{grid-template-columns:1fr}.about-hero{padding:68px 0 54px}.about-home-card{padding:24px 20px}.public-body{background-size:auto,620px auto}}


/* ===== v4.0 — درباره ما، مدیر اداره و اخبار هیئت و مواکب ===== */
.director-profile{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:34px;align-items:center}
.director-photo-wrap{position:relative;border-radius:30px;padding:10px;background:linear-gradient(145deg,#fff9e7,#0a6d60);box-shadow:0 26px 65px rgba(21,77,67,.16)}
.director-photo-wrap::after{content:"";position:absolute;inset:18px;border:1px solid rgba(231,196,111,.42);border-radius:22px;pointer-events:none}
.director-photo{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px;background:#101010}
.director-copy{padding:12px}.director-copy h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:6px 0 4px;color:#11574e}.director-role{font-weight:800;color:#9b7626;margin:0 0 20px}.director-message{border-right:4px solid #c89b3c;padding:18px 22px;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(239,249,246,.92));border-radius:20px}.director-message h3{margin-top:0;color:#164e48}.director-message p{line-height:2.1;color:var(--muted);margin:10px 0}
.news-hero{padding:74px 0 60px;color:#fff;background:linear-gradient(120deg,rgba(4,67,60,.94),rgba(7,118,99,.90)),url('../img/islamic-tile-pattern.webp') center/cover}.news-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:6px 0 12px}.news-hero p{max-width:760px;line-height:2;color:rgba(255,255,255,.84)}
.news-search{display:grid;grid-template-columns:1fr auto;gap:10px;max-width:720px;margin:0 0 26px auto}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.news-card{overflow:hidden;border:1px solid rgba(96,155,143,.22);border-radius:24px;background:rgba(255,255,255,.95);box-shadow:0 14px 36px rgba(24,83,72,.08)}.news-card-media{display:block;height:210px;background:linear-gradient(145deg,#e8f6f2,#fff7df);overflow:hidden}.news-card-media img{width:100%;height:100%;object-fit:cover;display:block}.news-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(4,87,77,.96),rgba(10,133,109,.90)),url('../img/islamic-tile-pattern.webp') center/cover;color:#f1d88f}.news-placeholder svg{width:54px;height:54px}.news-card-body{padding:20px}.news-card-body h2,.news-card-body h3{font-size:1.12rem;line-height:1.75;margin:10px 0}.news-card-body h2 a,.news-card-body h3 a{color:#144f48;text-decoration:none}.news-card-body p{color:var(--muted);line-height:1.9;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#7e8a86;font-size:.79rem}.news-meta span{background:#eef8f5;color:#146a5f;padding:5px 9px;border-radius:999px;font-weight:800}.news-grid-home .news-card-media{height:180px}
.news-detail{max-width:920px}.back-link{display:inline-block;margin-bottom:22px;color:#17675d;font-weight:800;text-decoration:none}.news-detail h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.55;color:#123f3a;margin:16px 0}.news-lead{font-size:1.08rem;line-height:2;color:#586a66;border-right:4px solid #c99d3f;padding-right:18px}.news-detail-image{width:100%;max-height:540px;object-fit:cover;border-radius:26px;margin:22px 0;box-shadow:0 18px 45px rgba(22,75,66,.12)}.news-content{font-size:1.02rem;line-height:2.25;color:#344743;padding:10px 0 50px}.news-admin-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr)}
@media(max-width:980px){.director-profile{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr 1fr}.news-admin-grid{grid-template-columns:1fr}}
@media(max-width:640px){.news-grid{grid-template-columns:1fr}.news-search{grid-template-columns:1fr}.director-photo-wrap{padding:6px;border-radius:22px}.director-photo{border-radius:17px}.director-message{padding:16px 17px}.news-card-media{height:190px}}

/* Monthly renewal patch */
.badge-monthly{background:#fff0d4!important;color:#975000!important;border:1px solid #f4bf67!important;font-weight:800}
.monthly-choice{border:1px solid #f4bf67;border-radius:14px;padding:16px;background:#fffaf0}
.monthly-choice-label{display:flex;align-items:center;gap:12px;cursor:pointer}
.monthly-choice-label input{width:20px;height:20px;accent-color:#a86300}
.bulk-revoke-panel{border:1px solid #e5a4a4}
@media(max-width:700px){.permit-admin-actions .compact-action{flex-direction:column;align-items:stretch}}
