:root{--bg:#f7f3ea;--card:#fffdfa;--ink:#29323b;--muted:#727b83;--line:#d9dfe3;--sage:#dce9f3;--sage-deep:#3f78a8;--blue:#dce9f3;--sand:#e8f0f6;--rose:#edf3f7;--yellow:#4c83b1;--yellow-soft:#e3eef7;--shadow:0 12px 32px rgba(42,62,77,.07)}
body{background:#e7e5e0}.app-shell{background:var(--bg)}
.hero-card{background:#303b45;border-bottom-color:#4c83b1;box-shadow:0 12px 30px rgba(38,54,66,.14)}
.focus-button{border-top-color:#53616c}.focus-button span,.text-button{color:#3f78a8}.pill{background:rgba(255,255,255,.1)}
.anchor,.checkin-card,.capacity-card,.menu-item,.day-drop,.day-task,.step-row,.planner-detail,.wheel-card{border-color:var(--line);background:var(--card)}
.anchor-icon,.menu-icon,.sage,.blue,.sand,.rose,.ink{background:#e5eff7;color:#3f78a8}
.energy-row button.selected,.today-level button.selected{background:#4c83b1;border-color:#4c83b1;color:#fff}.today-level button.selected small{color:#eef6fb}
.primary-button,.suggest-actions .accept-suggestion,.review-card{background:#3f78a8;color:#fff}.secondary-button{border-color:#a9bfd0;color:#356b98}
.plan-adjustment,.planner-action-reason,.wheel-summary{background:#e8f1f7;color:#466276}.capacity-meter{border-color:#bfd3e2;background:#e8f1f7}
.today-choice,.anchor.manual-choice,.day-task.manual-choice{border-color:#a9c4d8;background:#f3f8fb}.must-step,.anchor.main-action{border-color:#7fa8c6;background:#eaf3f9}
.must-step .complete-step-button,.today-choice-controls button,.complete-step-button{background:#dceaf4;color:#356b98}
.today-choice.accomplished-step,.day-task.accomplished-task{border-color:#b8cbd9;background:#eef4f8;color:#49697f}.accomplished-check{background:#4c83b1}
.quick-schedule button,.date-schedule button,.wheel-task-tools button,[data-wheel-new-goal],.wheel-linked,.wheel-panel button{background:#e5eff7;color:#315f84}.progress-track span{background:#4c83b1}
input:focus,select:focus,textarea:focus{border-color:#6f9fc2;outline:0;box-shadow:0 0 0 3px rgba(76,131,177,.13)}

/* 12 Weeks: the approved card composition, using one restrained blue family. */
.area-grid{display:grid;grid-template-columns:1fr;gap:10px}
.area-card,.area-card.goal-wheel-card,.area-card:nth-child(n){position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:13px;min-width:0;min-height:0;padding:15px 14px 14px 16px;border:1px solid #d4dce2;border-radius:18px;background:var(--card);box-shadow:0 5px 16px rgba(42,62,77,.035);overflow:hidden;text-align:left;color:var(--ink)}
.area-card.goal-wheel-card::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:5px;border-radius:0 5px 5px 0;background:#5c8db5}
.area-card.goal-wheel-card::after{content:none}
.area-card .goal-card-icon{position:static;z-index:auto;display:grid;grid-column:1;grid-row:1 / span 2;place-items:center;width:44px;height:44px;border-radius:13px;background:#e7f0f7;color:#3f78a8;font-size:19px}
.goal-card-icon svg{width:22px;height:22px}
.area-card .goal-area-label{position:static;z-index:auto;display:block;grid-column:2;grid-row:1;min-width:0;margin:1px 0 4px;color:#537994;font-size:8px;font-weight:750;line-height:1.3;letter-spacing:.12em;overflow-wrap:anywhere}
.area-card.goal-wheel-card strong,.area-card strong{position:static;z-index:auto;display:block;grid-column:2;grid-row:2;min-width:0;margin:0;font:500 19px/1.18 Iowan Old Style,Georgia,serif;overflow-wrap:anywhere}
.goal-card-status{display:flex;grid-column:2;grid-row:3;justify-content:space-between;gap:12px;margin-top:10px;color:#697681}.goal-card-status small{font-size:11px}
.goal-progress-track{display:block;grid-column:2;grid-row:4;height:6px;margin-top:7px;border-radius:99px;background:#e7e9e8;overflow:hidden}.goal-progress-track i{display:block;width:var(--goal-progress);height:100%;border-radius:inherit;background:#5c8db5}
.area-card.goal-complete .goal-card-icon{background:#deebf4}.area-card.goal-complete .goal-card-icon::after{content:'✓';position:absolute;right:14px;top:15px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e2edf5;color:#356b98;font:700 13px/1 sans-serif}

/* Per-goal icon picker: the choice is visual metadata and does not alter planning logic. */
.goal-icon-field{display:grid;gap:7px;color:#394957;font-size:13px;font-weight:700}
.goal-icon-choice,.goal-detail-icon-button{display:flex;align-items:center;gap:10px;width:max-content;min-height:42px;padding:8px 13px;border:1px solid #cbd8e2;border-radius:12px;background:#f7fafc;color:#315f84;font:700 13px/1.2 system-ui,sans-serif}
.goal-icon-choice svg,.goal-detail-icon-button svg{width:21px;height:21px}
.goal-detail-icon-button{margin-top:9px}
.goal-icon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:4px}
.goal-icon-option{display:grid;place-items:center;gap:7px;min-height:78px;padding:10px 5px;border:1px solid #d6dfe6;border-radius:14px;background:#fff;color:#3f78a8;font:650 11px/1.15 system-ui,sans-serif}
.goal-icon-option svg{width:25px;height:25px}.goal-icon-option.selected{border-color:#4c83b1;background:#eaf2f8;box-shadow:0 0 0 2px rgba(76,131,177,.13)}
@media(max-width:380px){.goal-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.goal-icon-option{font-size:10px}}

/* Earlier, restrained bottom controls; Capture is no longer raised. */
.tabbar{padding:9px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,253,250,.94);border-top-color:var(--line)}
.tabbar button{min-width:52px;color:#8b9399;gap:2px}.tabbar button span{height:20px;font-size:15px;line-height:20px}.tabbar button small{font-size:8px}
.tabbar button.active{color:#3f78a8;font-weight:750}.tabbar .capture-tab span{width:auto;height:20px;margin:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font-weight:500}
dialog{background:var(--card)}.close-button{background:#edf1f3}.toast{background:#2f3d48}
