/* Shared surface tokens also cover dialogs, sources and native form controls. */
:root{--surface:#fffef7;--field:#fff;--soft:#e8efe4;--hover:#eef2e9;--primary-ink:#fff;--accent:#c98042;--focus:#9b4a22;--error:#a02e29;--pending:#775a08;--shadow:#203b2920;color-scheme:light}
:root[data-theme=dark]{--paper:#0b1628;--surface:#13243b;--field:#192e49;--soft:#203954;--hover:#294562;--ink:#edf4ff;--muted:#b4c4d9;--green:#99c7ff;--line:#3b536f;--primary-ink:#0b1b30;--accent:#b5d7ff;--focus:#ffcf7b;--error:#ffb1ac;--pending:#ffe19d;--shadow:#0006;color-scheme:dark}
:root[data-theme=chilly]{--paper:#fff8e8;--surface:#fffdf4;--field:#fff;--soft:#fff0b5;--hover:#ffe5cd;--ink:#27301f;--muted:#62664e;--green:#4f7d32;--line:#d7d9ad;--primary-ink:#fff;--accent:#f5b52e;--focus:#d9361e;--error:#ac2814;--pending:#705009;--shadow:#4f7d321a;--chilly-yellow:#ffd16a;--chilly-orange:#f5b52e;--chilly-red:#d9361e}
body{min-height:100dvh}#appmain{min-height:calc(100dvh - 140px);display:flex;flex-direction:column;width:100%}#pagefooter{margin-top:auto;padding-top:40px}.tab{padding-bottom:36px}#appheader{background:var(--surface);gap:20px}#mainnav{align-items:center}#mainnav .account-nav{border-left:1px solid var(--line);border-radius:0;padding-left:20px;margin-left:8px}#menutoggle{display:none}
button,.filebutton,input,select,textarea{background:var(--field);color:var(--ink);border-color:var(--line)}button:hover,.filebutton:hover{background:var(--hover)}button:disabled,input:disabled,select:disabled{opacity:.6;cursor:not-allowed}.primary{background:var(--green);color:var(--primary-ink);border-color:var(--green)}.primary:hover{background:var(--green);color:var(--primary-ink);filter:brightness(.92)}
.day,.card,.saved-week-card,.drink-card,.gate-card,dialog,.dialog-header,.nutrition-card,.nutrition-input-row{background:var(--surface);border-color:var(--line)}.plan-date-field #weekselect{background:var(--field);border-color:var(--line)}nav button{background:transparent}nav button.active,nav span,#syncbar,.legacy-note,.drink-card.selected{background:var(--soft)}#syncstatus[data-kind=error],#syncstatus[data-kind=conflict],#autherror,#weekerror,.nutrition-missing{color:var(--error)}#syncstatus[data-kind=pending]{color:var(--pending)}
.shoprow,.saved-week-card li,.nutrition-table th,.nutrition-table td,.shopgroup>summary,.nutrition-full,.nutrition-sources,.plan-nutrition{border-color:var(--line)}.saved-week-card li>span,.saved-week-card small,.weekbar>span,.nutrition-card>span,.nutrition-sources li small{color:var(--muted)}.shopgroup>summary,.nutrition-card strong{color:var(--ink)}.nutrition-jump a{color:var(--green)}.shopgroup>summary::after,.nutrition-table thead th,.nutrition-missing{background:var(--soft)}.brand span,.logodot{color:var(--accent)}a{color:var(--green)}.hero-art{background:var(--soft)}.art-label{background:var(--surface)}.plate{background:var(--field);border-color:var(--line);box-shadow:5px 9px 0 var(--soft)}#toast{background:var(--ink);color:var(--paper)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid var(--focus);outline-offset:3px}.theme-field{display:grid;gap:10px;max-width:420px;margin-top:24px}.theme-field select{width:100%}#accountemail{overflow-wrap:anywhere}.general-sources summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}.general-sources summary:after{content:'＋';margin-left:auto}.general-sources[open] summary:after{content:'−'}.general-sources summary::-webkit-details-marker{display:none}.nutrition-sources{margin-bottom:22px}.nutrition-table thead,.nutrition-jump,.estimate-note{background:var(--soft);color:var(--ink)}
:root[data-theme=chilly] .hero-art{background:var(--chilly-yellow)}:root[data-theme=chilly] .brand span{color:var(--chilly-red)}:root[data-theme=chilly] .day.selected{border-top-color:var(--chilly-orange)}:root[data-theme=chilly] nav button.active{background:var(--chilly-yellow)}:root[data-theme=chilly] .nutrition-card{border-top:3px solid var(--chilly-orange)}
@media(max-width:1100px){
 header#appheader{display:grid;grid-template-columns:1fr auto;position:relative;padding:12px 16px;gap:0}#menutoggle{display:flex;align-items:center;gap:9px;grid-column:2;grid-row:1}#menutoggle span{font-size:23px;line-height:1}#appheader #mainnav{display:none;position:absolute;right:16px;top:calc(100% - 1px);width:min(320px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px;z-index:30;box-shadow:0 12px 32px var(--shadow)}#appheader.menu-open #mainnav{display:flex;flex-direction:column;gap:4px}#appheader #mainnav button{width:100%;text-align:left;font-size:15px;padding:12px 14px;white-space:normal;flex:none}#appheader #mainnav .account-nav{margin:8px 0 0;padding-top:16px;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:700px){.weekbar{background:var(--soft)}#pagefooter{padding-top:28px}.theme-field{max-width:none}}
@media print{#menutoggle,#account,#pagefooter{display:none!important}:root[data-theme]{--paper:white;--surface:white;--field:white;--ink:black;--muted:#444;--green:#222;--line:#ccc;color-scheme:light}}

#releaseinfo{margin-top:20px;padding:0;border:0;text-align:center;color:var(--muted)}.version-label{font-size:11px;font-weight:400;line-height:1.5;margin:0}

#syncbar #synclogin{background:transparent;border:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer;min-height:44px;padding:6px 0;}
#synclogin:focus-visible{outline:2px solid currentColor;outline-offset:4px;}

/* Stable brand colors, independent of the selected theme. */
:root .brand,:root .gate-card h1{color:#BFD69C;}
:root .brand span,:root .logodot,:root[data-theme] .brand span,:root[data-theme] .logodot{color:#FFD16A;}
