/*
 * Hooger HR v3.4.0 — final responsive polish layer
 * Presentation-only: no business logic, route, form action, API or permission changes.
 */
:root{
  --p40-bg:#f4f7fb;
  --p40-surface:#fff;
  --p40-soft:#f8fafc;
  --p40-text:#101c36;
  --p40-muted:#65738a;
  --p40-line:#d9e2ee;
  --p40-line-strong:#c7d3e2;
  --p40-primary:#1f63dc;
  --p40-primary-dark:#184fb2;
  --p40-danger:#c72e42;
  --p40-radius:14px;
  --p40-sidebar:260px;
  --p40-sidebar-collapsed:76px;
  --p40-topbar:76px;
  --p40-font:"IRANSansX","Vazirmatn",Tahoma,Arial,sans-serif;
}

@media screen{
  html{font-size:16px;background:var(--p40-bg);overflow-x:hidden}
  html,body{min-inline-size:0;max-inline-size:100%}
  body{margin:0;background:var(--p40-bg);color:var(--p40-text);font-family:var(--p40-font)!important;font-size:16px;line-height:1.8;letter-spacing:0;overflow-x:hidden}
  body,button,input,select,textarea{font-family:var(--p40-font)!important;font-synthesis:none}
  *,*::before,*::after{box-sizing:border-box}
  img,svg{max-inline-size:100%}
  p,li,dd,.card-subtitle,.muted{overflow-wrap:anywhere}
  h1,h2,h3,h4,strong,label,button,a,.btn,.badge,.nav a,.mobile-bottom-nav a{letter-spacing:0}

  /* Stable desktop shell; logical start is the right edge in RTL. */
  .ds-sidebar{position:fixed!important;inset-block:0!important;inset-inline-start:0!important;inset-inline-end:auto!important;inline-size:var(--p40-sidebar)!important;max-inline-size:var(--p40-sidebar)!important;transform:none!important;visibility:visible!important;opacity:1!important;z-index:1000!important}
  .ds-main{margin-inline-start:var(--p40-sidebar)!important;margin-inline-end:0!important;min-inline-size:0!important;inline-size:auto!important}
  body.sidebar-collapsed .ds-sidebar{inline-size:var(--p40-sidebar-collapsed)!important;max-inline-size:var(--p40-sidebar-collapsed)!important}
  body.sidebar-collapsed .ds-main{margin-inline-start:var(--p40-sidebar-collapsed)!important;margin-inline-end:0!important}
  html:not(.sidebar-state-ready) .ds-sidebar,html:not(.sidebar-state-ready) .ds-main{transition:none!important}
  html.sidebar-collapsed-preload .ds-sidebar{inline-size:var(--p40-sidebar-collapsed)!important;max-inline-size:var(--p40-sidebar-collapsed)!important}
  html.sidebar-collapsed-preload .ds-main{margin-inline-start:var(--p40-sidebar-collapsed)!important;margin-inline-end:0!important}
  html.sidebar-collapsed-preload .ds-nav a{justify-content:center!important;padding-inline:0!important}
  html.sidebar-collapsed-preload .ds-nav a>span:not(.nav-icon),html.sidebar-collapsed-preload .nav-section-title,html.sidebar-collapsed-preload .ds-sidebar-footer span,html.sidebar-collapsed-preload .nav-count{display:none!important}

  .ds-container,.container{inline-size:100%!important;max-inline-size:1580px!important;margin-inline:auto!important;padding:26px clamp(18px,2.1vw,34px) 56px!important;min-inline-size:0!important}
  .ds-topbar{block-size:var(--p40-topbar)!important;min-block-size:var(--p40-topbar)!important;padding-inline:22px!important;gap:12px!important}
  .ds-page-title{min-inline-size:0!important}
  .ds-page-title strong{font-size:1.17rem!important;line-height:1.45!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ds-top-actions{min-inline-size:0!important;gap:8px!important}
  .ds-profile{min-inline-size:214px!important;max-inline-size:280px!important}
  .ds-profile>span:nth-child(2){min-inline-size:0!important}
  .ds-profile strong,.ds-profile small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:start!important}

  /* Typography hierarchy */
  .page-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-block-end:22px!important;min-inline-size:0!important}
  .page-head>div:first-child{min-inline-size:0!important}
  .page-head h1{font-size:clamp(1.55rem,1.35rem + .55vw,2.05rem)!important;line-height:1.45!important;margin:0!important;font-weight:850!important}
  .page-head p{font-size:.95rem!important;line-height:1.9!important;margin:5px 0 0!important;color:var(--p40-muted)!important;max-inline-size:78ch!important}
  .card{min-inline-size:0!important;padding:21px!important;border:1px solid var(--p40-line)!important;border-radius:var(--p40-radius)!important;box-shadow:0 8px 24px rgba(16,28,54,.05)!important}
  .card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;min-inline-size:0!important}
  .card-head>div{min-inline-size:0!important}
  .card h2,.card-head h2,.section-title h2,.health-card-head h2{font-size:1.18rem!important;line-height:1.55!important;margin:0!important;font-weight:850!important}
  .card h3{font-size:1.02rem!important;line-height:1.65!important}
  .card-subtitle,.section-title p,.health-card-head p{font-size:.88rem!important;line-height:1.85!important;color:var(--p40-muted)!important}
  small{font-size:.79rem;line-height:1.7}

  /* Controls: every action stays one line and keeps icon adjacent to copy. */
  .btn,button:not(.password-toggle):not(.icon-button):not(.menu-toggle):not(.message-shortcut):not(.ds-profile),[role="button"],[role="tab"]{
    min-block-size:44px!important;
    max-inline-size:100%;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:row!important;
    gap:8px!important;
    padding-inline:14px!important;
    font-size:.89rem!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    text-align:center!important;
    vertical-align:middle!important;
  }
  .btn.small{min-block-size:40px!important;padding-inline:12px!important;font-size:.82rem!important}
  .btn>svg,button>svg,[role="button"]>svg,[role="tab"]>svg{flex:0 0 auto!important;inline-size:auto!important;margin:0!important;position:static!important;transform:none!important}
  .btn>span,button>span,[role="button"]>span,[role="tab"]>span{min-inline-size:0!important;white-space:nowrap!important;line-height:1.2!important}
  .actions,.page-actions,.form-actions,.row-actions,.workflow-actions,.compose-actions,.v280-toolbar-actions,.v293-panel-actions,.v293-toolbar-start,.v293-toolbar-end,.install-actions,.success-actions{display:flex!important;align-items:center!important;gap:9px!important;min-inline-size:0!important}
  .page-actions,.form-actions,.install-actions,.success-actions{justify-content:flex-end!important}
  .row-actions,.v280-toolbar-actions{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:thin!important;padding-block:2px!important}
  .row-actions>*{flex:0 0 auto!important;margin:0!important}
  .row-actions form{display:flex!important}
  .actions-cell{min-inline-size:0!important}

  input,select,textarea{min-block-size:46px!important;max-inline-size:100%!important;border-color:var(--p40-line)!important;font-size:16px!important;line-height:1.55!important;text-align:start!important}
  textarea{min-block-size:112px!important;resize:vertical!important;line-height:1.85!important}
  label{min-inline-size:0!important;font-size:.88rem!important;line-height:1.75!important}
  .select-shell{inline-size:100%!important;min-inline-size:0!important}
  .form-grid{gap:16px!important;min-inline-size:0!important}
  .form-actions{grid-column:1/-1!important}

  /* Unified search architecture. Icon is at RTL inline-start (right), never over text. */
  :where(.input-with-icon,.client-search,.v293-search-control,.filter-search-control,.message-search,.v293-message-search,.auth-input-wrap){
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:center!important;
    min-inline-size:0!important;
    inline-size:100%!important;
  }
  :where(.input-with-icon,.client-search,.v293-search-control,.filter-search-control,.message-search,.v293-message-search)>svg,
  :where(.input-with-icon,.client-search,.v293-search-control,.filter-search-control,.message-search,.v293-message-search)>.filter-search-icon{
    position:absolute!important;
    inset-inline-start:14px!important;
    inset-inline-end:auto!important;
    inset-block-start:50%!important;
    transform:translateY(-50%)!important;
    z-index:3!important;
    pointer-events:none!important;
    color:#73839a!important;
    inline-size:18px!important;
    block-size:18px!important;
  }
  :where(.input-with-icon,.client-search,.v293-search-control,.filter-search-control,.message-search,.v293-message-search)>input{
    inline-size:100%!important;
    padding-inline-start:44px!important;
    padding-inline-end:13px!important;
    text-align:start!important;
  }
  .auth-input-wrap{grid-template-columns:22px minmax(0,1fr) auto!important;gap:10px!important;padding-inline:14px!important;border:1px solid var(--p40-line)!important;border-radius:12px!important;background:#fff!important;min-block-size:54px!important}
  .auth-input-wrap>svg{grid-column:1!important;position:static!important;transform:none!important;pointer-events:none!important;color:#697b95!important}
  .auth-input-wrap>input{grid-column:2!important;inline-size:100%!important;min-inline-size:0!important;block-size:52px!important;min-block-size:52px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .auth-input-wrap>.password-toggle{grid-column:3!important;position:static!important;transform:none!important;inline-size:42px!important;block-size:42px!important;margin:0!important}

  /* Tables */
  .table-wrap{inline-size:100%!important;max-inline-size:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;border-radius:12px!important}
  table{inline-size:100%!important;border-collapse:separate!important;border-spacing:0!important}
  .table th{font-size:.78rem!important;line-height:1.55!important;white-space:nowrap!important}
  .table td{font-size:.86rem!important;line-height:1.75!important;vertical-align:middle!important;min-inline-size:0!important}
  .table td>strong,.table td>small{display:block!important;text-align:start!important}
  .table .money-display{display:inline-flex!important;align-items:baseline!important;gap:5px!important;direction:rtl!important;white-space:nowrap!important}
  .money-display,.money-number,.money-unit{white-space:nowrap!important;word-break:keep-all!important}
  .money-unit{font-size:.74rem!important}

  /* Dashboard KPI */
  .v333-dashboard-summary{margin-block-end:22px!important}
  .v333-kpi-strip{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:13px!important}
  .v333-kpi-card{min-inline-size:0!important;min-block-size:138px!important;padding:16px!important;display:grid!important;grid-template-rows:auto 1fr auto!important;gap:10px!important}
  .v333-kpi-head{display:flex!important;align-items:center!important;gap:9px!important;min-inline-size:0!important}
  .v333-kpi-head>span:last-child,.v333-kpi-label{font-size:.84rem!important;line-height:1.55!important;white-space:normal!important}
  .v333-kpi-value{display:flex!important;align-items:baseline!important;gap:5px!important;min-inline-size:0!important;font-size:1.5rem!important;line-height:1.35!important;white-space:nowrap!important}
  .v333-kpi-value .money-number{font-size:clamp(1.08rem,1vw,1.45rem)!important}
  .v333-kpi-foot{font-size:.78rem!important;line-height:1.65!important;color:var(--p40-muted)!important}

  /* Accounting summary: related data stays visually grouped. */
  .accounting-stats.report-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important}
  .accounting-stats .stat-card{display:grid!important;grid-template-columns:50px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;min-block-size:116px!important;padding:15px!important}
  .accounting-stats .stat-icon{grid-column:1!important;grid-row:1!important;inline-size:48px!important;block-size:48px!important}
  .accounting-stats .stat-card>div{grid-column:2!important;grid-row:1!important;display:grid!important;gap:3px!important;min-inline-size:0!important;text-align:start!important}
  .accounting-stats .stat-card strong{font-size:1rem!important;line-height:1.5!important;white-space:nowrap!important;min-inline-size:0!important}
  .accounting-stats .stat-card>div>span{font-size:.85rem!important;font-weight:800!important;white-space:nowrap!important}
  .accounting-stats .stat-card small{font-size:.75rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Icon/copy relationship components */
  .device-privacy-list,.security-list,.update-process,.readiness-list{display:grid!important;gap:10px!important}
  .device-privacy-item,.update-process-item,.health-note,.message-security-note,.preview-note,.security-note{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
    direction:rtl!important;
    text-align:start!important;
  }
  .device-privacy-icon,.update-process-icon,.health-note>svg,.message-security-note>svg,.preview-note>svg,.security-note>svg{grid-column:1!important;grid-row:1!important;justify-self:center!important;margin:0!important}
  .device-privacy-copy,.update-process-copy,.health-note>span,.message-security-note>span,.preview-note>span,.security-note>span{grid-column:2!important;grid-row:1!important;min-inline-size:0!important;text-align:start!important}
  .update-process-copy strong,.update-process-copy small{display:block!important;text-align:start!important}

  /* Message index and thread */
  .v293-message-filter{display:grid!important;grid-template-columns:minmax(260px,1.6fr) minmax(170px,.8fr) minmax(170px,.8fr) auto!important;align-items:end!important;gap:12px!important}
  .v293-filter-field{min-inline-size:0!important}
  .v293-filter-field>span{display:block!important;margin-block-end:6px!important;font-size:.8rem!important;font-weight:800!important;white-space:nowrap!important}
  .v293-filter-submit{min-inline-size:max-content!important}
  .v293-message-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;min-block-size:50px!important;padding:5px!important}
  .v293-message-tabs a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-inline-size:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .v293-index-row{min-inline-size:0!important}
  .v293-index-copy{min-inline-size:0!important}
  .v293-index-copy strong,.v293-index-copy small,.v293-index-copy p{max-inline-size:100%!important}
  .v293-message-layout{min-inline-size:0!important}
  .v293-thread-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-inline-size:0!important}
  .v293-toolbar-start,.v293-toolbar-end{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important}
  .v293-composer{min-inline-size:0!important}

  /* Authentication */
  .auth-body{min-block-size:100dvh!important;padding:clamp(12px,3vw,30px)!important;background:radial-gradient(circle at 50% 0,#fff 0,#f4f7fb 55%,#eaf0f8 100%)!important}
  .auth-shell{inline-size:min(100%,470px)!important;margin-inline:auto!important;display:grid!important;gap:14px!important;align-content:center!important;min-block-size:calc(100dvh - 2 * clamp(12px,3vw,30px))!important}
  .auth-card{inline-size:100%!important;padding:30px!important;border-radius:20px!important;overflow:hidden!important}
  .auth-brand{display:flex!important;align-items:center!important;gap:12px!important;margin-block-end:20px!important}
  .auth-brand img{inline-size:58px!important;block-size:58px!important;object-fit:contain!important;flex:0 0 auto!important}
  .auth-brand-copy{min-inline-size:0!important;text-align:start!important}
  .auth-heading h1{font-size:1.75rem!important;line-height:1.55!important;margin:7px 0 3px!important}
  .auth-heading p{font-size:.9rem!important;line-height:1.8!important;margin:0!important}
  .auth-form{display:grid!important;gap:15px!important;margin-block-start:18px!important}
  .auth-form label{display:grid!important;gap:7px!important}
  .auth-field-label{font-size:.87rem!important;font-weight:800!important}
  .auth-submit{inline-size:100%!important;min-block-size:50px!important;margin-block-start:2px!important}
  .auth-feature-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-block-start:15px!important;overflow:visible!important}
  .auth-feature{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-inline-size:0!important;min-block-size:44px!important;padding:8px!important;font-size:.77rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .auth-feature>span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .auth-support,.auth-footer{font-size:.76rem!important;line-height:1.8!important;text-align:center!important}

  /* Installer and server checker */
  .install-shell{inline-size:min(100%,900px)!important;padding:22px!important}
  .install-card{padding:26px!important;border-radius:18px!important;overflow:hidden!important}
  .install-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important}
  .install-header>div{min-inline-size:0!important}
  .install-header h1{font-size:1.7rem!important;line-height:1.55!important}
  .install-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .install-step{min-inline-size:0!important}
  .install-step span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Dialogs and popovers remain inside viewport. */
  dialog,.notification-dialog{max-inline-size:min(94vw,680px)!important;max-block-size:min(88dvh,760px)!important;overflow:auto!important}
  .ds-profile-menu{inset-inline-start:auto!important;inset-inline-end:0!important;max-inline-size:min(92vw,290px)!important}

  /* Hide collapse control from all touch/tablet layouts. */
  @media (pointer:coarse){.ds-collapse,[data-sidebar-collapse]{display:none!important}}
}

@media screen and (max-width:1200px){
  .v333-kpi-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .accounting-stats.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v293-message-filter{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.8fr))!important}
  .v293-filter-submit{grid-column:1/-1!important;justify-self:end!important}
}

@media screen and (max-width:900px){
  :root{--p40-topbar:64px}
  body{padding-block-end:76px!important}
  .ds-sidebar{inset-inline-start:0!important;inset-inline-end:auto!important;inline-size:min(86vw,310px)!important;max-inline-size:min(86vw,310px)!important;transform:translateX(105%)!important;visibility:visible!important;opacity:1!important;transition:transform .2s ease!important;box-shadow:-18px 0 50px rgba(8,28,67,.2)!important}
  body.sidebar-open .ds-sidebar,.ds-sidebar.open{transform:translateX(0)!important}
  .ds-main,body.sidebar-collapsed .ds-main,html.sidebar-collapsed-preload .ds-main{margin-inline:0!important}
  .ds-collapse,[data-sidebar-collapse]{display:none!important}
  .mobile-overlay{position:fixed!important;inset:0!important;z-index:999!important;background:rgba(7,22,52,.48)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important}
  .mobile-overlay:not([hidden]){display:block!important}
  .ds-topbar{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;padding-inline:10px!important;gap:8px!important}
  .menu-toggle{display:grid!important;grid-column:1!important;inline-size:44px!important;block-size:44px!important}
  .ds-page-title{grid-column:2!important;text-align:center!important}
  .ds-page-title strong{font-size:1rem!important}
  .ds-top-actions{grid-column:3!important;margin:0!important;display:flex!important;gap:6px!important}
  .ds-date-chip,.ds-profile-wrap{display:none!important}
  .message-shortcut{inline-size:42px!important;min-inline-size:42px!important;block-size:42px!important}
  .ds-container,.container{padding:16px 12px 26px!important}
  .page-head{gap:12px!important;margin-block-end:16px!important}
  .page-head h1{font-size:1.35rem!important}
  .page-head p{font-size:.84rem!important;line-height:1.8!important}
  .card{padding:16px!important;border-radius:13px!important}
  .card h2,.card-head h2,.section-title h2,.health-card-head h2{font-size:1.05rem!important}
  .grid.two-col,.two-col{grid-template-columns:1fr!important}
  .page-actions{max-inline-size:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;justify-content:flex-start!important;padding-block:2px!important;scrollbar-width:none!important}
  .page-actions .btn{flex:0 0 auto!important}
  .v333-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .v333-kpi-card{min-block-size:124px!important;padding:14px!important}
  .accounting-stats.report-stats{grid-template-columns:1fr!important}
  .accounting-stats .stat-card{min-block-size:92px!important;grid-template-columns:46px minmax(0,1fr)!important;padding:13px!important}
  .accounting-stats .stat-icon{inline-size:44px!important;block-size:44px!important}
  .accounting-stats .stat-card>div{grid-template-columns:minmax(0,1fr) auto!important;column-gap:8px!important;align-items:baseline!important}
  .accounting-stats .stat-card strong{grid-column:2!important;grid-row:1!important;justify-self:end!important;text-align:end!important;font-size:.93rem!important}
  .accounting-stats .stat-card>div>span{grid-column:1!important;grid-row:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .accounting-stats .stat-card small{grid-column:1/-1!important;grid-row:2!important}
  .v293-message-filter{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .v293-filter-search{grid-column:1/-1!important}
  .v293-filter-submit{grid-column:1/-1!important;inline-size:100%!important;justify-self:stretch!important}
  .v293-message-tabs{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;gap:7px!important;padding:5px!important}
  .v293-message-tabs a{flex:0 0 auto!important;min-inline-size:105px!important;scroll-snap-align:start!important}
  .form-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;justify-content:stretch!important}
  .form-actions .btn,.form-actions button,.form-actions a{inline-size:100%!important;min-inline-size:0!important}
  .form-actions>:only-child{grid-column:1/-1!important}
  .row-actions{inline-size:100%!important;max-inline-size:100%!important}
  .responsive-table thead{display:none!important}
  .responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block!important;inline-size:100%!important}
  .responsive-table tr{margin-block:0 12px!important;padding:11px!important;border:1px solid var(--p40-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 4px 14px rgba(16,28,54,.035)!important}
  .responsive-table td{display:grid!important;grid-template-columns:minmax(105px,38%) minmax(0,1fr)!important;align-items:start!important;gap:10px!important;padding:8px 4px!important;border:0!important;border-block-end:1px dashed #e8edf4!important;text-align:start!important}
  .responsive-table td:last-child{border-block-end:0!important}
  .responsive-table td::before{content:attr(data-label)!important;font-size:.76rem!important;font-weight:800!important;color:#6d7d93!important;white-space:normal!important;text-align:start!important}
  .responsive-table td.actions-cell{display:block!important;padding-block-start:10px!important}
  .responsive-table td.actions-cell::before{display:block!important;margin-block-end:8px!important}
  .responsive-table .row-actions{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important}
  .responsive-table .row-actions .btn{flex:0 0 auto!important}
  .device-privacy-item,.update-process-item,.health-note,.message-security-note,.preview-note,.security-note{grid-template-columns:34px minmax(0,1fr)!important;gap:9px!important}
  .auth-card{padding:24px 20px!important}
  .install-shell{padding:12px!important}
  .install-card{padding:20px 16px!important}
  .install-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
  .install-header h1{font-size:1.4rem!important}
  .install-actions{display:grid!important;grid-template-columns:1fr!important}
  .install-actions .btn{inline-size:100%!important}
  .mobile-bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;min-block-size:70px!important;padding:6px max(6px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-right))!important}
  .mobile-bottom-nav a{min-inline-size:0!important;min-block-size:56px!important;font-size:.69rem!important;line-height:1.25!important;gap:3px!important;white-space:nowrap!important;overflow:hidden!important}
  .mobile-bottom-nav a span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-inline-size:100%!important}
  .footer-note{display:none!important}
}

@media screen and (max-width:520px){
  body{font-size:15px!important}
  .ds-container,.container{padding-inline:9px!important}
  .page-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .page-head .page-actions,.page-head>.btn{justify-self:stretch!important;inline-size:100%!important}
  .page-head>.btn{justify-content:center!important}
  .card{padding:14px!important}
  .v333-kpi-strip{grid-template-columns:1fr!important}
  .v333-kpi-card{min-block-size:104px!important;grid-template-columns:46px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;gap:5px 10px!important}
  .v333-kpi-head{grid-column:1/3!important;grid-row:1!important}
  .v333-kpi-value{grid-column:3!important;grid-row:1!important;justify-self:end!important;font-size:1.2rem!important}
  .v333-kpi-foot{grid-column:2/4!important;grid-row:2!important;text-align:start!important}
  .v293-message-filter{grid-template-columns:1fr!important}
  .v293-filter-search,.v293-filter-submit{grid-column:1!important}
  .form-grid{grid-template-columns:1fr!important}
  .form-grid>*{grid-column:1!important}
  .form-actions{grid-template-columns:1fr!important}
  .btn,button:not(.password-toggle):not(.icon-button):not(.menu-toggle):not(.message-shortcut):not(.ds-profile),[role="button"],[role="tab"]{font-size:.84rem!important;padding-inline:12px!important}
  .auth-body{padding:8px!important}
  .auth-shell{min-block-size:calc(100dvh - 16px)!important}
  .auth-card{padding:20px 15px!important;border-radius:16px!important}
  .auth-brand{margin-block-end:15px!important}
  .auth-brand img{inline-size:50px!important;block-size:50px!important}
  .auth-heading h1{font-size:1.4rem!important}
  .auth-heading p{font-size:.82rem!important}
  .auth-input-wrap{min-block-size:52px!important;padding-inline:11px!important;grid-template-columns:20px minmax(0,1fr) 40px!important}
  .auth-input-wrap:not(.password-wrap){grid-template-columns:20px minmax(0,1fr)!important}
  .auth-feature-row{grid-template-columns:1fr!important;gap:6px!important}
  .auth-feature{justify-content:flex-start!important;padding-inline:12px!important}
  .auth-footer{display:none!important}
  .install-top{align-items:center!important}
  .install-brand>div span{display:none!important}
  .install-version{font-size:.72rem!important}
  .install-steps{grid-template-columns:1fr!important}
  .install-step{justify-content:flex-start!important}
  .responsive-table td{grid-template-columns:1fr!important;gap:3px!important}
  .responsive-table td::before{margin-block-end:1px!important}
}

@media print{
  .ds-sidebar,.ds-topbar,.mobile-bottom-nav,.mobile-overlay,.footer-note{display:none!important}
  .ds-main{margin:0!important}
  .ds-container,.container{padding:0!important;max-inline-size:none!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* v3.4.0 audit closure: hidden overlays must never paint or intercept the page. */
.mobile-overlay[hidden],.v293-message-overlay[hidden],[hidden]{display:none!important}
@media screen and (max-width:900px){
  .v293-message-tabs{flex-wrap:nowrap!important;overflow-x:auto!important}
  .v293-message-tabs a{flex:0 0 auto!important}
}

/* v3.4.0 final overlay/dialog visibility lock. */
html body button.mobile-overlay[hidden],
html body .mobile-overlay[hidden],
html body .v293-message-overlay[hidden],
html body dialog:not([open]),
html body .notification-dialog:not([open]){
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* v3.4.0 final readability, search and touch-target closure. */
html body :where(.input-with-icon,.client-search,.v293-search-control,.filter-search-control,.message-search,.v293-message-search,.payroll-period-search){
  direction:rtl!important;
}
html body :where(.input-with-icon,.client-search,.v293-search-control,.filter-search-control,.message-search,.v293-message-search,.payroll-period-search)>input{
  padding-inline-start:46px!important;
  padding-inline-end:14px!important;
}
html body .jalali-trigger{inline-size:44px!important;min-inline-size:44px!important;block-size:44px!important;min-block-size:44px!important}
html body .nav-section-title{font-size:12px!important}
html body .v333-kpi-card .v280-kpi-label{font-size:13px!important;line-height:1.55!important}
html body .v333-kpi-card small{font-size:12px!important;line-height:1.65!important}
html body .money-unit{font-size:12px!important}
html body .v293-filter-field{font-size:12px!important}
html body .update-facts span,
html body .version-info span{font-size:12px!important}
html body .payslip-identity strong{font-size:12px!important}
html body .btn.small{font-size:13px!important}

@media screen and (max-width:430px){
  html body .v333-money-value{inline-size:100%!important;max-inline-size:100%!important;justify-content:flex-start!important;overflow:visible!important}
  html body .v333-money-value .money-number{font-size:clamp(.9rem,4.25vw,1.08rem)!important;letter-spacing:0!important}
  html body .v333-money-value .money-unit{font-size:11px!important}
  html body .v333-kpi-card{overflow:hidden!important}
  html body .v333-kpi-foot{min-inline-size:0!important;overflow:hidden!important}
  html body .v333-kpi-foot small{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
}

/* Physical RTL fallback for legacy rules that reset logical padding. */
html[dir="rtl"] body .input-with-icon>input,
html[dir="rtl"] body .client-search>input,
html[dir="rtl"] body .payroll-period-search>input,
html[dir="rtl"] body .v293-search-control>input,
html[dir="rtl"] body .filter-search-control>input,
html[dir="rtl"] body .message-search>input,
html[dir="rtl"] body .v293-message-search>input{
  direction:rtl!important;
  padding-right:46px!important;
  padding-left:14px!important;
}
html[dir="rtl"] body .input-with-icon>svg,
html[dir="rtl"] body .client-search>svg,
html[dir="rtl"] body .payroll-period-search>svg,
html[dir="rtl"] body .v293-search-control>svg,
html[dir="rtl"] body .filter-search-control>svg,
html[dir="rtl"] body .message-search>svg,
html[dir="rtl"] body .v293-message-search>svg{
  right:14px!important;
  left:auto!important;
}
html body .ds-sidebar .nav-section-title{font-size:13px!important}
@media(max-width:430px){html body .v333-money-value .money-unit{font-size:12px!important}}
html[dir="rtl"] body .input-with-icon.input-with-icon.input-with-icon > input,
html[dir="rtl"] body .client-search.client-search.client-search > input,
html[dir="rtl"] body .payroll-period-search.payroll-period-search.payroll-period-search > input{
  padding-right:46px!important;
  padding-left:14px!important;
}
