/* HisabPro UI Batch 7 REV1 — RTL / Responsive / Final Visual Consistency
   Presentation-only final hardening layer. Loaded last so fixes can safely reconcile
   accepted Batch 1–6 module styles without changing business behavior. */

:root{--hp-b7-focus:#2563eb;--hp-b7-focus-ring:rgba(37,99,235,.22)}
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
.workspace,main,.card,.table-wrap,.grid,.two,.page-head,.topbar{min-width:0}
main{overflow-wrap:anywhere}
img,svg,canvas{max-width:100%}

/* Keyboard / accessibility */
.hp-skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:10000;padding:9px 13px;border-radius:9px;background:#fff;color:#173565;border:2px solid var(--hp-b7-focus);box-shadow:0 8px 24px rgba(16,33,74,.18);transform:translateY(-150%);transition:transform .12s ease;text-decoration:none;font-weight:800}
.hp-skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--hp-b7-focus)!important;outline-offset:2px!important;box-shadow:0 0 0 4px var(--hp-b7-focus-ring)}
:where(button,.btn,a.nav-link,.hp-report-link,.report-btn):disabled,[aria-disabled="true"]{opacity:.58;cursor:not-allowed}

/* Final shared component consistency */
.row-actions,.report-filter-actions,.report-export,.hp-document-actions{gap:7px;min-width:0}
.row-actions>*{max-width:100%}
.btn,button{line-height:1.25}
.flash,.help,.warning,.error,.success{overflow-wrap:anywhere}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
table{max-width:100%}
th,td{vertical-align:middle}
input,select,textarea,button,.btn{max-width:100%}
.details{min-width:0}.details dd{min-width:0;overflow-wrap:anywhere}

/* Numeric and technical content must stay unambiguous in both directions. */
.hp-number-display,.money-value,.rtl-value,.ref-value,.email-value,
[data-hp-number],td[class*="amount"],td[class*="total"],td[class*="balance"],td[class*="debit"],td[class*="credit"]{
  font-variant-numeric:tabular-nums;
}
html[dir="rtl"] :is(.hp-number-display,.money-value,.rtl-value,.ref-value,.email-value,[data-hp-number],td[class*="amount"],td[class*="total"],td[class*="balance"],td[class*="debit"],td[class*="credit"],input[type="email"],input[inputmode="decimal"],input[inputmode="numeric"]){direction:ltr;unicode-bidi:isolate;text-align:left}
html[dir="rtl"] code,html[dir="rtl"] .code,html[dir="rtl"] [data-technical-value]{direction:ltr;unicode-bidi:isolate;text-align:left}

/* RTL final alignment / mirroring */
html[dir="rtl"] .crumb-sep{transform:scaleX(-1)}
html[dir="rtl"] .back-link{direction:rtl}
html[dir="rtl"] .row-actions,html[dir="rtl"] .report-filter-actions,html[dir="rtl"] .report-export{justify-content:flex-start}
html[dir="rtl"] .date-picker-head,html[dir="rtl"] .date-picker-foot{direction:rtl}
html[dir="rtl"] .date-picker-grid,html[dir="rtl"] .date-picker-week{direction:rtl}
html[dir="rtl"] .hp-chart-axis{direction:rtl}
html[dir="rtl"] .hp-report-donut-legend span{grid-template-columns:auto minmax(0,1fr) 8px}
html[dir="rtl"] .hp-report-donut-legend span i{grid-column:3}
html[dir="rtl"] .hp-report-donut-legend span em{grid-column:2;text-align:right}
html[dir="rtl"] .hp-report-donut-legend span b{grid-column:1;text-align:left;direction:ltr;unicode-bidi:isolate}

/* Long-content resilience */
.page-head h1,.page-head p,.nav-link>span:last-child,.hp-report-group-title,.hp-report-link-label,.user-chip{overflow-wrap:anywhere}
.hp-report-link-label{min-width:0}
select{min-width:0}

/* Laptop hardening: preserve working area while preventing topbar collisions. */
@media(max-width:1366px) and (min-width:901px){
  .topbar{gap:6px;padding-inline:12px}
  .search{min-width:150px;max-width:220px}
  .pref-today{min-width:132px}
  .user-chip{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  main{padding-inline:18px}
}
@media(max-width:1180px) and (min-width:901px){
  .search{max-width:180px}
  .pref-today{min-width:118px;padding-inline:7px}
  .pref-today-gregorian{font-size:9px}.pref-today-solar{font-size:8px}
  .prefs-compact .pref-language{width:80px;min-width:80px}
  .prefs-compact .pref-calendar{width:76px;min-width:76px}
  .prefs-compact .pref-nav{width:70px;min-width:70px}
}

/* Tablet / mobile shell: off-canvas navigation plus contained workspace. */
.hp-nav-scrim{display:none}
@media(max-width:900px){
  .workspace{width:100%;max-width:100%}
  .topbar{align-items:center;flex-wrap:wrap}
  .menu-toggle{flex:0 0 38px}
  .search{min-width:0}
  .prefs-compact{width:100%!important;max-width:100%}
  .sidebar{z-index:1002}
  .sidebar.open+.hp-nav-scrim{display:block}
  .hp-nav-scrim{position:fixed;inset:0;z-index:1001;background:rgba(6,19,47,.38);backdrop-filter:blur(1px)}
  .page-head{gap:8px}
  .page-head>div{max-width:100%}
  .two,.grid{min-width:0}
  .row-actions,.report-filter-actions,.report-export,.hp-document-actions{flex-wrap:wrap}
  .date-picker-popover{max-width:calc(100vw - 28px)}
}

@media(max-width:768px){
  main{padding:16px 12px 26px}
  .card{border-radius:13px}
  .table-wrap{border-radius:11px}
  .report-table-head{width:100%}
  .report-table-head form,.report-table-head label{max-width:100%}
  .hp-report-chart-grid,.hp-report-chart-grid--2{min-width:0}
  .hp-chart-card{min-width:0!important}
  .hp-sales-line{min-width:0}
  .hp-chart-axis span{font-size:.56rem}
  .hp-hbar-row>div{min-width:0}
  .hp-hbar-row span{min-width:0}
}

@media(max-width:620px){
  .topbar{padding:8px 9px}
  .search{order:3!important;flex:1 1 100%!important;width:100%!important}
  .prefs-compact{order:4!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pref-today{grid-column:1/-1!important}
  .user-chip{max-width:min(42vw,170px)}
  .logout button{min-height:38px}
  .page-head{margin-bottom:12px}
  .page-head h1{font-size:21px;line-height:1.2}
  .btn,button{min-height:36px}
  .row-actions>.btn,.row-actions>button,.row-actions>form{flex:0 1 auto}
  .report-export .btn{flex:1 1 130px}
  .hp-report-donut-wrap{min-width:0}
  .hp-report-donut-legend{width:100%;min-width:0}
}

@media(max-width:430px){
  main{padding:12px 9px 22px}
  .prefs-compact{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px}
  .prefs-compact .pref-control{min-width:0!important;width:100%!important}
  .prefs-compact .pref-control select{font-size:10px!important;padding-inline:24px 6px!important}
  .pref-today{height:auto;min-height:34px;padding-block:5px}
  .page-head h1{font-size:20px}
  .card{padding:12px}
  .row-actions{align-items:stretch}
  .row-actions>.btn,.row-actions>button,.row-actions>form{max-width:100%}
  .row-actions>form button{width:100%}
  .report-filter-actions>*{flex:1 1 120px;text-align:center}
  .report-save-form input[name="name"]{min-width:0;width:100%}
  .date-picker-popover{inset-inline:7px!important;width:auto!important;max-width:none}
  .date-picker-jump{min-width:0}.date-picker-jump select{min-width:0!important}
  .hp-report-count{width:100%}
  .hp-report-assurance{padding:11px}
  .hp-chart-card{padding:12px!important}
  .hp-report-donut{width:105px!important;height:105px!important;flex-basis:105px!important}
}

/* Very narrow sanity: functionality first. */
@media(max-width:360px){
  .topbar{gap:5px}
  .menu-toggle{width:36px;height:36px;flex-basis:36px}
  .user-chip{max-width:112px;font-size:12px}
  .logout button{padding-inline:7px;font-size:11px}
  .prefs-compact{grid-template-columns:1fr!important}
  .pref-today{grid-column:auto!important}
  .hp-login-panel{padding-inline:15px}
}

/* Reduced motion without suppressing functional visibility changes. */
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Final print isolation. Charts remain printable only on actual report views; launcher/UI chrome does not. */
@media print{
  .hp-skip-link,.hp-nav-scrim,.menu-toggle,.search,.prefs,.user-chip,.logout,.row-actions.no-print{display:none!important}
  html,body{overflow:visible!important;max-width:none!important}
  .workspace,main{max-width:none!important;overflow:visible!important}
  .table-wrap{overflow:visible!important;max-width:none!important}
  .hp-chart-card,.hp-report-visuals{box-shadow:none!important;break-inside:avoid}
  a[href]::after{content:none!important}
}
