/* HORIZEN 1.4 — Complete presentation regression pass.
   Applied AFTER brand.css and pwa-fix.css. No transaction/data/business logic edits.
   Financial semantics retained: savings=blue, debts=red, positive=green.
*/
:root{
 --hz-panel:#fff;--hz-panel-2:#F9F7F2;--hz-panel-3:#F1ECE2;
 --hz-border:#E5DAC6;--hz-text:#27241F;--hz-secondary:#67635C;
 --hz-accent:#866016;--hz-icon-bg:#F8F0DB;--hz-icon:#8C681F;
 --hz-blue:#205FAF;--hz-red:#B63C45;
}
:root[data-v7-active="dark"]{
 --hz-panel:#1D1D20;--hz-panel-2:#242427;--hz-panel-3:#2D2A26;
 --hz-border:#48443E;--hz-text:#F7F3EB;--hz-secondary:#C2BDB4;
 --hz-accent:#F0D58F;--hz-icon-bg:#3A3020;--hz-icon:#F0CF7D;
 --hz-blue:#A8D1FF;--hz-red:#FFACB2;
}
/* Shared tiles, module-specific interiors, data panels and disclosure rows. */
.wallet-account,.wallet-netbar,.wallet-note,.wallet-payment-due,
.s3-pending-intro,.s3-concept,.s3-concept summary,.s3-filter,
.s5-debt-card,.s5-account-tag,.s6-shop-card,.s6-todo-card,
.rc-intro,.rc-total,.rc-column-top,.rc-column-stats,.rc-column-body,
.rc-category,.rc-subtitle span,.rc-card,.rc-card-foot,.rc-week,
.r8-kpi,.r8-tip,.r8-preset select,.r8-label input,.r8-label select,
.r8-check,.r8-table tr,.r8-table tr.r8-total,
.wallet-search,.wallet-chip,.viconsample span,.viconoption,
.s6-list-icon,.s6-tag,
.s3-small,.rc-empty-add,.rc-edit{
 border-color:var(--hz-border)!important;
}
.wallet-account,.s3-concept,.s5-debt-card,.s6-shop-card,.s6-todo-card,
.rc-category,.rc-card,.r8-kpi{background:var(--hz-panel)!important;color:var(--hz-text)!important}
.wallet-note,.wallet-netbar,.wallet-payment-due,.s3-pending-intro,
.rc-intro,.rc-total,.rc-column-top,.rc-column-stats,.rc-column-body,
.rc-card-foot,.s3-concept summary,.r8-tip,.s5-account-tag,
.s6-list-icon,.s6-tag,.r8-table tr.r8-total{
 background:var(--hz-panel-2)!important;color:var(--hz-text)!important;
}
.wallet-search,.wallet-chip,.s3-filter,.s3-small,
.rc-subtitle span,.rc-week,.r8-check,.r8-label input,.r8-label select,
.r8-preset select,.viconsample span,.viconoption,.rc-edit,.rc-empty-add{
 background:var(--hz-panel-3)!important;color:var(--hz-text)!important;
}
/* App's original blue buttons are now metallic gold, with readable dark text. */
.wallet-chip.active,.s3-filter.active,.r8-check:has(input:checked){
 background:linear-gradient(115deg,#F6DF9E,#D3A74A)!important;
 border-color:#C49A43!important;color:#261C0A!important;
}
.s3-filter.active small,.wallet-chip.active small{color:#3C2A0D!important}
.s3-small,.rc-edit,.rc-empty-add{
 background:var(--hz-icon-bg)!important;color:var(--hz-icon)!important;
 border:1px solid var(--hz-border)!important;
}
.wallet-account-icon,.s6-list-icon,.rc-column-icon,.rc-blank-icon,
.viconoption,.viconsample,.s6-tag,.s5-account-tag{
 color:var(--hz-icon)!important;
}
.wallet-account-icon,.rc-column-icon,.rc-blank-icon,
.s6-list-icon{background:var(--hz-icon-bg)!important}
.viconsample span,.viconoption{background:var(--hz-panel-2)!important}
.viconoption:hover,.viconoption:focus-visible{
 border-color:#D5AD54!important;color:var(--hz-icon)!important;
 background:var(--hz-icon-bg)!important;
}
/* Main financial values: never inherit the old navy foreground in dark mode. */
.wallet-netbar strong,.wallet-account-amount,.wallet-account-name,
.s3-pending-total strong,.s3-pending-intro h2,.s3-concept summary strong,
.s3-concept summary b,.s3-payment-info strong,.s3-payment>b,
.s5-debt-card .vsplit strong,.s6-shop-title h2,.s6-itemname,
.s6-shop-summary b,.rc-total strong,.rc-category-head h3,.rc-category-total,
.rc-card-title,.rc-card-foot strong,.rc-week b,.rc-column-heading h2,
.rc-column-stats strong,.rc-blank b,.r8-kpi strong,
.r8-snapshot-item b,.r8-chart-row strong{
 color:var(--hz-text)!important;
}
.wallet-netbar span,.wallet-note,.wallet-note strong,
.s3-pending-total span,.s3-concept summary small,
.s3-payment-info small,.s5-history,.s5-history summary,
.s6-shop-summary small,.s6-itemname small,.s6-mininote,
.s6-itemrow>small,.rc-intro p,.rc-column-heading p,
.rc-column-stats span,.rc-subtitle,.rc-card-details,
.rc-blank,.rc-notes,.r8-head p,.r8-label,.r8-tip,
.r8-trend small,.r8-legend,.r8-snapshot-item span{
 color:var(--hz-secondary)!important;
}
.wallet-note span,.wallet-account small,.s5-history li span,
.r8-kpi span,.r8-kpi small,.r8-chart-row,.rc-total span,.rc-total small{
 color:var(--hz-secondary)!important;
}
.wallet-note svg{color:var(--hz-icon)!important}
.s5-history summary{color:var(--hz-icon)!important}
.rc-eyebrow,.rc-sub-badge{color:var(--hz-icon)!important}
.rc-sub-badge{background:var(--hz-icon-bg)!important}
.rc-week.is-paid,.s6-done{background:#E4F5E8!important;color:#237A4D!important;border-color:#8AC4A0!important}
:root[data-v7-active="dark"] .rc-week.is-paid,
:root[data-v7-active="dark"] .s6-done{background:#1C3B2A!important;color:#9AE4B5!important;border-color:#3C7153!important}
.rc-week.is-paid b{color:inherit!important}
/* Presets, monthly reports and graph controls. */
.r8-check{box-shadow:none!important}
.r8-table th{background:var(--hz-panel-3)!important;color:var(--hz-text)!important}
.r8-table tr:nth-child(even){background:var(--hz-panel-2)!important;color:var(--hz-text)!important}
.r8-table tr:nth-child(odd){background:var(--hz-panel)!important;color:var(--hz-text)!important}
.r8-table td{background:transparent!important;color:var(--hz-text)!important}
.r8-table tr.r8-total td{color:var(--hz-text)!important}
.r8-trends,.r8-pair{color:var(--hz-text)!important}
/* Preserve useful blue ONLY for savings, and red ONLY for debt indicators. */
.expense-savings .expense-amount,.expense-savings .line-price,
.expense-savings .rc-category-total{color:var(--hz-blue)!important}
.expense-debts .expense-amount,.expense-debts .line-price,
.expense-debts .rc-category-total{color:var(--hz-red)!important}
/* Dark mode: all legacy module detail surfaces and forms use HORIZEN colors. */
:root[data-v7-active="dark"] .wallet-account,
:root[data-v7-active="dark"] .s3-concept,
:root[data-v7-active="dark"] .s5-debt-card,
:root[data-v7-active="dark"] .s6-shop-card,
:root[data-v7-active="dark"] .s6-todo-card,
:root[data-v7-active="dark"] .rc-category,
:root[data-v7-active="dark"] .rc-card,
:root[data-v7-active="dark"] .r8-kpi,
:root[data-v7-active="dark"] .r8-graphs .vcard{
 background:#1D1D20!important;color:#F7F3EB!important;border-color:#48443E!important;
}
:root[data-v7-active="dark"] .wallet-netbar,
:root[data-v7-active="dark"] .wallet-note,
:root[data-v7-active="dark"] .wallet-payment-due,
:root[data-v7-active="dark"] .rc-intro,
:root[data-v7-active="dark"] .rc-total,
:root[data-v7-active="dark"] .rc-column-top,
:root[data-v7-active="dark"] .rc-column-body,
:root[data-v7-active="dark"] .rc-column-stats,
:root[data-v7-active="dark"] .rc-card-foot,
:root[data-v7-active="dark"] .s3-pending-intro,
:root[data-v7-active="dark"] .s3-concept summary,
:root[data-v7-active="dark"] .r8-table tr.r8-total{
 background:#242427!important;color:#F7F3EB!important;border-color:#48443E!important;
}
:root[data-v7-active="dark"] .wallet-search,
:root[data-v7-active="dark"] .wallet-chip,
:root[data-v7-active="dark"] .s3-filter,
:root[data-v7-active="dark"] .s3-small,
:root[data-v7-active="dark"] .rc-week,
:root[data-v7-active="dark"] .r8-check,
:root[data-v7-active="dark"] .r8-label input,
:root[data-v7-active="dark"] .r8-label select,
:root[data-v7-active="dark"] .r8-preset select,
:root[data-v7-active="dark"] .viconsample span,
:root[data-v7-active="dark"] .viconoption{
 background:#2D2A26!important;color:#F7F3EB!important;border-color:#5B5345!important;
}
:root[data-v7-active="dark"] .wallet-chip.active,
:root[data-v7-active="dark"] .s3-filter.active,
:root[data-v7-active="dark"] .r8-check:has(input:checked){
 color:#231806!important;background:linear-gradient(110deg,#F6DF9E,#D3A74A)!important;
 border-color:#D4AC5A!important;
}
:root[data-v7-active="dark"] .wallet-netbar strong,
:root[data-v7-active="dark"] .wallet-account-name,
:root[data-v7-active="dark"] .wallet-account-amount,
:root[data-v7-active="dark"] .s3-pending-total strong,
:root[data-v7-active="dark"] .s3-pending-intro h2,
:root[data-v7-active="dark"] .s3-concept summary strong,
:root[data-v7-active="dark"] .s3-concept summary b,
:root[data-v7-active="dark"] .s3-payment-info strong,
:root[data-v7-active="dark"] .s3-payment>b,
:root[data-v7-active="dark"] .s6-shop-title h2,
:root[data-v7-active="dark"] .s6-itemname,
:root[data-v7-active="dark"] .s6-shop-summary b,
:root[data-v7-active="dark"] .rc-total strong,
:root[data-v7-active="dark"] .rc-category-head h3,
:root[data-v7-active="dark"] .rc-category-total,
:root[data-v7-active="dark"] .rc-card-title,
:root[data-v7-active="dark"] .rc-card-foot strong,
:root[data-v7-active="dark"] .rc-week b,
:root[data-v7-active="dark"] .r8-kpi strong,
:root[data-v7-active="dark"] .r8-snapshot-item b{
 color:#F7F3EB!important;
}
:root[data-v7-active="dark"] .wallet-note span,
:root[data-v7-active="dark"] .wallet-note strong,
:root[data-v7-active="dark"] .wallet-netbar span,
:root[data-v7-active="dark"] .wallet-account small,
:root[data-v7-active="dark"] .s3-concept summary small,
:root[data-v7-active="dark"] .s3-payment-info small,
:root[data-v7-active="dark"] .s5-history,
:root[data-v7-active="dark"] .s6-itemname small,
:root[data-v7-active="dark"] .s6-shop-summary small,
:root[data-v7-active="dark"] .s6-mininote,
:root[data-v7-active="dark"] .rc-card-details,
:root[data-v7-active="dark"] .rc-column-heading p,
:root[data-v7-active="dark"] .r8-head p,
:root[data-v7-active="dark"] .r8-label,
:root[data-v7-active="dark"] .r8-chart-row,
:root[data-v7-active="dark"] .r8-legend{
 color:#C7C1B6!important;
}
/* Legacy tags, icon library, chart labels and status chips. */
:root[data-v7-active="dark"] .s5-account-tag,
:root[data-v7-active="dark"] .s6-tag,
:root[data-v7-active="dark"] .s6-list-icon,
:root[data-v7-active="dark"] .wallet-account-icon,
:root[data-v7-active="dark"] .rc-column-icon,
:root[data-v7-active="dark"] .rc-blank-icon,
:root[data-v7-active="dark"] .rc-edit,
:root[data-v7-active="dark"] .rc-empty-add{
 background:#3A3020!important;color:#F0CF7D!important;border-color:#675234!important;
}
:root[data-v7-active="dark"] .viconsample,
:root[data-v7-active="dark"] .viconoption{color:#F0CF7D!important}
/* Original bright white input controls in modal dialogs caused PWA dark-mode glare. */
:root[data-v7-active="dark"] #modal-root .modal input:not([type=checkbox]):not([type=radio]),
:root[data-v7-active="dark"] #modal-root .modal textarea,
:root[data-v7-active="dark"] #modal-root .modal select,
:root[data-v7-active="dark"] .vmodal input:not([type=checkbox]):not([type=radio]),
:root[data-v7-active="dark"] .vmodal textarea,
:root[data-v7-active="dark"] .vmodal select{
 background:#2E2D30!important;color:#F5F1E8!important;border:1px solid #5D5448!important;
 -webkit-text-fill-color:#F5F1E8;
}
:root[data-v7-active="dark"] #modal-root .modal input::placeholder,
:root[data-v7-active="dark"] #modal-root .modal textarea::placeholder{color:#BBB4A9!important;-webkit-text-fill-color:#BBB4A9}
/* An accessible focus ring and touch surfaces remain visible in standalone mode. */
:root[data-v7-active="dark"] .r8-table th:first-child,
:root[data-v7-active="dark"] .r8-table td:first-child{background:#242427!important}
:root[data-v7-active="dark"] .r8-table tr:nth-child(even){background:#242427!important}
:root[data-v7-active="dark"] .r8-table tr:nth-child(odd){background:#1D1D20!important}
:root[data-v7-active="dark"] .r8-table tr.r8-total{background:#3A3122!important}
:root[data-v7-active="dark"] .s5-debt-card{color:#F7F3EB!important}
@media(prefers-reduced-motion:reduce){
 .wallet-chip,.s3-filter,.r8-check,.viconoption{transition:none!important}
}

/* 1.4.1 deep pass — Budget search retained the old Mi Presupuesto navy
   (#243247) because its legacy dark CSS out-ranked the brand. Match all
   search fields in both themes, including focus and placeholders. */
:root .page-heading .search,
:root .wallet-search,
:root .vsearchbar,
:root .wallet-filterbar .wallet-search{
  background:var(--hz-panel-2)!important;
  color:var(--hz-icon)!important;
  border:1px solid var(--hz-border)!important;
  box-shadow:none!important;
}
:root .page-heading .search input,
:root .wallet-search input,
:root .vsearchbar input{
  background:transparent!important;
  color:var(--hz-text)!important;
  -webkit-text-fill-color:var(--hz-text);
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
}
:root .page-heading .search input::placeholder,
:root .wallet-search input::placeholder,
:root .vsearchbar input::placeholder{color:var(--hz-secondary)!important;-webkit-text-fill-color:var(--hz-secondary)}
:root .page-heading .search:focus-within,
:root .wallet-search:focus-within,
:root .vsearchbar:focus-within{border-color:var(--hz-accent)!important;outline:2px solid color-mix(in srgb,var(--hz-accent) 35%,transparent)!important;outline-offset:2px!important}
:root .page-heading .search svg,
:root .wallet-search svg,
:root .vsearchbar svg{color:var(--hz-icon)!important}
:root[data-v7-active="dark"] .page-heading .search,
:root[data-v7-active="dark"] .wallet-search,
:root[data-v7-active="dark"] .vsearchbar{
  background:#292725!important;color:#F0D58F!important;border-color:#5C503B!important;
}
:root[data-v7-active="dark"] .page-heading .search input,
:root[data-v7-active="dark"] .wallet-search input,
:root[data-v7-active="dark"] .vsearchbar input{
  background:transparent!important;color:#F7F3EB!important;-webkit-text-fill-color:#F7F3EB!important;border:0!important;
}

/* Dialogs opened through Wallet, savings, projects, debts and reconciliation:
   their label spans still inherited #93bbff from Mi Presupuesto. */
:root .vfield>span,
:root .field>span,
:root .field-grid .field>span{color:var(--hz-secondary)!important}
:root[data-v7-active="dark"] .vfield>span,
:root[data-v7-active="dark"] .field>span,
:root[data-v7-active="dark"] .field-grid .field>span{color:#D8CCB2!important}
/* Budget and calculator controls: use the same gold action language as HORIZEN.
   Keep clear/red as error semantics, not brand blue. */
:root .calc-display{background:var(--hz-panel-2)!important;border:1px solid var(--hz-border)!important}
:root .calc-current{color:var(--hz-text)!important}
:root .calc-expression{color:var(--hz-secondary)!important}
:root .calc-key{color:var(--hz-text)!important;background:var(--hz-panel-3)!important;border:1px solid var(--hz-border)!important}
:root .calc-key.operator{color:var(--hz-icon)!important;background:var(--hz-icon-bg)!important}
:root .calc-key.equals,
:root .calc-apply,
:root .btn-save{color:#261B09!important;background:linear-gradient(112deg,#F9E2A2,#D4A64B)!important;border:1px solid #C9A052!important;font-weight:790!important}
:root .calc-key.clear{color:#B94049!important;background:#FBECEA!important;border-color:#E5BCB7!important}
:root .amount-field .calc-trigger,
:root .category-manage,
:root .line-edit,
:root .week-config select{color:var(--hz-icon)!important;background:var(--hz-icon-bg)!important;border:1px solid var(--hz-border)!important}
:root .week-config{color:var(--hz-secondary)!important}
:root .notice{background:var(--hz-panel-2)!important;border:1px solid var(--hz-border)!important;color:var(--hz-secondary)!important}
:root .notice button{color:var(--hz-icon)!important}
:root .empty-icon{color:var(--hz-icon)!important;background:var(--hz-icon-bg)!important}
:root .income-input-wrap span,.empty-view h3{color:var(--hz-text)!important}
:root .field input:focus,
:root .field select:focus,
:root .field textarea:focus,
:root .vfield>input:focus,
:root .vfield>select:focus{border-color:var(--hz-accent)!important;outline-color:var(--hz-accent)!important}
:root[data-v7-active="dark"] .calc-display{background:#292725!important}
:root[data-v7-active="dark"] .calc-key{background:#2B2A2D!important;color:#F5F0E6!important;border-color:#53493B!important}
:root[data-v7-active="dark"] .calc-key.operator{background:#3C3020!important;color:#F2D690!important;border-color:#705933!important}
:root[data-v7-active="dark"] .calc-key.equals,
:root[data-v7-active="dark"] .calc-apply{background:linear-gradient(110deg,#F7DD97,#D7A64B)!important;color:#211809!important}
:root[data-v7-active="dark"] .calc-key.clear{color:#FFACB2!important;background:#40252B!important;border-color:#81454C!important}
:root[data-v7-active="dark"] .amount-field .calc-trigger,
:root[data-v7-active="dark"] .category-manage,
:root[data-v7-active="dark"] .line-edit,
:root[data-v7-active="dark"] .week-config select{background:#382D1D!important;color:#F1D18A!important;border-color:#665434!important}
:root[data-v7-active="dark"] .notice{background:#292725!important;color:#DDD0B5!important}
:root[data-v7-active="dark"] .income-input-wrap span,
:root[data-v7-active="dark"] .empty-view h3{color:#F7F3EB!important}

/* Deep audit: budget values and year calendar were outside the module
   selector pass and still exposed original saturated blue (#347df1). */
:root .metric-label .dot{background:var(--hz-accent)!important}
:root .income-edit{background:var(--hz-icon-bg)!important;color:var(--hz-icon)!important;border-color:var(--hz-border)!important}
:root .year-controls>button:not(.btn-primary){background:var(--hz-panel-2)!important;border:1px solid var(--hz-border)!important;color:var(--hz-icon)!important}
:root .annual-stat{background:var(--hz-panel)!important;color:var(--hz-text)!important;border:1px solid var(--hz-border)!important}
:root .annual-stat span,:root .annual-stat small{color:var(--hz-secondary)!important}
:root .annual-stat strong{color:var(--hz-text)!important}
:root .calendar-month{background:var(--hz-panel)!important;border-color:var(--hz-border)!important;color:var(--hz-text)!important}
:root .calendar-month-title{color:var(--hz-text)!important}
:root .calendar-month-title span{color:var(--hz-icon)!important}
:root .calendar-month.selected{background:var(--hz-panel-2)!important;border-color:var(--hz-accent)!important}
:root .calendar-month:hover{border-color:var(--hz-accent)!important}
:root .calendar-month-income strong{color:var(--hz-icon)!important}
:root .calendar-month-cost strong{color:var(--hz-text)!important}
:root .calendar-month-income small,:root .calendar-month-cost small,
:root .calendar-month-balance span,:root .year-footer-note{color:var(--hz-secondary)!important}
:root .calendar-month-balance{border-color:var(--hz-border)!important}
:root .year-bar.blue{background:linear-gradient(0deg,#A77B32,#F4D88D)!important}
:root .year-bar.gold{background:#A5A29B!important}
:root .annual-legend{color:var(--hz-secondary)!important}
:root .annual-legend i[style*="#347df1"]{background:#D6AE54!important}
:root .annual-legend i[style*="#f1a143"]{background:#A5A29B!important}
:root .year-bar-container{border-color:var(--hz-border)!important}
:root .year-bar-group{color:var(--hz-secondary)!important}
:root .vbrandmini,:root[data-v7-active="dark"] .vbrandmini{color:var(--hz-secondary)!important}
:root .week-cal-context,:root .week-calendar-footnote{color:var(--hz-secondary)!important}
:root[data-v7-active="dark"] .year-controls>button:not(.btn-primary),
:root[data-v7-active="dark"] .annual-stat,
:root[data-v7-active="dark"] .calendar-month{background:#222124!important;color:#F7F3EB!important;border-color:#49433A!important}
:root[data-v7-active="dark"] .calendar-month.selected{background:#30271A!important;border-color:#E6C579!important}
:root[data-v7-active="dark"] .calendar-month-income strong{color:#EBCB81!important}
:root[data-v7-active="dark"] .calendar-month-cost strong{color:#DDD7C8!important}
:root[data-v7-active="dark"] .income-edit{background:#382D1C!important;color:#F0D58F!important;border-color:#695530!important}
/* Financial exceptions take precedence over global number styling. */
:root .annual-stat .negative,:root .calendar-month .negative{color:var(--hz-red)!important}
:root .annual-stat .positive,:root .calendar-month .positive{color:#24724D!important}
:root[data-v7-active="dark"] .annual-stat .negative,
:root[data-v7-active="dark"] .calendar-month .negative{color:#FFACB2!important}
:root[data-v7-active="dark"] .annual-stat .positive,
:root[data-v7-active="dark"] .calendar-month .positive{color:#95E4B8!important}
/* Pending/weekly-picker secondary labels and crossing-week details. */
:root .week-picker{background:var(--hz-panel-2)!important;border-color:var(--hz-border)!important;color:var(--hz-text)!important}
:root .week-picker-heading,:root .week-picker-help,
:root .week-shared-note{color:var(--hz-secondary)!important}
:root .week-choice-total,:root .linked-weeks{background:var(--hz-icon-bg)!important;color:var(--hz-icon)!important}
:root .week-mirrored{background:var(--hz-panel-2)!important;border-left-color:var(--hz-accent)!important}
:root[data-v7-active="dark"] .week-picker,
:root[data-v7-active="dark"] .week-mirrored{background:#262424!important;border-color:#544838!important}
