:root {
  color-scheme: light;
  --ink: #173c3a;
  --muted: #6c8380;
  --line: #dce9e5;
  --sea: #287b70;
  --sea-dark: #1d6259;
  --foam: #e5f2ee;
  --sand: #f4eee3;
  --blue: #e7f0f5;
  --rose: #f5e9e6;
  --gold: #bf9456;
  --shadow: 0 12px 36px rgba(28, 79, 73, .08);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-width: 320px;
  background: radial-gradient(circle at 85% 0%, rgba(109,181,168,.16), transparent 28rem), #eef5f2;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input, textarea, select { font: inherit; }
button, summary, .file-button { cursor: pointer; }
h1, h2, p { margin: 0; }
h1 { font-family: Georgia, serif; font-size: clamp(2rem,7vw,3.1rem); font-weight: 500; letter-spacing: -.04em; }
h2 { font-size: 1.15rem; letter-spacing: -.02em; }
.shell { width: min(100% - 28px, 820px); margin: 0 auto; padding: 28px 0; }
.topbar { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 4px 20px; }
.eyebrow, .step { color: var(--sea); font-size: .68rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.mission { margin-top: 6px; color: var(--muted); font-family: Georgia, serif; font-size: .88rem; font-style: italic; }
.date { color: var(--muted); font-size: .78rem; padding-bottom: 5px; text-align: right; }
.app-nav { position: sticky; top: 8px; z-index: 20; display: grid; grid-template-columns: repeat(7,1fr); gap: 5px; margin-bottom: 12px; padding: 5px; border: 1px solid rgba(255,255,255,.9); border-radius: 17px; background: rgba(244,249,247,.92); box-shadow: var(--shadow); backdrop-filter: blur(12px); }
.nav-button { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 12px; padding: 10px 6px; background: transparent; color: var(--muted); font-size: .76rem; font-weight: 800; }
.nav-button span { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: #e9f0ee; font-size: .62rem; }
.nav-button b { min-width: 18px; padding: 2px 5px; border-radius: 999px; background: var(--sand); color: #795d34; font-size: .6rem; }
.nav-button b.nav-count-red { background: #f4d7d2; color: #9c3328; }
.nav-button b.nav-count-green { background: #d9f0df; color: #24733d; }
.nav-button.active { background: white; color: var(--sea-dark); box-shadow: 0 3px 12px rgba(28,79,73,.09); }
.nav-button.active span { background: var(--sea); color: white; }
.next-action { margin-bottom: 12px; padding: 11px 14px; border-radius: 12px; background: var(--ink); color: white; font-size: .79rem; line-height: 1.4; }
.next-action strong { color: #bde0d8; }
.upgrade-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin-bottom: 12px; padding: 14px; border: 1px solid #bcd9d2; border-radius: 16px; background: linear-gradient(135deg,#ffffff,#eaf6f2); box-shadow: var(--shadow); }
.upgrade-card h2 { margin-bottom: 4px; font-size: 1rem; }
.upgrade-card p:not(.step) { color: var(--muted); font-size: .76rem; line-height: 1.4; }
.upgrade-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; }
.upgrade-link { border: 0; border-radius: 999px; padding: 8px 10px; background: var(--sea); color: white; font-size: .68rem; font-weight: 850; }
.upgrade-link + .upgrade-link { background: var(--foam); color: var(--sea-dark); }
.app-view[hidden] { display: none; }
.card, .sacred-card {
  margin-bottom: 12px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 20px;
  background: rgba(249,252,251,.92);
  box-shadow: var(--shadow);
}
.hero-card { border-color: #bcd9d2; }
.sacred-card { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; border-color: #dfc696; background: linear-gradient(145deg,#fffdf7,#f6eddb); }
.sacred-card p:not(.step) { margin-top: 7px; color: #78623f; font-family: Georgia, serif; font-size: .88rem; line-height: 1.45; }
.sacred-card textarea { width: 100%; border: 1px solid #e1cda7; border-radius: 12px; padding: 12px; outline: 0; resize: vertical; background: rgba(255,255,255,.75); color: var(--ink); }
.anchors-card { border-color: #c8ddd7; }
.anchor-form { display: grid; grid-template-columns: minmax(0,1fr) 90px auto; gap: 7px; }
.anchor-form input, .anchor-form select { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 10px; background: white; color: var(--ink); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.compact-heading { margin-bottom: 12px; }
.step { margin-bottom: 4px; }
.section-note { margin: -7px 0 14px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.details-note { margin-top: 12px; }
.count { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--foam); color: var(--sea-dark); font-size: .8rem; font-weight: 850; }
.unlimited-label { border-radius: 999px; padding: 6px 9px; background: var(--foam); color: var(--sea-dark); font-size: .64rem; font-weight: 850; white-space: nowrap; }
.clarify-heading-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: end; gap: 6px; }
.inbox-notes-panel { margin-bottom: 12px; padding: 12px; border: 1px solid #bcd9d2; border-radius: 12px; background: #f4faf8; }
.inbox-notes-panel[hidden] { display: none; }
.notes-mode { display: flex; gap: 5px; margin-bottom: 8px; }
.notes-mode button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: white; color: var(--muted); font-size: .67rem; font-weight: 800; }
.notes-mode button.active { border-color: var(--sea); background: var(--foam); color: var(--sea-dark); }
.inbox-notes-panel textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 10px; resize: vertical; background: white; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .7rem; line-height: 1.5; }
.notes-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.capture-form { display: grid; gap: 9px; }
.capture-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 13px; padding: 14px; outline: 0; resize: vertical; background: white; color: var(--ink); line-height: 1.5; }
.capture-form textarea:focus, input:focus, select:focus, textarea:focus { border-color: #68a99f; box-shadow: 0 0 0 3px rgba(40,123,112,.1); }
.primary-button, .secondary-button { border: 0; border-radius: 11px; padding: 11px 14px; font-weight: 800; }
.primary-button { background: var(--sea); color: white; }
.capture-form .primary-button { justify-self: end; }
.capture-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.capture-actions small { color: var(--muted); font-size: .65rem; line-height: 1.35; }
.secondary-button { background: var(--foam); color: var(--sea-dark); font-size: .75rem; }
.example-button, .text-button { border: 0; background: transparent; color: var(--muted); font-size: .7rem; font-weight: 750; }
.example-button { margin-top: 9px; text-decoration: underline; text-underline-offset: 3px; }
.empty-state { padding: 18px 4px 2px; color: var(--muted); font-size: .85rem; text-align: center; }
.inbox-item { margin-top: 9px; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.inbox-item[draggable="true"], .forward-list li[draggable="true"], .lane-task-list li[draggable="true"] { cursor: grab; }
.is-dragging { opacity: .55; cursor: grabbing; }
.drop-ready { outline: 2px dashed var(--sea); outline-offset: 4px; background: #eaf6f2 !important; }
.task-title-row { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.task-title-row p { flex: 1; line-height: 1.4; overflow-wrap: anywhere; }
.importance-toggle { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; border: 0; border-radius: 50%; background: #f2f7f5; color: #8ba29e; font-size: 1rem; }
.importance-label { border-radius: 999px; padding: 4px 7px; background: #f2f7f5; color: var(--muted); font-size: .58rem; font-weight: 850; }
.inbox-item.priority-2 { border-color: #d8c092; background: #fffdf8; }
.inbox-item.priority-2 .importance-toggle, .inbox-item.priority-2 .importance-label { background: var(--sand); color: #8b682e; }
.inbox-item.priority-3 { border-color: #d5a79e; background: #fff9f7; box-shadow: inset 3px 0 0 #b76f62; }
.inbox-item.priority-3 .importance-toggle, .inbox-item.priority-3 .importance-label { background: var(--rose); color: #934f43; }
.forward-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(105px,1fr)); gap: 8px; margin-bottom: 12px; }
.forward-export-panel { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; margin-bottom: 12px; padding: 12px; border: 1px solid #c8ddd7; border-radius: 13px; background: #f4faf8; }
.forward-export-panel strong { display: block; color: var(--sea-dark); font-size: .82rem; }
.forward-export-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; }
.forward-export-panel .privacy-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .68rem; }
.forward-stat { padding: 12px; border-radius: 11px; background: #f2f7f5; text-align: center; }
.forward-stat strong, .forward-stat span { display: block; }
.forward-stat strong { font-family: Georgia,serif; font-size: 1.4rem; font-weight: 500; }
.forward-stat span { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.forward-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; }
.forward-column { min-width: 0; padding: 13px; border-radius: 13px; background: #f4f8f7; }
.forward-column header { display: flex; gap: 10px; margin-bottom: 9px; }
.forward-column header > strong { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--sea); color: white; font-size: .72rem; }
.forward-column h3 { margin: 0; font-size: .82rem; }
.forward-column h3 span { margin-left: 4px; color: var(--muted); font-size: .65rem; }
.forward-column header p { margin-top: 2px; color: var(--muted); font-size: .62rem; line-height: 1.3; }
.kingdom-column { background: #fff8e9; }
.kingdom-column header > strong { background: #a8792f; }
.relationship-column { background: #f0f6f8; }
.relationship-column header > strong { background: #5d8195; }
.personal-column { background: #f8f1e6; }
.personal-column header > strong { background: var(--gold); }
.investing-column { background: #eef6e8; }
.investing-column header > strong { background: #668c4f; }
.spending-column { background: #fbf1df; }
.spending-column header > strong { background: #bd8946; }
.later-column { background: #f0f1f4; }
.later-column header > strong { background: #71808c; }
.forward-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.forward-list li { padding: 9px; border-radius: 9px; background: white; color: #49615f; font-size: .72rem; }
.forward-source { display: block; margin-top: 4px; color: var(--muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .04em; }
.forward-details-toggle { margin-top: 7px; border: 0; background: transparent; color: var(--sea); font-size: .64rem; font-weight: 850; }
.forward-details { grid-template-columns: repeat(2,1fr); gap: 7px; margin-top: 8px; padding: 9px; border-radius: 9px; background: #f4f8f7; }
.forward-details:not([hidden]) { display: grid; }
.forward-details .wide-field, .forward-details .notes-field { grid-column: 1 / -1; }
.forward-details label { display: grid; gap: 4px; color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.forward-details input, .forward-details select, .forward-details textarea { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 7px; background: white; color: var(--ink); font-size: .7rem; text-transform: none; letter-spacing: 0; }
.forward-details textarea { resize: vertical; line-height: 1.35; }
.forward-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.forward-actions button { border: 0; border-radius: 999px; padding: 5px 7px; background: var(--foam); color: var(--sea-dark); font-size: .57rem; font-weight: 850; }
.forward-actions .today-lane-action { background: var(--sea); color: white; }
.forward-actions .section-action { background: #f1f4f3; color: var(--muted); }
.forward-actions .inbox-action { background: #fff7f5; color: #8b554c; border: 1px solid #d6b8b1; }
.forward-actions .done-forward-action { background: #dceee7; color: var(--sea-dark); border: 1px solid #b8d8ce; }
.forward-actions .delete-forward-action { background: transparent; color: #9a6259; }
.details-toggle { border: 0; padding: 2px; background: transparent; color: var(--muted); font-size: .68rem; }
.duration-row { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 9px; }
.duration-row > span { margin-right: 2px; color: var(--muted); font-size: .65rem; font-weight: 800; }
.duration-row button { border: 1px solid var(--line); border-radius: 999px; padding: 5px 8px; background: white; color: var(--sea-dark); font-size: .64rem; font-weight: 800; }
.duration-row button.active { border-color: var(--sea); background: var(--foam); }
.duration-row .custom-duration-toggle { color: var(--muted); }
.duration-value { margin-left: auto; color: var(--sea); font-size: .67rem; }
.custom-duration { grid-template-columns: 1fr 1fr auto; align-items: end; gap: 7px; margin-top: 8px; padding: 9px; border-radius: 9px; background: #f4f8f7; }
.custom-duration:not([hidden]) { display: grid; }
.custom-duration label { display: grid; gap: 3px; color: var(--muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.custom-duration input, .custom-duration select { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 7px; padding: 7px; background: white; color: var(--ink); }
.custom-duration button { border: 0; border-radius: 8px; padding: 8px 10px; background: var(--sea); color: white; font-size: .67rem; font-weight: 800; }
.task-details { grid-template-columns: repeat(5,1fr); gap: 7px; margin: 10px 0; padding: 10px; border-radius: 10px; background: #f4f8f7; }
.task-details:not([hidden]) { display: grid; }
.task-details .wide-field { grid-column: span 2; }
.task-details .notes-field { grid-column: 1 / -1; }
.task-details label, .planner-controls label, .routine-form label { display: grid; gap: 4px; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.task-details input, .task-details select, .task-details textarea, .planner-controls input, .routine-form input, .routine-form select { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 8px; background: white; color: var(--ink); text-transform: none; letter-spacing: 0; }
.task-details textarea { resize: vertical; line-height: 1.4; }
.task-notes-preview { margin-top: 5px; padding-left: 8px; border-left: 2px solid var(--line); color: var(--muted); font-size: .65rem; line-height: 1.35; white-space: pre-wrap; }
.sort-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.sort-label { align-self: center; color: var(--muted); font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.sort-label.other-label { margin-left: 5px; }
.sort-actions button { border: 0; border-radius: 999px; padding: 7px 10px; background: var(--foam); color: var(--sea-dark); font-size: .7rem; font-weight: 800; }
.sort-actions [data-today-lane="ca"] { background: var(--sea); color: white; }
.sort-actions [data-today-lane="life"] { background: var(--blue); color: #456676; }
.sort-actions [data-today-lane="invest"] { background: #e9f2e3; color: #557542; }
.sort-actions [data-today-lane="spend"] { background: #f7edd8; color: #89672f; }
.sort-actions [data-today-lane="eliminate"] { background: var(--rose); color: #8b554c; }
.sort-actions [data-forward-area] { background: #f1f4f3; color: #58706c; }
.sort-actions .delete-action { background: transparent; color: #9a6259; }
.energy-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.energy-button { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 13px; padding: 12px; background: white; color: var(--ink); text-align: left; }
.energy-button[aria-checked="true"] { border-color: var(--sea); background: var(--foam); box-shadow: inset 0 0 0 1px var(--sea); }
.energy-icon { color: var(--sea); font-size: 1.2rem; }
.energy-button strong, .energy-button small { display: block; }
.energy-button strong { font-size: .82rem; }
.energy-button small { margin-top: 2px; color: var(--muted); font-size: .66rem; }
.planner-controls { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 9px; }
.reset-plan-button { border-radius: 999px; padding: 7px 10px; background: var(--sand); color: #795d34; }
.time-presets { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.time-presets button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: white; color: var(--sea-dark); font-size: .67rem; font-weight: 800; }
.time-presets button:hover { border-color: var(--sea); background: var(--foam); }
.time-presets .reset-time { margin-left: auto; border-color: transparent; background: transparent; color: var(--muted); }
.plan-message { margin-top: 12px; padding: 11px; border-radius: 10px; background: var(--foam); color: var(--sea-dark); font-size: .78rem; line-height: 1.4; }
.plan-message:empty { display: none; }
.plan-message.warning { background: var(--sand); color: #795d34; }
.today-capacity { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding: 11px; border-radius: 11px; background: #f2f7f5; color: var(--sea-dark); font-size: .74rem; line-height: 1.35; }
.today-capacity strong, .today-capacity span { display: block; }
.today-capacity span { color: var(--muted); text-align: right; }
.today-capacity.warning { background: var(--sand); color: #795d34; }
.today-capacity.warning span { color: #795d34; }
.schedule { display: grid; gap: 7px; margin-top: 11px; }
.schedule-item { display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.schedule-item time { color: var(--sea); font-size: .72rem; font-weight: 850; }
.schedule-item strong, .schedule-item small { display: block; }
.schedule-item strong { font-size: .8rem; }
.schedule-item small { margin-top: 2px; color: var(--muted); font-size: .65rem; text-transform: capitalize; }
.schedule-item button { border: 0; border-radius: 999px; padding: 6px 9px; background: var(--foam); color: var(--sea-dark); font-size: .66rem; font-weight: 800; }
.schedule-item.complete { opacity: .5; }
.schedule-item.complete strong { text-decoration: line-through; }
details > summary { color: var(--sea-dark); font-size: .82rem; font-weight: 850; }
details[open] > summary { margin-bottom: 16px; }
.reminder-banner { display: grid; gap: 7px; margin-bottom: 10px; padding: 13px; border-left: 3px solid var(--gold); border-radius: 0 11px 11px 0; background: #fffaf0; }
.reminder-banner p { color: #665941; font-family: Georgia, serif; font-size: .78rem; line-height: 1.4; }
.reminder-banner strong { color: #4e432f; }
.reminder-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.reminder-chips button { border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; background: white; color: var(--sea-dark); font-size: .68rem; font-weight: 800; }
.reminder-chips button:hover { border-color: var(--sea); background: var(--foam); }
.command-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.command-field { display: block; padding: 13px; border-radius: 13px; background: var(--sand); }
.command-field.admin { background: var(--blue); }
.command-field.recovery { background: var(--rose); }
.command-field > span { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: .7rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.command-field > span small { width: 100%; margin-left: 13px; color: rgba(23,60,58,.58); font-size: .56rem; letter-spacing: 0; text-transform: none; }
.command-field i { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.admin i { background: #5d8195; }
.recovery i { background: #aa7167; }
.command-field textarea { width: 100%; margin-top: 8px; padding: 0; border: 0; outline: 0; resize: vertical; background: transparent; color: var(--ink); line-height: 1.4; }
.today-list-card { min-height: 100px; }
.signal-meter { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 10px; padding: 12px; border: 1px solid #bcd9d2; border-radius: 12px; background: linear-gradient(135deg,#f4faf8,#edf4f1); }
.signal-meter strong { color: var(--sea-dark); font-family: Georgia,serif; font-size: 1rem; font-weight: 500; }
.signal-meter > p { max-width: 300px; color: var(--muted); font-size: .7rem; line-height: 1.4; text-align: right; }
.today-lanes { display: grid; gap: 10px; }
.today-lane { padding: 13px; border-radius: 13px; background: #f4f8f7; }
.today-lane > header { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.today-lane > header > strong { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: var(--sea); color: white; font-size: .77rem; }
.today-lane h3 { margin: 0; font-size: .82rem; }
.today-lane h3 span { margin-left: 4px; color: var(--muted); font-size: .65rem; }
.today-lane header p { margin-top: 2px; color: var(--muted); font-size: .65rem; }
.life-lane { background: #f0f6f8; }
.life-lane > header > strong { background: #5d8195; }
.invest-lane { background: #f2f7ed; }
.invest-lane > header > strong { background: #698a55; }
.spend-lane { background: #faf6eb; }
.spend-lane > header > strong { background: #a98043; }
.eliminate-lane { background: #faf1ee; }
.eliminate-lane > header > strong { background: #aa7167; }
.lane-task-list { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.lane-task-list li { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 10px; border-radius: 9px; background: white; color: #49615f; font-size: .76rem; }
.simple-task-main { min-width: 0; }
.lane-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 4px; }
.lane-move, .undo-inbox, .eliminate-task, .complete-task { border: 0; border-radius: 999px; padding: 6px 8px; font-size: .6rem; font-weight: 850; white-space: nowrap; }
.lane-move { background: var(--foam); color: var(--sea-dark); }
.undo-inbox { border: 1px solid #d6b8b1; background: #fff7f5; color: #8b554c; }
.eliminate-task { background: var(--rose); color: #8b554c; }
.complete-task { background: var(--sea); color: white; }
.calendar-heading { margin-bottom: 10px; }
.view-tabs { display: flex; padding: 3px; border-radius: 999px; background: #edf3f1; }
.view-tab { border: 0; border-radius: 999px; padding: 6px 10px; background: transparent; color: var(--muted); font-size: .68rem; font-weight: 800; }
.view-tab.active { background: white; color: var(--sea-dark); box-shadow: 0 2px 8px rgba(28,79,73,.1); }
.calendar-nav { margin-bottom: 9px; text-align: center; }
.calendar-nav strong { font-family: Georgia, serif; font-size: 1rem; font-weight: 500; }
.quarter-picker { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin-bottom: 6px; }
.quarter-picker[hidden] { display: none; }
.quarter-picker button, .week-picker button { border: 1px solid var(--line); border-radius: 8px; padding: 8px 5px; background: white; color: var(--muted); font-size: .67rem; font-weight: 800; }
.quarter-picker button.active, .week-picker button.active { border-color: var(--sea); background: var(--foam); color: var(--sea-dark); }
.week-picker { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; margin-bottom: 9px; }
.calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 5px; }
.calendar-day { min-width: 0; min-height: 108px; padding: 7px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.month-view .calendar-day { min-height: 88px; padding: 5px; }
.calendar-day.outside { opacity: .35; }
.calendar-day.today { border-color: var(--sea); box-shadow: inset 0 0 0 1px var(--sea); }
.day-heading { display: flex; justify-content: space-between; gap: 3px; margin-bottom: 6px; }
.day-heading strong { font-size: .72rem; }
.day-heading small { color: var(--muted); font-size: .57rem; text-transform: uppercase; }
.calendar-items { display: grid; gap: 3px; }
.calendar-item { padding: 4px; border-radius: 5px; background: var(--foam); color: var(--sea-dark); font-size: .56rem; line-height: 1.2; overflow: hidden; }
.calendar-item.task { background: var(--sand); color: #795d34; }
.calendar-more { color: var(--muted); font-size: .55rem; }
.calendar-legend { display: flex; gap: 12px; margin-top: 9px; color: var(--muted); font-size: .63rem; }
.calendar-legend span { display: flex; align-items: center; gap: 5px; }
.calendar-legend i { width: 8px; height: 8px; border-radius: 3px; }
.event-dot { background: var(--foam); border: 1px solid #95c3ba; }
.task-dot { background: var(--sand); border: 1px solid #d0b98f; }
.simple-calendar-export { border-color: #bcd9d2; }
.advanced-google { opacity: .78; }
.export-result { margin-top: 12px; padding: 13px; border: 1px solid #9fc8c0; border-radius: 11px; background: var(--foam); }
.export-result[hidden] { display: none; }
.export-result strong, .export-result p, .export-result small { display: block; }
.export-result strong { color: var(--sea-dark); font-size: .8rem; }
.export-result p { margin-top: 4px; color: #49615f; font-size: .72rem; line-height: 1.4; }
.export-result a { display: inline-block; margin-top: 9px; border-radius: 999px; padding: 7px 10px; background: var(--sea); color: white; font-size: .7rem; font-weight: 800; text-decoration: none; }
.export-result small { margin-top: 9px; color: var(--muted); font-size: .65rem; line-height: 1.4; }
.export-result.warning { border-color: #dfc696; background: var(--sand); }
.export-result.warning strong { color: #795d34; }
.google-status-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.connection-status { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .72rem; font-weight: 800; }
.connection-status::before { width: 8px; height: 8px; border-radius: 50%; background: #b5c0bd; content: ""; }
.connection-status.connected { color: var(--sea-dark); }
.connection-status.connected::before { background: #48a091; box-shadow: 0 0 0 3px var(--foam); }
.setup-warning { margin-bottom: 10px; padding: 10px; border-radius: 9px; background: var(--sand); color: #795d34; font-size: .72rem; line-height: 1.4; }
.google-setup { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.google-setup label { display: grid; gap: 4px; color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.google-setup input { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 9px; background: white; color: var(--ink); text-transform: none; }
.google-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.google-actions button:disabled { cursor: not-allowed; opacity: .45; }
.privacy-note { margin-top: 9px; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.setup-steps { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.setup-steps ol { display: grid; gap: 6px; margin: 10px 0; padding-left: 20px; color: var(--muted); font-size: .71rem; line-height: 1.4; }
.setup-steps code { padding: 2px 4px; border-radius: 4px; background: #edf3f1; color: var(--sea-dark); }
.setup-links { display: flex; flex-wrap: wrap; gap: 7px; }
.setup-links a { border-radius: 999px; padding: 7px 10px; background: var(--foam); color: var(--sea-dark); font-size: .68rem; font-weight: 800; text-decoration: none; }
.routine-form { display: grid; grid-template-columns: minmax(0,1fr) 110px auto; align-items: end; gap: 7px; padding: 11px; border-radius: 12px; background: #f2f7f5; }
.routine-form + .routine-form { margin-top: 8px; }
.routine-form.weekly-form { grid-template-columns: minmax(0,1fr) 92px 108px 90px 72px 86px auto; }
.routines-list { display: grid; gap: 7px; margin-top: 10px; }
.routine-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.routine-row.is-skipped { opacity: .58; }
.routine-row strong, .routine-row small { display: block; }
.routine-row strong { font-size: .78rem; }
.routine-row small { margin-top: 2px; color: var(--muted); font-size: .64rem; }
.routine-row button { border: 0; background: transparent; color: #9a6259; font-size: .68rem; }
.routine-row .include-toggle { border-radius: 999px; padding: 6px 8px; background: var(--foam); color: var(--sea-dark); font-weight: 800; }
.routines-empty { color: var(--muted); font-size: .74rem; }
.sorted-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.bucket { min-height: 90px; padding: 12px; border-radius: 12px; background: #f2f7f5; }
.bucket:first-child { display: none; }
.bucket h3 { margin: 0 0 9px; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.bucket ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bucket li { position: relative; padding: 9px 28px 9px 9px; border-radius: 8px; background: white; color: #49615f; font-size: .72rem; }
.bucket-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.bucket-action { border: 0; border-radius: 999px; padding: 5px 7px; background: var(--foam); color: var(--sea-dark); font-size: .58rem; font-weight: 800; }
.bucket-action.today-action { background: var(--sea); color: white; }
.task-meta { display: block; margin-top: 3px; color: #91a19f; font-size: .59rem; text-transform: capitalize; }
.bucket-remove { position: absolute; top: 3px; right: 3px; border: 0; background: transparent; color: #98aaa7; font-size: 1rem; }
.bucket-empty { color: #9aaba8; font-size: .7rem; }
.review-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 8px; }
.review-stat { padding: 12px; border-radius: 11px; background: #f2f7f5; }
.review-stat.key-stat { background: var(--foam); }
.review-stat.wide-stat { grid-column: span 2; }
.review-stat strong, .review-stat span { display: block; }
.review-stat strong { font-family: Georgia,serif; font-size: 1.4rem; font-weight: 500; }
.review-stat span { color: var(--muted); font-size: .66rem; }
.all-items-finder { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.all-items-finder input { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 11px; background: white; color: var(--ink); }
.all-items-results { display: grid; gap: 7px; max-height: 420px; margin-top: 10px; overflow: auto; padding-right: 2px; }
.all-item-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 10px; border-radius: 10px; background: white; }
.all-item-row strong, .all-item-row small { display: block; }
.all-item-row strong { font-size: .75rem; overflow-wrap: anywhere; }
.all-item-row small { margin-top: 2px; color: var(--muted); font-size: .61rem; }
.all-item-actions { display: flex; flex-wrap: wrap; gap: 5px; justify-content: end; }
.all-item-actions button { border: 0; border-radius: 999px; padding: 5px 7px; background: var(--foam); color: var(--sea-dark); font-size: .6rem; font-weight: 800; }
.review-questions { display: grid; gap: 9px; margin-top: 14px; }
.progress-panel { margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--line); }
.progress-breakdown { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 10px; }
.progress-stat { padding: 10px; border-radius: 10px; background: #f2f7f5; text-align: center; }
.progress-stat strong, .progress-stat span { display: block; }
.progress-stat strong { font-family: Georgia,serif; font-size: 1.2rem; font-weight: 500; }
.progress-stat span { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.completed-history { display: grid; gap: 6px; }
.completed-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 9px; border-radius: 9px; background: white; }
.completed-badge { display: grid; min-width: 28px; height: 28px; place-items: center; border-radius: 8px; background: var(--foam); color: var(--sea-dark); font-size: .62rem; font-weight: 900; }
.completed-row strong, .completed-row small { display: block; }
.completed-row strong { font-size: .75rem; }
.completed-row small { margin-top: 2px; color: var(--muted); font-size: .61rem; }
.completed-actions { display: flex; flex-wrap: wrap; gap: 5px; justify-content: end; }
.completed-row button { border: 0; border-radius: 999px; padding: 5px 7px; background: var(--foam); color: var(--sea-dark); font-size: .6rem; font-weight: 800; }
.completed-row .delete-completed-action { background: transparent; color: #9a6259; }
.review-questions label { color: var(--sea-dark); font-size: .76rem; font-weight: 800; }
.review-questions textarea { width: 100%; margin-top: 5px; border: 1px solid var(--line); border-radius: 10px; padding: 10px; resize: vertical; background: white; color: var(--ink); font-weight: 400; }
.memory-safety { display: grid; gap: 12px; margin-bottom: 14px; }
.cloud-sync-panel { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; margin: 14px 0; padding: 12px; border: 1px solid #bcd9d2; border-radius: 13px; background: linear-gradient(135deg,#ffffff,#edf7f4); }
.cloud-sync-panel strong, .cloud-sync-panel small { display: block; }
.cloud-sync-panel strong { margin-top: 3px; color: var(--sea-dark); font-size: .8rem; }
.cloud-sync-panel small { margin-top: 3px; color: var(--muted); font-size: .62rem; line-height: 1.35; }
.cloud-sync-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: end; }
.cloud-sync-help { grid-column: 1 / -1; color: var(--muted); font-size: .68rem; }
.cloud-sync-help summary { color: var(--sea-dark); font-weight: 850; }
.cloud-sync-help ol { margin: 8px 0 0; padding-left: 18px; line-height: 1.5; }
.memory-current { padding: 12px; border-radius: 12px; background: #f2f7f5; }
.memory-current strong { display: block; margin-top: 3px; color: var(--sea-dark); font-size: .74rem; line-height: 1.45; }
.mini-heading { margin: 0 0 8px; }
.mini-heading h3 { margin: 0; color: var(--sea-dark); font-size: .9rem; }
.memory-snapshots { display: grid; gap: 7px; }
.memory-snapshot { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.memory-snapshot strong, .memory-snapshot small { display: block; }
.memory-snapshot strong { color: var(--sea-dark); font-size: .75rem; }
.memory-snapshot small { margin-top: 3px; color: var(--muted); font-size: .61rem; line-height: 1.35; }
.memory-actions { display: flex; flex-wrap: wrap; gap: 5px; justify-content: end; }
.memory-actions button { border: 0; border-radius: 999px; padding: 6px 8px; background: var(--foam); color: var(--sea-dark); font-size: .6rem; font-weight: 800; }
.data-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.file-button input { display: none; }
.report-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.small-message { min-height: 18px; color: var(--sea-dark); font-size: .7rem; font-weight: 800; }
.report-preview { margin: 12px 0 16px; }
.report-history { display: grid; gap: 9px; }
.report-card { display: grid; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.featured-report { border-color: #bcd9d2; background: linear-gradient(135deg,#ffffff,#edf7f4); }
.report-card h3 { margin: 0; color: var(--sea-dark); font-size: .95rem; }
.report-meta { color: var(--muted); font-size: .65rem; }
.report-stats { display: flex; flex-wrap: wrap; gap: 6px; }
.report-stats span { border-radius: 999px; padding: 5px 8px; background: var(--foam); color: var(--sea-dark); font-size: .6rem; font-weight: 850; }
.report-body { display: grid; gap: 7px; color: #49615f; font-size: .72rem; line-height: 1.45; }
.report-body strong { color: var(--ink); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.report-body ul { display: grid; gap: 5px; margin: 0; padding-left: 18px; }
.report-body li small { display: block; color: var(--muted); font-size: .6rem; }
.report-card-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: end; }
.report-card-actions button { border: 0; border-radius: 999px; padding: 6px 8px; background: var(--foam); color: var(--sea-dark); font-size: .6rem; font-weight: 800; }
.report-card-actions .delete-report-action { background: transparent; color: #9a6259; }
footer { padding: 22px 0 4px; color: var(--muted); font-family: Georgia,serif; font-size: .86rem; font-style: italic; text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 650px) {
  .shell { width: min(100% - 18px,820px); padding-top: 18px; }
  .topbar { align-items: start; margin-bottom: 16px; }
  .mission { max-width: 230px; }
  .date { max-width: 86px; }
  .app-nav { top: 5px; }
  .upgrade-card { grid-template-columns: 1fr; }
  .upgrade-actions { justify-content: start; }
  .nav-button { flex-direction: column; gap: 3px; padding: 8px 3px; font-size: .67rem; }
  .nav-button b { position: absolute; top: 3px; right: 5px; }
  .card, .sacred-card { padding: 17px; border-radius: 17px; }
  .capture-actions { align-items: stretch; flex-direction: column; }
  .capture-actions .primary-button { justify-self: stretch; width: 100%; }
  .sacred-card { grid-template-columns: 1fr; }
  .anchor-form { grid-template-columns: 1fr 90px; }
  .anchor-form .secondary-button { grid-column: 1 / -1; }
  .energy-options, .command-grid { grid-template-columns: 1fr; }
  .forward-summary { grid-template-columns: repeat(2,1fr); }
  .forward-export-panel { grid-template-columns: 1fr; }
  .forward-export-actions { justify-content: start; }
  .forward-grid { grid-template-columns: 1fr; }
  .planner-controls { grid-template-columns: 1fr 1fr; }
  .planner-controls .primary-button { grid-column: 1 / -1; }
  .planner-card .section-heading { align-items: start; }
  .today-capacity { align-items: start; flex-direction: column; }
  .today-capacity span { text-align: left; }
  .task-details { grid-template-columns: 1fr 1fr; }
  .routine-form, .routine-form.weekly-form { grid-template-columns: 1fr 1fr; }
  .routine-form > label:first-child, .routine-form button { grid-column: 1 / -1; }
  .calendar-card { overflow: hidden; }
  .calendar-grid { overflow-x: auto; padding-bottom: 5px; grid-template-columns: repeat(7,minmax(102px,1fr)); }
  .google-setup { grid-template-columns: 1fr; }
  .sorted-grid { grid-template-columns: 1fr; }
  .lane-task-list li { grid-template-columns: 1fr; }
  .lane-actions { justify-content: start; }
  .review-stat.wide-stat { grid-column: span 1; }
  .all-item-row { grid-template-columns: 1fr; }
  .all-item-actions { justify-content: start; }
  .completed-row { grid-template-columns: auto 1fr; }
  .completed-actions { grid-column: 1 / -1; justify-content: start; }
  .memory-snapshot { grid-template-columns: 1fr; }
  .memory-actions { justify-content: start; }
  .cloud-sync-panel { grid-template-columns: 1fr; }
  .cloud-sync-actions { justify-content: start; }
  .report-card-actions { justify-content: start; }
}
@media (prefers-reduced-motion: no-preference) {
  .app-view.active { animation: arrive .22s ease both; }
  @keyframes arrive { from { opacity: 0; transform: translateY(4px); } }
}
