/* ShahrVam v579 — FINAL mobile/root presentation layer.
   IMPORTANT: this stylesheet is intentionally the final runtime stylesheet. */
:root{
  --sv-mobile-shell-breakpoint:900px;
  --sv-mobile-inline:12px;
  --sv-mobile-dock-h:54px;
  --sv-mobile-touch:44px;
  --sv-mobile-header-h:58px;
  --sv-z-sticky:120;
  --sv-z-header:200;
  --sv-z-dock:300;
  --sv-z-nav:500;
  --sv-z-sheet:550;
  --sv-z-modal:600;
  --sv-z-picker:650;
  --sv-z-toast:700;
}

/* Dashboard must always have the standard root top bar on desktop and mobile. */
body:not(.auth-active)[data-page="dashboard"] #page-content>.tiam-page-hero{
  display:grid!important;
  min-height:72px!important;
  padding:11px 14px!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
body:not(.auth-active)[data-page="dashboard"] #page-content>.tiam-page-hero .tiam-page-hero__visual{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
body:not(.auth-active)[data-page="dashboard"] #page-content>.tiam-page-hero .tiam-page-hero__copy h1{font-size:20px!important}
body:not(.auth-active)[data-page="dashboard"] #page-content>.tiam-page-hero .tiam-page-hero__actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;flex-wrap:nowrap!important}

/* Runtime-only mobile controls stay hidden on desktop. */
.sv-mobile-nav-trigger,.sv-mobile-header-more,.sv-mobile-filter-trigger,.sv-mobile-nav-drawer{display:none}

@media (max-width:900px){
  body.auth-active .tiam-mobile-bottom-v358,body.auth-active .sv-mobile-nav-drawer{display:none!important}
  html,body{width:100%!important;max-width:100%!important;height:100%!important;overflow:hidden!important;overscroll-behavior:none!important}
  body:not(.auth-active) #app-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  body:not(.auth-active) #app-shell>.sidebar{display:none!important}
  body:not(.auth-active) #app-shell>.workspace{width:100%!important;max-width:100%!important;height:100dvh!important;min-width:0!important;min-height:0!important;margin:0!important;overflow:hidden!important}
  body:not(.auth-active) #page-content{
    box-sizing:border-box!important;width:100%!important;max-width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch!important;
    padding-inline:var(--sv-mobile-inline)!important;padding-top:max(8px,env(safe-area-inset-top))!important;
    padding-bottom:calc(var(--sv-mobile-dock-h) + 18px + env(safe-area-inset-bottom))!important;
    scroll-padding-top:calc(var(--sv-mobile-header-h) + 10px)!important;scroll-padding-bottom:calc(var(--sv-mobile-dock-h) + 24px + env(safe-area-inset-bottom))!important;
  }
  body.sv-keyboard-open:not(.auth-active) #page-content{padding-bottom:18px!important}
  body:not(.auth-active) #page-content>*{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}

  /* Typography: Persian wraps normally; identifiers, amounts and dates never split digit-by-digit. */
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide,.sv-mobile-sheet,.sv-mobile-nav-drawer) :where(h1,h2,h3,h4,h5,p,span,b,strong,small,em,label,td,th,button,a,li,dd,dt){word-break:normal!important;overflow-wrap:normal!important}
  body.sv-mobile-shell :where(.sv-nowrap-value,.money,[data-money],.phone,[data-phone],.personnel-code,.national-code,.tracking-code,time){white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}
  body.sv-mobile-shell :where(code,pre,.sv-break-anywhere,[data-break-anywhere="1"],.technical-id,.url-text){overflow-wrap:anywhere!important;word-break:break-word!important}

  /* Real mobile app bar: menu on the right, centered title, page actions on the left. */
  body:not(.auth-active) #page-content>.tiam-page-hero,
  body:not(.auth-active) #page-content>.rec-workspace-hero.tiam-page-hero{
    position:sticky!important;top:0!important;z-index:var(--sv-z-header)!important;isolation:isolate!important;
    display:block!important;width:100%!important;min-width:0!important;min-height:var(--sv-mobile-header-h)!important;
    margin:0 0 9px!important;padding:7px 58px!important;border-radius:14px!important;overflow:visible!important;
    box-shadow:0 5px 16px rgba(8,31,49,.09)!important;
  }
  #page-content>.tiam-page-hero>.tiam-page-hero__visual{display:none!important}
  #page-content>.tiam-page-hero>.tiam-page-hero__copy{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:44px!important;min-width:0!important;text-align:center!important}
  #page-content>.tiam-page-hero>.tiam-page-hero__copy :where(h1,h2){margin:0!important;width:100%!important;min-width:0!important;font-size:16.5px!important;line-height:1.45!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #page-content>.tiam-page-hero>.tiam-page-hero__copy p{display:none!important}
  .sv-mobile-nav-trigger{
    position:absolute!important;inset-inline-start:7px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;
    display:grid!important;place-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;
    border:1px solid rgba(255,255,255,.20)!important;border-radius:11px!important;background:rgba(255,255,255,.09)!important;color:inherit!important;
  }
  .sv-mobile-nav-trigger svg,.sv-mobile-header-more svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
  #page-content>.tiam-page-hero>.tiam-page-hero__actions{
    position:absolute!important;inset-inline-end:7px!important;top:50%!important;transform:translateY(-50%)!important;z-index:2!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;width:auto!important;max-width:94px!important;min-width:0!important;
    padding:0!important;margin:0!important;overflow:visible!important;flex-wrap:nowrap!important;
  }
  #page-content>.tiam-page-hero>.tiam-page-hero__actions>:where(button,a,summary,.tiam-header-action--icon,.tiam-head-icon-action),.sv-mobile-header-more{
    box-sizing:border-box!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;
    border-radius:11px!important;display:grid!important;place-items:center!important;flex:0 0 44px!important;
  }
  #page-content>.tiam-page-hero>.tiam-page-hero__actions>.sv-mobile-overflow-action{display:none!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;pointer-events:none!important;flex:0 0 0!important}
  .sv-mobile-header-more{border:1px solid rgba(255,255,255,.20)!important;background:rgba(255,255,255,.09)!important;color:inherit!important}

  /* Full navigation drawer. Bottom dock is only a shortcut, never the sole navigation. */
  .sv-mobile-nav-drawer{position:fixed!important;inset:0!important;z-index:var(--sv-z-nav)!important;display:block!important;direction:rtl!important;visibility:hidden!important;pointer-events:none!important}
  .sv-mobile-nav-drawer__backdrop{position:absolute!important;inset:0!important;background:rgba(4,18,31,.46)!important;opacity:0!important;transition:opacity .18s ease!important}
  .sv-mobile-nav-drawer__panel{position:absolute!important;top:0!important;right:0!important;bottom:0!important;width:min(90vw,360px)!important;max-width:360px!important;display:flex!important;flex-direction:column!important;background:#f8fbfd!important;box-shadow:-18px 0 44px rgba(6,30,48,.20)!important;transform:translateX(104%)!important;transition:transform .20s ease!important;overflow:hidden!important}
  body.sv-mobile-nav-open .sv-mobile-nav-drawer{visibility:visible!important;pointer-events:auto!important}
  body.sv-mobile-nav-open .sv-mobile-nav-drawer__backdrop{opacity:1!important}
  body.sv-mobile-nav-open .sv-mobile-nav-drawer__panel{transform:translateX(0)!important}
  .sv-mobile-nav-drawer__head{display:flex!important;align-items:center!important;gap:10px!important;min-height:72px!important;padding:calc(10px + env(safe-area-inset-top)) 14px 10px!important;background:#0f3d61!important;color:#fff!important;flex:0 0 auto!important}
  .sv-mobile-nav-drawer__head img{width:40px!important;height:40px!important;object-fit:contain!important}
  .sv-mobile-nav-drawer__head>div{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;flex:1!important}
  .sv-mobile-nav-drawer__head b{font-size:15px!important}.sv-mobile-nav-drawer__head span{font-size:10.5px!important;color:rgba(255,255,255,.72)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .sv-mobile-nav-drawer__close{width:44px!important;height:44px!important;min-width:44px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:11px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;display:grid!important;place-items:center!important}
  .sv-mobile-nav-drawer__close svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}
  .sv-mobile-nav-drawer__body{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:10px 10px calc(18px + env(safe-area-inset-bottom))!important}
  .sv-mobile-nav-group{margin:0 0 10px!important}.sv-mobile-nav-group>strong{display:block!important;padding:4px 7px 6px!important;color:#6d8191!important;font-size:10.5px!important;font-weight:800!important}
  .sv-mobile-nav-group>div{display:grid!important;gap:5px!important}
  .sv-mobile-nav-item{box-sizing:border-box!important;width:100%!important;min-height:48px!important;border:1px solid #dce6ec!important;border-radius:12px!important;background:#fff!important;color:#173f5f!important;padding:8px 10px!important;display:flex!important;align-items:center!important;gap:10px!important;text-align:right!important;font:inherit!important;font-size:12px!important;font-weight:800!important}
  .sv-mobile-nav-item svg{width:21px!important;height:21px!important;flex:0 0 21px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important}.sv-mobile-nav-item span{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .sv-mobile-nav-item.is-active{background:#e8f1f7!important;border-color:#b8cfde!important;color:#0e3b5f!important}
  body.sv-mobile-nav-open .tiam-mobile-bottom-v358{transform:translateY(calc(100% + 24px))!important;opacity:0!important;pointer-events:none!important}

  /* Bottom dock: shortcuts only. */
  .tiam-mobile-bottom-v358{right:7px!important;left:7px!important;bottom:max(5px,env(safe-area-inset-bottom))!important;z-index:var(--sv-z-dock)!important;min-height:var(--sv-mobile-dock-h)!important;height:var(--sv-mobile-dock-h)!important;padding:4px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;border-radius:15px!important;box-shadow:0 6px 18px rgba(16,42,67,.14)!important}
  .tiam-mobile-bottom-v358 button{min-width:0!important;min-height:44px!important;height:44px!important;padding:0 5px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-size:10.5px!important}
  .tiam-mobile-bottom-v358 button span{display:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.tiam-mobile-bottom-v358 button.is-active span,.tiam-mobile-bottom-v358 button[data-more] span{display:inline!important}
  body.sv-keyboard-open .tiam-mobile-bottom-v358,body.sv-overlay-open .tiam-mobile-bottom-v358,body.sv-mobile-sheet-open .tiam-mobile-bottom-v358{transform:translateY(calc(100% + 24px))!important;opacity:0!important;pointer-events:none!important}

  /* Sheets and semantic page actions. */
  .sv-mobile-sheet{position:fixed!important;inset:0!important;z-index:var(--sv-z-sheet)!important;display:block!important;direction:rtl!important}
  .sv-mobile-sheet__backdrop{position:absolute!important;inset:0!important;background:rgba(5,20,33,.44)!important}
  .sv-mobile-sheet__panel{position:absolute!important;inset-inline:0!important;bottom:0!important;max-height:min(82dvh,700px)!important;display:flex!important;flex-direction:column!important;background:#fff!important;border-radius:20px 20px 0 0!important;box-shadow:0 -14px 34px rgba(7,31,50,.18)!important;padding:0 12px calc(12px + env(safe-area-inset-bottom))!important;overflow:hidden!important}
  .sv-mobile-sheet__handle{width:38px!important;height:4px!important;margin:7px auto 5px!important;border-radius:99px!important;background:#d7e0e6!important}.sv-mobile-sheet__head{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;border-bottom:1px solid #e5ebef!important}.sv-mobile-sheet__head b{font-size:14px!important;color:#173b57!important}
  .sv-mobile-sheet__close{width:44px!important;height:44px!important;min-width:44px!important;border:0!important;border-radius:11px!important;background:#f1f5f7!important;color:#294d66!important;display:grid!important;place-items:center!important;font-size:20px!important}.sv-mobile-sheet__body{min-height:0!important;overflow:auto!important;padding:10px 0 2px!important}
  .sv-mobile-sheet__items{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.sv-mobile-sheet__items>*{box-sizing:border-box!important;position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;height:auto!important;margin:0!important;padding:9px 11px!important;border:1px solid #dce5eb!important;border-radius:12px!important;background:#fff!important;color:#173b57!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;text-align:right!important;font-family:inherit!important;font-size:12px!important;font-weight:800!important;white-space:normal!important}
  .sv-mobile-sheet__items>* svg{width:20px!important;height:20px!important;flex:0 0 20px!important}.sv-mobile-sheet__items>*[data-sv-sheet-label]::after{content:attr(data-sv-sheet-label);display:inline!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;color:inherit!important;font:inherit!important}.sv-mobile-sheet__items>*[data-sv-has-visible-text="1"]::after{display:none!important}
  .sv-mobile-sheet__items .tiam-branch-switcher{display:grid!important;grid-template-columns:22px minmax(0,1fr) 18px!important;grid-template-rows:auto auto!important}.sv-mobile-sheet__items .tiam-branch-switcher::after{grid-column:1/-1!important;grid-row:1!important;margin-bottom:3px!important}.sv-mobile-sheet__items .tiam-branch-switcher select{grid-column:2!important;grid-row:2!important;width:100%!important;min-height:44px!important}.sv-mobile-sheet__items .tiam-branch-switcher>svg:first-of-type{grid-column:1!important;grid-row:2!important}.sv-mobile-sheet__items .tiam-branch-switcher>svg:last-of-type{grid-column:3!important;grid-row:2!important}
  .sv-mobile-sheet__items details{display:block!important}.sv-mobile-sheet__items details>summary{min-height:44px!important;display:flex!important;align-items:center!important;gap:8px!important;list-style:none!important}.sv-mobile-sheet__items details>:not(summary){position:static!important;width:100%!important;max-width:none!important;box-shadow:none!important;margin-top:6px!important}

  /* Filters: search stays visible; the rest opens in a compact sheet. */
  .sv-mobile-filter-host{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;align-items:center!important;width:100%!important;min-width:0!important}.sv-mobile-filter-host>.sv-mobile-filter-search{grid-column:1!important;min-width:0!important;width:100%!important;margin:0!important}.sv-mobile-filter-host>.sv-mobile-filter-trigger{grid-column:2!important;width:auto!important;min-width:44px!important;height:44px!important;padding:0 10px!important;border:1px solid #d7e2e9!important;border-radius:11px!important;background:#fff!important;color:#244b66!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;font-family:inherit!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}.sv-mobile-filter-host>.sv-mobile-filter-trigger svg{width:18px!important;height:18px!important}.sv-mobile-filter-host>.sv-mobile-filter-secondary{display:none!important;width:0!important;min-width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;pointer-events:none!important}
  .sv-mobile-filter-sheet :where(label,.field,.filter-actions,button){width:100%!important;max-width:100%!important}.sv-mobile-filter-sheet :where(input,select){width:100%!important;min-width:0!important;min-height:44px!important}

  /* Explicit mobile table contract. No instructional scroll badge. */
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) .table-wrap{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) .table-wrap::after{display:none!important;content:none!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) .table-wrap.sv-mobile-card-wrap{overflow:visible!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-wide-table{width:max-content!important;max-width:none!important;min-width:var(--sv-table-min,660px)!important;table-layout:auto!important;border-collapse:separate!important;border-spacing:0!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-wide-table :where(th,td){box-sizing:border-box!important;min-width:92px!important;max-width:260px!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-wide-table .sv-wrap-cell{white-space:normal!important;min-width:150px!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-wide-table thead th{position:sticky!important;top:0!important;z-index:var(--sv-z-sticky)!important}
  /* v579: sticky edge columns are disabled on phones; they consumed too much viewport width. */
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-wide-table :where(th:first-child,td:first-child,th:last-child,td:last-child){position:static!important;inset:auto!important;box-shadow:none!important}

  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table,
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;border:0!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;border:1px solid #dbe5ec!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(18,49,75,.04)!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td{box-sizing:border-box!important;display:grid!important;align-content:center!important;gap:3px!important;min-width:0!important;min-height:48px!important;height:auto!important;padding:8px 9px!important;border:0!important;border-top:1px solid #edf1f4!important;border-inline-start:1px solid #edf1f4!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;text-align:right!important;line-height:1.55!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td::before{content:attr(data-sv-label);display:block!important;font-size:9.5px!important;line-height:1.3!important;font-weight:700!important;color:#718596!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.sv-row-number-col{display:none!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.sv-card-primary{grid-column:1/-1!important;min-height:46px!important;border-top:0!important;border-inline-start:0!important;background:#f4f8fa!important;font-weight:850!important;font-size:13px!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.sv-card-primary::before{display:none!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.sv-card-actions{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;flex-wrap:wrap!important;border-inline-start:0!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.sv-card-actions::before{content:attr(data-sv-label);flex-basis:100%!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.sv-nowrap-value{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;font-variant-numeric:tabular-nums!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td:nth-child(2n+1):not(.sv-card-primary):not(.sv-card-actions){border-inline-start:0!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td[colspan],body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td.empty{grid-column:1/-1!important;border-inline-start:0!important;text-align:center!important}

  /* Existing dedicated employee-card layout remains supported. */
  body[data-page="experts"] #v286-employee-table.sv-mobile-card-table,body[data-page="experts"] #v286-employee-table.sv-mobile-card-table tbody{display:block!important;width:100%!important;min-width:0!important;border:0!important}
  body[data-page="experts"] #v286-employee-table.sv-mobile-card-table thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}

  /* Forms and search fields. */
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) :where(.form-grid,.form-grid.cols-3,.employee-form-grid,.sales-entry-grid,.adjustments-filter,.inline-holiday-form){grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) .field{min-width:0!important;width:100%!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){box-sizing:border-box!important;max-width:100%!important;min-width:0!important;min-height:44px!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) input[type="search"]{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Modal/portal contract applies outside #page-content as well. */
  body:not(.auth-active) .modal-backdrop{box-sizing:border-box!important;z-index:var(--sv-z-modal)!important;padding:0!important;align-items:flex-end!important;overflow:hidden!important}
  body:not(.auth-active) :where(.modal,.modal-wide).sv-mobile-modal--full{box-sizing:border-box!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  body:not(.auth-active) :where(.modal,.modal-wide).sv-mobile-modal--sheet{box-sizing:border-box!important;width:100%!important;max-width:none!important;max-height:84dvh!important;margin:0!important;border-radius:20px 20px 0 0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  body:not(.auth-active) :where(.modal,.modal-wide) .modal-head{position:sticky!important;top:0!important;z-index:2!important;min-height:56px!important;padding:9px 12px!important;flex:0 0 auto!important}
  body:not(.auth-active) :where(.modal,.modal-wide) .modal-body{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px!important;-webkit-overflow-scrolling:touch!important}
  body:not(.auth-active) :where(.modal,.modal-wide) .modal-actions{position:sticky!important;bottom:0!important;z-index:2!important;display:flex!important;gap:7px!important;flex-wrap:wrap!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;flex:0 0 auto!important}
  body:not(.auth-active) :where(.modal,.modal-wide) .modal-actions>.btn{flex:1 1 120px!important;min-height:44px!important}
  body:not(.auth-active) :where(.sales-entry-drawer,.so-drawer,.attendance-v110-drawer,.rec-drawer,.rec-upload-drawer,.rec-technical-drawer,.v367-action-drawer,.bcv391-drawer){box-sizing:border-box!important;position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;transform:none!important;overflow:hidden!important}

  /* Dashboard payroll modal: financial figures stay on one line and cards are readable. */
  .v513-detail-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important}.v513-detail-head>strong{white-space:nowrap!important;font-size:15px!important;justify-self:start!important}.v513-detail-table{overflow:visible!important}

  /* Overlay ordering contract. */
  .jdate-picker,.tiam-jdate-picker{z-index:var(--sv-z-picker)!important}.toast-stack{z-index:var(--sv-z-toast)!important;left:10px!important;right:10px!important;bottom:calc(var(--sv-mobile-dock-h) + 14px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important}.toast{width:100%!important;min-width:0!important;max-width:100%!important}
  body.sv-keyboard-open .toast-stack,body.sv-overlay-open .toast-stack{bottom:12px!important}

  /* Pagination and dense cards. */
  #page-content .pagination{display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;flex-wrap:wrap!important;width:100%!important;padding:8px 0!important}#page-content .pagination button{min-width:40px!important;min-height:40px!important;padding:0 8px!important}#page-content .pagination button:not(.active):not(:first-child):not(:last-of-type){display:none!important}#page-content .pagination small{flex-basis:100%!important;text-align:center!important;font-size:10px!important}
  #page-content :where(.card,.panel,.form-card,.feature-card,.case-detail,.case-workspace,.brokerage-case,.support-case){max-width:100%!important;min-width:0!important}
}

@media (max-width:430px){
  :root{--sv-mobile-inline:9px;--sv-mobile-dock-h:52px}
  body:not(.auth-active) #page-content{padding-inline:9px!important}
  body:not(.auth-active) #page-content>.tiam-page-hero{padding-inline:55px!important;border-radius:12px!important}.sv-mobile-nav-trigger{inset-inline-start:6px!important}.tiam-page-hero__actions{inset-inline-end:6px!important}
  #page-content>.tiam-page-hero>.tiam-page-hero__copy :where(h1,h2){font-size:16px!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) table.sv-mobile-generic-card-table tbody td{padding:7px 8px!important;font-size:11.5px!important}
  .sv-mobile-nav-drawer__panel{width:min(94vw,350px)!important}
  body.sv-mobile-shell :where(#page-content,.modal,.modal-wide) :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important}
}
@media (max-width:340px){:root{--sv-mobile-inline:7px}.tiam-mobile-bottom-v358 button[data-more] span{display:none!important}body:not(.auth-active) #page-content>.tiam-page-hero{padding-inline:52px!important}}
@media (max-width:900px) and (orientation:landscape) and (max-height:520px){:root{--sv-mobile-dock-h:48px}body:not(.auth-active) #page-content{padding-top:6px!important;padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}.tiam-mobile-bottom-v358{height:48px!important;min-height:48px!important}.sv-mobile-sheet__panel{max-height:92dvh!important}}
@media (prefers-reduced-motion:reduce){.sv-mobile-nav-drawer__backdrop,.sv-mobile-nav-drawer__panel{transition:none!important}}
@media print{.sv-mobile-nav-trigger,.sv-mobile-header-more,.sv-mobile-nav-drawer,.tiam-mobile-bottom-v358,.sv-mobile-sheet,.sv-mobile-filter-trigger{display:none!important}}

/* v579 root pass — div-based operational layouts that are not HTML tables. */
@media (max-width:900px){
  /* Brokerage cases: cards on phones, no desktop-width strip and no horizontal-scroll hint. */
  body[data-page="brokerage"] .brokerage-v285-table-card.bc391-table-card{padding:8px!important;overflow:visible!important}
  body[data-page="brokerage"] .bc391-table-scroll{width:100%!important;overflow:visible!important;border:0!important;background:transparent!important;scrollbar-width:none!important}
  body[data-page="brokerage"] .bc391-table-scroll::-webkit-scrollbar{display:none!important}
  body[data-page="brokerage"] .brokerage-row-list{display:grid!important;gap:8px!important;width:100%!important;min-width:0!important;background:transparent!important}
  body[data-page="brokerage"] .brokerage-row-list-head{display:none!important}
  body[data-page="brokerage"] .brokerage-case-row,
  body[data-page="brokerage"] .brokerage-case-row:nth-child(even){
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;width:100%!important;min-width:0!important;min-height:0!important;
    padding:0!important;border:1px solid #d8e3ea!important;border-inline-start:4px solid var(--brokerage-status-border,#9eb1bf)!important;border-radius:14px!important;
    background:#fff!important;overflow:hidden!important;box-shadow:0 3px 10px rgba(18,49,75,.05)!important;
  }
  body[data-page="brokerage"] .brokerage-case-row:hover{background:#fff!important;box-shadow:0 3px 10px rgba(18,49,75,.05)!important}
  body[data-page="brokerage"] .brokerage-case-row>.bc391-list-cell{display:grid!important;align-content:center!important;gap:3px!important;min-width:0!important;min-height:52px!important;padding:8px 9px!important;border-bottom:1px solid #edf2f5!important;border-inline-start:1px solid #edf2f5!important;background:#fff!important}
  body[data-page="brokerage"] .brokerage-case-row>.bc391-list-cell::before{content:attr(data-mobile-label);display:block!important;font-size:9.5px!important;line-height:1.25!important;font-weight:750!important;color:#718596!important}
  body[data-page="brokerage"] .brokerage-case-row>.bc391-list-cell[data-field="buyer"]{grid-column:1/-1!important;min-height:58px!important;border-inline-start:0!important;background:linear-gradient(180deg,#f7fafc,#f2f7fa)!important}
  body[data-page="brokerage"] .brokerage-case-row>.bc391-list-cell[data-field="buyer"]::before{display:none!important}
  body[data-page="brokerage"] .brokerage-case-row>.bc391-list-cell:nth-of-type(2n+1):not([data-field="buyer"]){border-inline-start:0!important}
  body[data-page="brokerage"] .brokerage-case-row :where(.bc391-cell-text,.bc391-money,.bc391-state-chip,.brokerage-status-pill){max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body[data-page="brokerage"] .brokerage-row-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;min-height:52px!important;padding:7px 9px!important;border-top:0!important;background:#f8fafc!important}
  body[data-page="brokerage"] .brokerage-row-actions::before{content:"عملیات";margin-inline-end:auto;font-size:9.5px;font-weight:750;color:#718596}
  body[data-page="brokerage"] .brokerage-row-icon-btn{width:42px!important;height:42px!important;min-width:42px!important;border-radius:11px!important}
  body[data-page="brokerage"] .brokerage-v436-scroll-hint{display:none!important}

  /* Payroll periods are cards on phones; amounts are label/value rows and never split. */
  body[data-page="payslip"] .v338-payroll-list-head,
  body[data-page="payslip"] .v338-settlement-head{display:none!important}
  body[data-page="payslip"] .v338-payroll-run-list,
  body[data-page="payslip"] .v338-settlement-list{display:grid!important;gap:9px!important;padding:8px!important;background:#f5f8fa!important}
  body[data-page="payslip"] .v338-payroll-run-row,
  body[data-page="payslip"] .v338-settlement-row{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;width:100%!important;min-width:0!important;min-height:0!important;
    padding:11px!important;border:1px solid #d8e3ea!important;border-radius:14px!important;background:#fff!important;overflow:visible!important;box-shadow:0 2px 8px rgba(18,49,75,.04)!important;
  }
  body[data-page="payslip"] .v338-payroll-run-row::before{top:12px!important;bottom:12px!important;width:3px!important}
  body[data-page="payslip"] .v338-payroll-period{padding-bottom:8px!important;border-bottom:1px solid #edf2f5!important}
  body[data-page="payslip"] .v338-payroll-period>b{font-size:13px!important;white-space:normal!important;overflow:visible!important;line-height:1.55!important}
  body[data-page="payslip"] .v338-payroll-period>span{font-size:10.5px!important;flex-wrap:wrap!important}
  body[data-page="payslip"] .v338-payroll-stage{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
  body[data-page="payslip"] .v338-payroll-stage small{font-size:10px!important;text-align:left!important}
  body[data-page="payslip"] .v338-payroll-people{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:7px 9px!important;border-radius:10px!important;background:#f5f8fa!important}
  body[data-page="payslip"] .v338-payroll-people::before{content:"کارکنان";font-size:10px;font-weight:700;color:#718596}
  body[data-page="payslip"] .v338-payroll-people b{font-size:13px!important;white-space:nowrap!important}
  body[data-page="payslip"] .v338-payroll-money{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
  body[data-page="payslip"] .v338-payroll-money>span{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-width:0!important;min-height:38px!important;padding:7px 9px!important;border-radius:10px!important}
  body[data-page="payslip"] .v338-payroll-money small{font-size:10px!important;white-space:nowrap!important}
  body[data-page="payslip"] .v338-payroll-money b{font-size:12px!important;line-height:1.3!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;font-variant-numeric:tabular-nums!important}
  body[data-page="payslip"] .v338-payroll-checks{justify-content:flex-start!important;gap:5px!important}
  body[data-page="payslip"] .v338-payroll-checks>span{font-size:10px!important;min-height:27px!important}
  body[data-page="payslip"] .v338-payroll-row-actions,
  body[data-page="payslip"] .v338-payroll-actions{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;width:100%!important;padding-top:3px!important}
  body[data-page="payslip"] .v338-payroll-primary-action{min-height:42px!important;height:42px!important;width:auto!important;max-width:none!important;padding-inline:11px!important;font-size:10.5px!important;border-radius:10px!important}
  body[data-page="payslip"] .v338-settlement-row>div{min-width:0!important;white-space:normal!important;overflow-wrap:normal!important}
  body[data-page="payslip"] .v338-settlement-row :where(b,time,.v338-settlement-net){white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}

  /* No legacy helper may re-introduce an instruction banner under horizontal tables. */
  #page-content .table-wrap::after,.modal .table-wrap::after,.modal-wide .table-wrap::after{display:none!important;content:none!important}
}

/* v579 HR mobile cards — attendance and leave histories are div grids, not tables. */
@media (max-width:900px){
  body[data-page="attendance"] :where(.attendance-v337-history,.attendance-v337-leave-list){border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
  body[data-page="attendance"] :where(.attendance-v337-history-head,.attendance-v337-leave-head){display:none!important}
  body[data-page="attendance"] :where(.attendance-v337-history-row,.attendance-v337-leave-row){
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;width:100%!important;min-width:0!important;min-height:0!important;
    margin-bottom:8px!important;padding:0!important;border:1px solid #dbe5ec!important;border-radius:13px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 2px 8px rgba(18,49,75,.04)!important;
  }
  body[data-page="attendance"] :where(.attendance-v337-history-row,.attendance-v337-leave-row)>div{display:grid!important;align-content:center!important;gap:3px!important;min-width:0!important;min-height:52px!important;padding:8px 9px!important;border-top:1px solid #edf2f5!important;border-inline-start:1px solid #edf2f5!important}
  body[data-page="attendance"] :where(.attendance-v337-history-row,.attendance-v337-leave-row)>div:first-child{grid-column:1/-1!important;min-height:54px!important;border-top:0!important;border-inline-start:0!important;background:#f5f9fb!important}
  body[data-page="attendance"] :where(.attendance-v337-history-row,.attendance-v337-leave-row)>div:nth-child(2n+1):not(:first-child){border-inline-start:0!important}
  body[data-page="attendance"] .attendance-v337-history-row>div::before,
  body[data-page="attendance"] .attendance-v337-leave-row>div::before{display:block!important;font-size:9.5px!important;line-height:1.3!important;font-weight:750!important;color:#718596!important}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(1)::before{content:"تاریخ و برنامه"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(2)::before{content:"تردد"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(3)::before{content:"کارکرد"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(4)::before{content:"وضعیت"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(5)::before{content:"تأخیر / کسری"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(6)::before{content:"مرخصی"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(7)::before{content:"اثر مالی"}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(7){grid-column:1/-1!important;border-inline-start:0!important}
  body[data-page="attendance"] .attendance-v337-leave-row>div:nth-child(1)::before{content:"تاریخ / بازه"}
  body[data-page="attendance"] .attendance-v337-leave-row>div:nth-child(2)::before{content:"نوع مرخصی"}
  body[data-page="attendance"] .attendance-v337-leave-row>div:nth-child(3)::before{content:"وضعیت و اثر حقوق"}
  body[data-page="attendance"] .attendance-v337-leave-row>div:nth-child(4)::before{content:"مدرک"}
  body[data-page="attendance"] .attendance-v337-leave-row>div:nth-child(5)::before{content:"عملیات"}
  body[data-page="attendance"] .attendance-v337-leave-row>div:nth-child(5){grid-column:1/-1!important;border-inline-start:0!important}
  body[data-page="attendance"] :where(.attendance-v337-history-row,.attendance-v337-leave-row) :where(b,time,.text-red,.text-green){word-break:normal!important;overflow-wrap:normal!important}
  body[data-page="attendance"] .attendance-v337-history-row>div:nth-child(7) b{white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
  body[data-page="attendance"] .attendance-v337-leave-attachments,body[data-page="attendance"] .v286-row-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important}
  body[data-page="attendance"] .attendance-v337-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  body[data-page="attendance"] .attendance-v337-day{border-radius:11px!important}
}
@media (max-width:360px){body[data-page="attendance"] .attendance-v337-day-grid{grid-template-columns:minmax(0,1fr)!important}}
