
@import url("/omranix-print-base.css");

@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:'Vazirmatn';src:url('/fonts/Vazirmatn-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap;}


/* ══════════════════════════════════════════════════════════
   omranix-shared.css — سیستم طراحی مشترک عمرانیکس
   یک نسخه، همه‌جا. رنگ‌ها/فونت/هدر/منو/فوتر فقط اینجا تغییر می‌کنند.
   ══════════════════════════════════════════════════════════ */

:root{
--primary:#25695D;
--secondary:#45B593;
--light:#F7FCFA;
--dark:#173B35;
--text:#566D68;
--border:#E3F1EC;
--radius:22px;
--bg:#FAFDFC;
--surface:#ffffff;
--surface-2:#F7FCFA;
--surface-3:#EEF7F3;
--ink:#173B35;
--ink-2:#566D68;
--ink-3:#8CA39B;
--line:#E3F1EC;
--line-2:#CFE6DD;
--accent:#25695D;
--accent-2:#1c5349;
--accent-soft:#E9F8F2;
--danger:#B4402F;
--danger-soft:#FBECE9;
--shadow-sm:0 1px 2px rgba(20,70,60,.04),0 1px 3px rgba(20,70,60,.06);
--shadow-md:0 8px 26px rgba(30,80,70,.08);
--shadow-lg:0 20px 50px rgba(20,70,60,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--dark);line-height:1.8;
/* فوتر همیشه کف صفحه بنشیند، حتی وقتی محتوا کوتاه است */
display:flex;flex-direction:column;min-height:100vh}
body>.o-footer,body>footer,body>.o-footer-min{margin-top:auto}
a{text-decoration:none;color:inherit}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.container{width:min(1760px,95%);margin:auto}
button{font-family:inherit}

/* پس‌زمینه شبکه‌ای (اختیاری، فقط صفحاتی که .grid-bg دارند) */
.grid-bg{position:fixed;inset:0;background-image:linear-gradient(rgba(37,105,93,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(37,105,93,.045) 1px,transparent 1px);background-size:48px 48px;z-index:-3}

/* ══ هدر مشترک ══ */
.o-header{position:sticky;top:0;width:100%;height:78px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);z-index:999;transition:.3s}
.o-header.scrolled{height:68px;box-shadow:0 8px 30px rgba(20,70,60,.06)}
.o-header .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.o-header-right{display:flex;align-items:center;gap:14px;flex-direction:row}
.o-logo{display:flex;align-items:center;gap:12px}
.o-logo img{height:36px;width:auto;flex-shrink:0}
.o-logo .brand-lockup{display:flex;flex-direction:column;align-items:stretch;width:max-content}
.o-logo h2{font-size:19px;font-weight:900;white-space:nowrap;text-align:center;line-height:1.2;margin:0}
.o-logo .brand-en{display:flex;justify-content:space-between;width:100%;font-size:9px;font-weight:800;color:var(--secondary);direction:ltr;margin-top:2px}
.o-logo .brand-en i{font-style:normal}
.o-header-buttons{display:flex;gap:14px}
.o-start{padding:11px 22px;border-radius:14px;background:linear-gradient(135deg,#45B593,#25695D);color:#fff;font-weight:700;font-size:13.5px;box-shadow:0 12px 30px rgba(37,105,93,.2);position:relative;overflow:hidden;display:inline-flex;align-items:center;border:none;cursor:pointer}

/* ══ همبرگری ══ */
.o-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.7);cursor:pointer;padding:0 11px;transition:.25s;flex-shrink:0}
.o-burger:hover{border-color:var(--secondary);box-shadow:0 8px 22px rgba(37,105,93,.12)}
.o-burger span{display:block;height:2.5px;width:100%;background:var(--primary);border-radius:3px;transition:.3s}
html.o-nav-open .o-burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
html.o-nav-open .o-burger span:nth-child(2){opacity:0}
html.o-nav-open .o-burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ══ کشوی منو (مشترک همه صفحات) ══ */
.o-scrim{position:fixed;inset:0;background:rgba(23,59,53,.42);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:.3s;z-index:1000}
html.o-nav-open .o-scrim{opacity:1;visibility:visible}
.o-drawer{position:fixed;top:0;right:0;height:100%;width:min(340px,86%);background:rgba(255,255,255,.97);backdrop-filter:blur(20px);border-left:1px solid var(--border);box-shadow:-18px 0 50px rgba(20,70,60,.14);transform:translateX(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);z-index:1001;display:flex;flex-direction:column;padding:22px;overflow-y:auto}
html.o-nav-open .o-drawer{transform:translateX(0)}
.o-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid var(--border);flex-shrink:0}
.o-drawer-title{font-weight:900;font-size:18px;color:var(--primary)}
.o-drawer-close{width:38px;height:38px;border:none;border-radius:11px;background:#EEF7F3;color:var(--primary);font-size:24px;line-height:1;cursor:pointer;transition:.2s}
.o-drawer-close:hover{background:#DDF0E8}
.o-drawer-links{display:flex;flex-direction:column;gap:4px}
.o-drawer a,.o-drawer button{display:block;width:100%;text-align:right;padding:13px 15px;border-radius:13px;font-weight:700;font-size:15px;color:var(--dark);background:transparent;border:none;cursor:pointer;transition:.2s;font-family:inherit;text-decoration:none}
.o-drawer a:hover,.o-drawer button:hover{background:#F0F8F5;color:var(--primary)}
.o-group-label{font-size:12px;font-weight:800;color:var(--text);opacity:.7;padding:14px 15px 4px}
.o-divider{height:1px;background:var(--border);margin:10px 4px;flex-shrink:0}
.o-logout{color:#B4402F!important}
.o-logout:hover{background:#FBECE9;color:#B4402F!important}
.o-drawer[hidden],.o-drawer button[hidden],.o-drawer a[hidden]{display:none!important}

/* ══ منوی کاربر (کلیک روی نام در هدر) ══ */
.o-user-wrap{position:relative}
.o-user-dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:160px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;display:flex;flex-direction:column;gap:2px;z-index:1002}
.o-user-dropdown[hidden]{display:none}
.o-user-dropdown button{display:block;width:100%;text-align:right;padding:10px 12px;border-radius:10px;font-weight:700;font-size:13.5px;color:var(--dark);background:transparent;border:none;cursor:pointer;font-family:inherit}
.o-user-dropdown button:hover{background:#F0F8F5;color:var(--primary)}
.o-user-dropdown button.o-logout:hover{background:#FBECE9}
.o-user-dropdown button[hidden]{display:none}

/* ══ تنظیمات حساب / پیام پشتیبانی — بدنه فرم مشترک ══ */
.o-settings-body{max-width:460px;margin:0 auto;padding:24px 20px 40px}
.o-settings-section{margin-bottom:26px}
.o-settings-section h3{font-size:14px;font-weight:800;color:var(--primary);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.o-settings-field{margin-bottom:12px}
.o-settings-field label{display:block;font-size:12px;font-weight:700;color:var(--text);margin-bottom:6px}
.o-settings-field input,.o-settings-field textarea,.o-settings-field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:11px;font-family:inherit;font-size:13px;background:var(--surface-2);color:var(--dark);resize:vertical}
.o-settings-field input:focus,.o-settings-field textarea:focus,.o-settings-field select:focus{outline:none;border-color:var(--secondary);background:#fff}
.o-settings-hint{font-size:11px;color:var(--text);opacity:.8;line-height:1.8;margin-top:4px}
.o-settings-field label small{display:block;font-weight:500;color:var(--text);opacity:.75;font-size:10px;margin-top:2px}
.o-settings-field input:disabled{opacity:.6;cursor:not-allowed;background:var(--border)}
.o-date3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.o-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.o-theme-opt{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:12px;font-size:12.5px;font-weight:700;cursor:pointer}
.o-theme-opt.disabled{opacity:.5;cursor:not-allowed}
.o-theme-opt input{accent-color:var(--primary)}
.o-settings-msg{font-size:12.5px;font-weight:700;margin:10px 0;min-height:1px}
.o-settings-msg.ok{color:#1E7A5F}
.o-settings-msg.err{color:var(--danger)}
.o-acct-status{display:flex;flex-direction:column;gap:8px}
.o-acct-row{display:flex;justify-content:space-between;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:700}
.o-acct-row span:last-child{color:var(--primary)}
.o-accordion-toggle{display:flex!important;align-items:center;justify-content:space-between}
.o-accordion-chev{transition:.25s;color:var(--text);font-size:17px;line-height:1}
.o-accordion-toggle[aria-expanded="true"] .o-accordion-chev{transform:rotate(90deg)}
.o-accordion-panel{display:flex;flex-direction:column;gap:2px;padding-right:10px;margin-bottom:4px}
.o-accordion-panel[hidden]{display:none}

/* ══ ردیف اندازه فونت سراسری ══ */
.o-font-row{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;margin:2px 0 10px;background:#F0F8F5;border-radius:14px;flex-shrink:0}
.o-font-label{font-size:12.5px;font-weight:800;color:var(--primary)}
.o-font-controls{display:flex;align-items:center;gap:6px}
.o-font-controls button{border:1px solid var(--border);background:#fff;border-radius:9px;height:30px;min-width:32px;padding:0 6px;font-size:12px;font-weight:800;color:var(--primary);cursor:pointer;font-family:inherit}
.o-font-controls button:hover{border-color:var(--secondary)}
.o-font-controls button#oFontReset{font-weight:700;color:var(--text);min-width:44px}

/* ══ صفحه پشتیبانی تمام‌صفحه ══ */
.o-support-body{max-width:420px;margin:32px auto;padding:0 20px;display:flex;flex-direction:column;gap:14px}
.o-support-item{display:flex;align-items:center;gap:12px;padding:18px 16px;border:1px solid var(--border);border-radius:16px;font-weight:700;font-size:14.5px;color:var(--dark);background:#fff;transition:.2s}
.o-support-item:hover{border-color:var(--secondary);background:#F4FBF8}
.o-support-ic{font-size:20px;flex-shrink:0}

/* ══ پنل مدیریت تمام‌صفحه (مشترک) ══ */
.o-admin-overlay{position:fixed;inset:0;background:var(--bg);z-index:1200;display:none;flex-direction:column}
.o-admin-overlay.open{display:flex}
.o-admin-bar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 20px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);flex-shrink:0}
.o-admin-bar-title{font-weight:900;font-size:17px;color:var(--primary)}
.o-admin-close{width:40px;height:40px;border:none;border-radius:12px;background:#EEF7F3;color:var(--primary);font-size:26px;line-height:1;cursor:pointer;transition:.2s}
.o-admin-close:hover{background:#DDF0E8}
.o-admin-overlay iframe{flex:1;width:100%;border:none}

/* ══ فوتر مشترک ══ */
.o-footer{background:#173B35;padding:40px 0 22px;color:#fff}
.o-footer.compact{padding:28px 0 18px}
.o-footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;margin-bottom:26px;align-items:center}
.o-footer-spacer{}
.o-footer-brand{text-align:center}
.o-footer-brand img{height:32px;margin-bottom:10px}
.o-footer-brand h3{margin:0 0 8px;font-size:19px}
.o-footer-brand p{color:#D3E6E0;line-height:1.9;font-size:13px;margin:0 auto}
.o-footer-brand .o-footer-tagline{font-size:12px;opacity:.85;margin-top:2px}
.o-footer-links{text-align:center;justify-self:end}
.o-footer-links a{display:block;margin-bottom:9px;opacity:.82;transition:.3s;font-size:13px;color:#fff;cursor:pointer}
.o-footer-links a:hover{opacity:1}
.o-copyright{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:12px;color:#BCD6CF}
.o-footer.compact .o-copyright{margin-top:0;padding-top:0;border-top:none}

/* ══ دکمه‌های مشترک ══ */
.btn-primary{padding:16px 30px;border-radius:16px;background:linear-gradient(135deg,#45B593,#25695D);color:#fff;font-weight:700;box-shadow:0 16px 40px rgba(37,105,93,.22);transition:.35s;position:relative;overflow:hidden;display:inline-flex;align-items:center;border:none;cursor:pointer;font-size:15px;font-family:inherit}
.btn-primary:hover{transform:translateY(-5px)}
.btn-secondary{padding:16px 30px;border-radius:16px;border:1px solid var(--border);background:#fff;font-weight:700;transition:.35s;position:relative;overflow:hidden;display:inline-flex;align-items:center;cursor:pointer;font-size:15px;font-family:inherit;color:var(--dark)}
.btn-secondary:hover{background:#F4FBF8}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:o-rip .7s ease-out;pointer-events:none}
.btn-secondary .ripple{background:rgba(37,105,93,.18)}
@keyframes o-rip{to{transform:scale(2.6);opacity:0}}

/* ══ کارت عمومی (قابل استفاده در همه صفحات: پنل مدیریت، ابزارها، …) ══ */
.o-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;transition:.35s;box-shadow:0 8px 26px rgba(30,80,70,.05)}
.o-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(37,105,93,.1)}
.o-badge{display:inline-flex;align-items:center;padding:9px 17px;border-radius:999px;background:#E9F8F2;color:var(--primary);font-size:13px;font-weight:700}

button,a,.o-card{transition:.35s cubic-bezier(.22,.61,.36,1)}

@media(max-width:920px){
.o-footer-grid{grid-template-columns:1fr;text-align:center}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}

/* فوتر جمع‌وجور — یک ردیف */
.o-footer{padding:16px 0 !important}
.o-footer-min{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.o-footer-min-links{display:flex;gap:16px;order:2}
.o-footer-min-links a{color:#9CCFC2;font-size:13px;text-decoration:none}
.o-footer-min .o-copyright{order:1;margin:0;font-size:13px;color:#cfe0da}
@media(max-width:600px){
  .o-footer-min{justify-content:center;text-align:center}
  .o-footer-min-links{order:1;font-size:12.5px}
  .o-footer-min .o-copyright{order:2;font-size:12.5px}
}

/* ══════════════════════════════════════════════════════════════
 * وسط‌چین سراسری سلول‌های جدول — همه ابزارها
 * برای ستون‌هایی که متن بلند دارند و باید راست‌چین بمانند،
 * کلاس .cell-right روی همان سلول گذاشته شود.
 * ══════════════════════════════════════════════════════════════ */
table th,
table td{text-align:center;vertical-align:middle}
table td.cell-right,table th.cell-right{text-align:right}
table td.n,table td.num{text-align:center;direction:ltr;font-variant-numeric:tabular-nums}
table th input,table td input,table th select,table td select{text-align:center}
table td input.cell-right{text-align:right}

/* ══════════════════════════════════════════════════════════════
 * چاپ مشترک همه ابزارها — A4، حاشیه یکسان، B Nazanin، کادربندی
 * ══════════════════════════════════════════════════════════════ */
@media print{
  @page{size:A4 portrait;margin:12mm 10mm}

  html,body{
    background:#fff!important;color:#000!important;
    font-family:'B Nazanin','Vazirmatn',Tahoma,serif!important;
    font-size:10.5pt!important;line-height:1.6!important;
  }

  /* رنگ پس‌زمینه سلول‌ها (سایه‌های جدول ۴) واقعاً چاپ شود */
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}

  /* عناصری که در کاغذ جایی ندارند */
  .o-header,.o-footer,.o-footer-min,#oDrawer,#oOverlay,.o-drawer,.grid-bg,
  nav,.no-print,button,.btn,.tbtn,.o-accordion-toggle,.steps,.row-btns,
  input[type=button],input[type=submit]{display:none!important}

  /* کارت‌ها روی کاغذ فقط محتوا هستند — بدون سایه و حاشیه اضافه */
  .card,.tcard,.o-card,section,.container,.wrap{
    box-shadow:none!important;border:none!important;
    padding:0!important;margin:0 0 6mm 0!important;
    max-width:none!important;width:100%!important;background:#fff!important;
  }

  /* جدول‌ها: تمام‌عرض، کادربندی‌شده، بدون شکستن سطر بین دو صفحه */
  .tbl-wrap,.table-wrap,.tblwrap{overflow:visible!important;border:none!important}
  /* table-layout:fixed و overflow-wrap:anywhere کلمه فارسی را از وسط
     حروف می‌شکنند و متن را درهم می‌کنند — هرگز استفاده نشوند. */
  table{
    width:100%!important;min-width:0!important;
    border-collapse:collapse!important;
    table-layout:auto!important;
    font-size:8.5pt!important;
    page-break-inside:auto;
  }
  table th,table td{
    border:.4pt solid #000!important;
    padding:1.6mm 1mm!important;
    text-align:center!important;vertical-align:middle!important;
    word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
    background:#fff;
  }
  table th{background:#e8e8e8!important;font-weight:700}
  table tfoot td{background:#e8e8e8!important;font-weight:700}
  table td.shade,table td.shaded{background:#d9d9d9!important}
  thead{display:table-header-group}      /* سربرگ در هر صفحه تکرار شود */
  tfoot{display:table-row-group}
  tr{page-break-inside:avoid;break-inside:avoid}

  /* فیلدها روی کاغذ مثل متن دیده شوند، نه مثل کادر ورودی */
  input,select,textarea{
    border:none!important;background:transparent!important;
    padding:0!important;font:inherit!important;color:#000!important;
    text-align:center!important;-webkit-appearance:none;appearance:none;
  }
  select{background-image:none!important}


  /* فیلدها پیش از چاپ به متن تبدیل شده‌اند (omranix-nav.js) */
  .omx-print-value{
    font:inherit!important;color:#111!important;
    text-align:center!important;padding:0!important;border:none!important;
    background:transparent!important;
  }
  td .omx-print-value,th .omx-print-value{text-align:center!important}

  /* جدول‌های خیلی عریض کوچک‌تر می‌شوند تا در عرض A4 جا شوند */
  table.wide,.wide table{font-size:7.5pt!important}
  table.wide th,table.wide td,.wide table th,.wide table td{padding:1mm .6mm!important}

  /* عنوان‌ها و امضاها */
  h1,h2,h3{page-break-after:avoid;break-after:avoid}
  .sign{display:flex!important;justify-content:space-between;margin-top:8mm;font-weight:700}
  .page-break{page-break-before:always;break-before:page}

  /* فضای خالی اضافه حذف شود */
  .hint,.msg,.kpis,.o-lang,.o-zoom{display:none!important}
  a[href]:after{content:none!important}
}

/* omranix-global-watermark */
.omx-wm{display:none}
@media print{
  .omx-wm{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    position:fixed;top:34%;left:0;right:0;
    opacity:.085;z-index:0;pointer-events:none;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  .omx-wm img{height:70mm;width:auto;margin-bottom:4mm}
  /* قفل واژه‌ای: عرض سطر لاتین دقیقا برابر سطر فارسی */
  .omx-wm .omx-wm-lock{display:flex;flex-direction:column;align-items:stretch;width:max-content}
  .omx-wm .omx-wm-fa{font-size:46pt;font-weight:900;line-height:1;text-align:center}
  .omx-wm .omx-wm-en{display:flex;justify-content:space-between;direction:ltr;width:100%;
    font-size:20pt;font-weight:800;line-height:1.4}
  .omx-wm .omx-wm-en i{font-style:normal}
  /* محتوای صفحه روی واترمارک بنشیند، نه زیرش */
  body > *:not(.omx-wm){position:relative;z-index:1}
}
/* آیکون‌های کتابخانه — هم‌تراز با متن، رنگ از والد */
[data-ico]{display:inline-flex;align-items:center;vertical-align:middle;line-height:0}
.omx-ico{display:block;flex:0 0 auto}
h1 [data-ico],h2 [data-ico],h3 [data-ico]{margin-inline-end:7px}
button [data-ico],.tbtn [data-ico]{margin-inline-end:5px}
@media print{[data-ico]{color:#25695D}}

