/* Finance Service Lab 9.6.0 — end-to-end coherence pass.
   Rules here deliberately override older per-screen experiments. */
:root{
  --fsl-control-h:40px;
  --fsl-action-min:118px;
  --fsl-gap:10px;
  --fsl-warning-row:#fff8de;
  --fsl-warning-row-hover:#fff2bd;
}

/* Filters are context, not a second navigation bar. They scroll with the page. */
.topbar{position:relative!important;top:auto!important;z-index:20!important;backdrop-filter:none!important;overflow:visible!important}
.topbar-main{position:relative!important;top:auto!important}
.analysis-toolbar{overflow:visible!important;scrollbar-width:none!important}
.analysis-toolbar::-webkit-scrollbar{display:none!important}

/* A badge belongs inside its control. */
.source-picker>summary{box-sizing:border-box!important;min-width:0!important;overflow:hidden!important}
.source-picker>summary #sourceSummary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.source-picker>summary #sourceCount{flex:0 0 auto;min-width:46px!important;margin:0!important}

/* Equal-rank adjacent actions use equal geometry. */
.actions:not(.vertical),.export-action-set,.suggestion-bulk-actions,.report-generate-actions{align-items:center}
.card-head>.actions:not(.vertical)>:is(button,.button-link),
.export-action-set>:is(button,.button-link),
.suggestion-bulk-actions>:is(button,.button-link),
.debt-toolbar>:is(button,.button-link),
.subscription-actions>:is(button,.button-link),
.review-actions>:is(button,.button-link),
.debt-row-actions>:is(button,.button-link){
  min-height:var(--fsl-control-h)!important;height:var(--fsl-control-h)!important;min-width:var(--fsl-action-min)!important;
  padding:0 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important
}

/* Forms & actions becomes a real responsive grid, not accidental wrapping. */
#view-support>.page-task-bar{align-items:start!important}
#view-support>.page-task-bar .page-task-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;width:min(900px,100%)!important}
#view-support>.page-task-bar .page-task-actions>*{width:100%!important;min-width:0!important;height:var(--fsl-control-h)!important;min-height:var(--fsl-control-h)!important;padding:0 10px!important;white-space:normal!important;line-height:1.15!important}

/* Drawers never leak outside the viewport. */
.detail-drawer,.ui-task-drawer{max-width:100vw!important;overflow:hidden!important}
.detail-drawer .drawer-panel,.ui-task-panel{box-sizing:border-box!important;max-width:min(620px,100vw)!important;width:100%!important;min-width:0!important}
.detail-drawer .drawer-head,.ui-task-head{box-sizing:border-box!important;width:100%!important;padding-right:2px!important}
.detail-drawer .drawer-head>:last-child,.ui-task-head>:last-child{flex:0 0 auto!important;margin-right:0!important}

/* Providers: same baseline, same card rhythm. */
#view-providers .provider-monitor-grid{align-items:stretch!important}
#view-providers .provider-monitor-grid>section{display:grid!important;grid-template-rows:auto auto 1fr!important;align-content:start!important;gap:8px!important}
#view-providers .provider-monitor-grid>section>h3{margin:0!important;min-height:24px!important;display:flex;align-items:center}
#view-providers .provider-monitor-grid>section>.hint{min-height:38px!important;margin:0!important}
#view-providers .provider-monitor-grid>section:first-child::after{content:"";display:none}
#view-providers .provider-card-list>.empty-state{min-height:142px!important}

/* Compact provider semantics: E/S/P/C markers + readable category. */
.provider-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 2px;color:var(--muted);font-size:11px}
.provider-legend-item{display:inline-flex;align-items:center;gap:5px}
.provider-marker{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:10px;font-weight:850;line-height:1;border:1px solid transparent;flex:0 0 22px}
.provider-marker.marker-e{background:#e5f6ec;border-color:#b7e1c7;color:#197247}
.provider-marker.marker-s{background:#eef1f5;border-color:#d7dce5;color:#596273}
.provider-marker.marker-p{background:#fff0df;border-color:#f0d1ac;color:#9b5a0c}
.provider-marker.marker-c{background:#ffe7eb;border-color:#f2bbc5;color:#b3354c}
.provider-category-label{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:var(--ui-grey);color:#5f6675;font-size:10px;font-weight:700}
.provider-logo.logo-fallback{display:grid!important;place-items:center!important;background:#f2f3f7!important;color:#4e5564!important;border:1px solid var(--line)!important}
.provider-logo.logo-fallback img{display:none!important}

/* Planning uses the full canvas; no decorative voids. */
#view-planning>.grid.two,#view-planning .planning-grid,#view-planning .planning-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-planning>.grid.two>.card,#view-planning .planning-grid>.card{width:auto!important;max-width:none!important;min-width:0!important}

/* Budget legend appears once, rows carry values only. */
.budget-column-head,.budget-row{display:grid!important;grid-template-columns:minmax(180px,1fr) minmax(240px,1.5fr) minmax(150px,.65fr)!important;gap:14px!important;align-items:center!important}
.budget-column-head{padding:0 0 7px!important;margin-bottom:3px!important;border-bottom:1px solid var(--line)!important;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.budget-column-head span:last-child,.budget-amounts{text-align:right!important}
.budget-amounts strong{white-space:nowrap!important}

/* Dates are European and never wrap in user-facing tables. */
.date-cell,.date-cell *,.debt-table td:nth-child(4),.tenant-charge-table td:first-child{white-space:nowrap!important}

/* Debt table: confirmation is a state of the whole record. */
#debtsTable tr.debt-balance-review>td{background:var(--fsl-warning-row)!important}
#debtsTable tr.debt-balance-review:hover>td{background:var(--fsl-warning-row-hover)!important}
#debtsTable tr.debt-balance-review{cursor:help}
.confirm-balance-link{margin-top:4px!important;font-weight:750!important}
#debtsTable td,#debtsTable th{vertical-align:middle!important}
#debtsTable .provider-name-cell{min-width:0}
#debtsTable .debt-row-action-stack{display:flex;gap:6px;align-items:center;justify-content:flex-end}
#debtsTable .debt-row-action-stack>*{width:42px!important;height:36px!important;min-height:36px!important;padding:0!important;display:grid!important;place-items:center!important}

/* Suggestion review: compact data grid, not poster-sized cards. */
.suggestion-review-table{display:grid;gap:7px}
.suggestion-review-head,.suggestion-review-row{display:grid;grid-template-columns:32px minmax(160px,1.5fr) 78px 110px 100px 170px minmax(170px,1fr) 130px 286px;gap:10px;align-items:center}
.suggestion-review-head{padding:0 10px 7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}
.suggestion-review-row{padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 2px 10px rgba(20,26,45,.025)}
.suggestion-review-row:hover{border-color:#cfd3de;background:#fcfcfe}
.suggestion-review-name{display:grid;gap:2px;min-width:0}.suggestion-review-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-review-name small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suggestion-review-number{font-variant-numeric:tabular-nums;white-space:nowrap}
.suggestion-review-category{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.suggestion-review-confidence{display:grid;gap:3px}.suggestion-review-confidence small{font-size:10px;color:var(--muted)}
.suggestion-review-row .review-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.suggestion-review-row .review-actions>*{width:100%!important;min-width:0!important;height:36px!important;min-height:36px!important;padding:0 7px!important;font-size:11px!important}
.suggestion-new-category{margin:10px 0;padding:12px;border:1px dashed var(--line);border-radius:10px;background:var(--panel-alt)}
.suggestion-new-category .form-triple{align-items:end}

/* Subscription detection gets named columns and breathing room. */
.subscription-detection-list{display:grid!important;gap:7px!important}
.subscription-detection-head,.detected-subscription{display:grid!important;grid-template-columns:minmax(160px,1.4fr) 92px 100px 88px 136px 90px 262px;gap:10px;align-items:center!important}
.subscription-detection-head{padding:0 10px 7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}
.detected-subscription{padding:10px!important;border:1px solid var(--line)!important;border-radius:11px!important;background:var(--panel)!important}
.detected-subscription:hover{border-color:#cfd3de!important;background:#fcfcfe!important}
.detected-subscription .subscription-name{display:flex;align-items:center;gap:7px;min-width:0}.detected-subscription .subscription-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.detected-subscription .subscription-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
.detected-subscription .subscription-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important}
.detected-subscription .subscription-actions>*{min-width:0!important;width:100%!important;height:36px!important;min-height:36px!important;padding:0 8px!important;font-size:11px!important}

/* AI routing is a compact task/provider/model table. */
.ai-routing-card{padding-bottom:16px!important}
.ai-task-model-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ai-task-table-head,.ai-task-model{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(160px,.7fr) minmax(260px,1.2fr)!important;gap:10px!important;align-items:center!important}
.ai-task-table-head{padding:8px 12px;background:var(--panel-alt);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.ai-task-model{padding:8px 12px!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:var(--panel)!important}
.ai-task-model:first-of-type{border-top:0!important}
.ai-task-model select{width:100%!important;height:var(--fsl-control-h)!important;min-height:var(--fsl-control-h)!important}
.ai-task-name{font-size:13px!important}.ai-task-model label{gap:0!important}
#view-ai>.grid.two{align-items:stretch!important}#view-ai>.grid.two>.card{height:100%!important}

/* Affordability KPIs: highlight means drill-down. */
.affordability-metric{cursor:pointer!important;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.affordability-metric:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))!important;box-shadow:0 6px 18px rgba(31,37,67,.07)}
.affordability-metric:focus-visible{outline:0;box-shadow:0 0 0 3px var(--detail-focus)!important}

/* Shopping is provider-agnostic. Amazon is an adapter, not the whole screen. */
.shopping-provider-toolbar{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}
.shopping-provider-toolbar label{display:grid;gap:5px}.shopping-provider-toolbar label>span{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.shopping-provider-toolbar select{height:var(--fsl-control-h)}
.amazon-creators-card .amazon-creators-head-actions{display:flex;align-items:center;gap:8px}
.amazon-creators-card #amazonCreatorsConfigPanel{margin-top:12px}
.amazon-search-grid{display:grid!important;grid-template-columns:minmax(220px,1.7fr) minmax(160px,.7fr) 100px minmax(150px,.75fr) 118px!important;gap:10px!important;align-items:end!important}
.amazon-search-grid label{min-width:0}.amazon-search-grid label>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amazon-search-grid button{height:var(--fsl-control-h)!important;min-height:var(--fsl-control-h)!important}
.price-comparison-shell{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:12px;margin-top:12px}
.price-comparison-card,.fsl-basket-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel-alt)}
.store-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.store-price-row:last-child{border-bottom:0}.store-price-row strong{white-space:nowrap}.store-price-row small{color:var(--muted)}

/* Rooms form: regular grid and aligned actions. */
#roomForm.inline-form{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:end!important}
#roomForm textarea{min-height:92px!important;grid-column:span 2!important}
#roomForm .check{min-height:var(--fsl-control-h);align-self:end}
#roomForm>button{height:var(--fsl-control-h)!important;min-height:var(--fsl-control-h)!important}

/* User-facing dates and long table cells. */
td,th{overflow-wrap:normal}
.table-wrap td{word-break:normal}

@media(max-width:1300px){
  .suggestion-review-table{overflow-x:auto}.suggestion-review-head,.suggestion-review-row{min-width:1120px}
  .subscription-detection-list{overflow-x:auto}.subscription-detection-head,.detected-subscription{min-width:980px}
}
@media(max-width:1000px){
  #view-support>.page-task-bar .page-task-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .price-comparison-shell{grid-template-columns:1fr}
  #roomForm.inline-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .amazon-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.amazon-search-grid button{width:100%!important}
}
@media(max-width:700px){
  #view-support>.page-task-bar .page-task-actions{grid-template-columns:1fr!important}
  .budget-column-head,.budget-row{grid-template-columns:1fr!important}.budget-column-head{display:none!important}.budget-amounts{text-align:left!important}
  .ai-task-table-head{display:none!important}.ai-task-model{grid-template-columns:1fr!important;gap:7px!important}
  .shopping-provider-toolbar,#roomForm.inline-form,.amazon-search-grid{grid-template-columns:1fr!important}
  #roomForm textarea{grid-column:auto!important}
}
.virtual-basket-list{display:grid;gap:7px}.virtual-basket-row{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.virtual-basket-row:last-child{border-bottom:0}.virtual-basket-row>div{display:grid;gap:2px;min-width:0}.virtual-basket-row>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.virtual-basket-row small{color:var(--muted)}.virtual-basket-row>span{font-weight:750;white-space:nowrap}.empty-state.compact{min-height:94px}
.category-tree-row{grid-template-columns:auto minmax(130px,.55fr) minmax(220px,1.2fr) auto!important}
.category-tree-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.category-tree-editing{grid-template-columns:1fr!important;margin-left:calc(var(--category-depth) * 20px)!important}
.category-tree-edit-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.55fr) minmax(220px,1fr) auto;gap:10px;width:100%;align-items:center}
.category-tree-edit-form input,.category-tree-edit-form select,.category-tree-edit-form button{min-height:40px}
@media(max-width:900px){.category-tree-row{grid-template-columns:auto 1fr auto!important}.category-tree-row>small{grid-column:2/-1}.category-tree-edit-form{grid-template-columns:1fr}}
.own-account-review-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:12px 0;border:1px solid #e8c36b;border-radius:12px;background:#fff8df;color:#5b4713}
.own-account-review-banner>div{display:grid;gap:3px}.own-account-review-banner small{color:#715f32}.owned-transfer-panel.review-focus{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:3px}
@media(max-width:700px){.own-account-review-banner{align-items:stretch;flex-direction:column}.own-account-review-banner button{width:100%}}
/* Narrow windows: wrap the context controls instead of creating a horizontal mini-scrollbar. */
@media(max-width:900px){
  .topbar-main{width:100%!important;max-width:100%!important;min-width:0!important}
  .ai-mode-badge{display:none!important}
  .analysis-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;height:auto!important;overflow:visible!important;gap:8px!important;padding-bottom:9px!important}
  .analysis-toolbar>label,.source-picker-field{min-width:0!important;width:100%!important;flex:none!important}
  .source-picker-field{grid-column:1/-1!important}
  .source-menu{position:fixed!important;left:12px!important;right:12px!important;top:142px!important;width:auto!important;max-width:none!important;box-sizing:border-box!important}
}
@media(max-width:560px){
  .analysis-toolbar{grid-template-columns:1fr!important}
  .source-picker-field{grid-column:auto!important}
}
/* Export actions use one footprint across analytical tables without shrinking report tiles. */
#view-analytics [data-csv-dataset]{inline-size:124px!important;min-inline-size:124px!important;max-inline-size:124px!important;box-sizing:border-box!important;justify-content:center!important}

/* Report alerts: compact action summary, not a dump. */
.report-alert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3,12px)}
.report-alert-item{border:1px solid var(--border);border-radius:var(--radius-md,12px);padding:14px;display:grid;gap:5px;min-width:0;background:var(--surface)}
.report-alert-item span{font-size:.82rem;color:var(--muted)}
.report-alert-item strong{font-size:1.35rem}
.report-alert-item.requires-action{background:#fff8e8;border-color:#f0cf82}
.report-alert-item small{white-space:nowrap}
@media(max-width:900px){.report-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.report-alert-grid{grid-template-columns:1fr}}

/* Equal adjacent action groups: exact footprint, not merely a minimum. */
#view-debts .card-head>.actions>:is(button,.button-link){inline-size:128px!important;min-inline-size:128px!important;max-inline-size:128px!important}
.form-actions{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;gap:10px!important}
.form-actions>:is(button,.button-link){width:100%!important;min-width:0!important;height:var(--fsl-control-h)!important;min-height:var(--fsl-control-h)!important}
@media(max-width:760px){#view-debts .card-head>.actions>:is(button,.button-link){inline-size:100%!important;min-inline-size:0!important;max-inline-size:none!important}}


/* 9.6.1 — visual coherence master pass. Every screen follows the same geometry. */
:root{
 --fsl-control-h:42px;--fsl-radius:12px;--fsl-card-pad:18px;--fsl-row-gap:10px;
 --fsl-content-gap:16px;--fsl-section-bg:#f7f8fb;--fsl-border:#e0e3ea;
}
body{letter-spacing:0!important}.workspace{padding-inline:24px!important}.view{max-width:1480px!important;width:100%!important}
.card{border-radius:14px!important;padding:var(--fsl-card-pad)!important}.card-head{gap:14px!important}.card-head>div:first-child{min-width:0}

/* Sidebar: navigation scrolls; profile/logout never covers navigation. */
.sidebar{display:flex!important;flex-direction:column!important;overflow:hidden!important;height:100vh!important}
.sidebar #nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:2px 0 18px!important;scrollbar-width:thin}
.sidebar-foot{position:static!important;bottom:auto!important;flex:0 0 auto!important;margin-top:0!important;background:#11121a!important;padding:12px 0 0!important;z-index:3}
.sidebar-foot .ghost{min-height:42px!important}

/* Top-right controls are one family, not four unrelated widgets. */
.topbar-main{gap:9px!important}.topbar-main>:is(.scan-quick-action,.ai-mode-badge,.notification-wrap){min-height:42px!important}
.scan-quick-action,.ai-mode-badge,.notification-btn,.ui-language-switch[data-context="app"]{height:42px!important;min-height:42px!important;border:1px solid var(--line)!important;border-radius:11px!important;box-shadow:none!important;background:var(--panel)!important}
.scan-quick-action{color:var(--accent)!important;padding:0 14px!important}.ai-mode-badge{display:inline-flex!important;align-items:center!important;padding:0 13px!important;font-size:12px!important;font-weight:700!important;color:var(--muted)!important}.notification-btn{width:42px!important;padding:0!important}
.ui-language-switch[data-context="app"]{padding:3px!important;min-width:92px!important}.ui-language-switch[data-context="app"] button{height:34px!important;min-height:34px!important;border-radius:8px!important}

/* Context toolbar: no sticky tricks, no wasted width, consistent fields. */
.analysis-toolbar{position:relative!important;top:auto!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;height:auto!important;min-height:56px!important;padding:8px 0!important;border-bottom:1px solid var(--line)!important;overflow:visible!important}
.analysis-toolbar>label,.source-picker-field{flex:0 1 164px!important;min-width:150px!important;max-width:220px!important}.analysis-toolbar>label[data-toolbar-field="currency"]{max-width:164px!important}.source-picker-field{flex-basis:230px!important;max-width:320px!important}
.analysis-toolbar .global-language-native{display:none!important}

/* Action groups use equal footprints when adjacent. */
.card-head>.actions,.report-generate-actions,.suggestion-bulk-actions,.debt-toolbar,.subscription-actions,.form-actions{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
.card-head>.actions>:is(button,.button-link),.report-generate-actions>:is(button,.button-link),.suggestion-bulk-actions>:is(button,.button-link),.subscription-actions>:is(button,.button-link),.form-actions>:is(button,.button-link){height:42px!important;min-height:42px!important;min-width:0!important;width:100%!important;padding-inline:13px!important;white-space:nowrap!important}
.card-head>.actions{min-width:max-content}.card-head>.actions>*{min-width:112px!important}

/* Planning: primary two-column rows fill the entire canvas. */
#view-planning>.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
#view-planning>.dashboard-grid>.span-2{grid-column:auto!important}
#view-planning>.dashboard-grid>.card{width:100%!important;max-width:none!important}
#view-planning>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* Reports are first-class in-app analysis; export is secondary. */
.report-generator-card{padding:20px!important}.report-generator-card>.card-head{align-items:flex-start!important;margin-bottom:16px!important}.report-local-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.report-local-status{height:32px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-alt);font-size:11px;font-weight:800;color:var(--muted)}.report-local-status.ready{background:#e9f7ef;border-color:#bfe2ce;color:#23744a}
.report-generated-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--panel-alt)!important;margin-bottom:12px!important}.report-generated-head .actions{display:grid!important;grid-template-columns:repeat(3,72px)!important;gap:7px!important}.report-generated-head .actions>*{width:72px!important;height:36px!important;min-height:36px!important;padding:0 8px!important}
#liveReportMetrics{grid-template-columns:repeat(7,minmax(0,1fr))!important}.metric-button{min-width:0!important}.metric-button small{white-space:normal!important}
.live-tabs{display:flex!important;overflow-x:auto!important;gap:4px!important;padding:4px!important;border-radius:12px!important}.live-tabs button{min-width:max-content!important;padding-inline:15px!important}
.live-report-panel{min-height:260px!important}.report-executive{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:16px;align-items:stretch;margin-bottom:14px}.report-executive>div:first-child{display:grid;align-content:center;gap:4px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt)}.report-executive>div:first-child>strong{font-size:30px}.report-executive-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-executive-facts span{display:grid;gap:3px;align-content:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.report-executive-facts b{font-size:21px}.report-executive-facts span{font-size:11px;color:var(--muted)}
.trend-interpretation{padding:15px;border:1px solid #d9d3ff;border-radius:12px;background:#f7f5ff;margin-bottom:12px;display:grid;gap:8px}.trend-interpretation>strong{font-size:16px}.trend-deltas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trend-deltas span{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:12px}.trend-analysis-list{display:grid;gap:8px}.trend-analysis-row{display:grid;grid-template-columns:190px minmax(180px,1fr) minmax(260px,1.1fr);align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.trend-period{display:grid;gap:2px}.trend-period small{color:var(--muted)}.trend-bars{display:grid;gap:5px}.trend-bars>span{height:7px;border-radius:999px;background:#eef0f5;overflow:hidden}.trend-bars i{display:block;height:100%;background:#79c9a0;border-radius:999px}.trend-bars .expense i{background:#e88d9b}.trend-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trend-values span{display:grid;gap:2px;font-size:11px;color:var(--muted)}.trend-values b{font-size:12px;color:var(--ink)}
.report-recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-recommendation{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:grid;gap:8px}.report-recommendation>div{display:flex;align-items:center;gap:9px}.report-recommendation strong{font-size:14px}.report-recommendation p{margin:0!important;color:var(--muted)!important}.report-recommendation.high{border-left:4px solid #d54c62}.report-recommendation.medium{border-left:4px solid #d6a33c}.report-recommendation.info{border-left:4px solid #7583a0}.report-anomaly-list{display:grid;gap:8px}.report-anomaly{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:11px}.report-anomaly p{margin:3px 0 0!important}.report-source-table table{min-width:0!important;width:100%!important}

/* Suggestion review fits on desktop and stays readable. */
.suggestion-review-head,.suggestion-review-row{grid-template-columns:30px minmax(130px,1.25fr) 64px 92px 80px 148px minmax(130px,1fr) 104px 222px!important;gap:8px!important}
.suggestion-review-row{padding:9px 10px!important}.suggestion-review-number{white-space:nowrap!important}.suggestion-review-category{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.suggestion-review-confidence small{font-size:10px!important;line-height:1.25!important}.suggestion-review-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.suggestion-review-actions>*{height:36px!important;min-height:36px!important;padding:0 7px!important;min-width:0!important;width:100%!important;font-size:11px!important;white-space:nowrap!important}
.suggestion-category-tools{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.suggestion-category-tools label{min-width:0!important}

/* Provider cards: aligned, compact status language. */
.provider-card,.detected-provider-card{border-radius:12px!important}.provider-card .actions,.detected-provider-card .actions{align-self:center!important}.provider-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.provider-monitor-grid>section{min-width:0!important}

/* Debts: data table first, no broken date lines or micro-badges. */
#debtsTable{table-layout:fixed!important;min-width:0!important;width:100%!important}#debtsTable th:nth-child(1){width:23%}#debtsTable th:nth-child(2){width:10%}#debtsTable th:nth-child(3){width:9%}#debtsTable th:nth-child(4){width:12%}#debtsTable th:nth-child(5){width:15%}#debtsTable th:nth-child(6){width:10%}#debtsTable th:nth-child(7){width:6%}#debtsTable th:nth-child(8){width:15%}
#debtsTable td{padding:10px!important}#debtsTable .date-cell{white-space:nowrap!important}.dpd-cell{text-align:center!important;font-weight:800!important}.debt-row-action-stack,.debt-table-actions{display:grid!important;grid-template-columns:repeat(2,42px)!important;gap:5px!important;justify-content:end!important}
#debtsTable .actions{display:grid!important;grid-template-columns:1fr 42px!important;gap:5px!important}#debtsTable .actions>*{height:36px!important;min-height:36px!important;min-width:0!important;width:100%!important;padding:0 7px!important}

/* Subscription detection becomes a proper table, not concatenated prose. */
.subscription-detection-head,.detected-subscription{grid-template-columns:minmax(160px,1.25fr) 92px 108px 80px 130px 90px 220px!important;gap:8px!important}.detected-subscription{padding:9px 10px!important}.subscription-detection-head{padding-inline:10px!important}.detected-subscription .subscription-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}.detected-subscription .subscription-actions>*{height:36px!important;min-height:36px!important}

/* Shopping: source chooser + comparison + virtual basket are the product; integration settings stay secondary. */
#view-shopping .shopping-provider-toolbar{grid-template-columns:220px minmax(0,1fr) auto!important}.amazon-creators-card{background:var(--panel)!important;border-top:0!important}.amazon-creators-card>.card-head{padding-bottom:10px!important;border-bottom:1px solid var(--line)!important}.amazon-creators-card .eyebrow{font-size:9px!important}.amazon-creators-card h2{font-size:15px!important}.amazon-creators-card .hint{max-width:760px!important}.amazon-search-grid{grid-template-columns:minmax(220px,1.8fr) 170px 90px 165px 120px!important}.price-comparison-shell{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr)!important}.shopping-editor-grid{gap:14px!important}

/* AI task routing: one compact table and automatic model field. */
.ai-task-model-grid{border-radius:12px!important}.ai-task-table-head,.ai-task-model{grid-template-columns:minmax(180px,.8fr) minmax(180px,.6fr) minmax(280px,1.2fr)!important}.ai-task-model{min-height:58px!important}.ai-task-model .hint,.ai-task-model small{display:none!important}.ai-task-model select{height:42px!important}.ai-routing-card>.card-head{margin-bottom:10px!important}

/* Rooms: user-facing form labels and sane proportions. */
#roomForm.inline-form{grid-template-columns:repeat(4,minmax(0,1fr))!important}.room-grid{gap:12px!important}

/* Tables and text never look like debug output. */
th{text-transform:uppercase!important;letter-spacing:.045em!important;font-size:10px!important;color:var(--muted)!important}td{font-variant-numeric:tabular-nums}.status{white-space:nowrap!important}.hint{max-width:920px}.eyebrow{letter-spacing:.09em!important}

@media(max-width:1250px){#liveReportMetrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}.suggestion-review-head,.suggestion-review-row{grid-template-columns:30px minmax(130px,1.2fr) 60px 90px 78px 140px minmax(120px,.9fr) 98px 200px!important}.report-recommendation-grid{grid-template-columns:1fr}.trend-analysis-row{grid-template-columns:160px 1fr}.trend-values{grid-column:1/-1}}
@media(max-width:1000px){.provider-monitor-grid,.report-executive{grid-template-columns:1fr!important}.report-executive-facts{grid-template-columns:repeat(3,1fr)}#view-planning>.dashboard-grid,#view-planning>.grid.two{grid-template-columns:1fr!important}.suggestion-review-table{overflow-x:auto!important}.suggestion-review-head,.suggestion-review-row{min-width:1040px}.subscription-detection-list{overflow-x:auto!important}.subscription-detection-head,.detected-subscription{min-width:920px}.price-comparison-shell{grid-template-columns:1fr!important}}
@media(max-width:760px){.workspace{padding-inline:12px!important}.report-generated-head{align-items:stretch!important;flex-direction:column!important}.report-generated-head .actions{grid-template-columns:repeat(3,1fr)!important}.report-generated-head .actions>*{width:100%!important}.report-executive-facts,.trend-deltas,.trend-values{grid-template-columns:1fr!important}.trend-analysis-row{grid-template-columns:1fr!important}.card-head>.actions{grid-auto-flow:row!important;width:100%!important}.analysis-toolbar>label,.source-picker-field{flex:1 1 calc(50% - 4px)!important;max-width:none!important}}

/* Debt action bars: same-size controls without forcing one impossible line. */
#view-debts .card-head>.actions>:is(button,.button-link){inline-size:auto!important;min-inline-size:0!important;max-inline-size:none!important}
#view-debts .wide-card>.card-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
#view-debts .wide-card>.card-head>.actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important}
#view-debts .debt-layout>article:not(.wide-card)>.card-head{display:grid!important;grid-template-columns:1fr!important;align-items:start!important}
#view-debts .debt-layout>article:not(.wide-card)>.card-head>.actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
#view-debts .card-head>.actions>*{width:100%!important;min-width:0!important}
@media(max-width:1050px){#view-debts .wide-card>.card-head>.actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:700px){#view-debts .wide-card>.card-head>.actions,#view-debts .debt-layout>article:not(.wide-card)>.card-head>.actions{grid-template-columns:1fr!important}}
#view-debts .card-head>.actions{min-width:0!important;max-width:100%!important;grid-auto-flow:row!important;grid-auto-columns:auto!important}
/* Transaction action strip: search gets flexible space, adjacent actions stay equal. */
#view-transactions article.card>.card-head.wrap>.actions{display:grid!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-columns:minmax(180px,1fr) repeat(3,minmax(112px,128px))!important;width:100%!important;min-width:0!important;max-width:100%!important;justify-content:stretch!important}
#view-transactions article.card>.card-head.wrap>.actions>input{width:100%!important;min-width:0!important}
#view-transactions article.card>.card-head.wrap>.actions>:is(button,.button-link){width:100%!important;min-width:0!important}
@media(max-width:760px){#view-transactions article.card>.card-head.wrap>.actions{grid-template-columns:1fr 1fr!important}#view-transactions article.card>.card-head.wrap>.actions>input{grid-column:1/-1!important}}

/* Unified top-bar utility capsule: language, import, analysis mode and notifications are one control family. */
.topbar-utilities{display:flex!important;align-items:center!important;gap:0!important;height:44px!important;min-height:44px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--panel)!important;overflow:visible!important;box-shadow:0 1px 2px rgba(23,29,45,.025)!important;flex:0 0 auto!important}
.topbar-utilities>:is(.ui-language-switch,.scan-quick-action,.ai-mode-badge,.notification-wrap){height:42px!important;min-height:42px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0!important}
.topbar-utilities>:not(:first-child){border-left:1px solid var(--line)!important}
.topbar-utilities .ui-language-switch[data-context="app"]{width:88px!important;min-width:88px!important;padding:4px!important}
.topbar-utilities .scan-quick-action{padding:0 14px!important}
.topbar-utilities .ai-mode-badge{padding:0 12px!important;white-space:nowrap!important}
.topbar-utilities .notification-btn{border:0!important;border-radius:0!important;width:42px!important;height:42px!important;background:transparent!important}
.topbar-utilities .notification-wrap{position:relative!important}
@media(max-width:900px){.topbar-utilities .ai-mode-badge{display:none!important}}
@media(max-width:640px){.topbar-utilities{grid-column:2/-1!important;justify-self:end!important}.topbar-utilities .scan-quick-action span:last-child{display:none!important}.topbar-utilities .scan-quick-action{width:42px!important;padding:0!important;justify-content:center!important}}

/* Spending analysis: trends explain the change, not just list months. */
.analytics-trend-list{display:grid;gap:8px}
#monthlyTrend .trend-row{display:grid!important;grid-template-columns:minmax(170px,.7fr) minmax(220px,1fr) minmax(360px,1.35fr)!important;gap:16px!important;align-items:center!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--panel)!important}
#monthlyTrend .trend-row>div:first-child{display:grid;gap:4px;min-width:0}
#monthlyTrend .trend-row>div:first-child strong{text-transform:capitalize;font-size:13px}
#monthlyTrend .trend-row>div:first-child small{text-align:left!important;font-size:11px}
#monthlyTrend .trend-bars{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
#monthlyTrend .trend-bars>span,#monthlyTrend .trend-bars>i{display:block!important;width:var(--bar)!important;max-width:100%!important;height:7px!important;border-radius:999px!important}
#monthlyTrend .trend-bars>span{background:#9ed7b8!important}
#monthlyTrend .trend-bars>i{background:#eaa0aa!important}
#monthlyTrend .trend-row-values{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
#monthlyTrend .trend-row-values span{display:grid;gap:2px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
#monthlyTrend .trend-row-values b{font-size:12px;color:var(--ink);text-transform:none;letter-spacing:0;white-space:nowrap}
.analytics-empty{min-height:150px!important;display:grid!important;place-items:center!important;text-align:center!important;align-content:center!important;gap:6px!important}
@media(max-width:1050px){#monthlyTrend .trend-row{grid-template-columns:160px 1fr!important}#monthlyTrend .trend-row-values{grid-column:1/-1!important}}
@media(max-width:700px){#monthlyTrend .trend-row{grid-template-columns:1fr!important}#monthlyTrend .trend-row-values{grid-template-columns:1fr!important}}

/* Local report recommendations are direct actions, not decorative prose. */
.report-recommendation{display:grid!important;grid-template-rows:auto 1fr auto!important;gap:8px!important}
.report-recommendation>button{justify-self:start!important;min-width:132px!important}

/* Shopping integration settings and single-item search stay secondary to the basket workflow. */
.amazon-advanced-search{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt);overflow:hidden}
.amazon-advanced-search>summary{cursor:pointer;list-style:none;display:flex;align-items:center;min-height:42px;padding:0 14px;font-size:12px;font-weight:800;color:var(--muted);user-select:none}
.amazon-advanced-search>summary::-webkit-details-marker{display:none}.amazon-advanced-search>summary::after{content:'›';margin-left:auto;font-size:18px;transform:rotate(90deg);transition:transform .15s ease}.amazon-advanced-search[open]>summary::after{transform:rotate(-90deg)}
.amazon-advanced-search[open]>summary{border-bottom:1px solid var(--line);background:var(--panel)}.amazon-advanced-body{padding:14px}.amazon-advanced-body .amazon-results{margin-top:12px}.amazon-advanced-body .amazon-disclaimer{margin:10px 0 0!important}
#view-shopping .amazon-creators-card{padding:14px 18px!important}.amazon-creators-card>.card-head{margin-bottom:0!important}.amazon-creators-card>.card-head .hint{margin:3px 0 0!important}.amazon-creators-head-actions>*{height:38px!important;min-height:38px!important}

/* Final responsive ownership: declarations below the desktop master rules must
   win the cascade, otherwise the compact Amazon disclosure can re-expand on
   tablet widths. */
@media(max-width:1000px){
  #view-shopping .amazon-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;min-width:0!important}
  #view-shopping .amazon-search-grid>*{min-width:0!important;max-width:100%!important}
  #view-shopping .amazon-search-grid .amazon-search-query{grid-column:1/-1!important}
  #view-shopping .amazon-search-grid .amazon-search-submit{width:100%!important}
}
@media(max-width:700px){
  #view-shopping .amazon-search-grid{grid-template-columns:1fr!important}
  #view-shopping .amazon-search-grid .amazon-search-query{grid-column:auto!important}
}

/* 9.6.0 tenancy proration + affordability smart import */
.smart-import-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px) auto;gap:16px;align-items:center;padding:18px 20px;margin:0 0 18px;border:1px solid var(--line,#e2e5ef);border-radius:16px;background:rgba(255,255,255,.72)}
.smart-import-panel input[type=file]{min-height:44px;width:100%;padding:9px 10px;border:1px solid var(--line,#dfe3ed);border-radius:11px;background:#fff}
.import-review{display:grid;gap:4px;padding:14px 16px;margin:-4px 0 18px;border-radius:12px;background:#f4f8ff;border:1px solid #d8e5ff}
#tenantSharePreview{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 14px}
#tenantSharePreview strong{font-size:1.05rem}
#chargeTemplateForm .form-pair>label{display:grid;gap:6px;min-width:0}
#chargeTemplateForm .form-pair>label>span{font-size:.78rem;font-weight:700;color:var(--muted,#6f7380)}
@media(max-width:1180px){.smart-import-panel{grid-template-columns:1fr}.smart-import-panel .primary{width:100%}}

/* 9.6.0 — definitive screen-by-screen coherence pass.
   This is the final visual ownership layer: one product, one grid, one rhythm. */
:root{
  --fsl-page-gap:16px;
  --fsl-card-gap:14px;
  --fsl-card-pad:18px;
  --fsl-control-h:42px;
  --fsl-control-radius:10px;
  --fsl-card-radius:14px;
  --fsl-muted-bg:#f7f8fb;
  --fsl-hover:#fafbfe;
}

/* GLOBAL: geometry and hierarchy. */
.view{width:100%!important;max-width:none!important;margin:0!important;padding:18px 0 36px!important}
.view>*+*{margin-top:var(--fsl-page-gap)!important}
.card,.metric,.metric-card,.decision-hero,.page-task-bar,.provider-command-hero{border-radius:var(--fsl-card-radius)!important}
.card{padding:var(--fsl-card-pad)!important}
.card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:14px!important}
.card-head.wrap{flex-wrap:wrap!important}
.card-head>div:first-child,.card-head>h2,.card-head>h3{min-width:0!important}
.card-head h2,.card>h2{margin:0!important;line-height:1.25!important}
.card-head .hint{margin:3px 0 0!important}
.grid,.metric-grid,.decision-grid{gap:var(--fsl-card-gap)!important}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.grid.two>*,.grid.three>*,.dashboard-grid>*{min-width:0!important;width:100%!important}

/* One control family. */
:is(button,.button-link,input,select):not([type=checkbox]):not([type=radio]){box-sizing:border-box}
:is(.primary,.secondary,.ghost,.button-link,.scan-quick-action,.sidebar-scan-action){min-height:var(--fsl-control-h)!important;border-radius:var(--fsl-control-radius)!important}
.actions{gap:8px!important}
.actions:is(.equal,.review-actions,.subscription-actions,.form-actions),.card-head>.actions{
  align-items:center!important;
}
.card-head>.actions>:is(button,.button-link),
.review-actions>:is(button,.button-link),
.subscription-actions>:is(button,.button-link),
.form-actions>:is(button,.button-link){
  min-height:var(--fsl-control-h)!important;height:var(--fsl-control-h)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}

/* Top-right utility area is one visual instrument cluster. */
.topbar-utilities{border-radius:12px!important;overflow:hidden!important;background:var(--panel)!important;border:1px solid var(--line)!important}
.topbar-utilities>:is(.ui-language-switch,.scan-quick-action,.ai-mode-badge,.notification-wrap){border-radius:0!important}
.topbar-utilities>:not(:first-child){border-left:1px solid var(--line)!important}
.notification-panel{right:0!important;max-width:min(420px,calc(100vw - 24px))!important}

/* Context controls never float over content. */
.topbar,.topbar-main,.analysis-toolbar{position:relative!important;top:auto!important}
.analysis-toolbar{align-items:end!important}
.analysis-toolbar>label,.source-picker-field{min-width:0!important}
.analysis-toolbar input,.analysis-toolbar select,.source-picker>summary{width:100%!important}

/* Tables are quiet, dense, aligned and readable. */
.table-wrap{width:100%!important;max-width:100%!important}
table{border-collapse:separate!important;border-spacing:0!important}
th{height:42px!important;vertical-align:middle!important;white-space:nowrap!important}
td{vertical-align:middle!important}
tbody tr:hover td{background:var(--fsl-hover)}
.date-cell,.date-cell *{white-space:nowrap!important}

/* Empty states use the same footprint across the product. */
.empty-state,.lab-empty{min-height:132px!important;border-radius:12px!important;padding:22px!important}

/* DASHBOARD: equal KPI rhythm and balanced lower grid. */
#view-dashboard .metric-grid,#view-dashboard .decision-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
#view-dashboard .metric,#view-dashboard .metric-card{min-height:108px!important}
#view-dashboard .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#view-dashboard .dashboard-grid>.span-2{grid-column:auto!important}
#view-dashboard>.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
#view-dashboard>.grid.two{align-items:stretch!important}
#view-dashboard>.grid>*{height:100%!important}

/* PLANNING: no dead right-hand canvas. */
#view-planning>.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
#view-planning>.dashboard-grid,#view-planning>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-planning>.dashboard-grid>* ,#view-planning>.grid.two>*{height:100%!important}
#view-planning .health-card{height:100%!important}

/* REPORTS: local report is the primary result; saved reports/calendar follow it. */
#view-reports .report-generator-card{width:100%!important}
#view-reports #liveReportMetrics{grid-template-columns:repeat(7,minmax(0,1fr))!important}
#view-reports .live-report-panel{width:100%!important;min-height:280px!important}
#view-reports .report-recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#view-reports .trend-analysis-row{grid-template-columns:180px minmax(180px,.8fr) minmax(300px,1.2fr)!important}

/* ANALYTICS: six KPIs, balanced analytical pairs, no moving header. */
#view-analytics>.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
#view-analytics>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-analytics>.grid.two>.card{height:100%!important}
#view-analytics .analytics-table{width:100%!important}

/* TRANSACTIONS: source setup uses a balanced 2-column grid; review consumes full width. */
#view-transactions>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important}
#view-transactions>.grid.two>.card{min-width:0!important}
#view-transactions .suggestion-review-table{width:100%!important}
#view-transactions .suggestion-category-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#view-transactions .suggestion-review-row{min-height:72px!important}

/* BUDGETS: one legend, one row rhythm. */
#view-budgets .budget-column-head,#view-budgets .budget-row{grid-template-columns:minmax(180px,1fr) minmax(260px,1.6fr) minmax(180px,.7fr)!important}
#view-budgets .budget-row{min-height:54px!important;padding-block:7px!important}
#view-budgets .budget-progress{min-width:0!important}

/* DEBTS: full-width stacked modules; detected products are symmetric cards. */
#view-debts .debt-layout{grid-template-columns:1fr!important;gap:16px!important}
#view-debts .debt-layout>article{width:100%!important;max-width:none!important}
#view-debts .detected-debts-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important}
#view-debts .detected-debt{display:grid!important;grid-template-rows:auto 1fr auto auto!important;gap:12px!important;height:100%!important;min-height:300px!important;padding:16px!important;border-radius:13px!important}
#view-debts .detected-debt-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important}
#view-debts .detected-debt-head>div{min-width:0!important}
#view-debts .detected-debt h4{margin:5px 0 0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#view-debts .debt-confidence{min-width:96px!important;align-self:start!important}
#view-debts .detected-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:start!important}
#view-debts .detected-stats>span{display:grid!important;grid-template-rows:minmax(38px,auto) auto!important;gap:4px!important;align-content:start!important;min-width:0!important}
#view-debts .detected-stats small{line-height:1.25!important;min-height:34px!important}
#view-debts .detected-stats strong{white-space:nowrap!important;font-variant-numeric:tabular-nums!important}
#view-debts .detected-debt>button,#view-debts .detected-debt>.status{width:100%!important;min-height:42px!important;align-self:end!important}
#view-debts .detected-debt>details{margin:0!important;padding-top:8px!important;border-top:1px solid var(--line)!important;align-self:end!important}
#view-debts .detected-debt>details>summary{min-height:30px!important;display:flex!important;align-items:center!important;cursor:pointer!important;font-weight:650!important}
#view-debts #debtsTable{width:100%!important;table-layout:fixed!important}
#view-debts #debtsTable .confirm-balance-link{white-space:nowrap!important}

/* CALENDAR: primary calendar first, queues and secondary modules aligned. */
#view-calendar .calendar-primary-card{width:100%!important}
#view-calendar .calendar-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-calendar .calendar-secondary-grid>*{height:100%!important}
#view-calendar .calendar-suggestion{min-height:62px!important}

/* PROVIDERS: discovery and monitoring share the same width and internal baselines. */
#view-providers .provider-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
#view-providers .provider-discovery-card,#view-providers .provider-monitor-card{width:100%!important}
#view-providers .provider-monitor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-providers .provider-monitor-grid>section{height:100%!important}
#view-providers .provider-monitor-grid>section>h3{min-height:24px!important}
#view-providers .provider-monitor-grid>section>.hint{min-height:38px!important}

/* SUPPORT: task buttons are a deliberate grid; content pairs are symmetric. */
#view-support>.page-task-bar{display:grid!important;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr)!important;align-items:start!important}
#view-support>.page-task-bar .page-task-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;gap:8px!important}
#view-support>.page-task-bar .page-task-actions>*{width:100%!important;min-width:0!important;height:42px!important}
#view-support>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-support>.grid.two>*{height:100%!important}
#view-support .affordability-card{width:100%!important}

/* PROMOTIONS: detected subscriptions are a compact review table; current/offer panels align. */
#view-promotions>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-promotions>.grid.two>*{height:100%!important}
#view-promotions .subscription-detection-head,#view-promotions .detected-subscription{grid-template-columns:minmax(190px,1.4fr) 92px 108px 88px 132px 92px 250px!important}

/* SHOPPING: shopping intelligence first; provider adapters remain secondary. */
#view-shopping .shopping-intelligence-card{width:100%!important}
#view-shopping .shopping-list-builder{grid-template-columns:minmax(0,1fr) 220px!important}
#view-shopping .price-comparison-shell{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important}
#view-shopping .shopping-editor-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)!important;align-items:start!important}
#view-shopping .amazon-creators-card{width:100%!important}

/* AI: table-first routing and equal lower panes. */
#view-ai .ai-task-model-grid{width:100%!important}
#view-ai .ai-task-table-head,#view-ai .ai-task-model{grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) minmax(280px,1.15fr)!important}
#view-ai>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
#view-ai>.grid.two>*{height:100%!important}

/* ROOMS: full-width tenancy workspace; forms share one deliberate grid. */
#view-rooms>article.card{width:100%!important}
#view-rooms #roomForm.inline-form{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end!important}
#view-rooms #roomForm textarea{grid-column:span 2!important}
#view-rooms .smart-import-panel{width:100%!important}

/* SYSTEM: two equal settings columns; audit log owns the full row. */
#view-system>.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important}
#view-system>.grid.two>*{min-width:0!important}
#view-system .audit-card{width:100%!important}
#view-system .audit-controls{flex-wrap:wrap!important}

/* RESPONSIVE: preserve rhythm rather than inventing a second UI. */
@media(max-width:1260px){
  #view-dashboard .metric-grid,#view-dashboard .decision-grid,#view-planning>.metric-grid,#view-providers .provider-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #view-debts .detected-debts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-debts .detected-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-support>.page-task-bar{grid-template-columns:1fr!important}
}
@media(max-width:1000px){
  .grid.two,.grid.three,#view-dashboard .dashboard-grid,#view-planning>.dashboard-grid,#view-planning>.grid.two,#view-analytics>.grid.two,#view-calendar .calendar-secondary-grid,#view-providers .provider-monitor-grid,#view-support>.grid.two,#view-promotions>.grid.two,#view-ai>.grid.two,#view-system>.grid.two{grid-template-columns:1fr!important}
  #view-reports #liveReportMetrics,#view-analytics>.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #view-shopping .price-comparison-shell,#view-shopping .shopping-editor-grid{grid-template-columns:1fr!important}
  #view-ai .ai-task-table-head,#view-ai .ai-task-model{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(220px,1fr)!important}
  #view-rooms #roomForm.inline-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .workspace{padding-inline:12px!important}
  #view-dashboard .metric-grid,#view-dashboard .decision-grid,#view-planning>.metric-grid,#view-reports #liveReportMetrics,#view-analytics>.metric-grid,#view-providers .provider-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-debts .detected-debts-grid{grid-template-columns:1fr!important}
  #view-debts .detected-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-support>.page-task-bar .page-task-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-ai .ai-task-table-head{display:none!important}
  #view-ai .ai-task-model{grid-template-columns:1fr!important;gap:7px!important}
  #view-rooms #roomForm.inline-form{grid-template-columns:1fr!important}
  #view-rooms #roomForm textarea{grid-column:auto!important}
  #view-shopping .shopping-list-builder{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  #view-dashboard .metric-grid,#view-dashboard .decision-grid,#view-planning>.metric-grid,#view-reports #liveReportMetrics,#view-analytics>.metric-grid,#view-providers .provider-summary-grid{grid-template-columns:1fr!important}
  #view-support>.page-task-bar .page-task-actions{grid-template-columns:1fr!important}
}
@media(max-width:1260px){
  #view-transactions .preset-form{grid-template-columns:1fr!important;min-width:0!important}
  #view-transactions>.grid.two{min-width:0!important;overflow:visible!important}
  #view-transactions>.grid.two>.card{overflow:hidden!important}
  #view-transactions .rules-panel{min-width:0!important;max-width:100%!important}
}
@media(max-width:1000px){
  #view-transactions>.grid.two{grid-template-columns:1fr!important}
}
