/* Finance Service Lab 9.6.0 — canonical product UI system. */
:root{
--ui-content-max:1520px;--ui-sidebar:224px;--ui-topbar-row:64px;--ui-filter-row:56px;--ui-control:40px;--ui-control-compact:32px;--ui-r8:8px;--ui-r12:12px;--ui-r16:16px;
--ui-mint:#eaf8f0;--ui-mint-line:#bfe4ce;--ui-blue:#edf5ff;--ui-blue-line:#c9ddf6;--ui-yellow:#fff7df;--ui-yellow-line:#eddba3;--ui-rose:#fff0f3;--ui-rose-line:#efc7d0;--ui-grey:#f2f4f7;--ui-grey-line:#dfe3e8;--ui-violet:#f2efff;--ui-violet-line:#d8d1ff;--ui-shadow:0 8px 24px rgba(24,31,54,.055);--ui-shadow-float:0 24px 80px rgba(17,20,38,.22)
}
html,body,button,input,select,textarea,.button-link{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:14px;line-height:1.5;background:#f4f5f8}
.shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr)}
.sidebar{width:var(--ui-sidebar);padding:16px 12px;background:#11121a}
.brand{padding:4px 8px 18px}.sidebar nav{gap:3px}
.sidebar nav button,.sidebar-scan-action{min-height:42px;border-radius:10px;padding:0 12px;font-size:13px;font-weight:650}
.sidebar nav button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
.sidebar-foot{font-size:12px}.profile-trigger{padding:9px 10px}
.workspace{padding:0 24px 40px;min-width:0}
.topbar{min-height:120px;height:auto;display:grid;grid-template-rows:var(--ui-topbar-row) var(--ui-filter-row);gap:0;padding:0;background:rgba(244,245,248,.94)}
.topbar-main{height:var(--ui-topbar-row);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:12px;align-items:center}
.topbar-title{min-width:0}.topbar-title h1{font-size:24px;line-height:32px;font-weight:680;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title p{font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.analysis-toolbar{height:var(--ui-filter-row);display:grid;grid-template-columns:96px 160px 154px 154px 130px minmax(200px,1fr);gap:8px;align-items:center;overflow-x:auto;overflow-y:visible;padding:8px 0;scrollbar-width:thin}
.analysis-toolbar>label{display:grid;grid-template-rows:14px var(--ui-control);gap:2px;min-width:0}.analysis-toolbar>label>span{font-size:11px;line-height:14px;font-weight:700;letter-spacing:.045em;color:var(--muted)}
.analysis-toolbar input,.analysis-toolbar select,.source-picker>summary{height:var(--ui-control);min-height:var(--ui-control);border-radius:var(--ui-r8);padding:0 11px;background:var(--panel)}
.source-picker{min-width:200px;align-self:end}.source-picker>summary{font-size:13px;font-weight:650;text-transform:none;letter-spacing:0}
.view{max-width:var(--ui-content-max);margin:0 auto;padding-top:20px}.view>*+*{margin-top:16px}
.grid{gap:16px;margin-bottom:0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.card,.metric,.metric-card{border:1px solid var(--line);border-radius:var(--ui-r12);box-shadow:var(--ui-shadow);background:var(--panel)}
.card{padding:18px}.card-head{min-height:0;margin-bottom:14px;align-items:center}.card-head h2,.card h2{font-size:18px;line-height:26px;font-weight:680;letter-spacing:-.02em}.card h3{font-size:15px;line-height:22px;font-weight:680}.hint,.card p{font-size:13px;line-height:19px}
.metric-grid{gap:12px;margin-bottom:0}.metric,.metric-card{min-height:104px;padding:16px}.metric span,.metric-card span{font-size:12px;line-height:16px;font-weight:650}.metric strong,.metric-card strong{font-size:24px;line-height:30px;font-weight:720;font-variant-numeric:tabular-nums}
.primary,.secondary,.ghost,.button-link,.menu-btn,.scan-quick-action,.sidebar-scan-action,.scanner-choice{min-height:var(--ui-control);height:auto;border-radius:var(--ui-r8);padding:0 14px;font-size:13px;font-weight:680;letter-spacing:0}
.compact,.button-link.compact{min-height:var(--ui-control-compact);height:var(--ui-control-compact);padding:0 11px;font-size:12px}.primary{background:#5b4dfc;box-shadow:0 3px 8px rgba(91,77,252,.18)}.secondary{background:var(--ui-grey);border:1px solid var(--ui-grey-line)}.ghost{background:var(--panel);border:1px solid var(--line)}
.actions{gap:8px;align-items:center}.actions>*{flex:0 0 auto}[data-csv-dataset]{inline-size:auto;min-inline-size:112px;max-inline-size:none;flex:0 0 auto}.export-action-set .button-link{min-width:64px}.link-btn{text-decoration:none;font-size:12px;font-weight:680}
input,select,textarea{border-radius:var(--ui-r8);border-color:var(--line);background:var(--panel);font-size:14px}input,select{height:var(--ui-control);min-height:var(--ui-control)}textarea{min-height:84px;resize:vertical}
input[type=file]{height:auto;min-height:var(--ui-control);padding:5px 6px;color:var(--muted);background:var(--panel)}
input[type=file]::file-selector-button{height:30px;margin-right:10px;padding:0 12px;border:0;border-radius:7px;background:var(--ui-violet);color:#4438c8;font:inherit;font-weight:680;cursor:pointer}
.inline-form,.stack-form{border:1px solid var(--line);background:var(--panel-alt);border-radius:var(--ui-r12);padding:14px;gap:10px}.inline-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-pair,.form-triple{gap:10px}
.check{min-height:34px;padding:6px 8px;border-radius:8px;gap:8px;background:transparent}.check:hover{background:var(--ui-grey)}
input[type=checkbox],input[type=radio]{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;flex-basis:16px}
.table-wrap{border:1px solid var(--line);border-radius:var(--ui-r12);background:var(--panel);overflow:auto}.table-wrap table{min-width:760px}th,td{padding:11px 12px;font-size:13px;line-height:18px}th{font-size:12px;background:var(--panel-alt);z-index:1}
.list{gap:8px}.list-row{min-height:54px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:1px solid var(--line)}
.empty-state,.lab-empty{min-height:124px;display:grid;place-content:center;text-align:center;gap:6px;padding:24px;border:1px dashed var(--line);border-radius:var(--ui-r12);background:var(--panel-alt);color:var(--muted)}.status,.badge{border-radius:999px;font-size:11px;font-weight:700}
.metric-grid>*:nth-child(5n+1),.decision-grid>*:nth-child(5n+1){background:var(--ui-blue);border-color:var(--ui-blue-line)}.metric-grid>*:nth-child(5n+2),.decision-grid>*:nth-child(5n+2){background:var(--ui-mint);border-color:var(--ui-mint-line)}.metric-grid>*:nth-child(5n+3),.decision-grid>*:nth-child(5n+3){background:var(--ui-yellow);border-color:var(--ui-yellow-line)}.metric-grid>*:nth-child(5n+4),.decision-grid>*:nth-child(5n+4){background:var(--ui-violet);border-color:var(--ui-violet-line)}.metric-grid>*:nth-child(5n),.decision-grid>*:nth-child(5n){background:var(--ui-rose);border-color:var(--ui-rose-line)}
#view-debts .wide-card{border-top:4px solid #e9aebb}#view-calendar>article:first-child{border-top:4px solid #9fc9f4}#view-providers .provider-command-hero{border-top:4px solid #9fd9b7}#view-support .affordability-card{border-top:4px solid #95d8bd}#view-shopping .receipt-scanner-card{border-top:4px solid #c4b5ff}
.page-task-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--ui-r12);background:var(--panel);box-shadow:var(--ui-shadow);margin-bottom:16px}
.page-task-bar-copy{display:grid;gap:2px;min-width:0}.page-task-bar-copy strong{font-size:14px}.page-task-bar-copy small{font-size:12px;color:var(--muted)}.page-task-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ui-task-hidden{display:none!important}.ui-task-drawer{position:fixed;inset:0;z-index:1400;display:grid;grid-template-columns:1fr minmax(420px,580px)}.ui-task-drawer.hidden{display:none}.ui-task-backdrop{grid-column:1/-1;grid-row:1;border:0;background:rgba(15,18,30,.42);backdrop-filter:blur(3px)}
.ui-task-panel{grid-column:2;grid-row:1;position:relative;height:100vh;background:var(--panel);box-shadow:-22px 0 60px rgba(20,24,45,.2);padding:20px;overflow:auto;display:grid;grid-template-rows:auto 1fr;gap:14px}.ui-task-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.ui-task-head h2{margin:0;font-size:20px}.ui-task-close{width:36px;height:36px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:22px;line-height:1}.ui-task-body{min-width:0}.ui-task-body>form{display:grid!important;margin:0!important;width:100%!important;border:0!important;padding:0!important;background:transparent!important}body.ui-drawer-open{overflow:hidden}
.scanner-modal-shell{position:fixed;inset:0;z-index:1450;display:grid;place-items:center;padding:24px;background:rgba(13,16,28,.48);backdrop-filter:blur(4px)}.scanner-modal-shell.hidden{display:none}.scanner-modal-shell .receipt-scanner-card{width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;margin:0;box-shadow:var(--ui-shadow-float);background:var(--panel)}.scanner-modal-close{width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:20px}.scanner-choice{min-height:72px;padding:12px}.scanner-choice-grid{gap:8px}.selected-file-strip{min-height:40px;border-radius:8px}.scan-preview{min-height:220px;border-radius:12px}
.calendar-shell{display:grid;gap:12px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-nav{display:flex;gap:6px;align-items:center}.calendar-nav button{min-width:36px;height:36px;min-height:36px;padding:0}.calendar-month-label{min-width:150px;text-align:center;font-size:15px;font-weight:680}.calendar-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays span{padding:4px 6px;text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.calendar-cell{position:relative;min-height:110px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);text-align:left;display:grid;align-content:start;gap:5px;color:var(--ink)}.calendar-cell:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.calendar-cell.is-outside{opacity:.36;background:var(--panel-alt)}.calendar-cell.is-today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-date{font-size:12px;font-weight:720;font-variant-numeric:tabular-nums}.calendar-events{display:grid;gap:4px}.calendar-event-pill{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border-radius:6px;font-size:10px;font-weight:650;background:var(--ui-grey)}.calendar-event-pill.income{background:var(--ui-mint);color:#1f6a42}.calendar-event-pill.expense,.calendar-event-pill.bill{background:var(--ui-rose);color:#7b2b3d}.calendar-event-pill.reminder{background:var(--ui-yellow);color:#76580c}.calendar-event-pill.recurring{background:var(--ui-blue);color:#265c8e}.calendar-day-total{margin-top:auto;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.calendar-agenda{display:grid;gap:8px}
#view-support .affordability-editor-grid,#view-support #opportunityMonitorForm,#view-support #opportunityForm,#view-support #adviceOrganisationForm,#view-support #adviceCaseForm,#view-support #adviceEventForm{display:none!important}
#view-promotions #subscriptionLabForm,#view-promotions #promotionLabForm{display:none!important}#view-calendar #billLabForm,#view-calendar #reminderLabForm{display:none!important}#view-providers #providerConnectionForm{display:none!important}#view-shopping #receiptLineLabForm{display:none!important}#view-transactions #categoryNodeForm,#view-transactions #receiptForm{display:none!important}
#view-support>.grid.two,#view-promotions>.grid.two{grid-template-columns:1fr 1fr}#view-support>.grid.two>.card,#view-promotions>.grid.two>.card{min-height:180px}#view-calendar>.grid.two:first-child{grid-template-columns:1fr}#view-calendar>.grid.two:first-child>article:last-child{display:none}#view-shopping .shopping-editor-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr)}#view-shopping .shopping-editor-grid>article:first-child{display:none}#view-transactions .category-structure-card{max-height:420px;overflow:auto}
.report-download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-download-grid .button-link{min-height:40px;justify-content:center;text-align:center;padding:8px 10px}#view-system>.grid.two{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)}
.notification-panel{width:min(420px,calc(100vw - 32px));border-radius:var(--ui-r12);border:1px solid var(--line);box-shadow:var(--ui-shadow-float);padding:16px}.profile-dialog{border-radius:var(--ui-r16);padding:20px}
@media(max-width:1180px){.shell{grid-template-columns:1fr}.workspace{padding:0 18px 32px}.analysis-toolbar{grid-template-columns:96px 160px 154px 154px 130px minmax(200px,1fr)}.topbar{overflow:visible}.dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.workspace{padding:0 14px 28px}.topbar-main{grid-template-columns:auto minmax(0,1fr) auto auto}.ai-mode-badge{display:none}.analysis-toolbar{overflow-x:auto}.analysis-toolbar>*{min-width:120px}.analysis-toolbar>label:first-child{min-width:84px}.source-picker{min-width:190px}.grid.two,.grid.three,.dashboard-grid,#view-support>.grid.two,#view-promotions>.grid.two,#view-shopping .shopping-editor-grid{grid-template-columns:1fr!important}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-task-drawer{grid-template-columns:1fr minmax(360px,92vw)}.calendar-cell{min-height:92px}.report-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#view-system>.grid.two{grid-template-columns:1fr}}
@media(max-width:640px){.workspace{padding:0 10px 24px}.view{padding-top:14px}.card{padding:14px}.topbar-main{gap:8px}.topbar-title h1{font-size:20px;line-height:28px}.topbar-title p{display:none}.metric-grid{grid-template-columns:1fr 1fr}.metric,.metric-card{min-height:88px;padding:13px}.metric strong,.metric-card strong{font-size:20px;line-height:26px}.page-task-bar{align-items:stretch;flex-direction:column}.page-task-actions{display:grid;grid-template-columns:1fr 1fr}.page-task-actions>*{width:100%}.ui-task-drawer{grid-template-columns:1fr}.ui-task-panel{grid-column:1;width:100%;padding:16px}.scanner-modal-shell{padding:8px}.scanner-modal-shell .receipt-scanner-card{width:100%;max-height:calc(100vh - 16px)}.calendar-weekdays,.calendar-month-grid{gap:3px}.calendar-cell{min-height:78px;padding:5px}.calendar-event-pill{font-size:0;width:7px;height:7px;border-radius:50%;padding:0;display:inline-block}.calendar-events{display:flex;gap:3px;flex-wrap:wrap}.calendar-day-total{font-size:9px}.report-download-grid{grid-template-columns:1fr}}
.source-picker-field{display:grid;grid-template-rows:14px var(--ui-control);gap:2px;min-width:200px;align-self:center}
.source-picker-field>span{font-size:11px;line-height:14px;font-weight:700;letter-spacing:.045em;color:var(--muted);text-transform:uppercase}
.source-picker-field .source-picker{align-self:stretch;min-width:0}
.source-picker-field .source-picker>summary{height:var(--ui-control)}

/* 9.6.0 end-to-end product pass: action hierarchy, calendar centre, AI routing and shopping intelligence. */
.toolbar-field-hidden{display:none!important}
.analysis-toolbar{scrollbar-width:none;overflow-x:hidden}
.analysis-toolbar::-webkit-scrollbar{display:none}
.analysis-toolbar>label,.source-picker-field{min-width:0}
.source-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:nowrap}
.source-picker>summary strong{display:inline-grid;place-items:center;min-width:44px;height:24px;padding:0 8px;border-radius:999px;background:var(--ui-violet);color:#5145d7;font-size:11px;font-variant-numeric:tabular-nums}
.source-menu{min-width:320px;max-height:420px;overflow:auto;padding:10px;box-shadow:var(--ui-shadow-float)}
.source-menu-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 8px;border-bottom:1px solid var(--line);margin-bottom:6px}
.source-menu .mini-link{min-height:30px;padding:0 8px}

/* Reports: generation is explicit; export is secondary. */
.report-generator-card{display:grid;gap:0}
.report-generate-actions{align-self:start}.report-generate-actions>*{min-width:126px}
.report-ready-state{min-height:160px;display:grid;place-content:center;gap:7px;text-align:center;border:1px dashed var(--line);border-radius:var(--ui-r12);background:var(--panel-alt);color:var(--muted)}
.report-ready-state strong{font-size:16px;color:var(--text)}
.report-generated-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--ui-r12);background:var(--panel-alt)}
.report-generated-head>div:first-child{display:grid;gap:3px}.report-generated-head .actions>*{min-width:64px}
.live-report-panel{min-height:180px;padding-top:14px}.live-tabs{overflow-x:auto;scrollbar-width:none}.live-tabs::-webkit-scrollbar{display:none}

/* Calendar is the primary operating surface, not a form with a month attached. */
.calendar-primary-card{position:relative;min-height:570px;border-top:3px solid color-mix(in srgb,var(--accent) 52%,transparent)}
.calendar-primary-card .card-head{margin-bottom:18px}.calendar-main{min-height:470px}
.calendar-add-wrap{position:relative;flex:0 0 auto}.calendar-plus{width:42px!important;min-width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;font-size:25px;line-height:1;font-weight:450}
.calendar-add-menu{position:absolute;right:0;top:50px;z-index:30;display:grid;min-width:210px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--ui-shadow-float)}
.calendar-add-menu button{height:38px;padding:0 11px;border:0;border-radius:8px;background:transparent;text-align:left;font:inherit;font-weight:650;color:var(--text);cursor:pointer}.calendar-add-menu button:hover{background:var(--ui-violet);color:#4d42ca}
.suggestion-queue-card{border-left:4px solid #8f82ff}.suggestion-queue{display:grid;gap:10px}
.calendar-suggestion,.subscription-detection-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt)}
.calendar-suggestion>div:first-child,.subscription-detection-copy{display:grid;gap:5px;min-width:0}.calendar-suggestion .actions,.subscription-detection-item .actions{justify-self:end}.calendar-suggestion .actions>*,.subscription-detection-item .actions>*{min-width:76px}
.calendar-suggestion-meta,.subscription-detection-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}

/* Automatic subscriptions. */
.subscription-detection-list{display:grid;gap:10px}.detected-subscriptions-card{border-top:3px solid var(--ui-mint-line)}
.subscription-detection-item .confidence{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.subscription-detection-item .confidence strong{font-variant-numeric:tabular-nums}
.subscription-detection-item.possibly-ended{border-color:var(--ui-yellow-line);background:var(--ui-yellow)}

/* Shopping brain and Amazon setup. */
.shopping-intelligence-card{border-top:3px solid color-mix(in srgb,var(--accent) 42%,transparent)}
.shopping-list-builder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.shopping-list-builder textarea{min-height:116px}.shopping-list-builder .actions{display:grid;gap:8px}.shopping-list-builder .actions>*{min-width:190px}
.shopping-structured-list{display:grid;gap:10px;margin-top:14px}.shopping-item-card{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(110px,.55fr)) auto;gap:10px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt)}
.shopping-item-card label{display:grid;gap:5px;min-width:0}.shopping-item-card label>span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.shopping-item-card input,.shopping-item-card select{width:100%}
.shopping-item-name{display:grid;gap:4px;align-self:center}.shopping-item-name strong{font-size:15px}.shopping-item-flags{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.shopping-basket-summary{margin-top:16px;padding:16px;border:1px solid var(--ui-mint-line);border-radius:14px;background:var(--ui-mint)}
.shopping-basket-summary .basket-total{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.shopping-basket-summary .basket-total strong{font-size:26px}
.shopping-basket-items{display:grid;gap:8px}.shopping-basket-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid color-mix(in srgb,var(--ui-mint-line) 70%,#fff)}
#view-shopping>#receiptScannerCard{display:none}
.scanner-modal-shell #receiptScannerCard{display:block!important}

/* AI routing: provider and model are first-class per task. */
.ai-routing-card{border-top:3px solid color-mix(in srgb,var(--accent) 48%,transparent)}
.ai-task-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai-task-model{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(150px,.75fr) minmax(210px,1fr);gap:10px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt)}
.ai-task-model-title{display:grid;gap:3px;align-self:center}.ai-task-model-title strong{font-size:14px}.ai-task-model-title small{color:var(--muted);font-size:11px}.ai-task-model label{display:grid;gap:5px}.ai-task-model label>span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ai-mode-badge{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-mode-badge.cloud{border-color:var(--ui-mint-line);background:var(--ui-mint);color:#166b42}.ai-mode-badge.warning{border-color:var(--ui-yellow-line);background:var(--ui-yellow);color:#7d5b00}

/* Audit log is a product UI, not a JSON wall. */
.audit-controls{display:flex;gap:8px;align-items:center}.audit-controls input{width:min(280px,34vw)}.audit-controls select{min-width:130px}.audit-table{table-layout:fixed}.audit-table th:nth-child(1){width:110px}.audit-table th:nth-child(2){width:90px}.audit-table th:nth-child(4){width:130px}.audit-table th:nth-child(5){width:100px}.audit-table th:nth-child(6){width:100px}.audit-table td{vertical-align:middle}.audit-table details summary{cursor:pointer;font-weight:650;color:var(--accent)}.audit-table details pre{max-width:680px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;padding:10px;border-radius:8px;background:var(--panel-alt);font-size:11px}

/* Debt/provider entity resolution should read as separate products. */
.detected-debt{border-radius:14px!important}.detected-debt-head{align-items:center}.debt-confidence{display:grid;gap:2px;text-align:right}.debt-confidence small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.detected-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}.detected-stats>span{min-width:0}

/* Equal controls when actions share a row. */
.card-head>.actions>button,.card-head>.actions>.button-link,.export-action-set>*{min-height:var(--ui-control)}
.actions.equal>*{min-width:120px}

@media(max-width:1180px){
 .shopping-list-builder{grid-template-columns:1fr}.shopping-list-builder .actions{display:flex;flex-wrap:wrap}.shopping-list-builder .actions>*{flex:1 1 180px}
 .shopping-item-card{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-item-name{grid-column:1/-1}.shopping-item-card>.icon-btn{justify-self:end}
 .ai-task-model-grid{grid-template-columns:1fr}.ai-task-model{grid-template-columns:minmax(180px,1fr) minmax(140px,.65fr) minmax(200px,1fr)}
}
@media(max-width:760px){
 .source-menu{min-width:min(320px,calc(100vw - 24px))}.calendar-primary-card{min-height:0}.calendar-main{min-height:390px}
 .calendar-suggestion,.subscription-detection-item{grid-template-columns:1fr}.calendar-suggestion .actions,.subscription-detection-item .actions{justify-self:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.calendar-suggestion .actions>*,.subscription-detection-item .actions>*{min-width:0}
 .shopping-item-card,.ai-task-model{grid-template-columns:1fr}.shopping-item-name{grid-column:auto}.shopping-basket-item{grid-template-columns:1fr auto}.shopping-basket-item .button-link{grid-column:1/-1}
 .audit-controls{width:100%;display:grid;grid-template-columns:1fr}.audit-controls input,.audit-controls select{width:100%}.audit-table{min-width:760px}
 .detected-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* 9.6.0 generated-card structure alignment */
.calendar-suggestion{grid-template-columns:minmax(0,1fr) auto auto}.calendar-suggestion-main{display:grid;gap:4px;min-width:0}.calendar-suggestion-main small{color:var(--muted);overflow-wrap:anywhere}.calendar-suggestion-amount{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-suggestion .actions{display:flex;justify-self:end}
.shopping-item-grid{display:grid;gap:10px}.shopping-item-card{grid-template-columns:1fr;padding:14px}.shopping-item-title{display:grid;grid-template-columns:28px minmax(0,1fr) 32px;gap:9px;align-items:center}.shopping-item-title>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ui-violet);color:#5145d7;font-weight:750;font-size:11px}.shopping-item-title .icon-btn{justify-self:end}.shopping-item-controls{display:grid;grid-template-columns:110px minmax(160px,1fr) 130px minmax(160px,.85fr);gap:10px}.shopping-item-controls label{display:grid;gap:5px}.shopping-item-controls label>span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.shopping-item-flags{display:flex;gap:14px;flex-wrap:wrap;padding-top:2px}.shopping-item-flags .check{font-size:12px}
.basket-summary-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.basket-comparison-list{display:grid;gap:8px}.basket-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 12px;border:1px solid color-mix(in srgb,var(--ui-mint-line) 70%,#fff);border-radius:10px;background:#fff}.basket-line-copy{display:grid;gap:3px;min-width:0}.basket-line-copy span,.basket-line-copy small{color:var(--muted);overflow-wrap:anywhere}.basket-line-price{display:grid;gap:7px;justify-items:end}.basket-line-price>strong{font-size:16px}.basket-line.unresolved{background:var(--ui-yellow);border-color:var(--ui-yellow-line)}
@media(max-width:980px){.shopping-item-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.calendar-suggestion{grid-template-columns:1fr auto}.calendar-suggestion .actions{grid-column:1/-1;justify-self:stretch}.calendar-suggestion .actions>*{flex:1}.shopping-item-controls{grid-template-columns:1fr}.basket-line{grid-template-columns:1fr}.basket-line-price{justify-items:start}}
.suggestion-merged-card{grid-template-columns:auto minmax(0,1fr)!important}.suggestion-merged-card .suggestion-actions{display:none}.suggestion-type-stack{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px}.suggestion-proposal-list{display:grid;gap:7px;margin-top:10px}.suggestion-proposal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-alt)}.suggestion-proposal-row>div:first-child{display:grid;gap:2px}.suggestion-proposal-row>div:first-child>span{font-size:10px;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.suggestion-proposal-row .actions{justify-self:end}.suggestion-proposal-row .actions>*{min-width:74px}@media(max-width:760px){.suggestion-proposal-row{grid-template-columns:1fr}.suggestion-proposal-row .actions{justify-self:stretch;display:grid;grid-template-columns:repeat(3,1fr)}.suggestion-proposal-row .actions>*{min-width:0}}
.opportunity-finder-card{border-top:3px solid var(--ui-mint-line)}.opportunity-search-form{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(150px,.55fr) auto auto auto;gap:10px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--panel-alt)}.opportunity-search-form>label:not(.check){display:grid;gap:5px}.opportunity-search-form>label>span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.opportunity-search-form .compact-check{height:var(--ui-control);align-self:end;padding:0 8px}.opportunity-search-actions{align-self:end}.opportunity-search-actions>*{min-width:152px}.opportunity-source-note{min-height:24px;padding:10px 2px 0;color:var(--muted);font-size:12px}.opportunity-results{margin-top:8px}.live-opportunity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.live-opportunity-copy{display:grid;gap:5px;min-width:0}.live-opportunity-title{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.live-opportunity-title strong{font-size:14px}.live-opportunity-copy>span{color:var(--muted);font-size:12px}.opportunity-tags{display:flex;gap:5px;flex-wrap:wrap}.opportunity-tags span{padding:3px 7px;border-radius:999px;background:var(--ui-violet);color:#5145d7;font-size:10px;font-weight:650}
@media(max-width:1180px){.opportunity-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-search-actions{grid-column:1/-1}.opportunity-search-actions>*{flex:1}}
@media(max-width:700px){.opportunity-search-form{grid-template-columns:1fr}.opportunity-search-actions{grid-column:auto;display:grid;grid-template-columns:1fr}.live-opportunity-card{grid-template-columns:1fr}.live-opportunity-card .actions>*{width:100%}}


/* 9.6.0 Financial Brain: one compact, explainable decision layer. */
.financial-brain-card{border-top:3px solid color-mix(in srgb,var(--accent) 48%,transparent);overflow:hidden}
.financial-brain-card .card-head{align-items:flex-start;margin-bottom:12px}
.financial-brain-card .eyebrow{display:block;margin-bottom:4px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.11em}
.financial-brain-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.financial-brain-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;width:100%;min-height:74px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);cursor:pointer}
.financial-brain-action:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--panel-alt)}
.financial-brain-action>span{display:grid;gap:4px;min-width:0}.financial-brain-action>span strong{font-size:13px}.financial-brain-action>span small{color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.financial-brain-action>em{font-style:normal;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent)}
.financial-brain-action.priority-high{border-left:3px solid #d65362}.financial-brain-action.priority-medium{border-left:3px solid #d8a739}.financial-brain-action.priority-low{border-left:3px solid #8792a5}

/* There is one Scan / Import action at a time: sidebar on desktop, top bar when the sidebar becomes off-canvas. */
@media(min-width:1181px){.top-actions>.scan-quick-action{display:none!important}}
@media(max-width:1180px){.top-actions>.scan-quick-action{display:inline-flex!important}}
@media(max-width:760px){.financial-brain-actions{grid-template-columns:1fr}.financial-brain-action{grid-template-columns:1fr}.financial-brain-action>em{justify-self:start}}
