/* 410 Today R42 · Ledger appearance + typography parity */

/* Match Today heading typography. */
.ledger-admin-header h1{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
}

.ledger-appearance-trigger{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--ledger-r40-line-strong,rgba(29,29,31,.18));
  background:#fff;
  color:#1d1d1f;
  font:inherit;
  font-size:.82rem;
  font-weight:750;
  cursor:pointer;
}

/* R41.1 visual QA follow-up: records should follow controls, not sit at the bottom of the viewport. */
.ledger-admin-main{
  grid-template-rows:auto auto auto!important;
  align-content:start!important;
  height:auto!important;
  min-height:100vh!important;
  overflow:visible!important;
}
.ledger-workspace{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
}
.ledger-table-pane{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
}

/* Light */
:root[data-genesis-appearance="light"]{
  --ledger-r40-canvas-top:#f7f7f9;
  --ledger-r40-canvas-bottom:#ececf1;
  --ledger-r40-surface:rgba(255,255,255,.94);
  --ledger-r40-surface-2:rgba(255,255,255,.82);
  --ledger-r40-line:rgba(29,29,31,.11);
  --ledger-r40-line-strong:rgba(29,29,31,.18);
  --ledger-r40-text:#1d1d1f;
  --ledger-r40-text-2:#515154;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-admin-sidebar{
  background:#f2f2f5!important;
  color:#1d1d1f!important;
  border-right-color:rgba(29,29,31,.12)!important;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-brand,
:root[data-genesis-appearance="light"] body.ledger-page .ledger-admin-nav button,
:root[data-genesis-appearance="light"] body.ledger-page .ledger-sidebar-group button,
:root[data-genesis-appearance="light"] body.ledger-page .ledger-back{
  color:#1d1d1f!important;
  opacity:1!important;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-brand small,
:root[data-genesis-appearance="light"] body.ledger-page .ledger-sidebar-group p{
  color:#5d5d63!important;
  opacity:1!important;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-sidebar-group button{
  color:#3a3a3f!important;
  opacity:1!important;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-admin-nav button:hover,
:root[data-genesis-appearance="light"] body.ledger-page .ledger-sidebar-group button:hover{
  background:rgba(29,29,31,.06)!important;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-admin-nav button.active,
:root[data-genesis-appearance="light"] body.ledger-page .ledger-sidebar-group button.active{
  background:#dce7fb!important;
  color:#163b73!important;
}
:root[data-genesis-appearance="light"] body.ledger-page .ledger-sidebar-group{
  border-top-color:rgba(29,29,31,.10)!important;
}

/* Dark */
:root[data-genesis-appearance="dark"]{
  --ledger-r40-canvas-top:#171719;
  --ledger-r40-canvas-bottom:#0f0f11;
  --ledger-r40-surface:rgba(35,35,38,.96);
  --ledger-r40-surface-2:rgba(41,41,44,.9);
  --ledger-r40-line:rgba(255,255,255,.10);
  --ledger-r40-line-strong:rgba(255,255,255,.18);
  --ledger-r40-text:#f5f5f7;
  --ledger-r40-text-2:#b7b7bc;
}
:root[data-genesis-appearance="dark"] body.ledger-page,
:root[data-genesis-appearance="dark"] html{
  background:linear-gradient(180deg,var(--ledger-r40-canvas-top),var(--ledger-r40-canvas-bottom))!important;
  color:var(--ledger-r40-text)!important;
}
:root[data-genesis-appearance="dark"] .ledger-admin-main,
:root[data-genesis-appearance="dark"] .ledger-admin-header h1,
:root[data-genesis-appearance="dark"] .ledger-record,
:root[data-genesis-appearance="dark"] .ledger-record-name strong,
:root[data-genesis-appearance="dark"] .ledger-record-id,
:root[data-genesis-appearance="dark"] .ledger-editor-head h2,
:root[data-genesis-appearance="dark"] .ledger-editor-field strong,
:root[data-genesis-appearance="dark"] .ledger-event strong{
  color:var(--ledger-r40-text)!important;
}
:root[data-genesis-appearance="dark"] .ledger-eyebrow,
:root[data-genesis-appearance="dark"] .ledger-admin-header p:last-child,
:root[data-genesis-appearance="dark"] .ledger-search-wrap,
:root[data-genesis-appearance="dark"] .ledger-bulk-meta,
:root[data-genesis-appearance="dark"] .ledger-record-name small,
:root[data-genesis-appearance="dark"] .ledger-cell,
:root[data-genesis-appearance="dark"] .ledger-editor-empty{
  color:var(--ledger-r40-text-2)!important;
}
:root[data-genesis-appearance="dark"] .ledger-table-pane,
:root[data-genesis-appearance="dark"] .ledger-editor-pane,
:root[data-genesis-appearance="dark"] .ledger-toolbar{
  background:var(--ledger-r40-surface)!important;
  border-color:var(--ledger-r40-line)!important;
}
:root[data-genesis-appearance="dark"] .ledger-toolbar{background:var(--ledger-r40-surface-2)!important}
:root[data-genesis-appearance="dark"] .ledger-table-head,
:root[data-genesis-appearance="dark"] .ledger-editor-field{
  background:#222225!important;
  color:#b7b7bc!important;
}
:root[data-genesis-appearance="dark"] .ledger-search-wrap input,
:root[data-genesis-appearance="dark"] .ledger-selects select,
:root[data-genesis-appearance="dark"] .ledger-appearance-trigger,
:root[data-genesis-appearance="dark"] #ledgerEditForm input,
:root[data-genesis-appearance="dark"] #ledgerEditForm textarea,
:root[data-genesis-appearance="dark"] #ledgerEditForm select{
  background:#1d1d20!important;
  color:#f5f5f7!important;
  border-color:var(--ledger-r40-line-strong)!important;
}
:root[data-genesis-appearance="dark"] .ledger-record:hover{background:rgba(255,255,255,.04)!important}
:root[data-genesis-appearance="dark"] .ledger-status{background:#262629!important;color:#d1d1d6!important;border-color:rgba(255,255,255,.15)!important}

/* Custom uses the exact Today palette tokens and localStorage contract. */
:root[data-genesis-appearance="custom"]{
  --ledger-r40-canvas-top:var(--genesis-theme-top);
  --ledger-r40-canvas-bottom:var(--genesis-theme-bottom);
  --ledger-r40-surface:color-mix(in srgb,var(--genesis-theme-surface) 90%,transparent);
  --ledger-r40-surface-2:color-mix(in srgb,var(--genesis-theme-surface-2) 86%,transparent);
  --ledger-r40-line:color-mix(in srgb,var(--genesis-theme-border) 54%,transparent);
  --ledger-r40-line-strong:color-mix(in srgb,var(--genesis-theme-border) 72%,transparent);
  --ledger-r40-text:#f7f9fb;
  --ledger-r40-text-2:color-mix(in srgb,var(--genesis-theme-muted) 82%,white 18%);
  --ledger-card-text:#241b36;
  --ledger-card-text-muted:#655876;
}
:root[data-genesis-appearance="custom"] body.ledger-page,
:root[data-genesis-appearance="custom"] html{
  background:linear-gradient(155deg,var(--genesis-theme-top) 0%,var(--genesis-theme-upper) 34%,var(--genesis-theme-mid) 66%,var(--genesis-theme-bottom) 100%)!important;
  color:var(--ledger-r40-text)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-admin-main{background:transparent!important;color:var(--ledger-r40-text)!important}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-admin-header h1,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-record,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-record-name strong,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-record-id,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-editor-head h2,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-editor-field strong{color:#f7f9fb!important}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-eyebrow,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-admin-header p:last-child,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-search-wrap,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-bulk-meta,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-record-name small,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-cell{color:var(--ledger-r40-text-2)!important}

/* R42.2: Cards keep their pale record surface, so Custom mode needs dark record-local text. */
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-record,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-card-quick,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-card-descriptor,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-cell{
  color:var(--ledger-card-text)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-card-id,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-card-route,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-card-field-label,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerTable[data-view="cards"] .ledger-cell::before{
  color:var(--ledger-card-text-muted)!important;
}

:root[data-genesis-appearance="custom"] body.ledger-page .ledger-toolbar,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-table-pane,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-editor-pane{
  background:linear-gradient(145deg,color-mix(in srgb,var(--genesis-theme-surface) 88%,var(--genesis-theme-top) 12%),color-mix(in srgb,var(--genesis-theme-surface-2) 84%,var(--genesis-theme-bottom) 16%))!important;
  border-color:var(--ledger-r40-line)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-table-head,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-editor-field{
  background:color-mix(in srgb,var(--genesis-theme-surface-2) 88%,var(--genesis-theme-upper) 12%)!important;
  color:var(--ledger-r40-text-2)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-search-wrap input,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-selects select,
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-appearance-trigger,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm input,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm textarea,
:root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm select{
  background:var(--genesis-theme-field)!important;
  color:#f7f9fb!important;
  border-color:var(--ledger-r40-line-strong)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-new{
  background:var(--genesis-theme-accent)!important;
  color:var(--genesis-theme-on-accent)!important;
  border-color:var(--genesis-theme-accent)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-view-toggle button.active{
  background:var(--genesis-theme-accent)!important;
  color:var(--genesis-theme-on-accent)!important;
}
:root[data-genesis-appearance="custom"] body.ledger-page .ledger-status{
  background:color-mix(in srgb,var(--genesis-theme-surface-3) 80%,transparent)!important;
  color:#f7f9fb!important;
  border-color:var(--ledger-r40-line-strong)!important;
}

/* R42.4: keep promotion feedback attached to the durable editor header surface. */
.ledger-promote-today-status{
  margin:8px 0 2px;
  font-size:.78rem;
  line-height:1.35;
  font-weight:700;
}

@media(max-width:1100px){
  .ledger-appearance-trigger{order:3}
}

/* R42.4: narrow/mobile Custom editor readability without changing accepted desktop geometry. */
@media(max-width:760px){
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-editor-head h2,
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-editor-section h3,
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-editor-field>span{
    color:#f7f9fb!important;
  }

  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-editor-id,
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-editor-help,
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-event small,
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-empty,
  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerPromoteTodayStatus{
    color:#dedbec!important;
  }

  :root[data-genesis-appearance="custom"] body.ledger-page #ledgerEditForm .ledger-promote-today{
    background:var(--genesis-theme-accent)!important;
    color:var(--genesis-theme-on-accent)!important;
    border-color:var(--genesis-theme-accent)!important;
    font-weight:800!important;
  }
}
