:root {
    /* Logo green is the brand anchor; semantic task colours remain distinct. */
    --brand: #b7e18a;
    --brand-hover: #c9eaa8;
    --brand-ink: #203326;
    color-scheme: light;
    --outer: #d2dccb;
    --background: #f3f6ef;
    --surface: #ffffff;
    --surface-soft: #e8efdf;
    --chrome: #e3ecd9;
    --chrome-border: #b9c9ad;
    --text: #243326;
    --muted: #56644f;
    --primary: #365c32;
    --primary-dark: #284725;
    --button-text: #fff;
    --border: #bdcbb4;
    --control-border: #7c8b70;
    --accent: var(--brand);
    --critical: #ed3737;
    --high: #f58a17;
    --normal: #edc51d;
    --task-normal: #f7e7a2;
    --task-high: #ffdbb0;
    --task-critical: #ffc7bf;
    --task-glow-normal: #fff9d2;
    --task-glow-high: #fff0de;
    --task-glow-critical: #ffe8e3;
    --task-muted: #586459;
    --error-bg: #ffebe9;
    --error-text: #9d302d;
    --success-bg: #e4f3e5;
    --success-text: #29623a;
    --shadow: 0 6px 24px #19392a06;
    font-family: "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
    font-synthesis: none;
}
@media (prefers-color-scheme: dark) {
    :root {
        color-scheme: dark;
        --outer: #0c110d;
        --background: #1b241c;
        --surface: #2b382a;
        --surface-soft: #374532;
        --chrome: #243021;
        --chrome-border: #4e6243;
        --text: #f1f5eb;
        --muted: #b3bfa9;
        --primary: var(--brand);
        --primary-dark: var(--brand-hover);
        --button-text: #1b3020;
        --border: #5c7050;
        --control-border: #93a682;
        --task-normal: #efdb88;
        --task-high: #f5c58d;
        --task-critical: #f1b5ab;
        --task-glow-normal: #fff3bb;
        --task-glow-high: #ffe7c6;
        --task-glow-critical: #ffddd5;
        --task-muted: #354237;
        --error-bg: #3f2527;
        --error-text: #ffb3b3;
        --success-bg: #263b2a;
        --success-text: #b9e4b8;
        --shadow: 0 6px 24px #00000010;
    }
}
* { box-sizing: border-box; }
html { background: var(--outer); min-height: 100%; scroll-padding-top: 90px; scroll-padding-bottom: 110px; }
body {
    width: 100%; max-width: 440px;
    min-height: 100vh; min-height: 100dvh;
    margin: 0 auto;
    background: var(--background); color: var(--text);
    box-shadow: 0 0 0 1px var(--border), 0 0 80px #00000012;
    font-size: 16px; line-height: 1.55;
    -webkit-tap-highlight-color: transparent;
}
/* One mobile canvas on phones and desktops; no desktop form columns. */
.page { width: 100%; margin: 0 auto; padding: 28px 22px calc(110px + env(safe-area-inset-bottom)); }
.preview-label { margin: 0; padding: 6px 12px; background: var(--surface-soft); color: var(--muted); font-size: 11px; text-align: center; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 8px 0 12px; font-size: 36px; line-height: 1.12; letter-spacing: -1.4px; font-weight: 750; }
h2 { font-size: 22px; letter-spacing: -.5px; }
.page-header, .dashboard-heading { margin-bottom: 28px; }
.dashboard-heading h1 { max-width: 310px; margin-bottom: 12px; font-size: 32px; line-height: 1.16; letter-spacing: -1px; }
.eyebrow { margin: 0; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: 1.6px; text-transform: uppercase; }
.lead { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.icon { width: 22px; height: 22px; flex: 0 0 auto; vertical-align: middle; }
.card { border: 1px solid var(--border); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.daily-praise { padding: 30px 22px; text-align: center; background: var(--success-bg); border-color: var(--success-text); }
.praise-emblem { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 20px; border-radius: 22px; background: var(--accent); color: #213b27; font-size: 34px; font-weight: 700; transform: rotate(-6deg); }
.daily-praise .eyebrow { color: var(--success-text); letter-spacing: 1.2px; }
.daily-praise h3 { margin: 12px 0; font-size: 24px; line-height: 1.25; letter-spacing: -.5px; }
.daily-praise > p:not(.eyebrow) { margin: 0; font-size: 14px; line-height: 1.7; }
.praise-count { display: inline-block; margin-top: 20px; padding: 6px 14px; border-radius: 999px; background: var(--surface); color: var(--success-text); font-size: 12px; font-weight: 650; }
.app-header { position: sticky; z-index: 10; top: 0; display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 12px; padding: max(10px, env(safe-area-inset-top)) 22px 10px; border-bottom: 1px solid var(--chrome-border); background: var(--chrome); box-shadow: 0 5px 18px #00000008; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--text); font-size: 18px; font-weight: 800; letter-spacing: -.7px; text-decoration: none; white-space: nowrap; }
.brand::before { content: '✓'; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: var(--accent); color: #213b27; font-size: 21px; }
.user-menu { display: flex; align-items: center; gap: 10px; min-width:0; font-size: 12px; color: var(--muted); }
.user-menu > span { max-width: 80px; overflow: hidden; text-overflow: ellipsis; }
.user-menu form { margin: 0; }
.header-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 6px; border-radius: 8px; color: var(--primary); font-size: 12px; font-weight: 650; text-decoration: none; }
.header-notifications { flex:none; width:44px; padding:0; }
.header-notifications[aria-current="page"] { background:var(--surface-soft); box-shadow:inset 0 0 0 1px var(--border); }
.inbox-button { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; min-height: 164px; padding: 22px; border: 1px solid #bad5a1; border-radius: 24px; background: #c6e5a8; color: #213721; text-decoration: none; box-shadow: 0 8px 28px #86b25b12; }
.inbox-copy { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; justify-items: start; gap: 8px; }
.inbox-copy > .icon { width: 24px; height: 24px; }
.inbox-copy strong { font-size: 20px; line-height: 1.25; letter-spacing: -.5px; }
.inbox-copy small { grid-column: 1 / -1; margin: 0; max-width: 210px; color: #425c37; font-size: 12px; line-height: 1.5; }
.inbox-count { min-width: 64px; font-size: 68px; line-height: 1; letter-spacing: -3px; font-weight: 750; font-variant-numeric: tabular-nums; text-align: center; }
.inbox-open { grid-column: 1 / -1; display: inline-flex; gap: 6px; align-items: center; margin-top: 6px; font-size: 12px; font-weight: 700; }
.inbox-open .icon { width: 15px; height: 15px; }
.inbox-button:hover { background: #d3ecb8; }
.inbox-is-empty { background: var(--surface); border-color: var(--border); color: var(--text); box-shadow: var(--shadow); }
.inbox-is-empty .inbox-copy small { color: var(--muted); }
.inbox-is-empty .inbox-count, .inbox-is-empty .inbox-open, .inbox-is-empty .inbox-copy > .icon { color: var(--primary); }
.inbox-is-empty:hover { background: var(--surface-soft); }
.agenda-section { margin-top: 28px; }
.day-navigation { display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; align-items: center; gap: 8px; padding: 6px; border: 1px solid var(--border); border-radius: 20px; background: var(--surface); }
.day-navigation a { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 14px; color: var(--text); text-decoration: none; }
.day-navigation .day-arrow { background: var(--surface-soft); color: var(--primary); }
.day-navigation .day-today { flex-direction: column; gap: 1px; font-size: 17px; font-weight: 750; }
.day-today span { color: var(--muted); font-size: 11px; font-weight: 400; }
.day-today[aria-current='date'] { color: var(--primary); }
.day-navigation a:hover { background: var(--surface-soft); }
.day-navigation .day-arrow:hover { background: var(--chrome); }
.date-picker { margin: 6px 0 20px; }
.date-picker summary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px; border-radius: 12px; color: var(--muted); font-size: 12px; cursor: pointer; list-style: none; }
.date-picker summary::-webkit-details-marker { display: none; }
.date-picker summary .icon { width: 16px; height: 16px; }
.date-picker summary .icon:last-child { width: 13px; height: 13px; transform: rotate(90deg); }
.date-picker[open] summary .icon:last-child { transform: rotate(-90deg); }
.date-picker summary:hover { color: var(--primary); background: var(--surface-soft); }
.date-picker-form { padding: 16px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface); }
.date-picker-form label { margin: 0 0 10px; }
.date-picker-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.date-picker-fields input { margin: 0; }
.date-picker-fields button { width: auto; padding: 10px 15px; }
.agenda-heading-suffix { font-weight: 450; color: var(--muted); }
.new-task-row { margin: 0 0 18px; }
.primary-action.new-task-action { border: 1px dashed var(--chrome-border); background: var(--surface-soft); color: var(--primary); }
.primary-action.new-task-action:hover { background: var(--chrome); }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.section-heading h2 { margin: 5px 0 0; font-weight: 700; }
.section-count, .title-count { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 8px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); color: var(--muted); font-size: 13px; font-weight: 650; vertical-align: middle; letter-spacing: 0; }
.empty-state { padding: 30px 22px; text-align: center; }
.empty-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px; border: 1px solid var(--border); border-radius: 18px; background: var(--surface-soft); color: var(--primary); }
.empty-icon .icon { width: 26px; height: 26px; }
.empty-state strong { display: block; font-size: 16px; font-weight: 650; }
.empty-state p { margin: 9px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.empty-state .text-link { display: inline-block; margin-top: 20px; }
.task-list, .inbox-list, .compact-task-list { display: grid; gap: 16px; }
.task-card { display: grid; grid-template-columns: 62px minmax(0, 1fr); border: 1px solid var(--border); border-left: 4px solid var(--normal); border-radius: 20px; background: var(--surface); overflow: hidden; }
.task-time { padding: 22px 5px; color: var(--text); font-size: 15px; font-weight: 750; text-align: center; font-variant-numeric: tabular-nums; }
.task-content { min-width: 0; padding: 20px 16px 20px 0; }
.task-content h3, .decision-card h2 { margin: 10px 0 8px; font-size: 18px; line-height: 1.4; }
.task-title-link { color: var(--text); text-decoration: none; text-underline-offset: 4px; }
.task-title-link:hover { color: var(--primary); text-decoration: underline; }
.task-detail-title { margin-top: 20px; font-size: 27px; letter-spacing: -.7px; line-height: 1.25; }
.task-content p, .decision-card > p { margin: 8px 0; font-size: 14px; color: var(--muted); }
.task-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; color: var(--muted); font-size: 11px; }
.priority-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 7px; border-radius: 6px; background: var(--surface-soft); color: var(--text); font-size: 11px; font-weight: 600; }
.priority-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--normal); }
.priority-critical { border-left-color: var(--critical); }
.priority-high { border-left-color: var(--high); }
.priority-normal { border-left-color: var(--normal); }
.priority-critical .priority-badge::before { background: var(--critical); }
.priority-high .priority-badge::before { background: var(--high); }
.deadline { font-size: 12px !important; }
.resource-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.resource-list a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); color: var(--primary); font-size: 12px; overflow-wrap: anywhere; }
.text-link { color: var(--primary); text-underline-offset: 4px; font-weight: 600; }
.task-content > p:last-child .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; }
.inline-action { margin-top: 18px; }
.compact-task { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 18px; border: 1px solid var(--border); border-left: 4px solid var(--normal); border-radius: 18px; background: var(--surface); }
.compact-task.priority-critical { border-left-color: var(--critical); }
.compact-task.priority-high { border-left-color: var(--high); }
.compact-task > div { min-width: 0; flex: 1 1 180px; }
.compact-task > .helper-task-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; flex: 1 1 100%; border-top: 1px solid var(--border); padding-top: 8px; }
.remove-task-link { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 8px; border-radius: 10px; color: var(--text); font-size: 12px; text-underline-offset: 3px; }
.remove-task-link:hover { background: var(--error-bg); color: var(--error-text); }
.task-removal { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--border); scroll-margin-top: 90px; }
.task-removal h2 { margin-top: 0; font-size: 19px; }
.task-removal form { display: grid; gap: 16px; margin-top: 16px; }
.permanent-delete > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; color: var(--error-text); font-size: 13px; font-weight: 650; }
.compact-task strong { display: block; font-size: 15px; overflow-wrap: anywhere; }
.compact-task small { font-size: 12px; }
.priority-dot { display: none; }
.status-badge { padding: 5px 9px; border-radius: 7px; background: var(--surface-soft); color: var(--muted); font-size: 11px; font-weight: 650; }
.status-inbox { color: var(--text); }
.status-done { background: var(--success-bg); color: var(--success-text); }
label { display: block; margin-top: 22px; font-size: 13px; font-weight: 650; }
input, textarea, select { display: block; min-width: 0; width: 100%; min-height: 52px; margin-top: 9px; padding: 13px 14px; border: 1px solid var(--control-border); border-radius: 12px; background: var(--background); color: var(--text); font: inherit; font-size: 16px; }
input[type='hidden'] { display: none; }
textarea { resize: vertical; line-height: 1.6; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
small, .field-help { display: block; margin: 7px 0 0; color: var(--muted); font-size: 12px; font-weight: 400; line-height: 1.6; }
button, .primary-action { display: flex; justify-content: center; align-items: center; gap: 9px; width: 100%; min-height: 52px; padding: 13px 18px; border: 0; border-radius: 14px; background: var(--brand); color: var(--brand-ink); cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; text-decoration: none; }
button:hover, .primary-action:hover { background: var(--brand-hover); }
.link-button { width: auto; min-height: 44px; padding: 0 6px; background: transparent; color: var(--primary); font-size: 12px; }
.link-button:hover, .header-link:hover { background: var(--surface-soft); }
.button-secondary { min-height: 44px; padding: 10px 12px; border: 1px solid var(--border); background: var(--surface-soft); color: var(--text); font-size: 12px; }
.button-secondary:hover { background: var(--border); }
.button-danger-quiet { border: 1px solid var(--border); background: transparent; color: var(--muted); }
.button-danger-quiet:hover { background: var(--error-bg); color: var(--error-text); }
.check-label { display: flex; align-items: flex-start; gap: 10px; line-height: 1.6; }
.check-label input { width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 1px 0 0; accent-color: var(--primary); }
.deadline-field { display: grid; gap: 8px; margin-top: 18px; }
.deadline-field > input { margin-top: 0; }
.deadline-label-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; }
.deadline-label-row > label { margin: 0; }
.deadline-label-row .same-deadline { display: flex; align-items: center; min-height: 44px; font-size: 13px; cursor: pointer; }
.deadline-field small { color: var(--muted); font-size: 12px; font-weight: 400; }
.deadline-field input[readonly] { border-style: dashed; color: var(--muted); }
.deadline-fields { min-width:0; border:0; padding:0; margin:0; }
.deadline-field:has(#deadline-enabled:not(:checked)) .deadline-fields, .deadline-fields[hidden] { display:none; }
.deadline-field .deadline-toggle { margin:0; min-height:44px; cursor:pointer; }
.estimate-stepper { display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:8px; margin-top:9px; }
.estimate-stepper input { margin:0; text-align:center; font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; appearance:textfield; -moz-appearance:textfield; }
.estimate-stepper input::-webkit-inner-spin-button, .estimate-stepper input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.estimate-stepper button { min-width:0; min-height:52px; padding:0; background:var(--surface-soft); border:1px solid var(--border); color:var(--primary); border-radius:12px; font-size:26px; box-shadow:none; }
.estimate-stepper button:focus:not(:focus-visible) { outline:none; }
.preferences-form { margin-top: 20px; }
.notice { margin: 0 0 20px; padding: 16px; border-radius: 14px; background: var(--surface-soft); font-size: 14px; }
.notice ul { padding-left: 18px; margin: 8px 0 0; }
.notice-error { background: var(--error-bg); color: var(--error-text); }
.notice-success { background: var(--success-bg); color: var(--success-text); }
.task-form { padding: 24px 20px; }
.task-form > label:first-of-type { margin-top: 0; }
.field-grid, .resource-fields { display: grid; grid-template-columns: minmax(0, 1fr); }
.priority-picker, .resources-fieldset { min-width: 0; margin: 26px 0 0; padding: 0; border: 0; }
legend { margin-bottom: 12px; padding: 0; font-size: 13px; font-weight: 650; }
.priority-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.priority-option { position: relative; margin: 0; }
.priority-option input { position: absolute; width: 1px; min-height: 0; height: 1px; opacity: 0; margin: 0; padding: 0; }
.priority-option span { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; min-height: 70px; padding: 10px 3px; border: 1px solid var(--border); border-radius: 12px; background: var(--background); color: var(--text); font-size: 11px; cursor: pointer; }
.priority-option span::before { content: ''; width: 22px; height: 5px; border-radius: 3px; background: var(--normal); }
.priority-option.priority-critical span::before { background: var(--critical); }
.priority-option.priority-high span::before { background: var(--high); }
.priority-option input:checked + span { border-color: var(--primary); background: var(--surface-soft); box-shadow: 0 0 0 1px var(--primary); }
.priority-option input:focus-visible + span { outline: 3px solid var(--primary); outline-offset: 3px; }
.resources-fieldset { margin-bottom: 26px; }
.resource-fields { padding: 0 0 20px; border-bottom: 1px solid var(--border); }
.resource-fields:last-child { padding-bottom: 0; border: 0; }
.more-resources { margin-top: 14px; }
.more-resources summary { min-height: 48px; padding: 12px 0; color: var(--primary); font-size: 13px; font-weight: 650; cursor: pointer; }
.more-resources summary span { margin-left: 6px; color: var(--muted); font-size: 11px; font-weight: 400; }
.more-resources summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
.decision-card { padding: 22px 20px; border-left: 4px solid var(--normal); }
.decision-card.priority-critical { border-left-color: var(--critical); }
.decision-card.priority-high { border-left-color: var(--high); }
/* Soft priority tint across the agenda, inbox, detail and helper overview. */
:is(.task-card, .compact-task, .decision-card).priority-normal { background-color: var(--task-normal); --task-glow: var(--task-glow-normal); }
:is(.task-card, .compact-task, .decision-card).priority-high { background-color: var(--task-high); --task-glow: var(--task-glow-high); }
:is(.task-card, .compact-task, .decision-card).priority-critical { background-color: var(--task-critical); --task-glow: var(--task-glow-critical); }
:is(.task-card, .compact-task, .decision-card):is(.priority-normal, .priority-high, .priority-critical) { --muted: var(--task-muted); border-left-width: 21px; background-image: linear-gradient(135deg, var(--task-glow) 0%, transparent 85%); box-shadow: inset 0 1px 0 #ffffff12, 0 8px 24px #0000000a; }
/* Light pastel task surfaces inside the dark shell need their own readable controls. */
@media (prefers-color-scheme: dark) {
    :is(.task-card, .compact-task, .decision-card):is(.priority-normal, .priority-high, .priority-critical) {
        color-scheme: light;
        --text: #20362e;
        --primary: #28533f;
        --primary-dark: #1c402f;
        --button-text: #fff;
        --background: #f3efe6;
        --surface: #f9f5eb;
        --surface-soft: #f2e9da;
        --border: #a99d87;
        --control-border: #7f806a;
        --success-bg: #e4f3e5;
        --success-text: #29623a;
        --error-bg: #ffebe9;
        --error-text: #9d302d;
        color: var(--text);
    }
}
.task-facts { display: grid; gap: 12px; margin: 22px 0; padding: 16px; border-radius: 12px; background: var(--background); font-size: 12px; }
.task-facts div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; }
.task-facts dt { color: var(--muted); }
.task-facts dd { margin: 0; font-weight: 650; }
.decision-form { margin-top: 22px; border-top: 1px solid var(--border); }
.decision-actions { display: grid; gap: 10px; margin-top: 24px; }
.auth-page { display: grid; align-content: center; min-height: 100vh; min-height: 100dvh; padding: 36px 22px; }
.auth-card { width: 100%; padding: 30px 24px; }
.auth-card::before { content: '✓'; display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 30px; border-radius: 16px; background: var(--accent); color: #213b27; font-size: 30px; }
.auth-form { margin-top: 28px; }
.auth-form button { margin-top: 26px; }
.auth-card > p:last-child { margin-bottom: 0; }
.setup-form { display: grid; gap: 24px; }
.account-card { min-width: 0; margin: 0; padding: 22px; }
.account-card legend { padding: 0 8px; }
.account-number { color: var(--primary); margin-right: 8px; }
.form-actions p { color: var(--muted); font-size: 12px; }
.welcome-card { padding: 26px; margin-top: 30px; }
.app-nav { position: fixed; z-index: 20; bottom: 0; left: 50%; transform: translateX(-50%); display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; width: min(100%, 440px); padding: 9px 16px max(10px, env(safe-area-inset-bottom)); border-top: 1px solid var(--chrome-border); background: var(--chrome); box-shadow: 0 -6px 24px #0000000a; }
.app-nav a { display: grid; grid-template-rows:24px minmax(24px,auto); justify-items:center; align-items:center; align-content:center; gap:2px; min-height:58px; border-radius:14px; color:var(--muted); font-size:11px; font-weight:600; line-height:1.15; text-align:center; text-decoration:none; }
.app-nav a[aria-current='page'] { background: var(--surface); color: var(--primary); box-shadow: inset 0 0 0 1px var(--border); }
.app-nav a:hover { background: var(--surface-soft); }
.meditation-day { display:flex; align-items:center; gap:6px; color:var(--primary); text-decoration:none; border-radius:14px; }
.meditation-day-art { position:relative; display:block; width:40px; height:40px; flex:none; }
.meditation-day-art > svg:first-child { position:absolute; inset:0; width:40px; height:40px; transform:rotate(-90deg); stroke-width:2; }
.meditation-ring-base { stroke:var(--border); }
.meditation-ring-fill { stroke:var(--primary); stroke-linecap:round; }
.meditation-day-art > .icon { position:absolute; inset:10px; width:20px; height:20px; }
.meditation-day small { display:block; color:var(--muted); font-size:9px; }
.meditation-day strong { display:block; margin-top:2px; font-size:13px; white-space:nowrap; }
.meditation-day:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
@media (max-width: 360px) {
    .app-nav { gap: 2px; padding-right: 8px; padding-left: 8px; }
    .app-nav a { font-size: 10px; }
}
.completed-total { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border: 1px solid var(--border); border-radius: 16px; background: var(--success-bg); color: var(--success-text); font-size: 14px; }
.completed-total strong { font-size: 24px; }
.completion-day { margin: 14px 0 0; font-size: 15px; letter-spacing: 0; }
.completed-task .status-badge { display: inline-flex; align-items: center; gap: 5px; }
.completed-task .status-badge .icon { width: 15px; height: 15px; }
.history-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 24px; font-size: 12px; }
.history-pagination a { display: inline-flex; align-items: center; border-radius: 12px; text-decoration: none; color: var(--primary); }
.task-filter { margin: 0 0 18px; padding: 8px 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.task-filter .check-label { margin: 0; min-height: 44px; align-items: center; cursor: pointer; }
:is(.task-card, .compact-task, .decision-card).completed-task:is(.priority-normal, .priority-high, .priority-critical) {
    --text: #203c28; --muted: #3b5941; --task-muted: #3b5941;
    --primary: #286539; --primary-dark: #1b4c29; --button-text: #fff;
    --surface: #f0f9ec; --surface-soft: #e2f1db; --background: #f0f9ec; --border: #95b38b;
    --control-border: #708368;
    --success-bg: #def0d5; --success-text: #286539;
    color: var(--text); border-left-color: #42a653;
    background-color: #bdcdb5; background-image: linear-gradient(135deg, #dde7d6, transparent 85%);
}
.completed-task .priority-dot, .completed-task .priority-badge::before { background: #42a653; }
/* Everyday lists: prioritize task content over introductory chrome. */
:is(.dashboard-page, .inbox-page, .completed-page) { padding-top: 14px; }
:is(.dashboard-page, .inbox-page, .completed-page) :is(.dashboard-heading, .page-header) { margin-bottom: 12px; }
:is(.dashboard-page, .inbox-page, .completed-page) :is(.dashboard-heading, .page-header) h1 { margin: 0; max-width: none; font-size: 23px; line-height: 1.25; letter-spacing: -.5px; }
.dashboard-page .helper-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.dashboard-page .compact-create { width: auto; min-height: 44px; padding: 8px 12px; font-size: 12px; border-radius: 12px; }
.dashboard-page .compact-create .icon { width: 18px; height: 18px; }
.dashboard-page .inbox-button { min-height: 64px; padding: 10px 14px; gap: 12px; border-radius: 16px; }
.dashboard-page .inbox-copy strong { font-size: 16px; }
.dashboard-page .inbox-count { min-width: 40px; font-size: 36px; letter-spacing: -1px; }
.dashboard-page .agenda-section { margin-top: 12px; }
.dashboard-page .day-navigation { grid-template-columns: 32px minmax(0, 1fr) 32px; gap: 2px; padding: 4px; border-radius: 16px; }
.dashboard-page .day-navigation a { min-height: 44px; border-radius: 12px; }
.dashboard-page .date-picker { margin: 0 0 6px; }
.dashboard-page .section-heading { margin-bottom: 10px; }
.dashboard-page .section-heading h2 { margin: 0; font-size: 20px; }
.dashboard-page .section-heading .eyebrow { font-size: 10px; letter-spacing: .6px; }
.dashboard-page .new-task-row { margin: 14px 0 0; }
.dashboard-page .task-filter { margin: 16px 0 0; }
:is(.dashboard-page, .completed-page) .compact-task { padding: 12px 14px; gap: 8px; }
:is(.dashboard-page, .inbox-page, .completed-page) :is(.task-list, .compact-task-list, .inbox-list) { gap: 12px; }
.dashboard-page .task-content { padding-top: 14px; padding-bottom: 14px; }
.dashboard-page .task-time { padding-top: 16px; }
.completed-page .completed-total { margin: 0 0 10px; padding: 8px 14px; }
.completed-page .completed-total strong { font-size: 20px; }
.completed-page .completion-day { margin-top: 4px; }
.dashboard-page .day-controls { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 4px; align-items: start; margin-bottom: 10px; }
.dashboard-page .day-current { display: grid; place-items: center; min-width: 0; min-height: 44px; font-size: clamp(18px, 5.7vw, 23px); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-page .day-return-today { display: flex; align-items: center; justify-content: center; min-height: 54px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--primary); text-decoration: none; font-size: 12px; font-weight: 700; }
.dashboard-page .day-return-today:hover, .dashboard-page .day-return-today[aria-current='date'] { background: var(--surface-soft); }
.dashboard-page .day-controls .date-picker { margin: 0; }
.dashboard-page .day-controls .date-picker summary { min-height: 54px; padding: 8px; border: 1px solid var(--border); background: var(--surface); border-radius: 14px; }
.dashboard-page .day-controls .date-picker summary .icon { width: 20px; height: 20px; }
.dashboard-page .day-controls .date-picker summary .icon:last-child { display: none; }
.dashboard-page .day-controls .date-picker summary span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.dashboard-page .day-controls .date-picker-form { position: absolute; z-index: 6; left: 0; right: 0; top: calc(100% + 6px); box-shadow: 0 8px 24px #0003; }

/* Compact attention cues keep today's work in its original position. */
.dashboard-page .adam-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.attention-counter { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 6px; min-height: 30px; padding: 2px 9px; border: 1px solid #b78d11; border-radius: 999px; background: #ffdf62; color: #342900; text-decoration: none; font-size: 13px; }
.attention-counter > span:first-child { font-size: 20px; font-weight: 900; line-height: 1; }
.attention-counter-label { font-size: 11px; font-weight: 700; }
.overdue-stack { margin: 16px 0 0; padding: 0 0 6px; border: 1px solid #aa872d; border-radius: 17px; background: var(--surface); scroll-margin-top: 90px; box-shadow: 0 4px 0 -1px var(--surface-soft), 0 5px 0 -1px #aa872d; }
.overdue-stack > summary { display: flex; align-items: center; gap: 9px; min-height: 58px; padding: 10px 12px; cursor: pointer; list-style: none; }
.overdue-stack > summary::-webkit-details-marker { display: none; }
.overdue-stack > summary strong { flex: 1; font-size: 15px; }
.overdue-stack > summary .icon { width: 17px; height: 17px; }
.overdue-stack[open] > summary .icon { transform: rotate(90deg); }
.overdue-stack > .field-help { margin: 0 12px 12px; }
.overdue-stack > .compact-task-list { padding: 0 8px 8px; }
.overdue-count { font-size: 17px; font-weight: 800; }
.overdue-mark { display: inline-grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border: 1px solid #9c7700; border-radius: 9px; background: #ffda3e; color: #302500; font-size: 25px; font-weight: 900; line-height: 1; box-shadow: 0 2px 0 #85660835; }
.overdue-label { display: flex; align-items: center; gap: 8px; margin: 6px 0 10px; font-size: 12px; font-weight: 700; line-height: 1.4; }
.overdue-task .overdue-actions { display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: center; gap: 6px 12px; border-top: 1px solid var(--border); padding-top: 8px; }
.overdue-actions form { margin: 0; }
.overdue-actions button { min-height: 40px; padding: 8px 14px; font-size: 12px; }
.overdue-actions .text-link { display: inline-flex; align-items: center; min-height: 40px; font-size: 12px; }
.help-badge { display: inline-block; margin-top: 5px; padding: 4px 8px; border: 1px solid #a2accd; border-radius: 8px; background: #e3e9ff; color: #263766; font-size: 11px; font-weight: 750; text-decoration: none; }
.task-help { margin: 18px 0; padding: 14px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-soft); scroll-margin-top: 90px; }
.task-help h2 { margin: 0; font-size: 17px; }
.task-help form { margin-top: 12px; }
.task-quick-links { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.task-quick-links a { min-height: 30px; display: inline-flex; align-items: center; }
.day-empty-compact { margin-bottom: 12px; }
.return-day-picker { min-width: 0; margin: 0; padding: 0; border: 0; }
.return-day-picker legend { margin-bottom: 8px; font-size: 16px; font-weight: 750; }
.return-day-buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 12px; }
.return-day-buttons button { min-height: 44px; padding: 8px 4px; font-size: 13px; }
.return-day-buttons button[aria-pressed='true'] { outline: 2px solid var(--primary); outline-offset: -2px; }
.return-date-fields { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 8px; }
.return-date-fields input { min-width: 0; width: 100%; padding: 10px 7px; }
/* A calm, compact face; forms and secondary actions only after expansion. */
:is(.dashboard-page, .inbox-page, .completed-page) .fold-card {
    display: block; padding: 0; min-width: 0; overflow: hidden; border-radius: 16px;
    color: var(--text); transition: box-shadow 220ms ease;
}
.fold-card > .task-summary {
    display: flex; align-items: center; gap: 8px; min-height: 76px;
    padding: 12px 10px 12px 13px; list-style: none; cursor: pointer;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.task-summary::-webkit-details-marker { display: none; }
.task-summary::marker { content: ''; }
.task-summary:focus-visible { outline: 3px solid #536d43; outline-offset: -4px; border-radius: 10px; }
.task-summary-copy { display: block; flex: 1; min-width: 0; }
.fold-card .task-summary-title { display: block; margin: 0; color: inherit; font-size: 17px; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.task-summary-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 8px; margin-top: 5px; font-size: 11px; line-height: 1.4; color: var(--muted); }
.task-summary-meta > span:first-child { font-weight: 750; }
.task-summary-warning { display: inline-flex; align-items: center; gap: 5px; color: #544209; font-weight: 750; }
.task-summary-warning .overdue-mark { width: 20px; height: 20px; flex-basis: 20px; border-radius: 6px; font-size: 18px; }
.task-summary-meta .help-badge { margin: 0; padding: 1px 5px; font-size: 10px; }
.task-fold-arrow { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid #34503920; border-radius: 50%; background: #ffffff38; transition: background 200ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1); }
.task-fold-arrow .icon { width: 18px; height: 18px; }
.fold-card[open] > .task-summary .task-fold-arrow { transform: rotate(90deg); background: #ffffff70; }
.fold-card[data-expanded='false'] > .task-summary .task-fold-arrow { transform: rotate(0); }
.fold-card[open] { box-shadow: 0 7px 20px #00000012; }
.fold-card > .task-fold-body { padding: 12px 14px 15px; border-top: 1px solid #34503925; overflow-wrap: anywhere; }
.task-fold-body > :first-child { margin-top: 0; }
.task-fold-body > :last-child { margin-bottom: 0; }
.task-fold-body > p { margin: 8px 0; font-size: 14px; line-height: 1.5; }
.task-fold-body small { display: block; color: var(--muted); }
.task-fold-body .helper-task-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 10px; }
.task-fold-body :is(.helper-task-actions, .task-quick-links) a { display: inline-flex; align-items: center; min-height: 44px; }
.task-fold-body .inline-action { margin-top: 12px; }
.task-fold-body .decision-form { margin-top: 14px; }
.helper-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-bottom: 14px; }
.helper-groups a { display: grid; justify-items: center; align-content: center; gap: 3px; padding: 8px 3px; min-height: 64px; border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: var(--muted); background: var(--surface); font-size: 11px; font-weight: 700; }
.helper-groups strong { font-size: 20px; line-height: 1.1; }
.helper-groups a[aria-current='page'] { background: var(--accent); color: #20362e; border-color: var(--accent); box-shadow: inset 0 -3px 0 #32563830; }
.inbox-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-items:start; }
.inbox-choices form { margin: 0; }
.inbox-choices :is(button, .leave-inbox, .alternate-plan > summary) { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 10px; border-radius: 12px; text-decoration: none; font-size: 13px; font-weight: 750; text-align: center; }
.alternate-plan > summary { list-style: none; cursor: pointer; }
.alternate-plan > summary::-webkit-details-marker { display: none; }
.inbox-choices > .quick-accept { grid-column:1; grid-row:1; min-width:0; }
.inbox-choices > .alternate-plan { display:contents; }
.inbox-choices > .alternate-plan::details-content { display:contents; }
.inbox-choices > .alternate-plan > summary { grid-column:2; grid-row:1; }
.inbox-choices > .leave-inbox { grid-column:3; grid-row:1; }
.inbox-choices > .alternate-plan > .decision-form { grid-column:1 / -1; grid-row:2; padding:12px 0 4px; min-width:0; }
.inbox-choices > .alternate-plan:not([open]) > .decision-form { display:none; }
.page .inbox-choices > .quick-accept button, .page .inbox-choices > .alternate-plan > summary, .page .inbox-choices > a.leave-inbox { position:relative; aspect-ratio:1; min-height:0; display:flex; flex-direction:column; gap:8px; padding:8px 3px; margin:0; border-radius:16px; font-size:clamp(11px,3.1vw,13px); line-height:1.25; box-shadow:none; }
.page .inbox-choices > .quick-accept button .icon, .page .inbox-choices > .alternate-plan > summary .icon, .page .inbox-choices > .leave-inbox .icon { position:static; transform:none; width:26px; height:26px; }
.page .inbox-choices > .quick-accept button:disabled { opacity:.45; cursor:not-allowed; }
.page .inbox-choices > .alternate-plan[open] > summary { border-color:var(--action-text); background:var(--action-bg); }
.inbox-choice-body .inbox-deadline { font-size: 12px; font-weight: 700; margin-bottom: 10px; }
.inbox-choice-body .field-help { font-size: 12px; }
.inbox-choice-body .decision-form { padding-top: 12px; margin-top: 10px; }
.inbox-choice-body .decision-actions { margin-top: 10px; }
.inbox-extras { margin-top: 8px; font-size: 13px; }
.inbox-extras > summary { cursor: pointer; padding: 10px 0; min-height: 44px; font-weight: 650; }
.inbox-extras p { font-size: 13px; }
.returned-done { margin-top: 8px; }
.returned-done button { width: 100%; min-height: 44px; font-size: 13px; }
.time-stepper { margin: 8px 0 12px; }
.time-stepper-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) minmax(54px,1.6fr) repeat(3,minmax(0,1fr)); align-items: center; gap: 3px; }
.time-stepper .time-stepper-row .time-readout { padding: 0; text-align: center; font-size: 19px; font-weight: 850; font-variant-numeric: tabular-nums; color: var(--text); background: transparent; border: 0; }
.time-stepper .time-stepper-row button { min-height: 44px; padding: 8px 0; font-size: 12px; border-radius: 9px; }
.time-stepper .field-help { margin: 5px 0 0; font-size: 11px; }
.time-stepper .field-help:empty { display: none; }
.return-date-fields.time-enhanced { grid-template-columns: minmax(0,1fr); }
.return-date-fields [hidden] { display: none; }
/* Task actions: stable icon position, centered labels and semantic colours. */
.action-done { --action-bg: var(--brand); --action-text: var(--brand-ink); --action-border: #91b86b; }
.action-plan { --action-bg: #deebd1; --action-text: #35552b; --action-border: #adc49a; }
.action-help { --action-bg: #ebe5ef; --action-text: #60496d; --action-border: #c8b8d1; }
.action-remind { --action-bg: #dcebe3; --action-text: #305d4a; --action-border: #a5c3b2; }
.action-return { --action-bg: #fff0cb; --action-text: #785519; --action-border: #deca99; }
.action-remove { --action-bg: #f9dedd; --action-text: #923e3b; --action-border: #dfb6b4; }
.action-neutral { --action-bg: #e9ede3; --action-text: #4b5943; --action-border: #bbc7b1; }
.page .action-button.action-button { position: relative; display: flex; align-items: center; justify-content: center; gap: 0; width: 100%; min-height: 44px; padding: 10px 38px; margin: 0; border: 1px solid var(--action-border); border-radius: 11px; background: var(--action-bg); color: var(--action-text); text-align: center; text-decoration: none; font-size: 13px; font-weight: 700; line-height: 1.3; box-shadow: none; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; transition: filter 150ms ease; }
.page .action-button > .icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 19px; height: 19px; }
.page .action-button > span { min-width: 0; overflow-wrap: anywhere; }
.page .action-button:focus:not(:focus-visible) { outline: none; }
.page .action-button:active { filter: brightness(.96); }
.reschedule-control { margin:10px 0; border:0; min-width:0; }
.reschedule-control > .task-fold-body { padding:10px 0 2px; border:0; }
.reschedule-control .reschedule-form { display:grid; gap:10px; }
.reschedule-control .reschedule-form > label { margin:0; }
.reschedule-control[open] > summary .task-fold-arrow,
.task-more-actions[open] > summary .task-fold-arrow { transform:rotate(90deg); }
.reschedule-control[data-expanded='false'] > summary .task-fold-arrow { transform:none; }
@media (hover: hover) and (pointer: fine) { .page .action-button:hover { filter: brightness(.97); } }
.page .confirm-action, .page .compact-action { display: grid; gap: 6px; margin: 10px 0; }
.page :is(.confirm-action, .inline-action, .returned-done, .inbox-extras, .danger-panel) .check-label { margin: 8px 0; font-size: 12px; line-height: 1.4; font-weight: 500; }
.page .task-quick-links, .page .helper-task-actions { display: grid; gap: 6px; margin: 8px 0 0; }
.task-detail-page { padding-top: 14px; }
.task-detail-page .decision-card { padding-top: 16px; padding-bottom: 16px; }
.task-detail-page .task-detail-title { margin: 10px 0; }
.task-detail-page .decision-card > p { margin: 8px 0; font-size: 13px; }
.task-detail-page .task-facts { margin: 12px 0; }
.task-detail-page .task-help { padding: 12px; margin: 12px 0; }
.task-detail-page .task-help h2 { margin: 0; font-size: 16px; }
.task-detail-page .task-help form { margin-top: 8px; }
.task-detail-page .decision-form { margin-top: 12px; padding-top: 12px; }
.task-detail-page .decision-form > label:first-of-type { margin-top: 0; }
.task-detail-page .decision-actions { margin-top: 10px; gap: 6px; }
.task-detail-page .datetime-control { margin-bottom: 8px; }
.task-detail-page .return-action { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.return-action h2, .danger-panel h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; }
.return-action h2 .icon, .danger-panel .icon { width: 20px; height: 20px; flex-shrink: 0; }
.page .danger-panel { margin: 12px 0 0; padding: 14px; border: 1px solid #dfb6b4; border-radius: 16px; background: #f9e8e6; color: #653a38; }
.danger-panel h2 > .icon, .danger-panel summary > .icon { color: #b63c3c; }
.danger-panel .field-help { color: #785b58; line-height: 1.45; }
.page .danger-panel form { display: grid; gap: 6px; margin-top: 8px; }
.danger-panel > summary { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0; }
.page .danger-panel > summary { color: #923e3b; }
.danger-panel { --primary: #923e3b; color-scheme: light; }
.inbox-extras label { margin-top: 10px; }
@media (prefers-reduced-motion: reduce) { .page .action-button { transition: none; } }
/* Icon and action above, independent arming checkbox below. */
.page .confirm-button { position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(66px,1fr) 44px; align-items:stretch; min-width:0; min-height:112px; border:1px solid var(--action-border); border-radius:15px; background:var(--action-bg); color:var(--action-text); margin:6px 0; }
.page .confirm-button::before { content:''; position:absolute; left:8px; right:8px; bottom:44px; border-top:1px solid var(--action-border); pointer-events:none; }
.page .helper-task-actions form, .page .helper-task-actions .confirm-button { margin: 0; }
.page .confirm-button .confirm-toggle { grid-row:2; justify-self:center; display:flex; align-items:center; justify-content:center; width:44px; min-height:44px; margin:0; padding:0; cursor:pointer; border:0; -webkit-tap-highlight-color:transparent; }
.page .confirm-toggle input { width: 21px; height: 21px; min-height: 21px; margin: 0; padding: 0; accent-color: var(--action-text); cursor: pointer; color-scheme: light; }
.page .confirm-button.action-done .confirm-toggle input { accent-color: var(--brand-ink); }
.page .confirm-button .action-button.action-button { grid-row:1; height:100%; min-height:66px; flex-direction:column; gap:6px; border:0; border-radius:14px 14px 0 0; padding:8px 3px; background:transparent; color:inherit; }
.page .confirm-button .action-button > .icon { position:static; transform:none; width:25px; height:25px; }
.page .confirm-button .action-button:disabled { cursor: default; opacity: .65; filter: none; }
.page .confirm-button:has(:focus-visible) { outline: 2px solid var(--primary); outline-offset: 2px; }
.confirm-progress { position:absolute; bottom:44px; left:8px; right:8px; height:2px; background:currentColor; opacity:.4; transform:scaleX(0); transform-origin:left; pointer-events:none; }
.is-armed > .confirm-progress { animation: confirm-countdown 5s linear forwards; }
.confirm-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
/* Compact card choices share the height of the two-step confirmation tile. */
.page .action-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-items:start; }
.page .action-tiles > * { min-width:0; }
.page .action-tiles > a.action-button { aspect-ratio:1; min-height:112px; flex-direction:column; gap:8px; padding:8px 2px; border-radius:15px; font-size:12px; }
.page .action-tiles > a.action-button > .icon { position:static; transform:none; width:25px; height:25px; }
.page .action-tiles .confirm-button { width:100%; aspect-ratio:1; overflow:hidden; margin:0; }
.page .action-tiles .confirm-button .action-button { font-size:12px; }
@keyframes confirm-countdown { from { transform: scaleX(1); } to { transform: scaleX(0); } }
/* Two primary actions, with a full-width panel and comfortable independent targets. */
.page .task-primary-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:start; margin:10px 0; }
.page .task-primary-actions > .primary-complete { grid-column:1; grid-row:1; min-width:0; margin:0; }
.page .task-primary-actions .reschedule-control { display:contents; }
.page .task-primary-actions .reschedule-control::details-content { display:contents; }
.page .task-primary-actions .reschedule-control > summary { grid-column:2; grid-row:1; display:grid; grid-template-rows:52px 44px; justify-items:center; align-items:center; padding:0; min-height:98px; border-radius:15px; }
.page .task-primary-actions .primary-tile-copy { display:flex; flex-direction:column; align-items:center; gap:4px; padding:4px; }
.page .task-primary-actions .primary-tile-copy > .icon { position:static; width:22px; height:22px; transform:none; }
.page .task-primary-actions .reschedule-control > .task-fold-body { grid-column:1 / -1; grid-row:2; min-width:0; padding:12px; border:1px solid var(--action-border, var(--border)); border-radius:12px; background:#ffffff26; }
.page .task-primary-actions .reschedule-control:not([open]) > .task-fold-body { display:none; }
.page .task-primary-actions .primary-complete .confirm-button { min-height:98px; grid-template-rows:52px 44px; margin:0; }
.page .task-primary-actions .primary-complete .confirm-button .action-button { min-height:52px; padding:4px; gap:4px; }
.page .task-primary-actions .primary-complete .confirm-button .action-button > .icon { width:22px; height:22px; }
.page .task-primary-actions .reschedule-form > label { display:block; margin:0; }
.page .task-primary-actions .datetime-control { margin:8px 0 0; }
.page .task-primary-actions .field-help { margin:0 0 10px; }
.page .task-quick-links.task-secondary-actions { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:8px; margin-top:10px; }
.page .task-secondary-actions > .action-button { min-height:44px; padding:8px 5px; gap:6px; font-size:12px; }
.page .task-secondary-actions > .action-button > .icon { position:static; transform:none; width:18px; height:18px; flex-shrink:0; }
.task-fold-body > .task-byline { margin:8px 0; font-size:12px; line-height:1.45; color:var(--muted); }
.task-more-actions { margin-top:12px; border-top:1px solid var(--border); padding-top:4px; }
.task-more-actions > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; gap:8px; list-style:none; cursor:pointer; font-size:13px; font-weight:700; }
.task-more-actions .return-action { margin-top:10px; padding-top:10px; }
@media (prefers-reduced-motion: reduce) { .is-armed > .confirm-progress { animation: none; transform: scaleX(1); } }
.datetime-control { min-width: 0; margin: 8px 0 14px; padding: 6px; border: 1px solid var(--border); border-radius: 16px; background: var(--surface-soft); }
.dt-date-row { display: grid; grid-template-columns: 34px minmax(0,1fr) 34px 36px; gap: 3px; align-items: center; }
.dt-time-row { display: grid; grid-template-columns: 34px minmax(0,1fr) 34px 36px; gap: 3px; align-items: center; margin-top: 4px; padding-top: 4px; border-top: 1px solid var(--border); }
.dt-time-only .dt-time-row { margin-top:0; padding-top:0; border-top:0; }
.datetime-control .dt-button { display: grid; place-items: center; min-width: 0; width: 100%; min-height: 44px; padding: 0; margin: 0; border: 0; border-radius: 10px; background: transparent; color: var(--text); font-size: 25px; line-height: 1; font-weight: 600; cursor: pointer; transition: background 160ms ease, transform 160ms ease; }
.datetime-control :is(.dt-date-row, .dt-time-row) .dt-button { display: grid; padding: 0; min-height: 44px; font-size: 25px; }
.datetime-control .dt-button { box-shadow: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.datetime-control .dt-button.dt-step { border: 1px solid var(--border); border-color: color-mix(in srgb, var(--primary) 20%, transparent); background: var(--surface); color: var(--primary); box-shadow: none; }
@media (hover: hover) and (pointer: fine) {
    .datetime-control .dt-button:hover:not(:disabled) { background: var(--surface); }
    .datetime-control .dt-button.dt-step:hover:not(:disabled) { background: color-mix(in srgb, var(--primary) 6%, var(--surface)); }
}
.datetime-control .dt-button:active:not(:disabled) { transform: scale(.97); }
.datetime-control .dt-button.dt-step:active:not(:disabled) { background: color-mix(in srgb, var(--primary) 10%, var(--surface)); }
.datetime-control .dt-button.dt-step:disabled { cursor: default; opacity: .45; box-shadow: none; transform: none; }
.datetime-control .dt-button:focus:not(:focus-visible) { outline: none; }
.datetime-control .dt-button:focus-visible, .dt-calendar:has(:focus-visible) { outline: 2px solid var(--primary); outline-offset: -2px; }
.dt-date-text { min-width: 0; text-align: center; font-size: 13px; font-weight: 750; line-height: 1.25; font-variant-numeric: tabular-nums; }
.dt-calendar { position: relative; display: grid; place-items: center; height: 44px; border-radius: 10px; color: var(--primary); }
.dt-calendar svg, .dt-clock svg { width: 20px; height: 20px; }
.datetime-control .dt-button.dt-clock { color: var(--primary); }
.datetime-control .dt-calendar-input { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.dt-time-cell { display: grid; align-items: center; min-width: 0; }
.datetime-control .dt-time-row .dt-time-text { font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.datetime-control .dt-time-editor { width: 100%; min-width: 0; height: 44px; padding: 3px; margin: 0; text-align: center; font-size: 20px; font-weight: 750; border-radius: 10px; }
.datetime-control .dt-time-editor[aria-invalid='true'] { border-color: var(--error-text); }
.datetime-control .dt-clear { width: auto; min-height: 32px; margin: 3px auto 0; padding: 3px 10px; font-size: 11px; color: var(--muted); }
.dt-hint { margin: 6px 4px 2px; font-size: 11px; line-height: 1.35; color: var(--muted); }
.dt-hint:empty { display: none; }
.plan-toolbar { display:flex; align-items:center; gap:10px; margin:0 0 10px; }
.plan-toolbar form { display:flex; flex:1; min-width:0; gap:6px; margin:0; }
.plan-toolbar form { flex-wrap:wrap; padding:4px; border-radius:14px; background:var(--surface); border:1px solid var(--chrome-border); }
.plan-toolbar .plan-tab { flex:1; width:auto; padding:7px 9px; min-height:44px; font-size:12px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--muted); box-shadow:none; }
.plan-toolbar .plan-tab-own[aria-pressed='true'] { background:var(--brand); color:var(--brand-ink); border-color:#91b86b; }
.plan-toolbar .plan-tab-helper[aria-pressed='true'] { background:#d5e7df; color:#305b4b; border-color:#9cbcae; }
.plan-toolbar .plan-tab-preview[aria-pressed='true'] { background:#e9ede3; color:#4b5943; border:1px dashed #667b57; }
.plan-toolbar .plan-tab { flex:1 1 0; min-width:0; padding-inline:4px; font-size:11px; }
.preview-notice { margin:8px 0 12px; padding:9px 11px; border:1px dashed var(--border); border-radius:12px; color:var(--muted); font-size:12px; }
.preview-disabled-fields { display:contents; border:0; margin:0; padding:0; min-width:0; }
.view-preview a[aria-disabled='true'] { opacity:.6; cursor:not-allowed; }
.view-preview .plan-context small { margin:0; font-size:10px; }
.plan-toolbar > a { font-size:13px; padding:8px 0; }
.admin-page { padding-bottom:32px; }
.admin-page .card { margin-bottom:14px; }
.admin-page h2 { margin-top:0; }
.admin-account > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; min-height:66px; padding:18px 20px; }
.admin-account > summary span { font-size:12px; color:var(--muted); }
.admin-account > .task-form { padding:4px 20px 22px; }
.admin-account > form.task-form { padding-top:16px; }
.admin-account[open] > summary { border-bottom:1px solid var(--border); }
.admin-account .task-form > p:first-child { margin:16px 0 22px; }
.admin-account .task-form > details { margin-top:22px; padding-top:18px; border-top:1px solid var(--border); }
.admin-account .task-form > details > summary { padding:5px 0 10px; cursor:pointer; font-weight:650; }
.admin-account .task-form > details form { padding:8px 0 0; }
.admin-link { border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:14px; }
.admin-page .task-form label { margin-top:16px; }
.admin-page .task-form .check-label { margin:12px 0; }
.admin-page .task-form button { margin-top:14px; }
.admin-page .field-help { margin:14px 0; line-height:1.6; }
.admin-page > section { margin-bottom:26px; }
.admin-account > summary span { text-align:right; }
.view-own { --view-frame:#668965; }
.view-helper { --view-frame:#6e9b83; --chrome:#e0eae1; --chrome-border:#a8c0ad; }
body:is(.view-own,.view-helper) { border-inline:2px solid var(--view-frame); }
body.view-adam-profile { --view-frame:var(--brand); border:6px solid var(--view-frame); border-top-width:0; border-bottom-width:0; }
.view-adam-profile .app-header { border-top:6px solid var(--view-frame); }
.view-adam-profile .app-nav { border-inline:6px solid var(--view-frame); border-bottom:6px solid var(--view-frame); }
.plan-context { display:block; max-width:125px; color:var(--primary); font-size:11px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.user-menu > .plan-context { max-width:110px; overflow:visible; }
.greeting-role { display:block; margin-top:4px; color:var(--muted); font-size:12px; font-weight:500; letter-spacing:0; line-height:1.4; }
.app-header > .plan-context { margin-left:auto; }
.tracking-task { --text:#203c32; --muted:#50665d; margin-top:12px; border:1px solid #b8cac4; border-left:8px solid #6b9c8a; border-radius:20px; background:linear-gradient(120deg,#e8f0e6,#cedfd8); color:var(--text); }
.tracking-task.tracking-recorded { background:linear-gradient(120deg,#eef0ec,#dbe3dc); border-left-color:#7a9283; }
.tracking-task .task-summary-meta { color:#50665d; }
.tracking-task .task-summary-title { font-size:16px; }
.tracking-task .task-fold-body { border-top-color:#91aaa755; }
.tracking-backlog { display:flex; align-items:center; gap:12px; padding:14px 16px; margin:12px 0; border:1px solid #c7a856; border-radius:16px; background:#fff0c7; color:#574519; text-decoration:none; font-size:14px; }
.tracking-backlog small { display:block; margin-top:3px; color:#6c5724; }
.tracking-backlog p { margin:5px 0; }
.tracking-backlog .text-link { color:#574519; }
.tracking-page .page-header { margin-bottom:18px; }
.tracking-page h1 { font-size:30px; }
.tracking-date { margin:16px 0; }
.journal-heading { margin-bottom:16px; }
.journal-heading-title { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; }
.journal-heading-title h1 { margin:0; }
.journal-heading .lead { margin:6px 0; }
.journal-days { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:6px; }
.journal-days a { display:grid; place-items:center; min-height:44px; padding:0 8px; border:1px solid var(--border); border-radius:12px; background:var(--surface); color:var(--primary); font-weight:700; text-decoration:none; }
.journal-days a:hover, .journal-days a[aria-current="date"] { background:var(--surface-soft); }
.journal-days + .tracking-date { margin-top:12px; }
.journal-shortcuts { display:grid; gap:8px; margin:16px 0; }
.journal-shortcuts > a { margin:0; }
.journal-shortcuts .tracking-backlog > span { flex:1; }
.tracking-date > div { display:flex; gap:8px; margin-top:7px; }
.tracking-date input { flex:1; min-width:0; }
.tracking-date button { width:auto; padding:8px 14px; }
.tracking-retrospective { display:flex; align-items:flex-start; gap:10px; margin:12px 0 16px; padding:13px 15px; border:1px solid var(--border); border-radius:16px; background:var(--surface-soft); }
.tracking-retrospective > .icon { margin-top:2px; color:var(--primary); }
.tracking-retrospective strong { font-size:13px; }
.tracking-retrospective p { margin:3px 0 0; font-size:12px; line-height:1.5; color:var(--muted); }
.tracking-form { margin:14px 0; }
.tracking-outcomes { border:0; padding:0; margin:0; min-width:0; }
.tracking-outcomes legend { margin-bottom:12px; font-size:18px; font-weight:700; }
.tracking-form .tracking-choice { display:flex; gap:12px; align-items:center; min-height:56px; margin:0; padding:12px; border:1px solid #b8caba; border-radius:14px; cursor:pointer; background:#edf5e9; color:#2a4932; }
.tracking-form .tracking-choice + .tracking-choice { margin-top:12px; }
.tracking-form .tracking-choice input { width:22px; height:22px; min-height:22px; padding:0; margin:0; flex-shrink:0; color-scheme:light; accent-color:#326653; }
.tracking-form .tracking-choice-support { background:#e7eff8; color:#2d4f6a; border-color:#b9cddd; }
.tracking-form [data-violation-count] { margin-top:18px; }
.page .tracking-form > .action-button.action-button { min-height:52px; padding:15px 40px; margin:20px 0 12px; }
.tracking-choice:has(input:checked) { outline:2px solid currentColor; outline-offset:2px; }
[data-violation-count][hidden] { display:none; }
.tracking-feedback { display:flex; gap:16px; border-radius:20px; padding:20px; margin:16px 0; }
.tracking-feedback h2 { margin:0 0 8px; font-size:21px; }
.tracking-feedback p { margin:6px 0 0; font-size:14px; }
.tracking-feedback > .icon { width:36px; height:36px; }
.tracking-success { background:linear-gradient(135deg,#e7f5c7,#badab0); color:#2c4828; }
.tracking-success > .icon { animation:tracking-reward .55s ease-out both; }
.tracking-streak { padding:24px 20px 18px; margin:16px 0; border:1px solid #d9eab4; border-radius:24px; text-align:center; }
.tracking-streak .streak-kicker { display:flex; align-items:center; justify-content:center; gap:8px; margin:0; font-size:14px; font-weight:700; }
.streak-counter { display:block; margin:8px 0 0; font-size:clamp(76px,22vw,104px); font-weight:800; line-height:1; letter-spacing:-5px; font-variant-numeric:tabular-nums; }
.tracking-streak h2 { margin:6px 0 14px; font-size:20px; letter-spacing:1px; text-transform:uppercase; }
.streak-praise { margin:0 0 5px; font-weight:650; font-size:15px; }
.streak-caption { margin:0; font-size:12px; color:#48603c; }
.tracking-streak .streak-milestone { display:flex; align-items:center; justify-content:center; gap:6px; margin:14px 0 0; font-size:14px; font-weight:700; }
.streak-milestones { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin:18px 0 14px; }
.streak-milestones > span { padding:5px 10px; border:1px solid #75935d66; border-radius:99px; font-size:11px; color:#4b633d; }
.streak-milestones > .is-reached { background:#355737; color:#f4f9ed; border-color:#355737; }
.streak-record { margin:0; padding-top:13px; border-top:1px solid #75935d55; font-size:13px; }
.tracking-streak.is-celebrating .streak-counter { animation:streak-pop .65s cubic-bezier(.2,.8,.2,1) both; }
.tracking-remove { margin:16px 0 20px; padding:18px; border:1px solid #deb7b5; border-radius:18px; background:#f7e3e1; color:#783f3d; }
.tracking-remove h2 { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:18px; }
.tracking-remove p { margin:0 0 16px; font-size:13px; line-height:1.6; }
.tracking-remove .check-label { margin-bottom:12px; }
@keyframes streak-pop { 0% { transform:scale(.85); opacity:.4; } 65% { transform:scale(1.06); opacity:1; } 100% { transform:scale(1); opacity:1; } }
@media (prefers-reduced-motion:reduce) { .tracking-streak.is-celebrating .streak-counter { animation:none; } }
.tracking-support { background:#dceaf4; color:#294d65; }
.tracking-edit { margin:12px 0; scroll-margin-top:96px; }
.tracking-edit > summary { display:grid; grid-template-columns:22px 1fr 22px; align-items:center; gap:10px; min-height:48px; padding:10px 14px; border:1px solid var(--border); border-radius:14px; background:var(--surface-soft); color:var(--primary); cursor:pointer; font-weight:700; list-style:none; }
.tracking-edit > summary::-webkit-details-marker { display:none; }
.tracking-edit > summary:hover { background:var(--surface); }
.tracking-edit[open] .tracking-edit-arrow { transform:rotate(90deg); }
.tracking-stats { padding:20px; margin:20px 0; }
.tracking-stats h2 { margin:0 0 12px; }
.tracking-stats p { margin:8px 0; font-size:14px; }
.tracking-number { font-size:42px; line-height:1.2; color:var(--primary); }
.tracking-number small { font-size:16px; }
.tracking-history ul { list-style:none; padding:0; margin:0; }
.tracking-history a { display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--border); color:var(--text); text-decoration:none; font-size:14px; }
.day-badge { display:inline-block; flex:0 0 auto; width:78px; height:88px; vertical-align:middle; color:#66400b; }
.day-badge-art { display:flex; position:relative; width:100%; height:100%; flex-direction:column; align-items:center; justify-content:center; gap:0; isolation:isolate; }
.day-badge-streak .day-badge-art::before { content:''; position:absolute; inset:0; z-index:-1; clip-path:polygon(50% 0,96% 14%,96% 51%,87% 70%,72% 85%,50% 100%,28% 85%,13% 70%,4% 51%,4% 14%); background:linear-gradient(125deg,#b77a19 0%,#efcd72 18%,#fff4b2 35%,#e5b341 52%,#f9dc85 73%,#aa6c0b 100%); }
.day-badge .badge-shield-line, .day-badge .badge-broken-ring { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.day-badge .badge-shield-line { color:#9a660d; }
.day-badge .icon { width:14px; height:14px; margin:0 0 1px; }
.day-badge .day-badge-number { display:block; color:inherit; font-size:29px; line-height:1; font-weight:850; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.day-badge .day-badge-caption { display:block; margin:3px 0 5px; font-size:9px; line-height:1; letter-spacing:.6px; font-weight:750; text-transform:uppercase; }
.day-badge-wide .day-badge-number { font-size:23px; letter-spacing:-.8px; }
.day-badge-setback { color:#4c6980; }
.day-badge-setback .day-badge-art { border-radius:50%; background:radial-gradient(ellipse at 45% 35%,#f4f9fc,#d8e5ed 60%,transparent 62%); }
.day-badge-setback .day-badge-number { padding-bottom:13px; font-size:28px; }
.day-badge-setback .day-badge-number small { display:inline; font-size:16px; margin-left:2px; color:inherit; }
.day-badge-setback .day-badge-caption { position:absolute; bottom:0; margin:0; color:#456176; font-size:8px; }
.day-badge-setback.day-badge-wide .day-badge-number { font-size:23px; }
.day-badge-tasks { color:#111; }
.day-badge-tasks .day-badge-art::before { content:''; position:absolute; z-index:-1; width:66px; height:66px; left:1px; top:11px; border-radius:50%; background:var(--brand); }
.day-badge-tasks .day-badge-number { transform:translateX(-5px); font-size:30px; letter-spacing:-1px; }
.day-badge-tasks.day-badge-wide .day-badge-number { font-size:23px; letter-spacing:-.7px; }
.day-badge-tasks .badge-edge-check { position:absolute; right:0; bottom:9px; width:34px; height:40px; color:#111; pointer-events:none; }
.tracking-streak .streak-hero-badge { display:flex; justify-content:center; margin-top:12px; }
.streak-hero-badge .day-badge { width:148px; height:166px; }
.streak-hero-badge .day-badge-number { font-size:60px; letter-spacing:-2px; }
.streak-hero-badge .day-badge-wide .day-badge-number { font-size:42px; }
.streak-hero-badge .day-badge-caption { font-size:12px; margin-top:6px; }
.streak-hero-badge .icon { width:22px; height:22px; margin-bottom:5px; }
.tracking-streak.is-celebrating .streak-hero-badge { animation:streak-pop .65s cubic-bezier(.2,.8,.2,1) both; }
.tracking-task.tracking-resisted { background:linear-gradient(125deg,#fff8dd,#f3e8ba); border-left-color:#cba140; --text:#4d421e; --muted:#6b633f; }
.tracking-task.tracking-violated { background:linear-gradient(125deg,#ecf3f7,#cddde8); border-left-color:#769bb5; --text:#2e485d; --muted:#4f6576; }
.tracking-task .task-summary-meta { color:var(--muted); }
.tracking-task:has(.day-badge) > .task-summary { gap:12px; padding:12px 10px; }
.tracking-task:has(.day-badge) .task-fold-arrow { width:28px; height:28px; flex-basis:28px; }
.day-completed { margin-top:12px; border:1px solid #9fb2a3; background:linear-gradient(120deg,#d8e2d9,#bdccbf); --text:#284b3b; --muted:#445c4e; color:var(--text); }
@media (prefers-color-scheme: dark) {
    .day-completed { border-color:#667d6b; background:linear-gradient(120deg,#506657,#405448); --text:#f0f5ef; --muted:#d4dfd5; }
    .day-completed > .task-fold-body { border-top-color:#94ad9955; }
}
.day-completed .task-summary { gap:12px; }
.day-completed-list { list-style:none; padding:0; margin:0; }
.day-completed-list li + li { border-top:1px solid #7ba48d55; }
.day-completed-list a { display:flex; align-items:center; gap:10px; padding:13px 0; color:var(--text); text-decoration:none; }
.day-completed-list a > span { flex:1; min-width:0; }
.day-completed-list strong { display:block; font-size:14px; }
.day-completed-list small { margin-top:4px; font-size:11px; }
.tracking-history .tracking-history-day { align-items:center; justify-content:initial; gap:14px; padding:12px; margin-bottom:10px; border:1px solid #d8c68c; border-radius:20px; background:linear-gradient(120deg,#fff8e3,#eee3b9); color:#4d421e; }
.tracking-history .history-violated { border-color:#b4c9d8; background:linear-gradient(120deg,#edf4f8,#d6e3ed); color:#304a5d; }
.history-day-copy { flex:1; min-width:0; }
.history-day-copy time { display:block; font-size:12px; opacity:.85; }
.history-day-copy strong { display:block; margin:3px 0; font-size:15px; }
.tracking-history .history-day-copy small { display:block; color:inherit; font-size:11px; line-height:1.4; opacity:.9; }
.tracking-history-day > .icon { width:18px; height:18px; }
/* Same shield geometry and typography; pending approval changes only its finish. */
.day-badge-streak.day-badge-pending { color:#60676b; }
.day-badge-pending .day-badge-art::before { background:linear-gradient(125deg,#b9bec1 0%,#d8dcde 18%,#e9ecee 35%,#c8ced1 52%,#dee2e4 73%,#abb3b7 100%); }
.day-badge-pending .badge-shield-line { color:#6d757a; }
.day-badge-pending .badge-shield-line > path:first-child { stroke-dasharray:3 2.5; stroke-width:1.6; }
.day-badge-pending .badge-shield-line > path + path { opacity:.22; }
.tracking-task.tracking-pending { background:linear-gradient(125deg,#e6e9ea,#cfd5d8); border-color:#aab5ba; border-left-color:#8e9ca3; --text:#3f4b51; --muted:#56626a; }
.tracking-streak.tracking-pending { background:linear-gradient(135deg,#e3e7e9,#c9d0d3); border-color:#aeb8be; color:#414d54; }
.tracking-pending .streak-caption, .tracking-pending .streak-milestones > span { color:#526067; }
.tracking-pending .streak-milestones > .is-reached { background:#67747b; border-color:#67747b; color:#f7f8f9; }
.tracking-pending .streak-milestones > span, .tracking-pending .streak-record { border-color:#8e9ca366; }
.tracking-history .history-pending { background:linear-gradient(120deg,#e3e7e9,#cdd4d7); border-color:#aab5bb; color:#414d54; }
/* Compact history axis. Daily detail/agenda badges keep their original appearance. */
.tracking-timeline { list-style:none; padding:0; margin:0; }
.tracking-timeline > li { position:relative; }
.tracking-timeline .timeline-entry::before, .tracking-timeline .timeline-entry::after { content:''; position:absolute; left:31px; width:0; border-left:2px solid #d2ae43; pointer-events:none; }
.tracking-timeline .timeline-entry::before { top:0; bottom:calc(50% + 18px); display:none; }
.tracking-timeline .timeline-entry::after { top:calc(50% + 18px); bottom:0; display:none; }
.tracking-timeline .timeline-join-up::before, .tracking-timeline .timeline-join-down::after { display:block; }
.tracking-timeline .timeline-pending-up::before, .tracking-timeline .timeline-pending-down::after { border-color:#929b9a; border-left-style:dashed; }
.tracking-history .tracking-timeline .tracking-history-day, .tracking-timeline .timeline-gap > a { position:relative; display:grid; grid-template-columns:64px minmax(0,1fr) 18px; align-items:center; gap:10px; min-height:76px; margin:0; padding:8px 4px 8px 0; border:0; border-radius:12px; background:transparent; color:var(--text); }
.tracking-timeline .timeline-marker { display:grid; place-items:center; width:64px; min-height:44px; }
.tracking-timeline .timeline-ring { display:grid; place-items:center; width:36px; height:36px; border:3px solid #d7ae32; border-radius:50%; background:transparent; color:#d7ae32; }
.tracking-timeline .timeline-ring .icon { width:19px; height:19px; fill:none; stroke-width:1.2; }
.tracking-timeline .timeline-ring-pending { border-color:#929b9a; border-style:dashed; color:#929b9a; }
.tracking-timeline .day-badge { width:56px; height:64px; }
.tracking-timeline .day-badge .day-badge-number { font-size:23px; }
.tracking-timeline .day-badge-wide .day-badge-number { font-size:18px; }
.tracking-timeline .day-badge .icon { width:10px; height:10px; }
.tracking-timeline .day-badge .day-badge-caption { font-size:7px; margin:2px 0 4px; }
.tracking-timeline .history-day-copy time { color:var(--muted); font-size:11px; opacity:1; }
.tracking-timeline .history-day-copy strong { margin:2px 0; font-size:14px; }
.tracking-timeline .history-day-copy small { color:var(--muted); font-size:11px; opacity:1; }
.tracking-timeline .history-pending .history-day-copy strong { color:var(--muted); }
.tracking-timeline .tracking-history-day > .icon, .tracking-timeline .timeline-gap > a > .icon { width:16px; height:16px; color:var(--muted); }
.timeline-setback { display:grid; place-items:center; position:relative; width:36px; height:36px; color:var(--text); }
.timeline-setback svg { position:absolute; inset:0; width:100%; height:100%; stroke:#90a5ad; stroke-width:2.8; stroke-linecap:round; }
.timeline-setback .ring-break { stroke-width:1.5; }
.timeline-setback strong { font-size:13px; line-height:1; font-variant-numeric:tabular-nums; }
.tracking-timeline .timeline-gap > a { min-height:60px; color:var(--muted); }
.timeline-gap-mark { text-align:center; font-size:24px; letter-spacing:3px; }
.timeline-gap strong { display:block; font-size:12px; font-weight:650; }
.timeline-gap small { display:block; margin-top:3px; font-size:11px; line-height:1.4; }
@media (hover:hover) { .tracking-timeline a:hover { background:var(--surface); } }
.tracking-timeline a:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.tracking-timeline-recent > .timeline-entry:last-child::after,
.tracking-timeline-older > .timeline-entry:first-child::before { display:none; }
.tracking-history-more > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:8px 4px; border-top:1px solid var(--border); color:var(--muted); font-size:12px; font-weight:700; cursor:pointer; list-style:none; }
.tracking-history-more > summary::-webkit-details-marker { display:none; }
.tracking-history-more > summary .icon { width:18px; height:18px; transition:transform 180ms ease; }
.tracking-history-more[open] > summary .icon { transform:rotate(90deg); }
.tracking-history-more > summary:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }
.history-more-expanded, .tracking-history-more[open] .history-more-collapsed { display:none; }
.tracking-history-more[open] .history-more-expanded { display:inline; }
.tracking-confirmation-status { display:flex; align-items:center; justify-content:center; gap:6px; margin:14px 0 8px; font-size:13px; font-weight:750; }
.tracking-approval-link { display:flex; align-items:center; gap:8px; padding:10px 12px; margin:10px 0; min-height:44px; border:1px dashed var(--border); border-radius:12px; color:var(--primary); text-decoration:none; font-size:13px; }
.tracking-approval-link > span { flex:1; }
.tracking-approval-link > .icon { width:18px; height:18px; flex-shrink:0; }
.tracking-approval-action { padding:14px 16px; border-style:solid; background:var(--surface-soft); font-size:14px; }
.tracking-approval-action strong, .tracking-approval-action small { display:block; }
.tracking-approval-action small { margin-top:3px; color:var(--muted); font-size:11px; }
.tracking-confirm-form { margin:16px 0 20px; padding:16px; }
.tracking-confirm-form h2 { margin:0 0 8px; font-size:20px; }
.tracking-confirm-form > p:not(.eyebrow):not(.field-help) { margin:0 0 16px; font-size:14px; }
/* Smaller reward card; milestones retain the strongest visual emphasis. */
.tracking-streak { padding:14px; margin:12px 0; border-radius:20px; }
.streak-overview { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:12px; margin:10px 0; text-align:left; }
.tracking-streak .streak-overview .streak-hero-badge { margin:0; }
.streak-overview .day-badge { width:88px; height:100px; }
.streak-overview .day-badge .day-badge-number { font-size:36px; letter-spacing:-1px; }
.streak-overview .day-badge-wide .day-badge-number { font-size:27px; }
.streak-overview .day-badge .day-badge-caption { font-size:9px; margin:3px 0; }
.streak-overview .day-badge .icon { width:15px; height:15px; margin-bottom:2px; }
.tracking-streak .streak-overview h2 { font-size:16px; line-height:1.3; letter-spacing:0; text-transform:none; margin:0 0 6px; }
.streak-overview .streak-praise { font-size:12px; line-height:1.4; margin:0 0 4px; }
.streak-overview .streak-caption { font-size:11px; line-height:1.4; }
.tracking-streak .tracking-confirmation-status { font-size:11px; margin:8px 0; gap:5px; line-height:1.4; }
.tracking-streak > .streak-caption { font-size:11px; line-height:1.4; }
.tracking-streak .streak-milestone { margin:8px 0; font-size:13px; }
.tracking-streak .streak-milestones { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:12px 0 10px; }
.tracking-streak .streak-milestones[data-level] { max-width:340px; margin:10px auto 8px; }
.tracking-streak .streak-milestones[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:300px; gap:14px; }
.tracking-milestone-overview { display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:10px; margin:12px 0; }
.tracking-milestone-overview h2 { grid-column:2; grid-row:1; align-self:end; margin:0; font-size:14px; text-align:left; }
.tracking-milestone-heading { display:contents; }
.tracking-milestone-heading .day-badge { grid-column:1; grid-row:1 / span 2; width:48px; height:54px; }
.tracking-milestone-heading .day-badge-number { font-size:21px; letter-spacing:-.5px; }
.tracking-milestone-heading .day-badge-wide .day-badge-number { font-size:16px; }
.tracking-milestone-heading .day-badge-caption { margin:2px 0 3px; font-size:7px; letter-spacing:.3px; }
.tracking-milestone-heading .day-badge .icon { width:9px; height:9px; margin-bottom:1px; }
.tracking-streak .milestone-level { margin:14px 0 0; font-size:12px; font-weight:800; }
.tracking-streak .milestone-next { margin:8px 0 4px; font-size:11px; font-weight:650; }
.tracking-milestone-overview > .milestone-level { grid-column:2; grid-row:2; align-self:start; margin:4px 0 0; text-align:left; }
.tracking-milestone-overview > :is(.streak-milestones,.milestone-next) { grid-column:1 / -1; width:100%; }
.tracking-streak .streak-milestones > span { display:flex; flex-direction:column; align-items:center; padding:0; border:0; border-radius:0; background:transparent; color:#53634c; }
.milestone-medal { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:min(100%,62px); aspect-ratio:1; border:1px dashed currentColor; border-radius:50%; background:transparent; overflow:hidden; isolation:isolate; }
.milestone-medal::before { content:""; position:absolute; inset:4px; border:1px solid currentColor; border-radius:50%; opacity:.25; }
.tracking-streak .streak-milestones strong { position:relative; font-size:23px; line-height:1.1; font-weight:850; }
.tracking-streak .streak-milestones small { font-size:11px; font-weight:750; margin-top:5px; color:inherit; }
/* Medal finishes follow rank, including when the day thresholds are customized. */
.streak-milestones > [data-finish="bronze"] { --medal-ink:#4c2b17; --medal-edge:#98603a; --medal-light:#ffe2bd; --medal-base:#d49a68; --medal-shade:#b87847; }
.streak-milestones > [data-finish="silver"] { --medal-ink:#303c47; --medal-edge:#8996a3; --medal-light:#f9fcff; --medal-base:#c8d2db; --medal-shade:#a1afbd; }
.streak-milestones > [data-finish="gold"] { --medal-ink:#594007; --medal-edge:#aa7d1d; --medal-light:#fff7c2; --medal-base:#f7d871; --medal-shade:#dcaa37; }
.streak-milestones > [data-finish="green"] { --medal-ink:#12451e; --medal-edge:#34934a; --medal-light:#e4ffd1; --medal-base:#89ed70; --medal-shade:#48be58; }
.tracking-streak .streak-milestones > .is-reached { background:transparent; }
.is-reached .milestone-medal { color:var(--medal-ink); background:linear-gradient(135deg,var(--medal-light) 0%,var(--medal-base) 28%,var(--medal-light) 43%,var(--medal-base) 52%,var(--medal-shade) 76%,var(--medal-light) 100%); border:1px solid var(--medal-edge); box-shadow:inset 0 1px 1px #ffffffb3,inset 0 -2px 2px #00000020,0 2px 3px #00000014; text-shadow:0 1px 0 #ffffff59; }
.is-reached[data-finish="green"] .milestone-medal { box-shadow:inset 0 1px 1px #ffffffcc,inset 0 -2px 2px #12451e26,0 0 9px #79ec704d; }
.is-reached .milestone-medal::before { opacity:.6; }
.milestone-ribbons { position:absolute; inset:0; display:flex; justify-content:center; gap:5px; pointer-events:none; opacity:.13; }
.milestone-ribbon { width:7px; height:100%; border-left:1px solid currentColor; border-right:1px solid currentColor; background:currentColor; }
.is-reached .milestone-ribbons { opacity:.3; }
.is-reached .milestone-ribbon { background:linear-gradient(90deg,#ffffff66,#ffffffbb 45%,#00000022); }
.milestone-stars { position:relative; display:flex; gap:1px; margin-bottom:2px; }
.milestone-stars .icon { width:11px; height:11px; stroke-width:1.4; }
.is-reached .milestone-stars .icon { fill:currentColor; }
.milestone-laurel { position:absolute; inset:0; width:100%; height:100%; }
.milestone-medal-laurel::before { display:none; }
.laurel-leaf { fill:none; }
.is-reached .laurel-leaf { fill:currentColor; stroke-width:.35; }
.tracking-streak .milestone-laurel + strong { font-size:18px; letter-spacing:-.6px; transform:translateY(-1px); }
.tracking-streak .milestone-medal-wide strong { font-size:16px; letter-spacing:-.8px; }
.tracking-streak .milestone-medal-wide .milestone-laurel + strong { font-size:11px; letter-spacing:-.5px; }
.admin-milestones { min-width:0; margin:18px 0; padding:14px 12px; border:1px solid var(--border); border-radius:14px; }
.admin-milestones legend { padding:0 6px; font-size:14px; font-weight:750; }
.admin-milestone-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.admin-milestone-fields[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-milestone-level { min-width:0; border:0; border-top:1px solid var(--border); padding:10px 0 0; margin:12px 0 0; }
.admin-milestone-level legend { padding:0 6px 0 0; font-size:12px; font-weight:750; color:var(--muted); }
.admin-milestone-fields label { margin:0; font-size:12px; }
.admin-milestone-fields input { margin-top:6px; padding:10px; text-align:center; font-size:20px; font-weight:750; }
.admin-milestones .field-help { margin:12px 0; }
.tracking-streak .streak-record { padding-top:8px; font-size:12px; }
.tracking-stats { padding:14px 16px; margin:12px 0; }
.tracking-stats h2 { margin:0 0 8px; font-size:19px; }
.tracking-stats p { margin:5px 0; font-size:13px; line-height:1.45; }
.tracking-explanation { margin-top:6px; border-top:1px solid var(--border); }
.tracking-explanation > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:12px; color:var(--muted); cursor:pointer; list-style:none; }
.tracking-explanation > summary::-webkit-details-marker { display:none; }
.tracking-explanation > summary .icon { width:16px; height:16px; transition:transform 180ms ease; }
.tracking-explanation[open] > summary .icon { transform:rotate(90deg); }
.tracking-explanation .field-help { margin:4px 0 8px; font-size:12px; }
.task-form textarea[name="description"] { min-height:76px; }
/* Submit form is a sibling of details, never nested inside its summary. */
.quick-task { position:relative; min-width:0; }
.quick-complete { display:none; }
.quick-complete-ready > .quick-complete { display:block; position:absolute; top:16px; left:31px; z-index:2; margin:0; width:44px; }
.quick-complete-ready > .fold-card > .task-summary { padding-left:64px; }
.page .quick-complete-button { display:grid; place-items:center; width:44px; height:44px; min-height:44px; padding:0; border:2px solid #53684b; border-radius:12px; color:#35572f; background:#ffffff38; box-shadow:none; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.quick-complete-button > .icon { width:25px; height:25px; opacity:.35; }
.page .quick-complete.is-armed .quick-complete-button { color:#203719; background:#b7e18a; border-color:#45693a; }
.quick-complete.is-armed .quick-complete-button > .icon { opacity:1; }
.quick-complete-button:focus:not(:focus-visible) { outline:none; }
.quick-complete-hint { display:none; position:absolute; top:45px; left:-8px; width:60px; text-align:center; font-size:10px; font-weight:750; color:#32472e; line-height:1.2; }
.quick-complete.is-armed .quick-complete-hint { display:block; }
.quick-complete-button:disabled { cursor:default; opacity:.45; }
.tracking-confirm-form .field-help { margin-top:10px; }
@media (prefers-reduced-motion:reduce) { .tracking-streak.is-celebrating .streak-hero-badge { animation:none; } }
@keyframes tracking-reward { from { transform:scale(.65) rotate(-20deg); opacity:.2; } to { transform:scale(1) rotate(0); opacity:1; } }
@media (prefers-color-scheme:dark) { .view-helper { --chrome:#23382e; --chrome-border:#4e6d5a; } }
@media (prefers-reduced-motion:reduce) { .tracking-success > .icon { animation:none; } }
[data-start-field][hidden] { display:none !important; }
.dt-locked .dt-button, .dt-locked .dt-calendar { opacity: .5; cursor: default; }
.return-date-fields[hidden], .datetime-control [hidden], input[data-datetime-enhanced][hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { .datetime-control .dt-button { transition: none; } }
@media (prefers-reduced-motion: reduce) {
    .fold-card, .task-fold-arrow { transition: none !important; }
}
@media (max-width: 359px) { .attention-counter-label { display: none; } }
/* Water medallions: the scene stays legible from a timeline to the hero badge. */
.mood-badge { position:relative; display:inline-flex; flex:0 0 auto; width:52px; height:52px; vertical-align:middle; }
.mood-badge > img, .mood-badge > svg { display:block; width:100%; height:100%; }
.mood-badge > img { filter:drop-shadow(0 2px 2px #183f4726); }
.mood-badge-index { position:absolute; right:-1px; bottom:0; display:grid; place-items:center; width:19px; height:19px; border:1px solid #91b4ad; border-radius:50%; background:#f8fffa; color:#284f4a; font-size:11px; font-weight:850; line-height:1; box-shadow:0 1px 3px #14372e20; }
.mood-badge-empty { border:1.5px dashed var(--control-border); border-radius:50%; color:var(--muted); opacity:.65; }
.anger-mark, .anger-art { display:inline-flex; align-items:center; justify-content:center; }
.anger-art { min-height:26px; gap:1px; }
.anger-mark { gap:6px; }
.anger-flame { width:18px; height:24px; }
.anger-leaf { width:24px; height:24px; color:#4f7b58; }
.anger-caption, .anger-unrated { font-size:11px; font-weight:550; }
.anger-unrated { color:var(--muted); }
.wellbeing-day { display:flex; align-items:center; gap:12px; padding:12px 0; }
.wellbeing-day-copy { display:flex; min-width:0; flex-direction:column; gap:3px; }
.wellbeing-day-copy > strong { font-size:13px; }
.wellbeing-day-copy > .anger-mark { justify-content:flex-start; }
.wellbeing-selected-day { margin:0 4px 16px; }
.wellbeing-selected-day .wellbeing-day { padding-top:5px; }
.wellbeing-overview { display:grid; grid-template-columns:124px minmax(0,1fr); align-items:center; gap:4px 14px; position:relative; overflow:hidden; margin:16px 0; padding:20px 18px 12px; border:1px solid #a7c5b5; border-radius:24px; background:radial-gradient(ellipse at 12% 0%,#fff8d6 0%,transparent 56%),linear-gradient(145deg,#f2fbec,#deeee8); color:#294a43; box-shadow:inset 0 1px 0 #ffffffc9,0 5px 16px #214e4310; }
.wellbeing-hero-art { display:flex; justify-content:center; }
.wellbeing-hero-art .mood-badge { width:124px; height:124px; }
.wellbeing-hero-art .mood-badge > img { filter:drop-shadow(0 5px 6px #26564726); }
.wellbeing-hero-copy { min-width:0; }
.wellbeing-kicker { margin:0 0 5px; font-size:10px; font-weight:800; letter-spacing:1.1px; text-transform:uppercase; color:#4c6c59; }
.wellbeing-average { margin:0; font-size:46px; font-weight:850; line-height:1.05; letter-spacing:-2px; font-variant-numeric:tabular-nums; }
.wellbeing-average > small { display:inline; margin-left:3px; font-size:18px; letter-spacing:-.5px; color:#617d6c; font-weight:550; }
.wellbeing-average-label { margin:5px 0 0; font-size:16px; font-weight:750; }
.wellbeing-period { margin:6px 0 0; font-size:10px; color:#557567; }
.wellbeing-five-days { grid-column:1 / -1; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:15px 0 0; padding-top:10px; border-top:1px solid #acc7b980; }
.wellbeing-mini-day { display:flex; flex-direction:column; align-items:center; gap:4px; }
.wellbeing-mini-day time { font-size:10px; color:#557567; }
.wellbeing-mini-day .mood-badge { width:32px; height:32px; }
.wellbeing-mini-day .mood-badge-index { width:14px; height:14px; font-size:9px; right:-3px; bottom:-1px; }
.wellbeing-coverage { grid-column:1 / -1; margin:7px 0 0; text-align:center; font-size:10px; color:#557567; }
.wellbeing-overview-empty .wellbeing-hero-art .mood-badge { width:96px; height:96px; }
.wellbeing-hero-copy h2 { margin:2px 0 6px; font-size:19px; letter-spacing:-.4px; }
.wellbeing-empty-copy { margin:0; font-size:11px; line-height:1.5; color:#557567; }
.tracking-history .tracking-timeline .timeline-has-wellbeing { grid-template-columns:64px minmax(0,1fr) 52px 16px; gap:8px; }
.timeline-wellbeing { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; }
.timeline-wellbeing .mood-badge { width:44px; height:44px; }
.timeline-wellbeing .mood-badge-index { width:16px; height:16px; font-size:10px; }
.timeline-wellbeing .anger-flame { width:13px; height:17px; }
.timeline-wellbeing .anger-art { min-height:18px; }
.timeline-wellbeing .anger-leaf { width:18px; height:18px; }
.wellbeing-fieldset { min-width:0; margin:24px 0 0; padding:18px 0 0; border:0; border-top:1px solid var(--border); }
.wellbeing-fieldset legend { float:left; width:100%; margin:0 0 4px; padding:0; font-size:16px; font-weight:750; letter-spacing:-.3px; }
.wellbeing-field-help { clear:both; margin:0 0 12px; color:var(--muted); font-size:11px; }
.mood-choices { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; }
.anger-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.mood-choice, .anger-choice { position:relative; min-width:0; margin:0; cursor:pointer; touch-action:manipulation; }
.mood-choice > input, .anger-choice > input { position:absolute; width:1px; height:1px; margin:0; padding:0; opacity:0; clip-path:inset(50%); }
.mood-choice-card, .anger-choice-card { display:flex; align-items:center; flex-direction:column; justify-content:center; gap:7px; padding:10px 2px 8px; border:1.5px solid transparent; border-radius:16px; background:var(--surface-soft); transition:background 150ms ease,border-color 150ms ease,box-shadow 150ms ease; }
.mood-choice .mood-badge { width:min(100%,48px); height:auto; aspect-ratio:1; }
.mood-choice .mood-badge-index { width:17px; height:17px; font-size:10px; }
.mood-choice-label, .anger-choice-label { font-size:10px; font-weight:700; line-height:1.2; text-align:center; }
.mood-choice > input:checked + .mood-choice-card { background:#e1f1de; border-color:#477657; box-shadow:0 0 0 2px #47765719,inset 0 1px 0 #ffffffaa; }
.mood-choice > input:checked + .mood-choice-card .mood-badge { animation:wellbeing-select 240ms ease-out; }
.mood-choice > input:checked + .mood-choice-card .mood-choice-label { color:#284f36; }
.anger-choice-card { min-height:91px; gap:3px; padding-top:8px; background:#f5efe4; }
.anger-choice-card .anger-art { height:32px; }
.anger-choice-card .anger-flame { width:18px; height:25px; }
.anger-choice-card .anger-leaf { width:30px; height:30px; }
.anger-choice-label { margin-top:2px; color:#694c32; }
.anger-choice-index { font-size:10px; color:#7c6853; font-weight:500; }
.anger-choice > input:checked + .anger-choice-card { border-color:#aa7544; background:#fff0d5; box-shadow:0 0 0 2px #aa754419; }
.mood-choice > input:focus-visible + .mood-choice-card, .anger-choice > input:focus-visible + .anger-choice-card { outline:3px solid var(--primary); outline-offset:3px; }
.wellbeing-skip { display:flex; align-items:center; gap:8px; margin:8px 0 0; min-height:44px; color:var(--muted); font-size:11px; font-weight:500; cursor:pointer; }
.wellbeing-skip > input { width:16px; height:16px; min-height:16px; margin:0; padding:0; accent-color:var(--primary); }
.wellbeing-sharing { margin:12px 0 0; font-size:11px; }
.wellbeing-settings { min-width:0; margin:22px 0; padding:12px 14px; border:1px solid var(--border); border-radius:16px; background:var(--surface-soft); }
.wellbeing-settings legend { padding:0 5px; font-size:14px; font-weight:750; }
.wellbeing-settings .wellbeing-settings-choice { align-items:flex-start; margin:10px 0 14px; gap:10px; }
.wellbeing-settings-choice > span { flex:1; min-width:0; }
.wellbeing-settings-choice strong { display:block; font-size:13px; }
.wellbeing-settings-choice small { margin-top:3px; font-size:11px; line-height:1.4; }
.wellbeing-settings-choice > input { margin-top:2px; }
.wellbeing-settings-art { flex:0 0 36px; width:36px; height:36px; }
.wellbeing-settings-flame { object-fit:contain; }
.wellbeing-settings .field-help { margin:8px 0 0; font-size:11px; line-height:1.5; }
/* Today's action is separate from the journal and its summaries. */
.daily-record-action { margin:14px 0; }
.page .daily-record-action > .action-button { min-height:56px; padding:14px 42px; font-size:16px; font-weight:750; }
.agenda-tracking-backlog > span { flex:1; }
.journal-overview { margin:12px 0; padding:6px; border:1px solid var(--border); border-radius:17px; background:var(--surface); }
.journal-overview h2 { margin:2px 5px 6px; font-size:14px; line-height:1.3; }
.journal-overview-panels { display:grid; grid-template-columns:minmax(0,1fr); gap:7px; }
.journal-overview-panel { display:flex; align-items:center; gap:10px; min-width:0; padding:8px 10px; border:1px solid var(--border); border-radius:11px; background:var(--surface-soft); color:var(--text); text-decoration:none; }
.journal-overview-panel:hover { border-color:var(--primary); }
.journal-overview-panel:focus-visible { outline:2px solid var(--primary); outline-offset:1px; }
.journal-overview-records { gap:6px; padding:4px 6px; border-color:#a5c396; background:linear-gradient(135deg,#e7f5c7,#badab0); color:#2c4828; }
.journal-overview-mood { min-height:48px; padding-block:6px; background:#e4eee9; }
.journal-overview-copy { display:flex; flex:1; flex-direction:column; gap:3px; min-width:0; }
.journal-overview small { margin:0; }
.journal-overview-records .journal-overview-copy { gap:4px; }
.journal-overview-label { display:flex; align-items:center; gap:7px; font-size:13px; line-height:1.2; }
.journal-overview-label > small { color:#435f3d; font-size:10px; }
.journal-overview-label > .icon, .journal-overview-mood > .icon { flex:0 0 14px; width:14px; height:14px; margin-left:auto; color:var(--muted); }
.journal-overview-records .journal-overview-label > .icon { color:#435f3d; }
.journal-overview-records .day-badge { width:clamp(64px,17vw,74px); height:clamp(72px,19.1vw,83px); }
.journal-overview-records .day-badge-number { font-size:30px; letter-spacing:-.5px; }
.journal-overview-records .day-badge-wide .day-badge-number { font-size:22px; }
.journal-overview-records .day-badge-caption { margin:2px 0 4px; font-size:9px; letter-spacing:.2px; }
.journal-overview-records .day-badge .icon { width:12px; height:12px; }
.journal-overview-medals { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:3px; margin:0; }
.journal-overview-medals > .milestone { display:flex; flex-direction:column; align-items:center; gap:2px; padding:0; border:0; border-radius:0; background:none; color:#435f3d; }
.journal-overview-medals .milestone-medal { width:min(100%,50px); }
.journal-overview-medals .milestone:not(.is-reached) .milestone-medal { border-color:#737c80; background:linear-gradient(145deg,#e6e9eb,#bfc5c9); color:#495357; }
.journal-overview-medals .milestone-medal strong { position:relative; font-size:17px; line-height:1; }
.journal-overview-medals .milestone-medal-wide strong { font-size:12px; }
.journal-overview-medals .milestone-stars { margin-bottom:1px; }
.journal-overview-medals .milestone-stars .icon { width:9px; height:9px; }
.journal-overview-medals small { color:inherit; font-size:10px; line-height:1.2; text-align:center; }
.journal-overview-mood-art { flex:none; }
.journal-overview-mood-art .mood-badge { width:32px; height:32px; }
.journal-overview-mood .journal-overview-copy { gap:0; font-size:13px; line-height:1.25; }
.journal-overview-score { font-size:19px; line-height:1; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; }
.journal-overview-score > small { display:inline; margin-left:2px; }
.journal-overview-score > small, .journal-overview-unrated, .journal-overview-period { color:var(--muted); font-size:10px; line-height:1.2; }
@media (prefers-color-scheme:dark) { .journal-overview-mood { background:#2a423c; } }
.tracking-page :is(#zapisy,#milniky,#nalady,#potvrdit-zapis,#zapsat-den) { scroll-margin-top:88px; }
.agenda-heading-counts { display:flex; align-items:center; gap:6px; flex:none; }
.task-points-today { display:inline-flex; align-items:center; gap:5px; min-height:44px; padding:0 8px; border-radius:10px; color:var(--primary); font-size:12px; font-weight:750; text-decoration:none; white-space:nowrap; }
.task-points-today:hover { background:var(--surface-soft); }
.task-points-today .icon { width:16px; height:16px; }
.task-points-overview { margin:0 0 14px; padding:12px 14px 4px; border:1px solid var(--border); border-radius:16px; background:var(--surface); scroll-margin-top:88px; }
.task-points-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.task-points-heading h2 { margin:0; font-size:16px; }
.task-points-heading small { margin:1px 0 0; font-size:11px; }
.task-points-heading > strong { color:var(--primary); font-size:21px; white-space:nowrap; }
.task-points-breakdown { margin:6px 0; color:var(--muted); font-size:12px; }
.task-points-rules > summary { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:44px; color:var(--primary); font-size:12px; cursor:pointer; list-style:none; }
.task-points-rules > summary::-webkit-details-marker { display:none; }
.task-points-rules .icon { width:14px; height:14px; }
.task-points-rules[open] .icon { transform:rotate(90deg); }
.task-points-rules p { margin:0 0 10px; color:var(--muted); font-size:12px; }
@keyframes wellbeing-select { from { transform:scale(.92); } to { transform:scale(1); } }
@media (max-width:359px) {
    .wellbeing-overview { grid-template-columns:102px minmax(0,1fr); gap:4px 10px; padding:16px 12px 10px; }
    .wellbeing-hero-art .mood-badge { width:102px; height:102px; }
    .wellbeing-average { font-size:39px; }
    .mood-choice-card { padding:8px 0; border-radius:12px; }
    .mood-choice-label { font-size:9px; }
    .anger-choice-card .anger-flame { width:15px; height:21px; }
}
@media (prefers-color-scheme:dark) {
    .wellbeing-overview { border-color:#537e6e; background:radial-gradient(ellipse at 12% 0%,#62735040 0%,transparent 56%),linear-gradient(145deg,#304b42,#273f3b); color:#eff7e8; }
    .wellbeing-kicker, .wellbeing-average > small, .wellbeing-period, .wellbeing-mini-day time, .wellbeing-coverage, .wellbeing-empty-copy { color:#c1d5c7; }
    .wellbeing-five-days { border-color:#70978866; }
    .mood-choice > input:checked + .mood-choice-card { background:#456344; border-color:#b7e18a; }
    .mood-choice > input:checked + .mood-choice-card .mood-choice-label { color:#f2fbe9; }
    .anger-choice-card { background:#3b342b; }
    .anger-choice-label { color:#f2d6ae; }
    .anger-choice-index { color:#d7c4a9; }
    .anger-choice > input:checked + .anger-choice-card { background:#54432d; border-color:#f0bb72; }
    .anger-leaf { color:#b7d9a9; }
}
@media (prefers-reduced-motion:reduce) {
    .mood-choice-card, .anger-choice-card { transition:none; }
    .mood-choice > input:checked + .mood-choice-card .mood-badge { animation:none; }
}
@media (max-width: 359px) {
    .return-date-fields { grid-template-columns: minmax(0, 1fr); }
    .page, .app-header { padding-right: 16px; padding-left: 16px; }
    .inbox-button { padding: 20px; gap: 12px; }
    .inbox-count { font-size: 64px; }
    .user-menu { gap: 4px; }
}
