/* Semantic colors stay the same in lists, cards and the settings legend. */
:root {
 --project-ink:#665080; --project-bg:#f0ebf5;
 --goal-ink:#345f87; --goal-bg:#e9f0f7;
 --folder-ink:#765d31; --folder-bg:#f5efdf;
 --attention-ink:#326b70; --attention-bg:#e7f1f1;
 --time-ink:#386b4d; --time-bg:#e9f2ec;
}
:root[data-theme="dark"] {
 --project-ink:#cabbdc; --project-bg:#342f3e;
 --goal-ink:#b7cce0; --goal-bg:#293744;
 --folder-ink:#d9c799; --folder-bg:#3d382b;
 --attention-ink:#add0ce; --attention-bg:#293c3e;
 --time-ink:#b7d2bf; --time-bg:#2d3c32;
}
@media(min-width:561px) {
 :root { --bg:#f3f4f5; --surface:#fdfdfd; --soft:#eceff0; --ink:#28333a; --muted:#5c6870; --line:#d6dcdf; --accent:#3c686b; --accent-soft:#e3ebeb; --focus:#38687c; }
 :root[data-theme="dark"] { --bg:#1e242a; --surface:#282f35; --soft:#303940; --ink:#e7ebee; --muted:#b1bdc5; --line:#49545d; --accent:#a0c2bd; --accent-soft:#344743; --button-ink:#162923; --focus:#a0c5da; }
 .primary,.capture-create button[type=submit],.editor-save { box-shadow:none; }
}
.project-tag { color:var(--project-ink); background:var(--project-bg); }
.goal-tag { color:var(--goal-ink); background:var(--goal-bg); }
.folder-tag { color:var(--folder-ink); background:var(--folder-bg); }
.attention-tag { color:var(--attention-ink); background:var(--attention-bg); }
.schedule-tag { color:var(--time-ink); background:var(--time-bg); }
.task-goal.goal-tag { display:inline-block; width:fit-content; max-width:100%; padding:3px 7px; border-radius:7px; font-size:12px; }
.revolver-goal.goal-tag { padding:9px 11px; border-radius:9px; margin:0 0 14px; }
#editForm.desktop-card #projectChoiceToggle { background:var(--project-bg); color:var(--project-ink); padding:8px 10px; border:1px solid var(--project-ink); border-radius:10px; }
#editForm.desktop-card #materialFolderRow select { color:var(--folder-ink); background:var(--folder-bg); border-color:var(--folder-ink); }
.material-tree-row { color:var(--folder-ink); background:var(--folder-bg); }
.material-tree-toggle,.material-tree-toggle svg { color:var(--folder-ink); }
#editForm.desktop-card #editReviewToggle,.task.has-attention > .attention-date { color:var(--attention-ink); background:var(--attention-bg); border-color:var(--attention-ink); }
#editForm.desktop-card #scheduleToggle { color:var(--time-ink); background:var(--time-bg); border-color:var(--time-ink); }
.calendar-block { color:var(--time-ink); background:var(--time-bg); border-left-color:var(--time-ink); }
.calendar-marker.attention { color:var(--attention-ink); background:var(--attention-bg); }
/* Urgency colors continue to come from data-deadline-level in index.html. */
#settingsVeil .sheet { width:min(100%,660px); }
.settings-head { position:sticky; top:0; z-index:2; background:var(--surface); padding-bottom:12px; border-bottom:1px solid var(--line); }
#settingsVeil .settings-account { margin-top:16px; border-bottom:0; padding-bottom:0; }
#settingsVeil .settings-account .settings-copy { margin-top:10px; }
.settings-group { margin:0; border-top:1px solid var(--line); }
.settings-group > summary { cursor:pointer; padding:17px 2px; color:var(--ink); font-size:15px; font-weight:650; min-height:48px; overflow-wrap:anywhere; }
.settings-group-content { padding:0 2px 16px; }
.settings-group-content .settings-actions { margin-bottom:12px; }
.settings-group-content button { min-height:44px; }
.settings-group-content > button { margin-bottom:12px; }
.settings-group-content .settings-copy:last-child { margin-bottom:0; }
.settings-group summary:focus-visible { outline:3px solid var(--focus); outline-offset:-3px; border-radius:6px; }
.settings-group.needs-attention > summary { color:var(--warning); }
.settings-count { display:inline-block; padding:2px 7px; margin-left:6px; border-radius:8px; font-size:12px; background:var(--warn-bg); color:var(--warning); }
.settings-count[hidden] { display:none; }
.theme-choice { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 10px; border:0; min-width:0; }
.theme-choice legend { margin-bottom:10px; font-size:13px; color:var(--muted); }
.theme-choice label { display:flex; align-items:center; gap:7px; min-height:44px; border:1px solid var(--line); border-radius:10px; padding:9px 10px; cursor:pointer; font-size:14px; }
.theme-choice label:has(:checked) { border-color:var(--accent); background:var(--accent-soft); }
.theme-choice input { width:18px; height:18px; margin:0; }
.label-legend { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
#themeSaveStatus:empty { display:none; }
#settingsVeil #desktopNavOrder { margin:12px 0 0; }
@media(max-width:560px) { .settings-group-content .settings-actions { flex-direction:column; align-items:stretch; } }
