@font-face { font-family: "IRANSansX"; src: url("../vendor/fonts/IRANSansXFaNum-Regular.ttf?v=3") format("truetype"); font-weight: 400; font-display: swap; }
:root { --hana-bg: #f4f6f8; --hana-side: #1f3a5f; --hana-accent: #2e7d32; }
html, body { font-family: "IRANSansX", Tahoma, sans-serif; background: var(--hana-bg); font-size: 14px; }
.main { padding: 18px 24px; }
.hana{background:linear-gradient(135deg,#17343f 0%,#2b6777 55%,#1e4a58 100%);border-radius:12px;padding:14px 16px 10px;color:#fff;min-height:calc(100vh - 24px);margin:12px;}
.hana .top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:8px;}
.hana .top h1{font-size:22px;font-weight:800;margin:0;color:#fff;}
.hana .top small{display:block;font-size:11px;opacity:.8;}
.hana .tabs{display:flex;gap:2px;border-bottom:2px solid rgba(255,255,255,.35);margin-bottom:12px;flex-wrap:wrap;}
.hana .tabs span{padding:7px 16px;font-weight:700;background:rgba(255,255,255,.12);color:#fff;border-radius:6px 6px 0 0;font-size:14px;}
.hana .tabs span.on{background:#fff;color:#17343f;}
.hana .tabs span.off{opacity:.55;cursor:default;}
.hana .body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start;}
.area.page{background:#f4f6f8;color:#212529;border-radius:10px;padding:16px 18px;min-height:70vh;}
.mods{position:sticky;top:12px;}
.hana.plain{background:none;color:#212529;}
.hana .body.single{grid-template-columns:1fr;}
.mods{display:flex;flex-direction:column;gap:6px;}
.mods a,.mods span{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);color:#17343f;border-radius:8px;padding:7px 8px;font-size:12.5px;font-weight:700;text-decoration:none;border:2px solid transparent;}
.mods a:hover{border-color:#ffd166;} .mods a.on{border-color:#ffd166;background:#fff8dc;}
.mods span{opacity:.55;cursor:default;} .mods .ic{font-size:20px;line-height:1;}
.panel{display:none;} .panel.on{display:block;}
.hgrp{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:10px;margin-bottom:12px;}
.hgrp h6{text-align:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:5px;font-weight:800;font-size:13px;margin:-4px -4px 10px;}
.hgrp .btns{display:flex;flex-direction:column;gap:6px;}
.hb{display:block;text-align:center;background:#fff;color:#17343f;border-radius:6px;padding:7px 8px;font-size:13px;font-weight:600;text-decoration:none;border:1px solid #c9d3d8;}
.hb .hi{display:inline-block;width:1.6em;text-align:center;margin-inline-end:4px;opacity:.9;}
.hb:hover{background:#ffd166;color:#17343f;} .hb.off{opacity:.45;cursor:default;pointer-events:none;}
.hb .bd{background:#d33;color:#fff;border-radius:10px;font-size:11px;padding:0 6px;margin-right:4px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.grid3b{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:0;}
.hgrp.hl{border-color:#facc15;box-shadow:0 0 0 2px rgba(250,204,21,.45);}
.hgrp.red{background:rgba(180,40,40,.35);border-color:rgba(255,120,120,.6);}
.foot{display:flex;justify-content:space-between;font-size:12px;opacity:.85;margin-top:10px;border-top:1px solid rgba(255,255,255,.3);padding-top:6px;flex-wrap:wrap;gap:6px;}
@media (max-width:900px){.hana .body{grid-template-columns:1fr;}.grid3,.grid3b{grid-template-columns:1fr;}}
.topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.topbar h1 { font-size: 20px; font-weight: 700; margin: 0; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.stat { text-align: center; padding: 14px; }
.stat .v { font-size: 26px; font-weight: 700; }
.stat .l { font-size: 12px; color: #666; }
.table thead th { background: #eef1f5; font-weight: 600; white-space: nowrap; }
.table td, .table th { vertical-align: middle; }
.table-sm td, .table-sm th { padding: .35rem .5rem; }
.num { font-variant-numeric: tabular-nums; direction: ltr; unicode-bidi: embed; text-align: center; }
.form-label { font-weight: 600; font-size: 13px; }
input.jalali { text-align: center; }
.roll-chip { display: inline-block; background: #e8f5e9; border: 1px solid #c8e6c9; border-radius: 6px; padding: 2px 8px; margin: 2px; font-size: 12px; }
@media print {
  @page { size: A4 landscape; margin: 8mm; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  html, body { background: #fff !important; font-size: 11px; }
  .hana { background: #fff; padding: 0; }
  .hana .top, .hana .tabs, .mods, .no-print, .topbar .actions, .hana .foot, footer, .ptool { display: none !important; }
  .hana .body { display: block; }
  .area, .area.page, .main { margin: 0; padding: 0; width: auto; max-width: none; box-shadow: none; border: 0; }
  .card { box-shadow: none; border-color: #bbb; } .card.stat, .stat { break-inside: avoid; }
  .area, .area.page { background: #fff !important; }
  .table-responsive { overflow: visible !important; max-height: none !important; }
  [style*="max-height"] { max-height: none !important; overflow: visible !important; }
  table.table { font-size: 10px; } .table > :not(caption) > * > * { padding: 2px 4px; }
  thead.sticky-top { position: static; }
  a { color: inherit; text-decoration: none; }
  .stat .v { font-size: 16px; }
  svg { max-width: 100%; height: auto; }
}
.print-sheet { background: #fff; padding: 24px; max-width: 900px; margin: 0 auto; }
.print-sheet h2 { font-size: 18px; }
.print-sheet .meta td { padding: 3px 10px; }
@media (max-width: 992px) { .main { padding: 12px; } .hana .body { grid-template-columns: 1fr; } .mods { position: static; flex-direction: row; flex-wrap: wrap; } }

/* سلول‌های جدول موجودی: وزن (تن) برجسته، تعداد رول کوچک زیر آن */
.cell-w{display:block;font-weight:700;font-size:1.05rem;line-height:1.2;}
.cell-w.cell-total{font-size:1.15rem;}
.cell-n{display:block;font-size:.72rem;color:#6c757d;font-weight:400;line-height:1.1;}
tfoot .cell-n{color:#495057;}
.plate{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;letter-spacing:.03em;}
/* انتخابگر تاریخ شمسی */
.jdp{position:absolute;z-index:1060;display:none;width:17rem;background:#fff;border:1px solid #cfd6de;border-radius:.6rem;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:.5rem;font-size:.85rem;}
.jdp-head{display:flex;align-items:center;gap:.25rem;margin-bottom:.4rem;}
.jdp-head select{flex:1;font-size:.8rem;padding:.15rem .3rem;border:1px solid #cfd6de;border-radius:.35rem;background:#fff;font-family:inherit;}
.jdp-nav{border:0;background:#f1f3f5;border-radius:.35rem;width:1.8rem;height:1.6rem;font-size:1rem;line-height:1;cursor:pointer;}
.jdp-nav:hover{background:#dde3ea;}
.jdp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.jdp-dow{text-align:center;color:#6c757d;font-size:.72rem;padding:.15rem 0;}
.jdp-d{border:0;background:transparent;border-radius:.35rem;height:1.9rem;cursor:pointer;font-family:inherit;font-size:.85rem;}
.jdp-d:hover{background:#e7f1ff;}
.jdp-fri{color:#c0392b;}
.jdp-today{box-shadow:inset 0 0 0 1px #2e7d32;}
.jdp-sel,.jdp-sel:hover{background:#1f3a5f;color:#fff;}
.jdp-foot{display:flex;justify-content:space-between;margin-top:.4rem;border-top:1px solid #eee;padding-top:.35rem;}
.jdp-btn{border:0;background:transparent;color:#0d6efd;cursor:pointer;font-family:inherit;font-size:.8rem;padding:.1rem .3rem;}
.jdp-btn:hover{text-decoration:underline;}
input.jalali{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='%236c757d'><path d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z'/></svg>");background-repeat:no-repeat;background-position:right .5rem center;padding-right:1.8rem !important;}
@media print{.jdp{display:none !important;}}
/* فهرست انتخاب با جست‌وجو */
.ss-wrap { position: relative; }
.ss-list { position: absolute; top: 100%; right: 0; left: 0; z-index: 1050; background: #fff; border: 1px solid #ced4da; border-radius: 6px; max-height: 280px; overflow-y: auto; box-shadow: 0 6px 18px rgba(0,0,0,.12); display: none; margin-top: 2px; }
.ss-item { padding: 5px 10px; cursor: pointer; font-size: 13px; }
.ss-item:hover, .ss-item.hover { background: #e7f1ff; }
.ss-item.sel { font-weight: 700; background: #fff8dc; }
/* آیکون‌های خطی ماژول تعمیرات */
.ico{width:1.3em;height:1.3em;vertical-align:-0.3em;margin-left:.3em;flex-shrink:0;object-fit:contain}
