/* Final theme polish: scrolling remains available but browser rails stay hidden. */
*,*::before,*::after{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{width:0;height:0;display:none}
.sidebar .nav-scroll{scrollbar-width:none;-ms-overflow-style:none}
.sidebar .nav-scroll::-webkit-scrollbar{width:0;height:0;display:none}
[data-theme=dark] .performance,[data-theme=dark] .overview-kpi.accent{background:#3d4527;color:#f0f1ea}
[data-theme=dark] .overview-kpi.accent label{color:#e1e6c1}
[data-theme=dark] .balance-card{background:#3d4527;color:#f0f1ea}
[data-theme=dark] .balance-card>p{color:#d7ddad}
[data-theme=dark] .balance-list button{background:#4a5430;color:#f0f1ea}
[data-theme=dark] .balance-list button:hover{background:#59643a}
[data-theme=dark] .btn.primary{background:#a6ad7a;border-color:#a6ad7a;color:#202319}
[data-theme=dark] .nav-item.active{background:#e4e8d8;color:#24271e}
[data-theme=dark] .mobile-nav{background:rgba(27,29,24,.97);border-color:#3b3e34;box-shadow:0 8px 30px rgba(0,0,0,.34);color:#f0f1ea}
[data-theme=dark] .mobile-nav button{color:#c9cbbf}
[data-theme=dark] .mobile-nav button.active,[data-theme=dark] .mobile-nav button.mobile-more{background:#e4e8d8;color:#24271e}
[data-theme=dark] .shift-card button{background:#f0f1ea;color:#343824;border:0}
[data-theme=dark] .shift-card button:hover{background:#fff;color:#202319}
.sidebar .nav-icon svg,.sidebar .icon svg,.topbar .icon svg{fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round;stroke-linejoin:round}
.command-row{font-size:13px;gap:10px}
.command-row strong{font-size:13px;font-weight:500}
.command-icon{width:26px;height:26px;display:grid;place-items:center}
.command-icon svg{width:17px;height:17px;stroke-width:1.8;fill:none}

/* Semantic cards: keep headings, values and supporting copy legible on tinted surfaces. */
.accounting-kpi.accent label,.accounting-kpi.accent small{color:#59613b}
.accounting-kpi.warning label,.accounting-kpi.warning small{color:#75531f}
.accounting-kpi.danger label,.accounting-kpi.danger small{color:#88443d}
.overview-kpi.accent label,.overview-kpi.accent small,.performance label,.performance p,.performance-footer{color:#48502f}

[data-theme=dark] .accounting-kpi.accent{background:#3d4527;color:#f4f5ed}
[data-theme=dark] .accounting-kpi.accent label,[data-theme=dark] .accounting-kpi.accent small{color:#d7ddad}
[data-theme=dark] .accounting-kpi.warning{background:#4a3923;color:#fff0d2}
[data-theme=dark] .accounting-kpi.warning label,[data-theme=dark] .accounting-kpi.warning small{color:#dbc294}
[data-theme=dark] .accounting-kpi.danger{background:#4b2d2a;color:#f8e6e2}
[data-theme=dark] .accounting-kpi.danger label,[data-theme=dark] .accounting-kpi.danger small{color:#ddb5ad}
[data-theme=dark] .overview-kpi.accent label,[data-theme=dark] .overview-kpi.accent small,[data-theme=dark] .performance label,[data-theme=dark] .performance p,[data-theme=dark] .performance-footer{color:#e1e6c1}

/* Coloured operational cards and selection states. */
[data-theme=dark] .distribution-page .sync-error{background:#4b2d2a;border-color:#70403b;color:#f8e6e2}
[data-theme=dark] .distribution-page .sync-error .btn{background:#f8e6e2;border-color:#f8e6e2;color:#783b35}
[data-theme=dark] .bw-step.active .bw-num,[data-theme=dark] .bw-step.complete .bw-num,
[data-theme=dark] .bw-inline-info,[data-theme=dark] .bw-room.selected,[data-theme=dark] .bw-rate.selected,
[data-theme=dark] .bw-payment.selected,[data-theme=dark] .bw-room-status,[data-theme=dark] .bw-summary-toggle{
  background:#3d4527;border-color:#657044;color:#e7ecce
}
[data-theme=dark] .bw-room.selected small,[data-theme=dark] .bw-rate.selected small,[data-theme=dark] .bw-payment.selected small{color:#d7ddad}
[data-theme=dark] .bw-room-status.unavailable{background:#4b2d2a;border-color:#70403b;color:#f8e6e2}
[data-theme=dark] .reservation-bar.confirmed{background:#343b27;border-color:#657044;color:#e7ecce}
[data-theme=dark] .reservation-bar.checked{background:#263a31;border-color:#527565;color:#dff0e7}
[data-theme=dark] .reservation-bar.option{background:#4a3923;border-color:#8a6935;color:#fff0d2}

/* Theme-safe interaction states. Hover must never introduce a surface from the other theme. */
@media (hover:hover) and (pointer:fine){
  .accounting-table tr[data-accounting-invoice]:hover,
  .data-table tbody tr:hover,
  .reservation-page .data-table tbody tr:hover{
    background:var(--surface2);color:var(--text)
  }
  .accounting-table tr[data-accounting-invoice]:hover .cell-sub,
  .data-table tbody tr:hover .cell-sub{color:var(--muted)}
  .plan-cell:hover,.calendar-day:hover,.agenda-booking:hover,
  .command-row:hover,.menu-item:hover,.sheet td.editable:hover,
  .funnel-row:hover,.source-row:hover{background:var(--accent2);color:var(--text)}
  .btn:not(.primary):not(.danger):hover,.icon-btn:hover,
  .distribution-page .channel .btn:hover,.header-dropdown button:hover,
  .quick-create-option:hover,.property-option:hover{
    background:var(--surface2);border-color:var(--border);color:var(--text)
  }
  .bw-room:hover,.bw-rate:hover,.bw-payment-options button:hover,
  .bw-search-results>button:hover,.availability-card:hover,
  .new-reservation-page .availability-card:hover,.group-choice-card:hover{
    background:var(--accent2);border-color:var(--accent);color:var(--text)
  }
  [data-theme=dark] .accounting-table tr[data-accounting-invoice]:hover,
  [data-theme=dark] .data-table tbody tr:hover,
  [data-theme=dark] .reservation-page .data-table tbody tr:hover{
    background:#2e3028;color:#f1f2e9
  }
  [data-theme=dark] .plan-cell:hover,
  [data-theme=dark] .calendar-day:hover,
  [data-theme=dark] .agenda-booking:hover,
  [data-theme=dark] .command-row:hover,
  [data-theme=dark] .menu-item:hover,
  [data-theme=dark] .sheet td.editable:hover,
  [data-theme=dark] .funnel-row:hover,
  [data-theme=dark] .source-row:hover{background:#34382a;color:#f1f2e9}
  [data-theme=dark] .sidebar-property:hover{background:#2e3028;color:#f1f2e9}
  [data-theme=dark] .shift-card button:hover{background:#f0f1ea;color:#202319}
}

/* Keyboard states mirror hover contrast and remain clearly visible. */
.accounting-table tr[data-accounting-invoice]:focus-within,
.data-table tbody tr:focus-within{background:var(--surface2);color:var(--text)}
