/* HENDAR UALL-S — governed company finance, stable navigation and refined RTL charts. */

/* Close controls must remain visible against every header, theme and iPhone safe area. */
.modal-header .icon-button.close-modal,
#closeNotificationDrawer,
.notification-drawer #closeNotificationDrawer,
.install-help-close,
.sidebar-close-button {
  position: relative;
  z-index: 30;
  display: inline-grid !important;
  place-items: center;
  flex: 0 0 42px;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1px solid rgba(11,52,82,.20) !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #0b3452 !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-family: Arial,sans-serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  box-shadow: 0 8px 22px rgba(4,31,58,.12) !important;
}

.modal-header .icon-button.close-modal:hover,
#closeNotificationDrawer:hover { background:#f1f5f9 !important; transform:none !important; }

/* The desktop sidebar never travels with page content; only its menu can scroll. */
@media (min-width:981px) {
  .app-shell:not(.hidden) {
    --hendar-fixed-sidebar-width: 276px;
    grid-template-columns: var(--hendar-fixed-sidebar-width) minmax(0,1fr) !important;
  }
  .app-shell.sidebar-collapsed:not(.hidden) { --hendar-fixed-sidebar-width:92px; }
  .app-shell:not(.hidden) > .sidebar {
    position: fixed !important;
    inset-block: 0 !important;
    inset-inline-start: 0 !important;
    width: var(--hendar-fixed-sidebar-width) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    transform: none !important;
  }
  .app-shell:not(.hidden) > .sidebar .main-nav {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  .app-shell:not(.hidden) > .main-content { grid-column:2 !important; min-width:0; }
}

.company-finance-ledger-toolbar {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(220px,1.4fr) minmax(180px,.7fr) minmax(380px,1.6fr);
  align-items: end;
  gap: 12px;
  margin: 18px 0 10px;
  padding: 13px;
  border: 1px solid color-mix(in srgb,var(--company-primary,#0b3452) 16%,var(--border,#dbe5ef));
  border-radius: 16px;
  background: color-mix(in srgb,var(--company-primary,#0b3452) 3%,#fff);
  box-shadow: 0 8px 24px rgba(15,23,42,.045);
}
.company-finance-ledger-toolbar label { display:grid; gap:5px; }
.company-finance-ledger-toolbar label > span { color:var(--muted,#64748b);font-size:10px;font-weight:850; }
.company-finance-ledger-toolbar input,
.company-finance-ledger-toolbar select { min-height:42px; }
.company-finance-print-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap; }
.company-finance-print-actions > span { flex:1 0 100%;color:var(--muted,#64748b);font-size:9px;text-align:end; }

#companyFinanceTable {
  max-height: none;
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  border: 1px solid var(--border,#dbe5ef);
}
#companyFinanceTable.is-scrollable {
  height: clamp(430px,58dvh,620px);
  overflow-y: scroll;
  scrollbar-width: auto;
  scrollbar-color: var(--company-primary,#0b3452) #e7edf2;
}
#companyFinanceTable.is-scrollable::-webkit-scrollbar { width:13px;height:13px; }
#companyFinanceTable.is-scrollable::-webkit-scrollbar-track { background:#e7edf2;border-radius:999px; }
#companyFinanceTable.is-scrollable::-webkit-scrollbar-thumb { background:var(--company-primary,#0b3452);border:3px solid #e7edf2;border-radius:999px; }
#companyFinanceTable table { min-width:1480px;table-layout:auto;box-shadow:none; }
#companyFinanceTable thead { position:sticky;top:0;z-index:5; }
#companyFinanceTable thead th { position:sticky;top:0;z-index:5;box-shadow:0 1px 0 rgba(255,255,255,.22); }
#companyFinanceTable th:last-child,
#companyFinanceTable td:last-child { width:228px;min-width:228px; }
#companyFinanceTable tbody tr.is-selected { background:color-mix(in srgb,var(--company-secondary,#b98427) 15%,#fff); }
.company-finance-row-actions { display:flex;gap:5px;align-items:center;white-space:nowrap; }
.company-finance-row-actions .row-action { min-width:62px;min-height:34px;padding:6px 9px;border-radius:9px;white-space:nowrap;word-break:normal;line-height:1.2; }
.company-finance-row-actions .danger { color:#9f1239;border-color:#fecdd3;background:#fff1f2; }
.company-expense-ref { display:grid;gap:2px;direction:ltr;text-align:left;font-variant-numeric:tabular-nums; }
.company-expense-ref strong { color:var(--company-primary,#0b3452);font-size:10px; }
.company-expense-ref small { color:var(--muted,#64748b);font-size:8px; }

.company-financial-report { margin-top:18px; }
.finance-executive-chart {
  overflow: hidden;
  border:1px solid color-mix(in srgb,var(--company-primary,#0b3452) 14%,var(--border,#dbe5ef));
  border-radius:20px;
  background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--company-primary,#0b3452) 3%,#fff));
}
.finance-executive-chart .financial-report-head { padding:19px 20px 14px;margin:0;border-bottom:1px solid var(--border,#e2e8f0); }
.finance-executive-chart .financial-report-grid { gap:0;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); }
.finance-executive-chart .financial-report-grid > article { border:0;border-radius:0;padding:18px 20px;background:transparent;box-shadow:none; }
.finance-executive-chart .financial-report-grid > article + article { border-inline-start:1px solid var(--border,#e2e8f0); }
.finance-chart-heading { display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:13px; }
.finance-chart-heading h4 { margin:0;color:var(--company-primary,#0b3452);font-size:16px; }
.finance-chart-heading small { color:var(--muted,#64748b);font-size:9px; }
.finance-chart-list { display:grid;gap:9px; }
.finance-chart-row { display:grid;grid-template-columns:minmax(102px,.42fr) minmax(160px,1fr) minmax(105px,.42fr);align-items:center;gap:11px;min-height:30px; }
.finance-chart-row > span { color:#60758a;font-size:9px;font-weight:800;white-space:nowrap; }
.finance-chart-row > b { color:var(--company-primary,#0b3452);font-size:10px;text-align:start;font-variant-numeric:tabular-nums;white-space:nowrap; }
.finance-chart-track { position:relative;height:9px;overflow:hidden;border-radius:999px;background:#e8f0ec;direction:rtl; }
.finance-chart-track::after { content:"";position:absolute;inset-block:0;inset-inline-start:0;width:var(--bar,0%);min-width:var(--visible-min,0);border-radius:inherit;background:linear-gradient(90deg,#2b855a,#48a868); }
.finance-chart-row[data-zero="true"] .finance-chart-track::after { width:0;min-width:0; }
.finance-chart-categories .finance-chart-track { background:#edf1f5; }
.finance-chart-categories .finance-chart-track::after { background:linear-gradient(90deg,var(--company-primary,#0b3452),var(--company-secondary,#b98427)); }
.finance-chart-scale { display:flex;justify-content:space-between;margin:6px 113px 0 113px;color:#8a98a6;font-size:8px;direction:ltr; }

#companyFinancialModal { width:min(980px,calc(100vw - 28px)); }
#companyFinancialChangeReasonWrap { padding:12px;border:1px solid #f5c2c7;border-radius:13px;background:#fff6f7; }

@media (max-width:980px) {
  .company-finance-ledger-toolbar { grid-template-columns:1fr 1fr; }
  .company-finance-print-actions { grid-column:1/-1;justify-content:stretch; }
  .company-finance-print-actions .button { flex:1; }
  .finance-executive-chart .financial-report-grid { grid-template-columns:1fr; }
  .finance-executive-chart .financial-report-grid > article + article { border-inline-start:0;border-top:1px solid var(--border,#e2e8f0); }
}

@media (max-width:680px) {
  .modal-header { padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right)); }
  .company-finance-ledger-toolbar { grid-template-columns:1fr;position:static; }
  .company-finance-print-actions { grid-column:auto; }
  .company-finance-print-actions .button { flex:1 0 100%; }
  #companyFinanceTable.is-scrollable { height:58dvh;min-height:390px; }
  .finance-chart-row { grid-template-columns:88px minmax(95px,1fr) 92px;gap:7px; }
  .finance-chart-scale { margin-inline:95px; }
}

@media print {
  .company-finance-ledger-toolbar { display:none !important; }
  #companyFinanceTable { height:auto !important;max-height:none !important;overflow:visible !important; }
}
