/* Nutrient Archive Edition — editorial visual refinement, 2026-10-10.
   Presentation-only layer. Do not alter visibility, calculations, navigation,
   JSON serialization, application state or printable report structure. */
html[data-theme="modern"] {
  --archive-paper:#f6f4ee;
  --archive-panel:#fffefb;
  --archive-subtle:#f2f5f2;
  --archive-ink:#263832;
  --archive-muted:#5f716b;
  --archive-rule:#d8dfd9;
  --archive-accent:#215f50;
  --archive-accent-hover:#174a3d;
  --archive-accent-soft:#e5f0ea;
  --archive-serif:Georgia,"Times New Roman",serif;
  --archive-sans:"Segoe UI",Aptos,"Helvetica Neue",Arial,sans-serif;
  --ef-ink:var(--archive-ink);
  --ef-muted:var(--archive-muted);
  --ef-line:var(--archive-rule);
  --ef-soft:var(--archive-subtle);
  --ef-blue:var(--archive-accent);
  --ef-blue-strong:var(--archive-accent-hover);
  --ef-radius:13px;
  --vg-bg:var(--archive-paper);
  --vg-surface:var(--archive-panel);
  --vg-subtle:var(--archive-subtle);
  --vg-line:var(--archive-rule);
  --vg-ink:var(--archive-ink);
  --vg-text:var(--archive-ink);
  --vg-muted:var(--archive-muted);
  --vg-primary:var(--archive-accent);
  --vg-primary-hover:var(--archive-accent-hover);
  --vg-primary-soft:var(--archive-accent-soft);
  --d111-bg:var(--archive-paper);
  --d111-surface:var(--archive-panel);
  --d111-subtle:var(--archive-subtle);
  --d111-soft-blue:var(--archive-accent-soft);
  --d111-ink:var(--archive-ink);
  --d111-text:var(--archive-ink);
  --d111-muted:var(--archive-muted);
  --d111-border:var(--archive-rule);
  --d111-blue:var(--archive-accent);
  --d111-blue-dark:var(--archive-accent-hover);
  --d111-radius:13px;
  --d111-radius-sm:9px;
  --d111-shadow:0 1px 2px rgba(28,50,42,.035),0 12px 32px rgba(28,50,42,.035);
  color-scheme:light;
}
html[data-theme="modern"] body {
  background:var(--archive-paper)!important;
  color:var(--archive-ink)!important;
  font-family:var(--archive-sans)!important;
  font-size:15px!important;
  line-height:1.55!important;
  -webkit-font-smoothing:antialiased;
}
html[data-theme="modern"] #mainContent {
  color:var(--archive-ink);
  font-family:var(--archive-sans);
}
html[data-theme="modern"] #mainContent>header {
  border-bottom:1px solid var(--archive-rule)!important;
  padding:17px 0 20px!important;
  margin-bottom:16px!important;
}
html[data-theme="modern"] #mainContent>header .title {
  max-width:760px!important;
  color:var(--archive-ink)!important;
  font-family:var(--archive-serif)!important;
  font-size:clamp(27px,3.2vw,41px)!important;
  font-weight:600!important;
  line-height:1.16!important;
  letter-spacing:-.028em!important;
  text-wrap:balance;
}
html[data-theme="modern"] #mainContent>header .entry-first-subtitle {
  max-width:630px!important;
  font-size:13px!important;
  line-height:1.55!important;
  color:var(--archive-muted)!important;
}
html[data-theme="modern"] #mainContent>header>#interfaceSettingsPass1 {
  background:var(--archive-panel)!important;
  border:1px solid var(--archive-rule)!important;
  color:var(--archive-ink)!important;
  border-radius:9px!important;
  font-size:13px!important;
  font-weight:600!important;
  box-shadow:none!important;
}
html[data-theme="modern"] #mainContent :where(h1,h2,h3,.card-title,.v40-needs-summary-title) {
  color:var(--archive-ink)!important;
  font-family:var(--archive-serif)!important;
  font-weight:600!important;
  letter-spacing:-.018em!important;
  text-wrap:balance;
}
html[data-theme="modern"] #mainContent :where(h4,h5,h6) {
  color:var(--archive-ink)!important;
  font-family:var(--archive-sans)!important;
  letter-spacing:-.01em;
}
html[data-theme="modern"] #mainContent :where(p,li,td,th,label) {
  overflow-wrap:break-word;
}
html[data-theme="modern"] #mainContent :where(.muted,.small,.footer-note,.search-field-hint,.ration-subtitle) {
  color:var(--archive-muted)!important;
  line-height:1.5;
}
html[data-theme="modern"] #mainContent :where(.card,#needs,.search-field-card,.search-grams-card,.total-card) {
  border-color:var(--archive-rule)!important;
  border-radius:13px!important;
  box-shadow:0 1px 1px rgba(30,49,42,.025),0 10px 28px rgba(30,49,42,.032)!important;
}
html[data-theme="modern"] #mainContent :where(#needs,#globalSearchSection,#rationSection,#heiPanel,#totalsSection,#dietAnalysisProfilePanel,#globalActions) {
  background:var(--archive-panel)!important;
}
html[data-theme="modern"] #mainContent .step-badge {
  padding:5px 9px!important;
  background:var(--archive-accent-soft)!important;
  color:var(--archive-accent)!important;
  border:1px solid #cce1d5!important;
  border-radius:6px!important;
  font-family:var(--archive-sans)!important;
  font-size:11px!important;
  letter-spacing:.055em!important;
  font-weight:700!important;
}
html[data-theme="modern"] #mainContent .workflow-steps {
  gap:7px!important;
  padding-bottom:2px!important;
  scrollbar-width:thin;
}
html[data-theme="modern"] #mainContent .workflow-steps a {
  background:var(--archive-panel)!important;
  border:1px solid var(--archive-rule)!important;
  border-radius:8px!important;
  color:var(--archive-muted)!important;
  font-size:12px!important;
  font-weight:600!important;
}
html[data-theme="modern"] #mainContent .workflow-steps a[aria-current="step"],
html[data-theme="modern"] #mainContent .workflow-steps a.is-active {
  border-color:var(--archive-accent)!important;
  background:var(--archive-accent-soft)!important;
  color:var(--archive-accent)!important;
}
html[data-theme="modern"] #mainContent .workflow-steps a span {
  background:var(--archive-subtle)!important;
  border-radius:5px!important;
  color:var(--archive-accent)!important;
}
html[data-theme="modern"] #mainContent :where(button,.btn,[role="button"]):not(.norm-region-help-button):not(.close-btn):not(.theme-switcher__option):not(.seg button):not([role="tab"]) {
  box-sizing:border-box;
  border-radius:9px!important;
  font-family:var(--archive-sans)!important;
  font-weight:650!important;
  letter-spacing:0!important;
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
html[data-theme="modern"] #mainContent :where(#needs_calc_btn,#profileCalculateContinue,#geminiRationAddDraftBtn,#geminiRationRecognizeBtn,#geminiAiRunBtn,#printAllBtn,#geminiRationStopRecording) {
  border-color:var(--archive-accent)!important;
  background:var(--archive-accent)!important;
  color:#fff!important;
}
html[data-theme="modern"] #mainContent :where(#needs_calc_btn,#profileCalculateContinue,#geminiRationAddDraftBtn,#geminiRationRecognizeBtn,#geminiAiRunBtn,#printAllBtn,#geminiRationStopRecording):hover:not(:disabled) {
  background:var(--archive-accent-hover)!important;
  border-color:var(--archive-accent-hover)!important;
}
html[data-theme="modern"] #mainContent :where(button.secondary,button.ghost,.btn.secondary,.btn.ghost) {
  background:var(--archive-panel)!important;
  border-color:var(--archive-rule)!important;
  color:var(--archive-ink)!important;
  box-shadow:none!important;
}
html[data-theme="modern"] #mainContent :where(button.secondary,button.ghost,.btn.secondary,.btn.ghost):hover:not(:disabled) {
  background:var(--archive-accent-soft)!important;
  border-color:#b8d4c6!important;
}
html[data-theme="modern"] #mainContent button.danger {
  background:#fff7f4!important;
  border-color:#e3c3bc!important;
  color:#873d34!important;
}
html[data-theme="modern"] #mainContent :where(button,input,textarea,select,a,summary):focus-visible {
  outline:3px solid rgba(33,95,80,.30)!important;
  outline-offset:3px!important;
}
html[data-theme="modern"] #mainContent :where(input[type="text"],input[type="number"],input[type="search"],input[type="date"],select,textarea) {
  box-sizing:border-box;
  max-width:100%;
  background:var(--archive-panel)!important;
  border:1px solid #c6d2ca!important;
  border-radius:9px!important;
  color:var(--archive-ink)!important;
  font-family:var(--archive-sans)!important;
  box-shadow:0 1px 2px rgba(35,54,44,.025);
}
html[data-theme="modern"] #mainContent :where(input,textarea)::placeholder {
  color:#7f8d84;
  opacity:1;
}
html[data-theme="modern"] #mainContent :where(input,textarea,select):focus {
  border-color:var(--archive-accent)!important;
  box-shadow:0 0 0 3px rgba(33,95,80,.13)!important;
}
html[data-theme="modern"] #mainContent :where(details>summary,.profile-hierarchy__details>summary,.workspace-alt-entry>summary) {
  color:var(--archive-ink);
  cursor:pointer;
  border-radius:9px;
  text-underline-offset:3px;
}
html[data-theme="modern"] #mainContent :where(details>summary):hover {
  color:var(--archive-accent);
}
html[data-theme="modern"] #mainContent :where(.profile-hierarchy__details,.norm-region-comparison-details,.workspace-alt-entry) {
  border-color:var(--archive-rule)!important;
  border-radius:10px!important;
}
html[data-theme="modern"] #mainContent :where(.table-wrap,.norm-region-help-table-wrap) {
  max-width:100%;
  overflow-x:auto;
  scrollbar-width:thin;
}
html[data-theme="modern"] #mainContent table {
  border-collapse:separate;
  border-spacing:0;
  max-width:100%;
  font-variant-numeric:tabular-nums;
}
html[data-theme="modern"] #mainContent table thead th {
  background:var(--archive-subtle)!important;
  color:#53675d!important;
  font-family:var(--archive-sans)!important;
  font-size:12px!important;
  font-weight:700!important;
  border-bottom:1px solid var(--archive-rule)!important;
  text-transform:none!important;
  letter-spacing:.015em!important;
}
html[data-theme="modern"] #mainContent table tbody tr {
  background:var(--archive-panel);
}
html[data-theme="modern"] #mainContent table tbody tr:nth-child(even) {
  background:#fbfcfa;
}
html[data-theme="modern"] #mainContent table tbody td {
  border-bottom-color:#e8ede8!important;
}
html[data-theme="modern"] #mainContent #rationSection>.toolbar {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 0 0!important;
}
html[data-theme="modern"] #mainContent #exportRationJsonBtn {
  background:var(--archive-accent)!important;
  border-color:var(--archive-accent)!important;
  color:#fff!important;
  box-shadow:0 2px 8px rgba(33,95,80,.11)!important;
}
html[data-theme="modern"] #mainContent #loadRationJsonBtn {
  background:var(--archive-accent-soft)!important;
  border-color:#b8d5c6!important;
  color:var(--archive-accent)!important;
}
html[data-theme="modern"] #mainContent .archive-json-hint {
  margin:12px 0 0;
  padding:10px 12px;
  background:var(--archive-subtle);
  border-left:3px solid var(--archive-accent);
  border-radius:0 8px 8px 0;
  color:var(--archive-muted);
  font-size:13px;
  line-height:1.55;
}
html[data-theme="modern"] #mainContent :where(dialog,.norm-region-help-dialog) {
  background:var(--archive-panel)!important;
  color:var(--archive-ink)!important;
  border:1px solid var(--archive-rule)!important;
  border-radius:13px!important;
  box-shadow:0 25px 70px rgba(20,35,28,.16)!important;
}
html[data-theme="modern"] #mainContent dialog::backdrop {
  background:rgba(17,39,32,.48);
}
html[data-theme="modern"] #mainContent .search-db-count,
html[data-theme="modern"] #mainContent .ration-kpi-strip {
  border-color:var(--archive-rule)!important;
}
/* A quiet, accessible archive label. It remains visible in every theme. */
#mainContent>.archive-edition {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 20px;
  margin:0 0 14px;
  padding:10px 15px;
  border:1px solid var(--border,#d7dfd9);
  border-left:3px solid var(--accent,#215f50);
  border-radius:9px;
  background:var(--surface,#fff);
  color:var(--text,#263832);
}
#mainContent>.archive-edition .archive-edition__label {
  display:inline-block;
  font:700 11px/1.3 "Segoe UI",Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:inherit;
  opacity:.78;
}
#mainContent>.archive-edition .archive-edition__copy {
  display:block;
  margin:3px 0 0;
  font:400 13px/1.5 "Segoe UI",Arial,sans-serif;
}
#mainContent>.archive-edition .archive-edition__note {
  font:600 12px/1.5 "Segoe UI",Arial,sans-serif;
  opacity:.84;
}
html[data-theme="modern"] #mainContent>.archive-edition {
  background:#eaf1eb!important;
  border:1px solid #ceded3!important;
  border-left:3px solid var(--archive-accent)!important;
  color:var(--archive-ink)!important;
}
html[data-theme="modern"] #mainContent>.archive-edition .archive-edition__label {
  color:var(--archive-accent)!important;
  opacity:1;
}
html[data-theme="modern"] #mainContent>.archive-edition .archive-edition__note {
  color:var(--archive-muted);
}
@media (max-width:760px) {
  html[data-theme="modern"] #mainContent>header {
    gap:9px 8px!important;
    padding:13px 0 15px!important;
  }
  html[data-theme="modern"] #mainContent>header .title {
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.17!important;
  }
  html[data-theme="modern"] #mainContent #needs {
    padding:16px!important;
  }
  html[data-theme="modern"] #mainContent :where(.card,#globalSearchSection,#rationSection,#heiPanel,#globalActions) {
    border-radius:11px!important;
  }
  html[data-theme="modern"] #mainContent .workflow-steps {
    margin:0 0 13px!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar {
    justify-content:stretch!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>button {
    flex:1 1 145px;
    white-space:normal!important;
    min-height:44px!important;
  }
  #mainContent>.archive-edition {
    gap:7px;
    padding:11px 12px;
  }
}
@media (max-width:420px) {
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>button {
    flex-basis:calc(50% - 8px);
    font-size:12px!important;
    padding:8px 6px!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>#clearRationBtn {
    flex-basis:100%;
  }
}
@media (prefers-reduced-motion:reduce) {
  html[data-theme="modern"] #mainContent :where(button,.btn,[role="button"]):not(.norm-region-help-button):not(.close-btn):not(.theme-switcher__option):not(.seg button):not([role="tab"]) {
    transition:none!important;
  }
}
@media print {
  #mainContent>.archive-edition,
  #mainContent .archive-json-hint {
    display:none!important;
  }
}


/* Archive editorial refinement R2 — 2026-10-10.
   Screen-only visual geometry and type. Does not modify application logic,
   routes, JSON, calculation inputs, form state, or theme selection. */
@media screen {
  html[data-theme="modern"] {
    --archive-sans: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --archive-serif: Georgia, "Times New Roman", serif;
  }
  html[data-theme="modern"] #mainContent,
  html[data-theme="modern"] #mainContent :is(button,input,select,textarea,option) {
    font-family:var(--archive-sans)!important;
  }
  html[data-theme="modern"] #mainContent :is(button,.btn,input,select,textarea) {
    letter-spacing:normal!important;
  }
  html[data-theme="modern"] #mainContent :is(.card,h1,h2,h3) {
    -webkit-font-smoothing:antialiased;
  }

  /* The brand belongs in an eyebrow, not in a heavy H1. */
  html[data-theme="modern"] #mainContent>header .title {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    min-width:0!important;
    font-weight:500!important;
    font-family:var(--archive-serif)!important;
    font-size:clamp(27px,2.8vw,38px)!important;
    line-height:1.18!important;
  }
  html[data-theme="modern"] #mainContent>header .archive-brandline {
    font-family:var(--archive-sans)!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.12em!important;
    font-weight:600!important;
    text-transform:uppercase;
    color:var(--archive-accent)!important;
  }
  html[data-theme="modern"] #mainContent>header .archive-title-text {
    display:block;
    font-family:var(--archive-serif)!important;
    font-weight:500!important;
    letter-spacing:-.028em!important;
    color:var(--archive-ink);
  }
  html[data-theme="modern"] #mainContent>header .entry-first-subtitle {
    max-width:650px!important;
    font-size:13px!important;
    line-height:1.55!important;
    letter-spacing:normal!important;
  }
  html[data-theme="modern"] #mainContent>header>#interfaceSettingsPass1 {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:40px!important;
    padding:8px 14px!important;
    border-radius:8px!important;
    font-size:13px!important;
    font-weight:550!important;
    box-shadow:none!important;
    white-space:nowrap;
  }
  html[data-theme="modern"] #mainContent>header>#interfaceSettingsPass1[aria-expanded="true"] {
    border-color:var(--archive-accent)!important;
    background:var(--archive-accent-soft)!important;
    color:var(--archive-accent)!important;
  }

  /* Form sections: one typographic scale, four meaningful weights. */
  html[data-theme="modern"] #mainContent :is(#needs,#geminiAiSection,#presetsPanel,#globalSearchSection,#rationSection)
    :is(strong,b,legend) {
    font-weight:650!important;
  }
  html[data-theme="modern"] #mainContent :is(#needs,#geminiAiSection) :is(h1,h2,h3) {
    font-family:var(--archive-serif)!important;
    font-weight:500!important;
    letter-spacing:-.024em!important;
    line-height:1.2!important;
  }
  html[data-theme="modern"] #mainContent #needs .section-title-row h1 {
    font-size:clamp(23px,2.3vw,29px)!important;
    line-height:1.2!important;
    font-weight:500!important;
  }
  html[data-theme="modern"] #mainContent :is(.profile-hierarchy__details>summary,.norm-region-comparison-details>summary,.workspace-alt-entry>summary) {
    font-family:var(--archive-sans)!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.4!important;
  }
  html[data-theme="modern"] #mainContent :is(.profile-hierarchy__details,.norm-region-comparison-details,.workspace-alt-entry) {
    border-radius:9px!important;
    background:var(--archive-panel)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent :is(.profile-hierarchy__details>summary,.workspace-alt-entry>summary):hover {
    background:var(--archive-subtle)!important;
  }

  /* Text-first navigation. Small numbers are redundant to the labels. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps {
    display:flex!important;
    width:100%!important;
    gap:2px!important;
    align-items:stretch!important;
    margin:0 0 14px!important;
    padding:0 2px!important;
    border:0!important;
    border-bottom:1px solid var(--archive-rule)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow-x:auto!important;
    scrollbar-width:thin;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a {
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:44px!important;
    padding:9px 15px!important;
    border:0!important;
    border-bottom:2px solid transparent!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--archive-muted)!important;
    font-family:var(--archive-sans)!important;
    font-size:13px!important;
    font-weight:550!important;
    text-decoration:none!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a span {
    display:none!important; /* visual step counters, link labels stay visible */
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a:is(:hover,:focus-visible),
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a:is(.is-active,[aria-current="step"]) {
    color:var(--archive-accent)!important;
    border-bottom-color:var(--archive-accent)!important;
    background:var(--archive-subtle)!important;
  }

  /* Alternate workspace navigation remains functional when enabled by old clients. */
  html[data-theme="modern"] .navigation-shell__items a {
    border-radius:8px!important;
    font-size:13px!important;
    font-weight:550!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] .navigation-shell__items a.is-active {
    background:var(--archive-accent-soft)!important;
    border-color:#c6dacd!important;
    color:var(--archive-accent)!important;
  }
  html[data-theme="modern"] .navigation-shell__items a span {
    font-size:12px!important;
    font-weight:550!important;
  }

  /* Settings are a contained panel with independent, predictable fields. */
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar {
    box-sizing:border-box!important;
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px 16px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:12px 0 0!important;
    padding:16px!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:12px!important;
    background:var(--archive-panel)!important;
    box-shadow:0 12px 28px rgba(33,55,45,.045)!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>* {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>select {
    width:100%!important;
    min-height:42px!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>#normRegionSwitcher {
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:10px!important;
    background:var(--archive-subtle)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>#normRegionSwitcher :is(.norm-region-switcher__controls,.norm-region-switcher__head) {
    min-width:0!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>#interfaceControlsBarHF2 {
    box-sizing:border-box!important;
    display:grid!important;
    grid-column:1/-1!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"view theme"!important;
    align-items:start!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border:0!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open :is(#workspaceViewSwitcher,#themeSwitcher) {
    box-sizing:border-box!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:10px!important;
    padding:9px!important;
    background:var(--archive-subtle)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open #themeSwitcher {
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    gap:7px!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open #themeSwitcher>.theme-switcher__label {
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    width:auto!important;
    font-size:12px!important;
    font-weight:600!important;
    letter-spacing:normal!important;
    text-transform:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open #themeSwitcher>.theme-switcher__options {
    grid-column:1!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    min-width:0!important;
    width:100%!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .theme-switcher__option {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    min-height:40px!important;
    padding:7px 5px!important;
    border-radius:7px!important;
    border:1px solid var(--archive-rule)!important;
    box-shadow:none!important;
    background:var(--archive-panel)!important;
    color:var(--archive-ink)!important;
    font-size:12px!important;
    font-weight:500!important;
    overflow-wrap:anywhere;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .theme-switcher__option[aria-pressed="true"] {
    background:var(--archive-accent-soft)!important;
    border-color:var(--archive-accent)!important;
    color:var(--archive-accent)!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .theme-switcher__option span {
    min-width:0!important;
    width:auto!important;
    font-size:12px!important;
    font-weight:500!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .toolbar button {
    min-width:0!important;
    min-height:40px!important;
    border-radius:8px!important;
    font-size:12px!important;
    font-weight:550!important;
    letter-spacing:normal!important;
    text-transform:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .toolbar button:not(.theme-switcher__option):not([data-region]) {
    width:auto!important;
    justify-self:start!important;
    padding:8px 12px!important;
    background:var(--archive-panel)!important;
    border-color:var(--archive-rule)!important;
    color:var(--archive-ink)!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .toolbar #regionSeg {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;
    max-width:100%!important;
    gap:3px!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .toolbar #regionSeg button {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    background:var(--archive-panel)!important;
    border-color:var(--archive-rule)!important;
    color:var(--archive-ink)!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open .toolbar #regionSeg button[aria-pressed="true"] {
    background:var(--archive-accent-soft)!important;
    color:var(--archive-accent)!important;
    border-color:var(--archive-accent)!important;
  }

  /* Exaggerated default actions become proportional buttons. */
  html[data-theme="modern"] #mainContent :is(button,.btn) {
    font-size:13px!important;
    font-weight:550!important;
    line-height:1.35!important;
    text-transform:none!important;
    text-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent :is(#profileCalculateContinue,#needs_calc_btn,#geminiAiRunBtn) {
    font-size:14px!important;
    font-weight:600!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel {
    background:var(--archive-subtle)!important;
    border-color:var(--archive-rule)!important;
    padding:14px!important;
    border-radius:10px!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__missing button {
    padding:5px 10px!important;
    min-height:30px!important;
    width:auto!important;
    font-size:12px!important;
    background:var(--archive-panel)!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:7px!important;
    color:var(--archive-muted)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__actions {
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel #profileCalculateContinue {
    flex:0 1 auto!important;
    min-width:min(100%,290px)!important;
    min-height:44px!important;
    padding:10px 16px!important;
    width:auto!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel #profileFocusMissing {
    flex:0 1 auto!important;
    min-height:44px!important;
    width:auto!important;
    padding:9px 14px!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage {
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
    padding-top:12px!important;
    color:var(--archive-muted)!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage label {
    display:inline-flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    width:auto!important;
    gap:8px!important;
    font-size:13px!important;
    font-weight:500!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage label input[type="checkbox"] {
    display:inline-block!important;
    position:static!important;
    flex:0 0 17px!important;
    appearance:auto!important;
    width:17px!important;
    height:17px!important;
    max-width:17px!important;
    min-width:17px!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
    box-shadow:none!important;
    accent-color:var(--archive-accent);
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage button {
    width:auto!important;
    min-height:34px!important;
    margin-left:auto!important;
    background:transparent!important;
    border:1px solid var(--archive-rule)!important;
    color:var(--archive-muted)!important;
    font-weight:500!important;
  }

  /* Planner: equal-width restrained selectors, without the oversized green capsule. */
  html[data-theme="modern"] #mainContent #geminiAiSection :is(.ai-planner-task-grid,.ai-planner-context-grid,.ai-planner-constraint-grid,.ai-planner-scale-grid) {
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label {
    display:block!important;
    box-sizing:border-box!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>span {
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    box-sizing:border-box!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    min-height:77px!important;
    margin:0!important;
    padding:12px 14px!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:10px!important;
    background:var(--archive-panel)!important;
    box-shadow:none!important;
    text-align:left!important;
    color:var(--archive-ink)!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>span strong {
    font-size:14px!important;
    font-weight:600!important;
    line-height:1.35!important;
    color:inherit!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>span small {
    display:block!important;
    margin-top:4px!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:450!important;
    opacity:1!important;
    color:var(--archive-muted)!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>input:checked+span {
    background:var(--archive-accent-soft)!important;
    border-color:var(--archive-accent)!important;
    color:var(--archive-accent)!important;
    box-shadow:inset 0 0 0 1px var(--archive-accent)!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>input:focus-visible+span {
    outline:3px solid rgba(33,95,80,.28)!important;
    outline-offset:2px!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>input:checked+span small {
    color:var(--archive-accent)!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-context-grid label {
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection :is(.ai-planner-context-grid select,.gemini-ai-constraint textarea) {
    display:block!important;
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-constraint-grid label {
    min-width:0!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:9px!important;
    background:var(--archive-subtle)!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:500!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-constraint-grid input[type="checkbox"] {
    flex:0 0 17px!important;
    width:17px!important;
    height:17px!important;
    min-width:17px!important;
    max-width:17px!important;
    accent-color:var(--archive-accent);
  }
  html[data-theme="modern"] #mainContent #geminiAiSection :is(.ai-planner-taskset>legend,.ai-planner-scales>legend,.ai-planner-constraints>legend) {
    font-size:16px!important;
    font-weight:600!important;
    letter-spacing:-.01em!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection :is(.ai-planner-task-card span,.ai-planner-scale-grid span) {
    box-shadow:none!important;
  }

  /* Compact report actions without disturbing exported JSON. */
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>button {
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    flex:0 1 auto!important;
    min-height:40px!important;
    padding:9px 12px!important;
  }
}
@media screen and (max-width:920px) {
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar {
    grid-template-columns:1fr!important;
    padding:12px!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>#interfaceControlsBarHF2 {
    grid-column:1!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"view" "theme"!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>#normRegionSwitcher,
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>.toolbar>select {
    grid-column:1!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media screen and (max-width:620px) {
  html[data-theme="modern"] #mainContent>header .title {
    font-size:clamp(24px,6vw,30px)!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps {
    display:flex!important;
    overflow-x:auto!important;
    scrollbar-width:none;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a {
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:12px!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid {
    grid-template-columns:1fr!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>span {
    min-height:60px!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel #profileCalculateContinue {
    width:100%!important;
    flex:1 1 100%!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage button {
    margin-left:0!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>button {
    flex:1 1 calc(50% - 8px)!important;
    white-space:normal!important;
  }
}


/* R2.1: The legacy shell can move #themeSwitcher directly beneath <header>,
   while #interfaceControlsBarHF2 is a sibling of .toolbar. Treat both layouts. */
@media screen {
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#interfaceControlsBarHF2 {
    grid-column:1/-1!important;
    grid-row:auto!important;
    grid-area:auto!important;
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:start!important;
    justify-content:flex-start!important;
    gap:10px!important;
    box-sizing:border-box!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:12px!important;
    background:var(--archive-panel)!important;
    border:1px solid var(--archive-rule)!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#interfaceControlsBarHF2> :is(#workspaceViewSwitcher,#themeSwitcher) {
    flex:1 1 260px!important;
    grid-column:auto!important;
    grid-area:auto!important;
    min-width:min(260px,100%)!important;
    max-width:100%!important;
    width:auto!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#interfaceControlsBarHF2>#interfaceSettingsHF2 {
    display:none!important; /* superseded by the accessible header settings control */
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#themeSwitcher {
    grid-column:1/-1!important;
    grid-row:auto!important;
    grid-area:auto!important;
    justify-self:start!important;
    align-self:start!important;
    width:min(590px,100%)!important;
    max-width:100%!important;
    margin:0!important;
  }

  /* The legacy first-screen form gives all inputs a 48px minimum, including
     native checkbox/radio inputs. Reset only native selection controls. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs input[type="checkbox"] {
    display:inline-block!important;
    box-sizing:border-box!important;
    flex:0 0 17px!important;
    width:17px!important;
    min-width:17px!important;
    max-width:17px!important;
    height:17px!important;
    min-height:17px!important;
    max-height:17px!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
    box-shadow:none!important;
    accent-color:var(--archive-accent);
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage {
    /* Use existing entry-first visibility rules; never reveal intentionally hidden data. */
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
  }
}
@media screen and (max-width:920px) {
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#interfaceControlsBarHF2 {
    flex-direction:column!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#interfaceControlsBarHF2> :is(#workspaceViewSwitcher,#themeSwitcher) {
    flex:0 1 auto!important;
    min-width:0!important;
    width:100%!important;
  }
}

@media screen and (max-width:860px) {
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #profileContinuityPanel .profile-continuity__storage {
    display:none!important;
  }
}


/* Prevent an empty settings wrapper if the shell has relocated the theme control. */
@media screen {
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open>#interfaceControlsBarHF2 {
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}


/* Preserve visual hierarchy when people switch to the two existing legacy themes. */
@media screen {
  #mainContent>header .title>.archive-brandline {
    display:block;
    font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.12em;
    text-transform:uppercase;
    opacity:.75;
  }
  #mainContent>header .title>.archive-title-text {
    display:block;
    font-size:inherit;
    font-weight:inherit;
    line-height:inherit;
    letter-spacing:inherit;
  }
}


/* Archive editorial polish v3 — consolidated into existing stylesheet for hosting compatibility. */
/*
 Nutrient Archive • editorial polish v3 • 2026-10-10
 Scoped to Modern, screen only. A small final design layer; no layout-order,
 visibility, calculation, storage, JSON or event-handler changes.
*/
@media screen {
  html[data-theme="modern"]{
    --na3-ink:#24352f;
    --na3-muted:#60716b;
    --na3-forest:#225b4b;
    --na3-forest-hover:#194a3d;
    --na3-wash:#e8f0e9;
    --na3-border:#d8dfd8;
    --na3-panel:#fffefb;
    --na3-paper:#f7f6f1;
    --na3-font:system-ui,-apple-system,"Segoe UI","Noto Sans",Arial,sans-serif;
    --na3-display:Georgia,"Times New Roman",serif;
    --bg:var(--na3-paper);
    --card:var(--na3-panel);
    --text:var(--na3-ink);
    --border:var(--na3-border);
    --primary:var(--na3-forest);
    --primary-600:var(--na3-forest);
    --accent:var(--na3-forest);
    --shadow:0 1px 2px rgba(27,45,36,.035),0 8px 24px rgba(27,45,36,.028);
  }
  html[data-theme="modern"] body{
    background:var(--na3-paper)!important;
    color:var(--na3-ink)!important;
    font-family:var(--na3-font)!important;
    font-size:15px;
    letter-spacing:0;
    line-height:1.52;
  }
  html[data-theme="modern"] #mainContent{
    min-width:0;
    color:var(--na3-ink);
    font-family:var(--na3-font)!important;
  }
  html[data-theme="modern"] #mainContent>header{
    gap:9px 16px!important;
    padding-top:12px!important;
    padding-bottom:15px!important;
    margin-bottom:12px!important;
    border-color:var(--na3-border)!important;
  }
  html[data-theme="modern"] #mainContent>header .title{
    gap:5px!important;
    max-width:760px!important;
    margin:0!important;
  }
  html[data-theme="modern"] #mainContent>header .archive-brandline{
    font-family:var(--na3-font)!important;
    color:var(--na3-forest)!important;
    font-weight:650!important;
    font-size:10.5px!important;
    line-height:1.3!important;
    letter-spacing:.105em!important;
  }
  html[data-theme="modern"] #mainContent>header .archive-title-text{
    font-family:var(--na3-display)!important;
    font-size:clamp(27px,3vw,39px)!important;
    font-weight:500!important;
    line-height:1.15!important;
    letter-spacing:-.028em!important;
    text-wrap:balance;
  }
  html[data-theme="modern"] #mainContent>header .entry-first-subtitle{
    max-width:760px!important;
    margin-top:0!important;
    font-size:13.5px!important;
    line-height:1.55!important;
    color:var(--na3-muted)!important;
    font-weight:400!important;
  }
  html[data-theme="modern"] #mainContent>header>#interfaceSettingsPass1{
    min-height:40px!important;
    padding:8px 14px!important;
    border-radius:8px!important;
    border-color:var(--na3-border)!important;
    background:var(--na3-panel)!important;
    color:var(--na3-ink)!important;
    font:550 13px/1.3 var(--na3-font)!important;
    text-transform:none!important;
    letter-spacing:0!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header>#interfaceSettingsPass1[aria-expanded="true"]{
    border-color:#99baaa!important;
    background:var(--na3-wash)!important;
    color:var(--na3-forest)!important;
  }
  /* The archive distinction is one quiet annotation, not another large card. */
  html[data-theme="modern"] #mainContent>.archive-edition{
    display:flex!important;
    align-items:baseline!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:5px 15px!important;
    margin:0 0 12px!important;
    padding:8px 0!important;
    border:0!important;
    border-bottom:1px solid var(--na3-border)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--na3-muted)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>.archive-edition>div{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:6px 12px;
    min-width:0;
  }
  html[data-theme="modern"] #mainContent>.archive-edition .archive-edition__label{
    font:650 11px/1.4 var(--na3-font)!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
    color:var(--na3-forest)!important;
  }
  html[data-theme="modern"] #mainContent>.archive-edition .archive-edition__copy,
  html[data-theme="modern"] #mainContent>.archive-edition .archive-edition__note{
    display:inline!important;
    margin:0!important;
    color:var(--na3-muted)!important;
    font:400 12px/1.5 var(--na3-font)!important;
    opacity:1!important;
  }
  /* Quiet tabs, not numbered circular steps. Retain every existing link. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps{
    gap:3px!important;
    padding:0!important;
    margin:0 0 17px!important;
    border-bottom:1px solid var(--na3-border)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a{
    flex:0 0 auto!important;
    min-height:42px!important;
    padding:9px 15px!important;
    scroll-snap-align:start;
    color:var(--na3-muted)!important;
    font:550 13px/1.3 var(--na3-font)!important;
    border:0!important;
    border-bottom:2px solid transparent!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    letter-spacing:0!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent>.workflow-steps a:is(:focus-visible,:hover,.is-active,[aria-current="step"]){
    color:var(--na3-forest)!important;
    border-bottom-color:var(--na3-forest)!important;
    background:rgba(34,91,75,.045)!important;
  }
  /* Regular, consistent editorial cards with restrained headings. */
  html[data-theme="modern"] #mainContent :is(
    #globalSearchSection,#rationSection,#heiPanel,#totalsSection,
    #dietAnalysisProfilePanel,#dataQualityPanel,#globalActions,#geminiAiSection,
    #presetsPanel
  ){
    border-color:var(--na3-border)!important;
    border-radius:12px!important;
    background:var(--na3-panel)!important;
    box-shadow:0 1px 2px rgba(20,43,33,.03),0 8px 24px rgba(20,43,33,.022)!important;
  }
  html[data-theme="modern"] #mainContent :is(
    #globalSearchSection,#rationSection,#heiPanel,#totalsSection,
    #dietAnalysisProfilePanel,#globalActions,#geminiAiSection
  ) :is(h2,.card-title){
    color:var(--na3-ink)!important;
    font-family:var(--na3-display)!important;
    font-weight:500!important;
    font-size:clamp(22px,2.3vw,29px)!important;
    line-height:1.2!important;
    letter-spacing:-.021em!important;
  }
  html[data-theme="modern"] #mainContent :is(h3,h4){
    font-weight:600;
    letter-spacing:-.01em;
  }
  html[data-theme="modern"] #mainContent :is(.muted,.small,.footer-note,.ration-subtitle,.search-lead){
    color:var(--na3-muted)!important;
    line-height:1.52!important;
  }
  html[data-theme="modern"] #mainContent :is(#profileBasicSection,#needs) label{
    font-family:var(--na3-font)!important;
    font-size:13px!important;
    font-weight:600!important;
    color:var(--na3-ink)!important;
    line-height:1.4!important;
  }
  html[data-theme="modern"] #mainContent :is(#profileBasicSection,#needs) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    background:var(--na3-panel)!important;
    border-color:#c9d3cb!important;
    border-radius:8px!important;
    box-shadow:none!important;
    color:var(--na3-ink)!important;
    font-family:var(--na3-font)!important;
    font-size:15px!important;
    font-weight:400!important;
    letter-spacing:0!important;
  }
  html[data-theme="modern"] #mainContent :is(#profileBasicSection,#needs) :is(input,select,textarea):focus{
    border-color:var(--na3-forest)!important;
    box-shadow:0 0 0 3px rgba(34,91,75,.13)!important;
  }
  /* Secondary actions must no longer have the visual weight of primary tasks. */
  html[data-theme="modern"] #mainContent :is(button,.btn){
    font-family:var(--na3-font)!important;
    font-size:13px!important;
    font-weight:550!important;
    line-height:1.35!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent :is(button.secondary,button.ghost,.btn.secondary,.btn.ghost){
    background:var(--na3-panel)!important;
    border-color:var(--na3-border)!important;
    color:var(--na3-ink)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent :is(button.secondary,button.ghost,.btn.secondary,.btn.ghost):hover:not(:disabled){
    background:var(--na3-wash)!important;
    border-color:#aecabb!important;
    color:var(--na3-forest)!important;
  }
  html[data-theme="modern"] #mainContent :is(#profileCalculateContinue,#needs_calc_btn,#geminiAiRunBtn,#exportRationJsonBtn){
    background:var(--na3-forest)!important;
    border-color:var(--na3-forest)!important;
    border-radius:8px!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:600!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent :is(#profileCalculateContinue,#needs_calc_btn,#geminiAiRunBtn,#exportRationJsonBtn):hover:not(:disabled){
    background:var(--na3-forest-hover)!important;
    border-color:var(--na3-forest-hover)!important;
  }
  html[data-theme="modern"] #mainContent :is(button,input,select,textarea,a,summary):focus-visible{
    outline:2px solid var(--na3-forest)!important;
    outline-offset:3px!important;
  }
  /* Less empty space around progress and save-profile controls. */
  html[data-theme="modern"] #mainContent #profileContinuityPanel{
    border-color:var(--na3-border)!important;
    background:#f7f9f6!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__missing{
    gap:5px!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__missing button{
    min-height:28px!important;
    padding:5px 8px!important;
    border-radius:6px!important;
    font-size:11.5px!important;
    font-weight:550!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__actions{
    gap:8px!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage{
    border-color:var(--na3-border)!important;
    color:var(--na3-muted)!important;
  }
  html[data-theme="modern"] #mainContent #profileContinuityPanel .profile-continuity__storage button{
    min-height:34px!important;
    padding:6px 10px!important;
    font-weight:500!important;
    font-size:12px!important;
  }
  /* Compact, legible source/optional disclosures. */
  html[data-theme="modern"] #mainContent :is(.profile-hierarchy__details,.workspace-alt-entry,.norm-region-comparison-details){
    border-color:var(--na3-border)!important;
    border-radius:9px!important;
    background:var(--na3-panel)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent :is(.profile-hierarchy__details,.workspace-alt-entry,.norm-region-comparison-details)[open]{
    border-color:#b6cdbf!important;
  }
  html[data-theme="modern"] #mainContent :is(.profile-hierarchy__details>summary,.workspace-alt-entry>summary,.norm-region-comparison-details>summary){
    font:600 13px/1.4 var(--na3-font)!important;
    color:var(--na3-ink)!important;
    min-height:42px!important;
    padding:10px 13px!important;
  }
  html[data-theme="modern"] #mainContent .help-pre{
    white-space:pre-wrap!important;
    overflow-wrap:anywhere!important;
    font:400 14px/1.58 var(--na3-font)!important;
    color:var(--na3-ink)!important;
    max-width:100%;
  }
  /* Ration file controls: a succinct explanation, two distinguishable actions. */
  html[data-theme="modern"] #mainContent #archiveJsonHint{
    margin:12px 0 8px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--na3-muted)!important;
    font:400 12.5px/1.5 var(--na3-font)!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar{
    gap:7px!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>button{
    flex:0 1 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    padding:8px 12px!important;
    white-space:normal!important;
    font-size:12.5px!important;
  }
  html[data-theme="modern"] #mainContent #loadRationJsonBtn{
    background:var(--na3-wash)!important;
    border-color:#b5cdbc!important;
    color:var(--na3-forest)!important;
  }
  html[data-theme="modern"] #mainContent #clearRationBtn{
    border-color:#e0c7bd!important;
    background:#fff8f5!important;
    color:#87463b!important;
  }
  html[data-theme="modern"] #mainContent #rationTable{
    max-width:100%;
    color:var(--na3-ink);
    font-variant-numeric:tabular-nums;
  }
  html[data-theme="modern"] #mainContent #rationTable thead th{
    font:600 12px/1.4 var(--na3-font)!important;
    background:#f3f6f1!important;
    border-color:var(--na3-border)!important;
    color:#53655b!important;
  }
  /* Planner options: no huge capsule or heavy fluorescent blocks. */
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid{
    gap:9px!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>span{
    min-height:74px!important;
    border-radius:9px!important;
    background:var(--na3-panel)!important;
    border:1px solid var(--na3-border)!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>input:checked+span{
    background:var(--na3-wash)!important;
    border-color:var(--na3-forest)!important;
    box-shadow:inset 0 0 0 1px var(--na3-forest)!important;
    color:var(--na3-forest)!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-task-card input:checked+span{
    border-color:var(--na3-forest)!important;
    box-shadow:0 0 0 2px rgba(34,91,75,.13)!important;
    background:var(--na3-wash)!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-constraint-grid label{
    background:#f8f9f6!important;
    border-color:var(--na3-border)!important;
    font-weight:450!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection :is(.ai-planner-scale-grid,.ai-planner-task-grid) label{
    cursor:pointer;
  }
  /* Header settings: adapt the existing, dynamically relocated widgets. */
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open :is(.toolbar,#interfaceControlsBarHF2){
    row-gap:10px!important;
    column-gap:12px!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open :is(.toolbar,#interfaceControlsBarHF2)>*{
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open #normRegionSwitcher{
    border-color:var(--na3-border)!important;
    background:#f6f8f4!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open :is(#themeSwitcher,#workspaceViewSwitcher){
    border-color:var(--na3-border)!important;
    background:#f6f8f4!important;
    box-shadow:none!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open :is(#themeSwitcher .theme-switcher__option,#workspaceViewSwitcher button){
    min-width:0!important;
    min-height:40px!important;
    padding:7px 9px!important;
    border-radius:7px!important;
    font:550 12px/1.3 var(--na3-font)!important;
  }
  html[data-theme="modern"] #mainContent>header.interface-settings-pass1-open #themeSwitcher .theme-switcher__option[aria-pressed="true"]{
    border-color:var(--na3-forest)!important;
    background:var(--na3-wash)!important;
    color:var(--na3-forest)!important;
  }
}
@media screen and (max-width:720px){
  html[data-theme="modern"] #mainContent>header .archive-title-text{
    font-size:clamp(25px,6vw,31px)!important;
  }
  html[data-theme="modern"] #mainContent>header .entry-first-subtitle{
    font-size:13px!important;
  }
  html[data-theme="modern"] #mainContent>.archive-edition{
    gap:5px!important;
    padding:7px 0!important;
  }
  html[data-theme="modern"] #mainContent>.archive-edition .archive-edition__note{
    font-size:11.5px!important;
  }
  html[data-theme="modern"] #mainContent :is(#globalSearchSection,#rationSection,#heiPanel,#globalActions){
    border-radius:10px!important;
  }
  html[data-theme="modern"] #mainContent #rationSection>.toolbar>button{
    flex:1 1 135px!important;
  }
  html[data-theme="modern"] #mainContent #geminiAiSection .ai-planner-scale-grid label>span{
    min-height:63px!important;
  }
}
@media screen and (prefers-reduced-motion:reduce){
  html[data-theme="modern"] #mainContent button,
  html[data-theme="modern"] #mainContent a{
    transition:none!important;
    animation:none!important;
  }
}


/* ARCHIVE R4: profile controls and proportional desktop layout — 2026-10-10 */
@media screen {
  /* Longer product title: a moderate editorial heading, not a giant masthead. */
  html[data-theme="modern"] #mainContent>header .archive-title-text {
    max-width:930px!important;
    font-size:clamp(26px,2.45vw,34px)!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:-.02em!important;
    text-wrap:balance;
  }
  html[data-theme="modern"] #mainContent>header .entry-first-subtitle {
    max-width:690px!important;
    font-size:13px!important;
    line-height:1.5!important;
  }

  /* Entry-first originally expands both action buttons via a 1fr grid column.
     Let desktop buttons use intrinsic width and wrap only when space runs out. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel .profile-continuity__actions {
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    grid-template-columns:none!important;
    width:100%!important;
    min-width:0!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel .profile-continuity__actions>button {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 1 auto!important;
    box-sizing:border-box!important;
    width:max-content!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:42px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 15px!important;
    border-radius:8px!important;
    font-size:13px!important;
    font-weight:550!important;
    line-height:1.3!important;
    text-align:center!important;
    white-space:normal!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileCalculateContinue {
    max-width:100%!important;
    min-width:0!important;
    font-weight:600!important;
  }
  /* Make unavailable calculation look like a status, not a wide blue CTA. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileCalculateContinue:disabled {
    opacity:1!important;
    background:#e7eee8!important;
    border-color:#d2dfd5!important;
    color:#536d5e!important;
    box-shadow:none!important;
    cursor:not-allowed!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileFocusMissing:not(:disabled) {
    background:#fffefb!important;
    border:1px solid #c9d5cb!important;
    color:#28463b!important;
    box-shadow:none!important;
  }

  /* Generic #needs input sets width:100% and min-height:48px even for
     checkboxes; earlier 17px overrides did not reset min-height.
     Give this real checkbox explicit dimensions in both axes. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileRememberToggle[type="checkbox"] {
    box-sizing:border-box!important;
    appearance:auto!important;
    display:inline-block!important;
    position:static!important;
    flex:0 0 18px!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    max-height:18px!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
    box-shadow:none!important;
    transform:none!important;
    accent-color:#225b4b!important;
    vertical-align:middle!important;
  }
  /* The label must stay beside its checkbox, rather than inheriting
     the block-label rule meant for full-width form fields. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel .profile-continuity__storage {
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    column-gap:18px!important;
    row-gap:9px!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel .profile-continuity__storage>label {
    display:inline-flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    box-sizing:border-box!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    gap:9px!important;
    margin:0!important;
    padding:0!important;
    color:#344b40!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.4!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileStorageStatus {
    flex:1 1 180px!important;
    min-width:0!important;
    margin:0!important;
    color:#65766d!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileClearSaved {
    flex:0 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:34px!important;
    height:auto!important;
    margin:0!important;
    padding:7px 11px!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#52685b!important;
    font-size:12px!important;
    font-weight:500!important;
    white-space:normal!important;
  }
}
@media screen and (max-width:620px) {
  html[data-theme="modern"] #mainContent>header .archive-title-text {
    font-size:clamp(23px,5.8vw,29px)!important;
    line-height:1.22!important;
  }
  /* Preserve the deliberately touch-friendly mobile primary action. */
  html[data-theme="modern"][data-entry-first-ui="1"] #mainContent #needs
    #profileContinuityPanel #profileCalculateContinue {
    flex:1 1 100%!important;
    width:100%!important;
    min-height:44px!important;
  }
}
