/* Oblivet 5.8 — four-tab mobile navigation, usable transaction ledger, calm planning. */
.header-menu-toggle { display:none; }
.header-menu-toggle svg { width:20px; height:20px; }
@media (max-width:820px) {
  body { padding-bottom:calc(78px + env(safe-area-inset-bottom)) !important; }
  .header-actions { display:flex !important; margin-left:auto; gap:6px; }
  .header-actions > #privacyBtn, .header-actions > #settingsBtn { display:none !important; }
  .header-menu-toggle { display:grid !important; place-items:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:transparent; color:#d8d8d8; }
  .header-menu-toggle:active, .header-menu-toggle[aria-expanded="true"] { background:#151515; }
  .mobile-nav { left:12px !important; right:12px !important; transform:none !important; width:auto !important; bottom:calc(8px + env(safe-area-inset-bottom)) !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; padding:5px !important; border:1px solid rgba(255,255,255,.09) !important; border-radius:17px !important; background:rgba(8,8,8,.97) !important; box-shadow:0 5px 24px rgba(0,0,0,.38) !important; }
  .mobile-nav-link { display:flex; min-width:0 !important; height:48px !important; flex-direction:column; align-items:center; justify-content:center; gap:4px !important; padding:3px 2px !important; border:0; border-radius:11px !important; background:transparent; color:#777 !important; font-size:10px !important; line-height:1.1; }
  .mobile-nav-link svg { display:block; width:18px !important; height:18px !important; flex:0 0 auto; }
  .mobile-nav-link span { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mobile-nav-link.is-active { background:rgba(255,255,255,.075) !important; color:#f1f1f1 !important; }
  .mobile-menu-panel { bottom:calc(70px + env(safe-area-inset-bottom)) !important; }

  /* Transactions: give the list the space; put secondary controls on their own rows. */
  #page-transactions .page-container { padding:16px 12px calc(90px + env(safe-area-inset-bottom)) !important; }
  #page-transactions .page-head { display:flex !important; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px !important; }
  #page-transactions .page-title { font-size:25px !important; }
  #page-transactions .page-head-actions { margin:0 !important; display:flex; flex:0 0 auto; }
  #page-transactions #exportBtn { display:none !important; }
  #page-transactions .page-head-actions [data-open-add] { min-height:38px; padding:0 11px; font-size:12px !important; white-space:nowrap; }
  #page-transactions .quick-entry-panel { display:none; }
  #page-transactions .mobile-quick-entry-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; margin:0 0 10px; padding:11px 13px; border:1px solid rgba(255,255,255,.08); border-radius:11px; background:#080808; color:#bcbcbc; font:500 12px/1.2 Inter,sans-serif; text-align:left; }
  #page-transactions .mobile-quick-entry-toggle span:last-child { font-size:17px; color:#777; }
  #page-transactions .quick-entry-panel.mobile-quick-entry-open { display:block; margin-bottom:10px !important; }
  #page-transactions .quick-entry-heading { gap:8px; }
  #page-transactions .quick-entry-heading .eyebrow, #page-transactions .quick-entry-badge { display:none !important; }
  #page-transactions .quick-entry-heading .panel-title { font-size:15px !important; }
  #page-transactions .quick-entry-help { font-size:12px; line-height:1.45; }
  #page-transactions .quick-entry-actions { align-items:stretch; flex-direction:column; gap:8px; }
  #page-transactions .quick-entry-buttons { width:100%; }
  #page-transactions .quick-entry-buttons .btn { width:100%; }
  #page-transactions .tx-panel { overflow:visible !important; background:transparent !important; border:0 !important; }
  #page-transactions .tx-toolbar { display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:10px !important; padding:0 0 12px !important; border-bottom:1px solid rgba(255,255,255,.08); }
  #page-transactions .search-field { width:100% !important; height:44px !important; padding:0 13px !important; border-radius:11px !important; background:#090909 !important; }
  #page-transactions .search-field input { font-size:14px !important; }
  #page-transactions .tx-toolbar-right { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:8px !important; width:100%; }
  #page-transactions .filter-group { grid-column:1/-1; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; padding:3px !important; border-radius:10px !important; }
  #page-transactions .filter-chip { min-width:0; padding:10px 5px !important; font-size:12px !important; white-space:nowrap; }
  #page-transactions .select-field--compact { min-width:0 !important; max-width:none !important; width:100% !important; margin:0 !important; height:42px !important; }
  #page-transactions .select-field--compact select { height:40px !important; padding-left:10px !important; padding-right:26px !important; font-size:12px !important; }
  #page-transactions .tx-table { overflow:visible !important; }
  #page-transactions .tx-table-head { display:none !important; }
  #page-transactions .tx-rows { display:grid !important; gap:0 !important; }
  #page-transactions .tx-row { display:grid !important; grid-template-columns:16px minmax(0,1fr) auto !important; grid-template-rows:auto auto; align-items:center !important; gap:3px 9px !important; padding:13px 1px !important; min-width:0 !important; border-bottom:1px solid rgba(255,255,255,.07) !important; }
  #page-transactions .tx-row > * { min-width:0; }
  #page-transactions .tx-row-check { grid-column:1; grid-row:1/3; width:14px; height:14px; margin:0; }
  #page-transactions .tx-ident { grid-column:2; grid-row:1/3; min-width:0 !important; display:flex; gap:9px; align-items:center; }
  #page-transactions .tx-name-wrap { min-width:0 !important; display:grid; gap:4px; }
  #page-transactions .tx-name { display:block; max-width:100%; overflow-wrap:anywhere; font-size:12px !important; line-height:1.35; }
  #page-transactions .tx-cat { display:block; max-width:100%; overflow-wrap:anywhere; font-size:10px !important; line-height:1.35; }
  #page-transactions .tx-cat-account { display:none; }
  #page-transactions .tx-date, #page-transactions .badge, #page-transactions .tx-row-actions { display:none !important; }
  #page-transactions .tx-row .tx-amount { grid-column:3; grid-row:1/3; white-space:nowrap; text-align:right; font-size:12px !important; font-variant-numeric:tabular-nums; }
  #page-transactions .tx-count, #page-transactions #txCount { padding-top:12px; }

  /* Planning: no wall of forms. Each group opens only when requested. */
  #page-planning .page-container { padding:16px 12px calc(90px + env(safe-area-inset-bottom)) !important; }
  #page-planning .page-head { margin-bottom:14px !important; }
  #page-planning .page-title { font-size:24px !important; }
  #page-planning .planning-grid { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:8px !important; margin-top:0 !important; }
  #page-planning .planning-panel { padding:0 !important; margin:0 !important; overflow:hidden; border:1px solid rgba(255,255,255,.075) !important; border-radius:13px !important; background:#060606 !important; }
  #page-planning .planning-panel--wide { grid-column:auto !important; }
  #page-planning .planning-panel > .panel-head { display:flex !important; align-items:center; justify-content:space-between; gap:12px; min-height:61px; margin:0 !important; padding:14px !important; cursor:pointer; }
  #page-planning .planning-panel > .panel-head::after { content:'＋'; color:#777; font-size:20px; line-height:1; }
  #page-planning .planning-panel.is-mobile-expanded > .panel-head::after { content:'−'; }
  #page-planning .planning-panel > .panel-head .eyebrow { display:none !important; }
  #page-planning .planning-panel .panel-title { font-size:14px !important; }
  #page-planning .planning-panel > :not(.panel-head) { display:none !important; }
  #page-planning .planning-panel.is-mobile-expanded > :not(.panel-head) { margin-left:13px; margin-right:13px; }
  #page-planning .planning-panel.is-mobile-expanded > .planning-form { display:grid !important; }
  #page-planning .planning-panel.is-mobile-expanded > .planning-list { display:grid !important; }
  #page-planning .planning-panel.is-mobile-expanded > p.field-hint { display:block !important; }
  #page-planning .planning-panel.is-mobile-expanded > .planning-form:first-of-type { margin-top:0 !important; }
  #page-planning .planning-panel.is-mobile-expanded > .planning-list:last-child { margin-bottom:13px; }
  #page-planning .planning-form { gap:12px !important; margin:13px 0 !important; }
  #page-planning .planning-form label { gap:6px !important; font-size:12px !important; }
  #page-planning .planning-form input, #page-planning .planning-form select { min-height:43px; padding:10px 11px !important; font-size:14px !important; }
  #page-planning .planning-form-row, #page-planning .planning-recurring-form { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; }
  #page-planning .planning-form .btn { min-height:44px; width:100%; }
  #page-planning .planning-subform { padding-top:14px !important; }
  #page-planning .planning-subform h3 { font-size:13px; }
  #page-planning .planning-item { padding:12px !important; }
  #page-planning .planning-item strong { font-size:13px; }
  #page-planning .planning-item small { font-size:11px; }
}
@media (min-width:821px) {
  .mobile-nav { display:none !important; }
  .mobile-menu-toggle.header-menu-toggle { display:none !important; }
}
