/* Overview workspace. Scoped to Dashboard; transaction editors retain their theme. */
.main.dashboard-page { background:#f5f6f3; }
.main.dashboard-page > .summary-strip:empty { display:none; }
.dashboard-view { --dw-ink:#152521; --dw-muted:#5c6b64; --dw-border:#dee3dc; --dw-green:#1b6b5a; width:100%; max-width:none; margin:0; padding:24px; color:var(--dw-ink); background:#f5f6f3; }
.dashboard-view h2,.dashboard-view h3,.dashboard-view h4 { font-family:inherit; letter-spacing:-.015em; color:var(--dw-ink); }
.dashboard-view button,.dashboard-view .dashboard-work-action a { min-height:36px; border:1px solid var(--dw-border); border-radius:7px; background:#fff; color:#244b3f; box-shadow:none; font-size:12px; font-weight:600; padding:8px 12px; white-space:normal; }
.dashboard-view button:hover:not(:disabled),.dashboard-view .dashboard-work-action a:hover { background:#eef3ee; border-color:#91a99b; }
.dashboard-view button:disabled { opacity:.5; cursor:default; }
.dashboard-view :focus-visible { outline:2px solid #1b6b5a; outline-offset:3px; }
.dashboard-view input,.dashboard-view select { border:1px solid var(--dw-border); border-radius:7px; background:#fff; color:var(--dw-ink); min-height:36px; }
.dashboard-view .dashboard-hero { padding:0; margin:0 0 24px; border:0; background:none; align-items:center; }
.dashboard-view .dashboard-hero h2 { font-size:28px; font-weight:700; margin:4px 0 8px; }
.dashboard-view .eyebrow { color:#5c6b64; font-size:10px; font-weight:700; letter-spacing:.09em; }
.dashboard-view .dashboard-hero p:not(.eyebrow) { color:var(--dw-muted); font-size:13px; line-height:1.6; }
.dashboard-fy-chip { border:1px solid var(--dw-border); border-radius:8px; background:white; padding:10px 12px; font-size:12px; color:var(--dw-muted); }
.dashboard-month-bar { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:12px; }
.dashboard-month-bar h3 { font-size:17px; margin:0 0 4px; }
.dashboard-month-bar > div > span { font-size:12px; color:var(--dw-muted); }
.dashboard-view .dashboard-period { align-items:center; flex-wrap:wrap; gap:6px; }
.dashboard-input-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.dashboard-view .dashboard-period input { width:155px; min-width:0; font-size:13px; }
.dashboard-view .dashboard-kpis { margin:0 0 24px; gap:12px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.dashboard-view .dashboard-kpi { min-height:112px; padding:14px 16px; background:#fff; border:1px solid var(--dw-border); border-top:3px solid #3f6b86; border-radius:10px; box-shadow:0 2px 8px #0e262205; }
.dashboard-view .dashboard-kpi-purchases { border-top-color:#b8721f; }
.dashboard-view .dashboard-kpi-expenses { border-top-color:#aa4634; }
.dashboard-view .dashboard-kpi-receipts { border-top-color:#1b6b5a; }
.dashboard-view .dashboard-kpi-payments { border-top-color:#6b5b95; }
.dashboard-view .dashboard-kpi > span { font-size:10px; letter-spacing:.06em; color:var(--dw-muted); }
.dashboard-view .dashboard-kpi strong { margin:12px 0 7px; font-size:clamp(17px,1.65vw,25px); font-weight:650; color:var(--dw-ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.dashboard-view .dashboard-kpi strong small { display:inline; font-size:10px; font-weight:500; color:var(--dw-muted); }
.dashboard-view .dashboard-kpi > small { color:var(--dw-muted); font-size:10px; line-height:1.5; }
.dashboard-workspace-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:20px; align-items:start; }
.dashboard-workspace-grid.single-column { grid-template-columns:minmax(0,1fr); }
.dashboard-queue-column,.dashboard-upcoming-column { min-width:0; }
.dashboard-section-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px; margin-bottom:10px; }
.dashboard-section-heading h3 { margin:0; font-size:16px; }
.dashboard-section-heading > span { color:var(--dw-muted); font-size:11px; }
.dashboard-view .dashboard-panel { background:white; border:1px solid var(--dw-border); border-radius:10px; padding:16px; margin:0 0 14px; box-shadow:0 2px 8px #0e262205; min-width:0; }
.dashboard-view .dashboard-panel-head { border-color:#eaede6; margin-bottom:12px; padding-bottom:12px; }
.dashboard-view .dashboard-panel-head h3,.dashboard-view .vendor-inbox h3 { font-size:15px; margin:3px 0 6px; }
.dashboard-view .dashboard-unit,.dashboard-view .dashboard-work-user { font-size:11px; color:var(--dw-muted); font-weight:500; }
.dashboard-view .dashboard-unit.has-due { color:#a15b18; }
.dashboard-view .dashboard-work-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.dashboard-view .dashboard-work-group { border:1px solid #e4e8e0; border-radius:8px; background:white; overflow:hidden; }
.dashboard-view .dashboard-work-group summary { padding:10px 12px; font-size:12px; background:#f7f8f5; }
.dashboard-view .dashboard-work-group summary b { background:#e4efea; color:#1b6b5a; font-size:11px; }
.dashboard-view .dashboard-work-group.tone-attention summary b { background:#f5e9d6; color:#955711; }
.dashboard-view .dashboard-work-list,.dashboard-view .dashboard-work-row { border-color:#eaede6; }
.dashboard-view .dashboard-work-row { padding:13px 12px; gap:14px; }
.dashboard-view .dashboard-work-copy strong { font-size:13px; color:var(--dw-ink); }
.dashboard-view .dashboard-work-copy span { font-size:12px; color:var(--dw-muted); }
.dashboard-view .dashboard-work-copy small { font-size:11px; color:#68746c; line-height:1.5; }
.dashboard-view .dashboard-work-action { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; max-width:220px; }
.dashboard-view .dashboard-work-action em { width:100%; color:#536b60; font-size:10px; }
.dashboard-view .dashboard-work-row.monthly-billing-due { background:#fff8ef; box-shadow:inset 3px 0 #b8721f; }
.dashboard-view .dashboard-recurring-list { gap:0; }
.dashboard-view .dashboard-recurring-row { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; padding:14px 0; border-color:#eaede6; }
.dashboard-view .dashboard-recurring-row:first-child { padding-top:0; }
.dashboard-view .dashboard-recurring-row strong { font-size:13px; color:var(--dw-ink); overflow-wrap:anywhere; }
.dashboard-view .dashboard-recurring-row.is-due { margin:0 0 8px; padding:12px; border:1px solid #ebd4b5; border-left:3px solid #b8721f; border-radius:7px; background:#fff8ef; box-shadow:none; }
.dashboard-view .dashboard-recurring-state { background:#eef1ec; color:#5c6b64; font-size:9px; margin-bottom:4px; }
.dashboard-view .is-due .dashboard-recurring-state { background:#f5e9d6; color:#955711; }
.dashboard-view .dashboard-recurring-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.dashboard-view .dashboard-recurring-actions em { margin:0; font-size:11px; color:var(--dw-muted); text-align:left; }
.dashboard-view .dashboard-recurring-primary,.dashboard-view [data-vendor-open] { background:#1b6b5a; border-color:#1b6b5a; color:white; }
.dashboard-view .dashboard-recurring-primary:hover:not(:disabled),.dashboard-view [data-vendor-open]:hover:not(:disabled) { background:#155345; color:white; }
.dashboard-view .dashboard-empty { color:var(--dw-muted); font-size:12px; padding:16px 0; line-height:1.6; }
.dashboard-view .vendor-inbox header { border:0; padding:0; align-items:center; }
.dashboard-view .vendor-inbox [data-vendor-summary] { font-size:11px; color:var(--dw-muted); line-height:1.6; }
.dashboard-view .vendor-inbox-tools { display:flex; flex-wrap:wrap; }
.dashboard-view .vendor-inbox-tools input { flex:1 1 180px; min-width:0; }
.dashboard-view .vendor-inbox-row { background:#fafbf8; border:1px solid #e4e8e0; border-radius:8px; padding:12px; grid-template-columns:minmax(0,1fr); }
.dashboard-view .vendor-inbox-actions { display:flex; flex-wrap:wrap; gap:6px; }
.dashboard-view .dashboard-analysis-only { display:block; margin-top:8px; }
.dashboard-view .dashboard-expense-layout { grid-template-columns:minmax(170px,240px) minmax(0,1fr); }
.dashboard-view .dashboard-expense-row { padding:6px 0; border-bottom:1px solid #f0f2ec; }
.dashboard-view .dashboard-expense-row b { font-variant-numeric:tabular-nums; }
@media(max-width:1100px) {
 .dashboard-view .dashboard-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .dashboard-workspace-grid { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@media(max-width:600px) {
 .main.dashboard-page .dashboard-view { padding:14px 10px max(80px,env(safe-area-inset-bottom)); }
 .dashboard-view .dashboard-hero { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
 .dashboard-view .dashboard-hero h2 { font-size:25px; }
 .dashboard-fy-chip { font-size:11px; }
 .dashboard-view .dashboard-period { display:grid; grid-template-columns:1fr 1fr; width:100%; }
 .dashboard-view .dashboard-period label { grid-column:1/-1; grid-row:1; }
 .dashboard-view .dashboard-period input { width:100%; font-size:16px; }
 .dashboard-view #dashboardRefresh { grid-column:1/-1; }
 .dashboard-view button,.dashboard-view .dashboard-work-action a,.dashboard-view input,.dashboard-view select { min-height:44px; }
 .dashboard-view input,.dashboard-view select { font-size:16px; max-width:100%; }
 .dashboard-view .dashboard-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .dashboard-view .dashboard-kpi { padding:12px 10px; }
 .dashboard-view .dashboard-kpi strong { font-size:18px; }
 .dashboard-view .dashboard-panel { padding:12px; }
 .dashboard-view .dashboard-work-row { grid-template-columns:minmax(0,1fr); }
 .dashboard-view .dashboard-work-action { justify-content:flex-start; max-width:none; }
 .dashboard-view .dashboard-work-action em { text-align:left; }
 .dashboard-view .dashboard-panel-head { flex-wrap:wrap; }
 .dashboard-view .vendor-inbox header { gap:8px; }
 .dashboard-view .vendor-inbox header > div { min-width:0; }
 .dashboard-view .dashboard-expense-layout { grid-template-columns:minmax(0,1fr); }
 .dashboard-view .dashboard-expense-row { grid-template-columns:10px minmax(0,1fr); }
 .dashboard-view .dashboard-expense-row b { grid-column:2; text-align:left; }
}
.dashboard-view .dashboard-unit.has-due { display:inline-block; background:#f5e9d6; color:#865014; padding:4px 8px; border:0; border-radius:20px; box-shadow:none; }
.dashboard-view .dashboard-recurring-buttons button { box-shadow:none; }
@media(max-width:600px) {
 .dashboard-view .vendor-inbox-tools { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
 .dashboard-view .vendor-inbox-tools input { flex:none; width:100%; height:44px; }
}
/* Compact action and schedule cards, aligned with the supplied overview design. */
.dashboard-view .dw-action-card,.dashboard-view .dw-recurring-card { background:#fff; border:1px solid #dee3dc; border-radius:10px; overflow:hidden; box-shadow:0 1px 3px #0e262209; margin:0 0 16px; }
.dashboard-view .dw-card-head { padding:16px 20px 14px; border-bottom:1px solid #eaede6; }
.dashboard-view .dw-card-head h3 { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:0; font-size:15px; font-weight:600; }
.dashboard-view .dw-card-head p { margin:4px 0 0; color:#7c8981; font-size:12px; line-height:1.4; }
.dashboard-view .dw-chip { display:inline-flex; align-items:center; justify-content:center; width:max-content; max-width:100%; background:#eef1ec; color:#5c6b64; padding:3px 8px; border-radius:20px; font-size:10.5px; font-weight:600; font-style:normal; line-height:1.25; white-space:normal; }
.dashboard-view .dw-chip.amber { background:#f5e9d6; color:#a96210; }
.dashboard-view .dw-chip.teal { background:#e4efea; color:#1b6b5a; }
.dashboard-view .dw-chip.slate { background:#e4edf3; color:#3f6b86; }
.dashboard-view .dw-card-head .dw-chip { font-variant-numeric:tabular-nums; font-size:11px; }
.dashboard-view .dw-task { display:grid; grid-template-columns:38px minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:14px 20px; border-bottom:1px solid #eaede6; }
.dashboard-view .dw-task:last-child { border-bottom:0; }
.dashboard-view .dw-task-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:#f5e9d6; color:#b8721f; }
.dashboard-view .dw-task-icon.teal { background:#e4efea; color:#1b6b5a; }
.dashboard-view .dw-task-icon.slate { background:#e4edf3; color:#3f6b86; }
.dashboard-view .dw-task-copy { min-width:0; }
.dashboard-view .dw-task-copy strong { display:block; font-size:13px; font-weight:600; color:#152521; overflow-wrap:anywhere; line-height:1.4; }
.dashboard-view .dw-task-copy small { display:block; font-size:12px; color:#7c8981; margin-top:4px; line-height:1.4; overflow-wrap:anywhere; }
.dashboard-view .dw-task-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; max-width:230px; }
.dashboard-view .dw-task-actions button,.dashboard-view .dw-task-actions a,.dashboard-view .dw-recurring-right button { width:auto; min-width:0; min-height:30px; border:1px solid #dee3dc; border-radius:7px; padding:6px 11px; background:#fff; color:#152521; font-size:12px; font-weight:600; line-height:1.2; box-shadow:none; text-decoration:none; cursor:pointer; }
.dashboard-view .dw-task-actions .dw-primary { background:#0e2622; border-color:#0e2622; color:#fff; }
.dashboard-view .dw-task-actions .dw-primary:hover { background:#17382f; color:#fff; }
.dashboard-view .dw-progress-label { display:flex; align-items:center; gap:18px; padding:11px 20px; background:#eef1ec; color:#7c8981; font-size:11px; }
.dashboard-view .dw-progress-label strong { font-size:10px; letter-spacing:.06em; }
.dashboard-view .dw-progress-label b { color:#5c6b64; }
.dashboard-view .vendor-inbox.dw-vendor { border:0; border-radius:0; border-bottom:1px solid #eaede6; box-shadow:none; background:none; padding:0; margin:0; }
.dashboard-view .vendor-inbox.dw-vendor > header { display:grid; grid-template-columns:38px minmax(0,1fr) auto auto; padding:14px 20px; gap:14px; border:0; }
.dashboard-view .dw-vendor [data-vendor-body] { padding:0 20px 16px; }
.dashboard-view .dw-vendor [data-vendor-body][hidden] { display:none; }
.dashboard-view .dw-recurring-row { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 20px; border-bottom:1px solid #eaede6; }
.dashboard-view .dw-recurring-row:last-child { border-bottom:0; }
.dashboard-view .dw-datebox { width:50px; min-height:48px; display:grid; align-content:center; justify-items:center; gap:3px; background:#eef1ec; border-radius:9px; }
.dashboard-view .dw-datebox b { color:#152521; font-size:17px; line-height:1; font-variant-numeric:tabular-nums; }
.dashboard-view .dw-datebox span { color:#7c8981; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.dashboard-view .dw-recurring-copy { min-width:0; }
.dashboard-view .dw-recurring-copy > strong { font-size:13px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.dashboard-view .dw-recurring-copy > div { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:3px; }
.dashboard-view .dw-recurring-copy small { font-size:11px; color:#7c8981; }
.dashboard-view .dw-recurring-right { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.dashboard-view .dw-recurring-right .dw-text-action { font-size:10px; border:0; padding:2px 0; color:#5c6b64; background:none; min-height:20px; text-decoration:underline; }
.dashboard-view .dw-clear { display:flex; gap:10px; align-items:center; color:#5c6b64; font-size:13px; padding:16px 20px; margin:0; border-bottom:1px solid #eaede6; }
.dashboard-view .dw-clear svg { color:#1b6b5a; flex-shrink:0; }
@media(min-width:1101px) and (max-width:1450px) {
 .dashboard-workspace-grid { grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr); }
 .dashboard-view .dw-task,.dashboard-view .vendor-inbox.dw-vendor > header { gap:10px; padding:14px; }
}
@media(max-width:700px) {
 .dashboard-view .dw-task,.dashboard-view .vendor-inbox.dw-vendor > header { grid-template-columns:38px minmax(0,1fr); gap:10px; padding:14px; }
 .dashboard-view .dw-task > .dw-chip { grid-column:2; }
 .dashboard-view .dw-task-actions { grid-column:2; justify-content:flex-start; max-width:none; }
 .dashboard-view .dw-task-actions button,.dashboard-view .dw-task-actions a,.dashboard-view .dw-recurring-right button { min-height:44px; }
 .dashboard-view .dw-progress-label { flex-wrap:wrap; gap:8px 14px; padding:12px 14px; }
 .dashboard-view .dw-recurring-row { padding:14px; grid-template-columns:44px minmax(0,1fr); gap:10px; }
 .dashboard-view .dw-datebox { width:44px; }
 .dashboard-view .dw-recurring-right { grid-column:2; flex-direction:row; align-items:center; flex-wrap:wrap; }
 .dashboard-view .dw-recurring-right .dw-text-action { min-height:44px; }
}

/* Task colours identify purpose; written status and icons remain authoritative. */
.dashboard-view .dw-action-card > .dw-card-head {background:linear-gradient(110deg,#f8f0df,#fffdf8);border-top:3px solid #ba873b;}
.dashboard-view .dw-task-review {background:#fffcf6;box-shadow:inset 3px 0 #c3954e;}
.dashboard-view .dw-task-billing {background:#f6faff;box-shadow:inset 3px 0 #598aa8;}
.dashboard-view .dw-task-billing .dw-task-icon {background:#e0edf6;color:#366a8b;}
.dashboard-view .dw-task-billing .dw-chip {background:#e0edf6;color:#315f7d;}
.dashboard-view .vendor-inbox.dw-vendor > header {background:#f0f8f4;box-shadow:inset 3px 0 #428b71;}
.dashboard-view .dw-vendor .dw-task-icon {background:#d9eee3;color:#216a51;}
.dashboard-view .dw-progress-label {background:#eaf0f6;color:#536c7d;}
.dashboard-view .dw-recurring-card > .dw-card-head {background:linear-gradient(110deg,#eeeaf7,#fbfaff);border-top:3px solid #8a76ad;}
.dashboard-view .dw-recurring-row {background:#fdfcff;box-shadow:inset 3px 0 #b3a4cd;}
.dashboard-view .dw-datebox {background:#ece6f5;}
.dashboard-view .dw-datebox b,.dashboard-view .dw-datebox span {color:#665080;}
.dashboard-view .dw-recurring-row.is-due {background:#fff8ed;box-shadow:inset 3px 0 #bd8539;}
.dashboard-view .dw-recurring-row.is-due .dw-datebox {background:#f7e6c9;}
.dashboard-view .dw-recurring-row.is-due .dw-datebox b,.dashboard-view .dw-recurring-row.is-due .dw-datebox span {color:#805820;}
.dashboard-view .dashboard-contract-alerts.dashboard-panel {padding:0;overflow:hidden;}
.dashboard-view .contract-expiry-head {background:linear-gradient(110deg,#fbefdf,#fffdf8);border-top:3px solid #ba873b;}
.dashboard-view .dashboard-contract-alerts .contract-expiry-row {background:#fffdfa;}
.dashboard-view .dashboard-contract-alerts .contract-expiry-row:hover {background:#faf2e5;}
.dashboard-view .dw-task-copy small,.dashboard-view .dw-recurring-copy small {color:#626f68;}
.dashboard-view .dashboard-kpi-sales {background:#f4f8fc;}
.dashboard-view .dashboard-kpi-purchases {background:#fff9ef;}
.dashboard-view .dashboard-kpi-expenses {background:#fff5f2;}
.dashboard-view .dashboard-kpi-receipts {background:#f0f8f3;}
.dashboard-view .dashboard-kpi-payments {background:#f7f3fc;}
