/* Workflow hierarchy: modules → page tabs → filters → results → supporting detail. */
body.architecture-v3 [hidden] { display: none !important; }
body.architecture-v3 [data-perm].ia-role-hidden { display: none !important; }
body.architecture-v3 .sidebar { width: 228px; }
body.architecture-v3 .app { grid-template-columns: 228px minmax(0,1fr); }
body.architecture-v3 .nav { flex: 1; gap: 2px !important; }
.ia-nav-label { font: 650 11px var(--sans); color: var(--text-mute); padding: 13px 10px 6px; margin-top: 7px; border-top: 1px solid var(--line-soft); letter-spacing: .04em; }
.ia-nav-label:first-child { border-top: 0; margin-top: 0; padding-top: 5px; }
.ia-nav-item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 34px; flex-shrink: 0; padding: 7px 10px; background: transparent; color: var(--text-mute); border: 0; border-radius: 7px; font: 550 12px var(--sans); text-align: left; cursor: pointer; }
.ia-nav-title { flex: 1; }
.ia-nav-item:hover { color: var(--text); background: var(--bg-hover); }
.ia-nav-item.active { background: var(--accent-soft); color: var(--accent-strong); font-weight: 650; }
.ia-nav-item svg { width: 18px; height: 18px; flex-shrink: 0; stroke: currentColor; fill: none; stroke-width: 1.7; }
.ia-nav-item svg path { fill: none; stroke: currentColor; }
body.architecture-v3 .topbar { min-height: 74px; padding: 14px 26px !important; }
body.architecture-v3 .topbar h2 { font-size: 21px !important; }
.ia-context { padding: 17px 26px 0; background: var(--bg-1); border-bottom: 1px solid var(--line); }
.ia-context-inner { max-width: 1740px; margin: auto; }
.ia-page-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 15px; }
.ia-page-description { color: var(--text-mute); font: 12px/1.65 var(--sans); margin: 0; max-width: 720px; }
.ia-page-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.ia-page-actions .ia-refresh { order: 9; }
.ia-tabs { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ia-tab { border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-mute); padding: 10px 2px 13px; font: 550 13px var(--sans); cursor: pointer; display: flex; align-items: center; gap: 7px; }
.ia-tab:hover { color: var(--accent); }
.ia-tab.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 650; }
.ia-count { min-width: 18px; border-radius: 4px; background: var(--warn-bg); color: var(--warn); padding: 2px 5px; font: 600 10px var(--sans); }
body.architecture-v3 .view-container { padding: 20px 26px 36px !important; }
.ia-work-queue { margin-bottom: 23px; }
.ia-work-queue h3 { font: 650 13px var(--sans); margin: 0 0 12px; }
.ia-work-queue > p { font: 11px var(--sans); color: var(--text-dim); margin: 10px 0 0; }
.ia-queue-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.ia-queue-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px; border: 1px solid var(--line); background: var(--bg-1); border-radius: 8px; text-align: left; cursor: pointer; color: var(--text); }
.ia-queue-card strong { font: 600 13px var(--sans); }
.ia-queue-card span { color: var(--accent); font: 500 11px var(--sans); white-space: nowrap; }
.ia-queue-card:hover { border-color: var(--accent); }
body.architecture-v3 .ia-company-today { grid-template-columns: 1fr; margin-bottom: 20px; }
.ia-fold { background: var(--bg-1); border: 1px solid var(--line); border-radius: 8px; margin: 14px 0; min-width: 0; }
.ia-fold > summary { padding: 13px 16px; cursor: pointer; font: 550 12px var(--sans); color: var(--text-mute); list-style-position: inside; }
.ia-fold[open] > summary { border-bottom: 1px solid var(--line-soft); color: var(--text); }
.ia-fold > .table-wrap, .ia-fold > .panel { margin: 0 !important; border: 0 !important; box-shadow: none !important; }
.ia-fold .table-toolbar { border-top: 0 !important; }
.ia-fold > .bb-strip { margin: 0; }
.ia-fold > .ia-extra-filters { display: flex; gap: 10px; padding: 12px; flex-wrap: wrap; }
body.architecture-v3 .tx-toolbar { padding: 14px 16px !important; gap: 10px !important; }
body.architecture-v3 .ia-review-filters { display: grid !important; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 12px !important; width: 100%; }
.ia-filter-field { display: flex; flex-direction: column; min-width: 0; gap: 7px; }
.ia-filter-field > span { font: 500 11px var(--sans) !important; margin: 0 !important; color: var(--text-mute); }
body.architecture-v3 .ia-filter-field input, body.architecture-v3 .ia-filter-field select, body.architecture-v3 .ia-filter-field .sbs-wrap { width: 100% !important; min-width: 0 !important; }
.ia-review-note { margin: 0; color: var(--text-dim); font: 11px/1.5 var(--sans); }
body.architecture-v3 .tx-toolbar > .chip-filter-group { flex-basis: 100%; margin-bottom: 2px; }
body.architecture-v3 .tx-toolbar > .ia-fold { margin: 0; background: var(--bg-2); }
body.architecture-v3 .tx-toolbar > .ia-fold > summary { padding: 8px 12px; }
body.architecture-v3 .tx-toolbar > .ia-fold[open] { flex-basis: 100%; order: 10; }
body.architecture-v3 .tx-panel > .day-tabs { margin: 0 !important; padding: 10px 16px !important; border-bottom: 1px solid var(--line-soft); }
body.architecture-v3 .ia-inline-summary { padding: 11px 16px !important; background: var(--bg-2) !important; margin: 0 !important; border-bottom: 1px solid var(--line) !important; }
body.architecture-v3 .ia-inline-summary .sum-val { font-size: 16px !important; }
body.architecture-v3 .ia-compact-kpis { gap: 10px !important; margin: 14px 0 !important; }
body.architecture-v3 .ia-compact-kpis .kpi { padding: 12px 16px !important; }
body.architecture-v3 .ia-compact-kpis .kpi-value { font-size: 21px !important; margin: 7px 0 5px !important; }
body.architecture-v3 .uc-filter-bar { margin: 0 0 16px !important; padding: 14px !important; border: 1px solid var(--line); border-radius: 8px; }
.ia-quick-form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 18px; }
.ia-quick-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ia-quick-field > span { font: 550 11px var(--sans); color: var(--text-mute); }
.ia-quick-field input, .ia-quick-field select { width: 100% !important; min-width: 0 !important; padding: 8px 10px !important; }
.ia-quick-field:last-child { justify-content: flex-end; }
.ia-quick-field:last-child > span { visibility: hidden; }
.ia-bank-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 13px 0 8px; }
.ia-bank-filters select { min-width: 160px; }
.ia-bank-filters input { flex: 1; min-width: 180px; max-width: 370px; padding: 9px 12px; }
.ia-filter-note { font: 11px/1.5 var(--sans); color: var(--text-dim); margin: 0 0 16px; }
.ia-provider-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px 16px; }
.ia-provider-filter .ia-filter-note { margin: 0; }
.ia-bank-company { margin-bottom: 24px; }
.ia-statement-link { display: block; padding: 8px 0; margin-top: 10px; color: var(--accent); background: none; border: 0; border-top: 1px solid var(--line-soft); width: 100%; text-align: left; font: 550 11px var(--sans); cursor: pointer; }
body.architecture-v3 .ia-compact-status .bs-kpi { padding: 12px 16px !important; }
body.architecture-v3 .ia-compact-status .bs-kpi-val { font-size: 22px !important; }
body.architecture-v3 .bank-grand-card { padding: 17px 20px !important; margin-bottom: 18px !important; }
body.architecture-v3 .bank-grand-amount { font-family: var(--sans) !important; font-size: 23px !important; }
body.architecture-v3 .bank-co-header { margin-top: 0 !important; }
body.architecture-v3 .bank-card-hover-actions { opacity: 1; transform: none; }
body.architecture-v3 .bank-card-hover-actions.bank-hover-icons { position: static !important; display: flex !important; opacity: 1 !important; pointer-events: auto !important; transform: none !important; margin-top: 10px; padding: 0 !important; gap: 8px; }
body.architecture-v3 .bank-card-hover-actions .bank-hov-btn { width: auto !important; height: 31px !important; padding: 6px 10px !important; font: 550 11px var(--sans) !important; border-radius: 5px !important; }
.ia-account-menu { margin-top: 10px; border-top: 1px solid var(--line-soft); }
.ia-account-menu summary { padding: 10px 0 3px; color: var(--text-mute); cursor: pointer; font: 500 11px var(--sans); }
body.architecture-v3 .ia-account-menu .bank-hov-btn { display: block; width: 100% !important; height: auto; text-align: left; padding: 10px !important; margin-top: 5px; font: 500 11px var(--sans) !important; }
body.architecture-v3 .ia-account-menu .bank-hov-danger { margin-top: 12px; }
.ia-maintenance { padding: 16px; }
body.architecture-v3 .fin-layout { grid-template-columns: minmax(0,1fr); }
body.architecture-v3 .fin-summary .report-card { padding: 12px 16px !important; }
body.architecture-v3 .fin-summary .rt-kpi-value { font-size: 21px !important; }
body.architecture-v3 .ia-fold > .fin-side { padding: 16px; display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 16px; }
.ia-maintenance p { font: 12px/1.6 var(--sans); color: var(--warn); margin: 0 0 14px; }
body.architecture-v3 .settings-nav { width: 210px; }
body.architecture-v3 .settings-nav-group { font: 600 10px var(--sans); color: var(--text-dim); margin-top: 16px; padding: 8px 10px; }
.ia-mobile-group h3 { font: 650 11px var(--sans); color: var(--text-dim); padding: 12px 16px 4px; }
.ia-language-switch { display: flex; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--line); }
.ia-loading { min-height: 200px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--text-mute); font: 13px var(--sans); }
.ia-spinner { width: 18px; height: 18px; border: 2px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: ia-spin .8s linear infinite; }
@keyframes ia-spin { to { transform: rotate(360deg); } }
@media (max-width:1100px) { .ia-page-heading { align-items: flex-start; flex-direction: column; gap: 12px; } .ia-queue-card { align-items: flex-start; flex-direction: column; } }
@media (max-width:900px) {
  body.architecture-v3 .app { grid-template-columns: 1fr; }
  #ia-page-context { display: none !important; }
  .ia-context-mobile { padding: 0 0 15px; margin: 0 0 16px; border-bottom: 1px solid var(--line); }
  .ia-context-mobile .ia-page-heading { gap: 9px; padding-bottom: 8px; }
  .ia-context-mobile .ia-page-description { display: none; }
  .ia-context-mobile .ia-page-heading:has(.ia-page-actions:empty) { display: none; }
  .ia-context-mobile .ia-tabs { flex-wrap: nowrap; overflow-x: auto; gap: 18px; padding-bottom: 2px; }
  .ia-context-mobile .ia-tab { white-space: nowrap; font-size: 12px; padding: 9px 0; }
  .ia-quick-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #m-view .uc-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; }
  #m-view .uc-filter-bar input { min-width: 0; width: 100%; }
  #m-view .uc-filter-bar .uc-searchbox { flex-basis: 100%; min-width: 0; }
  #m-view .uc-filter-bar select { max-width: 100%; }
  #m-view #uc-status-chips { display: flex; flex-wrap: wrap; gap: 5px; }
  #m-view .ia-compact-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #m-view #unclaim-current-list table, #m-view #unclaim-lastmonth-list table { display: block; min-width: 0; width: 100%; }
  #m-view #unclaim-current-list thead, #m-view #unclaim-lastmonth-list thead { display: none; }
  #m-view #unclaim-current-list tbody, #m-view #unclaim-lastmonth-list tbody { display: block; }
  #m-view #unclaim-current-list tr, #m-view #unclaim-lastmonth-list tr { display: block; margin: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; }
  #m-view #unclaim-current-list td, #m-view #unclaim-lastmonth-list td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0 !important; white-space: normal; border: 0; overflow-wrap: anywhere; }
  .ia-mobile-field-label { color: var(--text-mute); font: 500 11px var(--sans); flex-shrink: 0; }
  body.architecture-v3 .settings-layout { display: flex; flex-direction: column; }
  body.architecture-v3 .settings-nav { width: 100%; display: flex; overflow-x: auto; gap: 5px; align-items: center; }
  body.architecture-v3 .settings-nav-group { display: none; }
  body.architecture-v3 .settings-tab { flex-shrink: 0; }
}
