/* v186 — one typography contract for screen and reports.
   Font binaries are optional installation assets, never fetched from third-party CDNs. */
@font-face{font-family:"HM186Yekan";font-style:normal;font-weight:400;font-display:swap;src:local("Yekan"),local("B Yekan"),local("BYekan"),local("IRYekan")}
@font-face{font-family:"HM186Yekan";font-style:normal;font-weight:700;font-display:swap;src:local("Yekan Bold"),local("B Yekan Bold"),local("BYekanBold")}
@font-face{font-family:"HM186Titr";font-style:normal;font-weight:700;font-display:swap;src:local("B Titr"),local("BTitrBold"),local("BTitrBd"),local("Titr")}
:root{
  --hm186-font-body:"HM186Yekan","Yekan","B Yekan","IRYekan",Tahoma,Arial,sans-serif;
  --hm186-font-title:"HM186Titr","Titr","B Titr","IR Titr",var(--hm186-font-body);
  --app-font-family:var(--hm186-font-body);--font-title:var(--hm186-font-title);
  --sh-print-body:var(--hm186-font-body);--sh-print-title:var(--hm186-font-title);
}
html:lang(fa) body{font-family:var(--hm186-font-body)!important}
html:lang(fa) body.hm185-app :is(.app-shell,.login-v4,.hm182-panel,.ds-select,.hammelk-jalali-picker-v35),
html:lang(fa) body :is(.hmr-paper,.report-paper,.report-screen-tools),
html:lang(fa) body :is(button,.button,input,select,textarea,option){font-family:var(--hm186-font-body)!important}
html:lang(fa) body.hm185-app .app-shell :is(h1,h2,h3,h4,h5,h6,.topbar-title>b,.brand-copy>strong,.section-title>b,.section-hub-card-copy>strong,.settings-clean-copy>strong,.quick-action-grid-v44>a>b,.owner-action-card-v81>b,.owner-alert-content-v81>b),
html:lang(fa) body :is(.report-paper,.hmr-paper) :is(h1,h2,h3,h4,h5,h6,.hmr-report-title,.report-title,.report-brand,.report-section-title),
html:lang(fa) body .login-v4 :is(h1,h2,h3),
html:lang(fa) body .hm182-panel :is(h2,h3){font-family:var(--hm186-font-title)!important}
html:lang(fa) body :is(.hmr-paper,.report-paper) :is(p,td,th,span,small,label,button,input){font-family:var(--hm186-font-body)!important}
html:lang(fa) body :is(.hmr-paper,.report-paper) :is(h1,h2,h3,h4,h5,h6,.report-title,.hmr-report-title) *{font-family:var(--hm186-font-title)!important}
.hm186-number{font:inherit;font-variant-numeric:tabular-nums;unicode-bidi:isolate;direction:ltr;overflow-wrap:anywhere}
/* Named fields retain their original type, value, validators and event handlers.
   The adjacent display field is un-named: FormData and backend payloads stay intact. */
html:lang(fa) body input.hm186-numeric-source{display:none!important}
html:lang(fa) body input.hm186-numeric-display{font-family:var(--hm186-font-body)!important;font-weight:800!important;font-variant-numeric:tabular-nums;direction:ltr;text-align:right;min-width:0;max-width:100%}
html:lang(fa) body .hm-number-stepper-v104>input.hm186-numeric-display{width:100%;height:44px;min-height:44px;padding:0 1px;margin:0;border:0;box-shadow:none;background:transparent;text-align:center;font-size:max(17px,var(--hm-ui-body,15px))!important}
html:lang(fa) body .sb84-season-control>input.hm186-numeric-display{text-align:center;min-width:0;width:100%}
@media screen and (max-width:900px){
  html:lang(fa) body .hm186-number{font-weight:800!important}
  html:lang(fa) body :is(.calendar-day-number,.hm182-date-jalali,.hm182-weather-temp,input[inputmode=numeric],input[inputmode=decimal],input[type=number]){font-weight:800!important}
}
@media screen{
  /* Auto rows equalise only siblings in the same row, never unrelated card groups. */
  body.hm185-app .app-shell .page-content :is(.dashboard-kpis-v44,.owner-summary-v26,.bank-overview,.charge-summary-v46,.acct-v48-kpis,.account-summary-grid,.smart-accounting-stats-v52,.quick-action-grid-v44,.owner-primary-actions-v44,.hm148-owner-summary,.owner-card-grid-v26,.bank-grid-modern,.period-cards,.section-hub-grid,.stat-grid,.stay155-kpis,.stay155-ready-grid,.hm143-center__grid){align-items:stretch!important;align-content:start!important;grid-auto-rows:auto!important}
  body.hm185-app .app-shell .page-content :is(.dashboard-kpi,.owner-card-v26,.user-card-v26,.bank-card-modern,.section-hub-card,.owner-action-card-v81,.hm148-owner-summary__item,.hm143-center__item,.stat-card),
  body.hm185-app .app-shell .page-content :is(.owner-summary-v26,.bank-overview,.charge-summary-v46,.acct-v48-kpis,.account-summary-grid,.smart-accounting-stats-v52,.stay155-kpis)>article{height:auto!important;min-height:0!important;max-height:none;align-self:stretch!important;justify-content:flex-start}
  body.hm185-app .app-shell .page-content :is(.quick-action-grid-v44,.owner-primary-actions-v44)>a{height:auto!important;min-height:48px!important;align-self:stretch!important}
  body.hm185-app .app-shell .page-content :is(.dashboard-kpi,.owner-action-card-v81,.section-hub-card,.stat-card) :is(h3,b,strong,small){overflow-wrap:anywhere;white-space:normal}
  /* v187: fit the actual menu boxes, not just the scrollbar. Older menu
     rules combine width:100% with 2px inline margins, overflowing by 4px. */
  body.hm185-app .sidebar{min-height:0;overflow:hidden!important}
  body.hm185-app .sidebar .sidebar-nav{flex:1 1 auto!important;min-height:0!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b2c4db transparent;scroll-padding-block:8px}
  body.hm185-app .sidebar .sidebar-nav>.menu-section{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;margin-inline:0!important}
  body.hm185-app .sidebar .sidebar-nav>.sb84-nav-group{min-width:0;max-width:100%;overflow-wrap:anywhere}
  body.hm185-app .sidebar .sidebar-nav .menu-section>span:not(.nav-count):not(.menu-open-mark){overflow-wrap:anywhere!important}
  body.hm185-app .sidebar :is(.brand,.sidebar-property,.hm185-nav-search,.sidebar-footer){flex-shrink:0}
  /* Only a small chevron is painted. The transparent 44x32px hit area is
     separate from the menu rows; it cannot intercept taps on a menu link. */
  body.hm185-app .app-shell .sidebar .hm186-nav-scroll{display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 32px;box-sizing:border-box;width:44px;min-width:44px;max-width:44px;height:32px;min-height:32px!important;margin:0;padding:6px 14px;border:0!important;border-radius:8px;background:transparent!important;box-shadow:none!important;color:#75879f;line-height:1;cursor:pointer;touch-action:manipulation;transition:color .15s ease}
  body.hm185-app .sidebar .hm186-nav-scroll[hidden]{display:none!important}
  /* Keep the small slot while only one end is reached. Changing the menu's
     height at every end would make arrows flicker and the menu jump. */
  body.hm185-app .sidebar .hm186-nav-scroll:disabled{visibility:hidden;pointer-events:none;cursor:default}
  body.hm185-app .sidebar .hm186-nav-scroll .icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  body.hm185-app .sidebar .hm186-nav-scroll:focus-visible{outline:2px solid #4381de;outline-offset:-2px;color:#2458b8}
}
@media screen and (hover:hover){body.hm185-app .sidebar .hm186-nav-scroll:not(:disabled):hover{color:#405f86}}
@media screen and (min-width:901px){
  /* The compact rail has icon-only rows. Legacy out-of-bounds CSS tooltips
     also enlarge scrollWidth; the existing accessible label + native title
     keep the full link name available without a horizontal scroll area. */
  body.hm185-app.hm185-nav-compact .sidebar .sidebar-nav>.sb84-nav-group,
  body.hm185-app.hm185-nav-compact .sidebar .sidebar-nav a::after{display:none!important}
}
@media print{
  .hm186-nav-scroll{display:none!important}
  html:lang(fa) body :is(.report-paper,.hmr-paper){font-family:var(--hm186-font-body)!important}
}
