/* Home Hub — forest green daylight palette. Loaded after structural styles. */
:root{
  color-scheme:only light;
  --bg:#f2f6f2;
  --panel:#ffffff;
  --panel-raised:#eaf1e9;
  --panel-sunken:#f7faf5;
  --text:#20382b;
  --text-soft:#3e5948;
  --muted:#526b59;
  --line:#ccdacc;
  --line-strong:#819d87;
  --accent:#2b6247;
  --accent-deep:#204f38;
  --accent-soft:#dfecde;
  --reference-leaf:#83aa8a;
  --soft:#eaf1e9;
  --good:#236c50;
  --good-surface:#e7f4ec;
  --warn:#85520d;
  --warn-surface:#fff3dc;
  --bad:#a62f38;
  --bad-surface:#fff0f0;
  --shadow:0 8px 28px rgba(35,72,47,.08);
}
body{
  color-scheme:only light;
  color:var(--text);
  background:radial-gradient(ellipse at 0 0,#e0ebdd 0,transparent 48%),var(--bg);
  background-attachment:fixed;
}
a{color:var(--accent-deep)}
header{border-color:var(--line)}
.brand-mark,.auth-home-mark{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--line);box-shadow:none}
.brand h1,.page-intro h2,h2,h3,label{color:var(--text)}
.brand-kicker,.page-intro>span,.trip-eyebrow{color:var(--accent-deep)}
.brand p,.sub,.muted,.small,.tx-meta,.page-description,.stock-unit{color:var(--muted)}
.brand-mark,.auth-home-mark{box-shadow:inset 0 0 0 1px rgba(65,105,72,.08)}
nav,.purchase-view-switch{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}
.nav{color:var(--text-soft)}
.nav span{background:var(--panel-raised);color:var(--accent-deep)}
.nav:hover{background:var(--accent-soft);color:var(--accent-deep)}
.nav.active{background:var(--accent-deep);color:#fff;box-shadow:0 4px 12px rgba(32,79,56,.16)}
.nav.active span{background:rgba(255,255,255,.15);color:#fff}
.nav .nav-badge{background:var(--bad);border-color:var(--bad);color:#fff;box-shadow:none}
.purchase-view-button{color:var(--text-soft)}
.purchase-view-button:hover{background:var(--panel-raised);color:var(--text)}
.purchase-view-button.active{background:var(--accent-deep);color:#fff;box-shadow:none}
.card,.project-card,.trip-card,.recipe-card,.activity-log,.household-snapshot{background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:var(--shadow)}
.card:hover,.project-card:hover,.trip-card:hover,.recipe-card:hover{border-color:var(--line-strong);box-shadow:0 12px 30px rgba(35,72,47,.11)}
.metric:nth-child(n),#budget .metric:nth-child(n),#groceries .metric:nth-child(n),#vitality .metric:nth-child(n){background:linear-gradient(135deg,#edf4e9,#fff 78%);border-color:var(--line)}
.metric::before,#vitality .metric:nth-child(n)::before{background:var(--reference-leaf)}
.metric:nth-child(2)::before{background:#859ec8}.metric:nth-child(3)::before{background:#c3a367}.metric:nth-child(4)::before{background:#b87c86}.metric:nth-child(5)::before{background:#6eaa94}
.metric span,#budget .metric span,#groceries .metric span,#vitality .metric span{color:var(--muted)}
.metric strong,#budget .metric strong,#groceries .metric strong,#vitality .metric strong{color:var(--text)}
.metric strong.good,#budget .metric strong.good{color:var(--good)}
.metric strong.bad,#budget .metric strong.bad{color:var(--bad)}
input,select,textarea,.header-tools input{color-scheme:only light;background-color:var(--panel-sunken);color:var(--text);border-color:var(--line-strong)}
input::placeholder,textarea::placeholder{color:#5a7160;opacity:1}
input:hover,select:hover,textarea:hover{border-color:var(--accent)}
input:focus,select:focus,textarea:focus{background-color:#fff;color:var(--text);border-color:var(--accent);outline:2px solid var(--accent);outline-offset:2px}
input[type=checkbox],.fixed,.check-field input,.trip-check-row input[type=checkbox]{accent-color:var(--good)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
select:not([multiple]),select:not([multiple]):focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3.5 5.75 4.5 4.5 4.5-4.5' stroke='%233e5948' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
input[type=file]::file-selector-button{border:1px solid var(--line-strong);border-radius:6px;padding:6px 9px;background:var(--panel-raised);color:var(--text);margin-right:8px}
.primary{background:var(--good);color:#fff;border-color:var(--good)}
.primary:hover:not(:disabled){background:#19563e;box-shadow:0 5px 14px rgba(35,108,80,.16)}
.quick-add-open{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}
.quick-add-open:hover:not(:disabled){background:#173f2c;box-shadow:0 5px 14px rgba(32,79,56,.16)}
.secondary,.project-rename>summary,.header-tools>.version{background:var(--soft);color:var(--text-soft);border-color:var(--line-strong)}
.secondary:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent)}
.danger,.project-expense-delete,.project-receipt-delete,.vitality-delete,.pdel,.del,.event-delete,.remove-list-item{background:var(--bad-surface)!important;color:var(--bad)!important;border-color:#d58b91}
.danger:hover:not(:disabled),.project-expense-delete:hover,.project-receipt-delete:hover,.vitality-delete:hover,.pdel:hover,.del:hover,.event-delete:hover,.remove-list-item:hover{background:#f9dfe1!important;color:#88222b!important;border-color:var(--bad)}
button:disabled,.paid:disabled{opacity:.64}
.good{color:var(--good)}.bad{color:var(--bad)}.warn{color:var(--warn)}
.toast,.toast.success{background:var(--good-surface);color:var(--good);border-color:#89b99c}
.toast.error{background:var(--bad-surface);color:var(--bad);border-color:#d58b91}
.table-wrap,.pantry-table-wrap,table{background:var(--panel);color:var(--text);border-color:var(--line)}
th,.pantry-table th,.purchase-history-table th{background:var(--panel-raised);color:var(--text-soft);border-color:var(--line)}
td{color:var(--text);border-color:var(--line)}
tbody tr:hover{background:#f1f7ee;color:var(--text)}
.progress,.vitality-cap-card .progress,.bank-import-progress progress,.bank-import-progress progress::-webkit-progress-bar{background:#d5e1d2}
.bar{background:#568665}.bar.warn{background:#b98026}.bar.bad{background:var(--bad)}
.bank-import-progress progress::-webkit-progress-value,.bank-import-progress progress::-moz-progress-bar{background:var(--good);box-shadow:none}
.note,.receipt-box,.receipt-cropper,.receipt-cropper canvas,.project-receipt-form,.project-expense-form,.project-name-form,.stock-adjustment form,.bank-column-mapping{background:var(--panel-raised);color:var(--text);border-color:var(--line)}
.ocr-details pre{background:var(--panel-sunken);color:var(--text-soft);border-color:var(--line)}
.category-tag,.trip-summary-pill,.bank-submit-counts>div{background:var(--panel-raised);color:var(--text-soft);border-color:var(--line)}
input.cat-savings,.cat-savings{background:#eeeaf7;color:#5c3e7e;border-color:#b6a7cf}
input.cat-housing,.cat-housing{background:#dfedf9;color:#204f38;border-color:#94b6d1}
input.cat-insurance,.cat-insurance{background:#e1f1ef;color:#24655f;border-color:#8db8b2}
input.cat-household,.cat-household{background:#e7f3e9;color:#326640;border-color:#95b89e}
input.cat-transport,.cat-transport{background:#fff2dc;color:#805313;border-color:#c3a164}
input.cat-debt,.cat-debt{background:#fde8e9;color:#9a303b;border-color:#ce959b}
input.cat-family,.cat-family{background:#f8e8f1;color:#8a3c66;border-color:#c29ab0}
input.cat-subscriptions,.cat-subscriptions{background:#e9ecfa;color:#465683;border-color:#9eaad0}
input.cat-other,.cat-other{background:#eaf0f5;color:#455f74;border-color:#9bafbf}
.stock-status.low{background:var(--warn-surface);color:var(--warn)}
.stock-status.in-stock{background:var(--good-surface);color:var(--good)}
.expense-type.consumables{background:var(--warn-surface);color:var(--warn);border-color:#c3a164}
.expense-type.labour{background:#eeeaf7;color:#5c3e7e;border-color:#b6a7cf}
.calendar-day{background:var(--panel);color:var(--text)}
.calendar-day:hover{background:var(--panel-raised);color:var(--text)}
.calendar-day.outside{background:#f0f5ed;color:var(--muted)}
.calendar-day.today .calendar-number{background:var(--accent-deep);color:#fff}
.calendar-chip,.calendar-trip-chip{background:var(--accent-soft);color:var(--accent-deep)}
.calendar-purchase{background:#eaf0f5;color:var(--text-soft)}
.calendar-more{color:var(--muted)}
.savings-metrics>div,.vitality-cap-card,.vitality-cap-row,.trip-budget-summary,.trip-link-inline{background:var(--panel-raised);border-color:var(--line)}
.savings-metrics span,.vitality-cap-row small,.vitality-cap-heading>strong small{color:var(--muted)}
.savings-progress .bar,.vitality-cap-card .bar{background:var(--good)}
.vitality-cap-heading>strong,.pantry-name strong,.stock-quantity{color:var(--text)}
.project-baseline,.project-archive-section,.project-manual-expense,.trip-checklist,.trip-intro-card,.trip-edit-form,.archived-note{background:var(--panel);color:var(--text);border-color:var(--line)}
.trip-savings-link{background:#eef0fb;border-color:#b7c3df}
.trip-savings-link>div:first-child strong,.trip-check-row>label{color:var(--text)}
.trip-savings-link small,.trip-check-row small,.trip-check-row time,.trip-list-heading>span,.trip-list-empty{color:var(--muted)}
.trip-goal-progress{color:#5c4c83}.trip-goal-progress .bar{background:#8673ad}
.trip-check-row.is-done>label span{color:var(--muted)}
.trip-remove{background:var(--bad-surface);color:var(--bad)}
.trip-stamp{color:#73967a}.trip-link-legend{color:var(--text-soft)}
.archived-note{background:var(--panel-raised);color:var(--text-soft)}
.activity-log h2{color:var(--accent-deep)}.activity-log li{color:var(--text)}.activity-log time{color:var(--muted)}
.empty{background:var(--panel-sunken);color:var(--muted);border-color:var(--line)}
.info-tip summary{background:var(--panel-raised);color:var(--accent-deep);border-color:var(--line-strong)}
.info-tip summary:hover{background:var(--accent-soft);color:var(--accent-deep)}
.info-tip>span{background:#fff;color:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.snapshot-mark{background:var(--accent-soft);color:var(--accent-deep)}
.snapshot-item>strong{color:var(--text-soft)}.snapshot-item p,.snapshot-empty{color:var(--muted)}
.snapshot-item.snapshot-warn{background:var(--warn-surface);border-color:#cbb17f}.snapshot-item.snapshot-warn>strong{color:var(--warn)}
.snapshot-item.snapshot-event{background:#edf4e9;border-color:#abc8df}
.snapshot-item.snapshot-savings{background:#f1edfa;border-color:#bfb0d7}
.snapshot-item.snapshot-stock{background:var(--good-surface);border-color:#a5c4af}
.snapshot-link{color:var(--accent-deep)}
.todo-row,.todo-row:hover,.todo-empty{background:var(--panel-sunken);color:var(--text);border-color:var(--line)}
.todo-row.is-due-today{background:var(--accent-soft);border-color:#94b6d1}
.todo-row.is-overdue{background:var(--warn-surface);border-color:#c3a164}
.todo-content strong,.todo-meta,.todo-due{color:var(--text-soft)}
.todo-row.is-overdue .todo-due{color:var(--warn)}
.todo-checkmark{background:#fff;border-color:var(--line-strong)}
.todo-check input:checked+.todo-checkmark{background:var(--good);border-color:var(--good);color:#fff}
.todo-delete{color:var(--bad)}.todo-delete:hover{background:var(--bad-surface);color:var(--bad)}
.todo-filters .btn.active{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep)}
.entry-disclosure>summary,.project-disclosure>summary{background:var(--panel-raised);color:var(--accent-deep);border-color:var(--line)}
.entry-disclosure>summary:hover,.project-disclosure>summary:hover{background:var(--accent-soft)}
.entry-panel{background:transparent}
.cloud-dialog,.data-tools-dialog,.quick-add-dialog,.bank-submit-dialog,.bank-allocation-dialog{background:var(--panel);color:var(--text);border-color:var(--line-strong);box-shadow:0 18px 60px rgba(28,62,40,.2)}
dialog::backdrop,.cloud-dialog::backdrop,.data-tools-dialog::backdrop{background:rgba(25,49,32,.35);backdrop-filter:blur(4px)}
.cloud-status{background:var(--panel-sunken);color:var(--text-soft)}
.cloud-status.bad{background:var(--bad-surface);color:var(--bad)}
.bank-submit-ready strong,.bank-submit-missed-row strong,.bank-import-pagination,.bank-submit-content label{color:var(--text)}
.bank-submit-missed h3{color:var(--warn)}
.bank-import-split-panel{background:var(--panel-raised);border-color:var(--line)}
.bank-import-split-toggle{background:var(--panel-raised);color:var(--accent-deep);border-color:var(--line-strong)}
.bank-import-complete{background:var(--good-surface)}
.bank-import-duplicate{opacity:1}
.bank-import-complete input:disabled{background:var(--good-surface);color:var(--text-soft)}
@media(max-width:640px){
  .budget-allocation-table tr,.purchase-history-table tr,.mobile-record-table tr{background:var(--panel);border-color:var(--line)}
  .budget-allocation-table td::before,.purchase-history-table td::before,.mobile-record-table td::before{color:var(--muted)}
  .trip-budget-summary{background:var(--panel-raised)}
}

/* Shared top-layer notes cannot be clipped by metric cards or mobile containers. */
.info-note-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid var(--line-strong);border-radius:20px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
.info-note-dialog h2{font-size:20px;margin:0 0 16px;padding-right:0}
.info-note-dialog p{font-size:15px;line-height:1.65;color:var(--text-soft);margin:0 0 20px;overflow-wrap:anywhere}
.info-note-dialog form{display:flex;justify-content:flex-end;margin:0}
.info-note-dialog button{min-height:44px}
