:root {
  --bg: #f4efe6;
  --panel: rgba(255, 255, 255, 0.9);
  --ink: #163028;
  --muted: #587264;
  --accent: #1f6b55;
  --danger: #b73b2d;
  --today: #d94a38;
  --week: #f1992d;
  --month: #3f9a4a;
  --line: rgba(22, 48, 40, 0.12);
  --shadow: 0 12px 32px rgba(47, 63, 55, 0.08);
  --surface-dark: #153c2b;
  --surface-dark-raised: #173e2d;
  --text-on-dark-primary: #f7f5ee;
  --text-on-dark-secondary: rgba(247, 245, 238, 0.82);
  --text-on-dark-muted: rgba(247, 245, 238, 0.68);
  --border-on-dark: rgba(255, 255, 255, 0.2);
  --link-on-dark: #ffffff;
}

/* Planning Sheet */
.goals-local-nav { border-bottom: 1px solid rgba(22, 48, 40, .12); background: rgba(255, 255, 255, .78); backdrop-filter: blur(12px); }
.goals-local-nav-inner { display: flex; align-items: center; width: min(1500px, calc(100% - 2rem)); margin: 0 auto; min-height: 58px; }
.goals-local-tabs { display: flex; align-self: stretch; gap: .2rem; }
.goals-local-tabs a { display: inline-flex; align-items: center; padding: 0 .9rem; border-bottom: 3px solid transparent; color: #526359; font-weight: 650; text-decoration: none; }
.goals-local-tabs a:hover, .goals-local-tabs a:focus-visible { color: #183e2c; background: #f4f7f3; }
.goals-local-tabs a.active { border-bottom-color: #246644; color: #183e2c; }
.goals-local-tabs a:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: -3px; }
.planning-sheet-page { max-width: 1500px; padding-bottom: clamp(4rem, 8vw, 7rem); }
.planning-sheet-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .8fr); gap: 2rem; align-items: end; padding: 2rem; border: 1px solid var(--border, #d9ddd5); border-radius: 22px; background: linear-gradient(135deg, #f8f7f1 0%, #eef3ec 100%); }
.planning-sheet-hero h1 { margin: .2rem 0 .5rem; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1; }
.planning-sheet-hero p { max-width: 680px; }
.planning-quick-capture { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; width: 100%; min-width: 0; padding: .65rem; border-radius: 16px; background: #fff; box-shadow: 0 16px 40px rgba(29, 56, 43, .09); }
.planning-quick-capture input { width: 100%; min-width: 0; box-sizing: border-box; padding: .75rem .8rem; border: 1px solid transparent; border-radius: 9px; background: transparent; font-size: 1rem; line-height: 1.4; }
.planning-quick-capture input:focus-visible { outline: 3px solid rgba(36, 102, 68, .28); outline-offset: 1px; border-color: #4f8467; background: #fbfdfb; }
.planning-quick-capture .button { min-height: 44px; white-space: nowrap; }
.planning-sheet-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.3rem 0; }
.planning-filter-tabs { display: flex; gap: .2rem; overflow-x: auto; border-bottom: 1px solid #d7ded6; }
.planning-filter-tabs a { flex: 0 0 auto; padding: .75rem .9rem; color: #536258; text-decoration: none; border-bottom: 2px solid transparent; }
.planning-filter-tabs a:hover, .planning-filter-tabs a:focus-visible { color: #183e2c; background: #f4f6f2; }
.planning-filter-tabs a:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: -3px; }
.planning-filter-tabs a.active { color: #183e2c; border-bottom-color: #246644; font-weight: 700; }
.planning-sort-form { display: flex; align-items: center; gap: .6rem; white-space: nowrap; }
.planning-sort-form select { width: auto; min-width: 170px; }
.planning-sort-form select:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: 2px; }
.planning-reorder-note { color: #6d7a72; font-size: .78rem; white-space: normal; }
.planning-workspace-message { min-height: 1.5rem; margin: -.55rem 0 .45rem; color: #356149; font-size: .86rem; font-weight: 650; }
.planning-workspace-message[data-tone="error"] { color: #963a31; }
.planning-sheet-workspace { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; min-height: 0; overflow: visible; }
.planning-sheet-workspace.has-drawer { grid-template-columns: minmax(0, 1fr); }
.planning-table-wrap { overflow: visible; max-height: none; border: 1px solid #dce2dc; border-radius: 20px; background: #fff; box-shadow: 0 18px 50px rgba(29, 56, 43, .06); }
.planning-sheet-workspace.has-drawer .planning-table-wrap { border-radius: 20px; }
.planning-table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.planning-table th { position: sticky; top: 0; z-index: 1; padding: .9rem 1rem; text-align: left; color: #68766d; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; background: #f7f8f5; border-bottom: 1px solid #dfe4df; }
.planning-table td { position: relative; height: 66px; padding: .65rem .65rem; vertical-align: middle; border-bottom: 1px solid #edf0ec; color: #34453b; }
.planning-draft-row { cursor: pointer; outline: none; }
.planning-draft-row:hover td, .planning-draft-row.selected td { background: #f4f8f4; }
.planning-draft-row.is-editing td { background: #f8fbf8; }
.planning-draft-row.is-saving td:first-child::after { content: "Saving"; position: absolute; top: .25rem; right: .35rem; color: #6c7b72; font-size: .67rem; }
.planning-draft-row.is-saved td:first-child::after { content: "Saved"; position: absolute; top: .25rem; right: .35rem; color: #2f704d; font-size: .67rem; }
.planning-draft-row:focus-visible td { background: #f4f8f4; box-shadow: inset 0 2px #397557, inset 0 -2px #397557; }
.planning-draft-row:focus-visible td:first-child { box-shadow: inset 3px 0 #397557, inset 0 2px #397557, inset 0 -2px #397557; }
.planning-draft-row:focus-visible td:last-child { box-shadow: inset -2px 0 #397557, inset 0 2px #397557, inset 0 -2px #397557; }
.planning-table th:first-child, .planning-table td:first-child { width: 20%; }
.planning-table th:nth-child(2), .planning-table td:nth-child(2) { width: 13%; }
.planning-table th:nth-child(3), .planning-table td:nth-child(3) { width: 9%; }
.planning-table th:nth-child(4), .planning-table td:nth-child(4) { width: 18%; }
.planning-table th:nth-child(5), .planning-table td:nth-child(5) { width: 10%; }
.planning-table th:nth-child(6), .planning-table td:nth-child(6) { width: 15%; }
.planning-table th:nth-child(7), .planning-table td:nth-child(7) { width: 11%; }
.planning-title-cell { padding-left: 2rem !important; }
.planning-inline-control { width: 100%; min-width: 0; min-height: 38px; box-sizing: border-box; padding: .45rem .5rem; border: 1px solid transparent; border-radius: 7px; color: #2e4338; background: transparent; font: inherit; font-size: .88rem; line-height: 1.25; text-overflow: ellipsis; }
.planning-inline-control:hover { border-color: #d6e0d8; background: rgba(255, 255, 255, .82); }
.planning-inline-control:focus { border-color: #4d8365; outline: 3px solid rgba(36, 102, 68, .2); outline-offset: 0; background: #fff; box-shadow: 0 5px 16px rgba(29, 56, 43, .07); }
.planning-title-input { color: #183e2c; font-weight: 750; }
.planning-title-display { display: flex; align-items: center; gap: .25rem; min-width: 0; }
.planning-title-display[hidden] { display: none; }
.planning-title-link { display: block; min-width: 0; overflow: hidden; color: #183e2c; font-weight: 750; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.planning-title-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.planning-title-link:focus-visible { border-radius: 3px; outline: 3px solid rgba(36, 102, 68, .28); outline-offset: 2px; text-decoration: underline; text-underline-offset: 3px; }
.planning-title-edit-button { flex: 0 0 auto; min-width: 32px; min-height: 30px; padding: .2rem .35rem; border: 0; border-radius: 5px; color: #607268; background: transparent; font: inherit; font-size: .7rem; cursor: pointer; opacity: 0; }
.planning-title-cell:hover .planning-title-edit-button, .planning-title-edit-button:focus { opacity: 1; }
.planning-title-edit-button:hover { color: #244c38; background: #e8f0e9; }
.planning-title-edit-button:focus-visible { outline: 3px solid rgba(36, 102, 68, .28); outline-offset: 1px; }
.planning-status-editor, .planning-priority-editor { font-size: .8rem; font-weight: 700; }
.planning-status-editor { background: #eef1ed; }
.planning-status-editor.planning-status-ready { color: #17452f; background: #dcecdf; }
.planning-status-editor.planning-status-exploring { color: #634a17; background: #f5eacb; }
.planning-status-editor.planning-status-dropped { color: #5d625e; background: #e7e8e6; }
.planning-date-input { min-width: 0; }
.planning-readonly-value { display: block; overflow: hidden; color: #34453b; font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }
.planning-outcome-preview { display: -webkit-box; overflow: hidden; margin: .2rem .5rem 0 0; color: #6a786f; font-size: .76rem; line-height: 1.3; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.planning-outcome-preview:hover, .planning-outcome-preview:focus-visible { color: #3f5d4d; text-decoration: underline; }
.planning-outcome-preview:focus-visible { border-radius: 3px; outline: 3px solid rgba(36, 102, 68, .24); outline-offset: 2px; }
.planning-cell-feedback { display: block; min-height: 0; margin: .05rem .5rem 0; color: #397557; font-size: .65rem; line-height: 1.15; }
.planning-cell-feedback:not(:empty) { min-height: .8rem; }
.planning-cell-feedback.is-error { color: #9b382e; }
.planning-drag-handle { position: absolute; top: 50%; left: .45rem; display: grid; place-items: center; width: 1.2rem; height: 2rem; overflow: hidden; transform: translateY(-50%); color: transparent; cursor: grab; opacity: 0; }
.planning-drag-handle::before { content: "\22EE\22EE"; color: #6c7b72; font-size: .95rem; letter-spacing: -.18rem; }
.planning-draft-row:hover .planning-drag-handle, .planning-drag-handle:focus { opacity: 1; }
.planning-drag-handle:focus-visible { outline: 3px solid rgba(36, 102, 68, .28); outline-offset: 1px; }
.planning-draft-row.is-dragging { opacity: .55; }
.planning-draft-row.is-drag-target td { box-shadow: inset 0 3px #397557; }
.planning-actions-cell { width: 54px; text-align: right; }
.planning-row-menu { position: relative; display: inline-block; }
.planning-row-menu summary { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d6ded7; border-radius: 8px; color: #294738; background: #fff; cursor: pointer; list-style: none; font-weight: 800; letter-spacing: .05em; }
.planning-row-menu summary::-webkit-details-marker { display: none; }
.planning-row-menu summary:hover { border-color: #9db3a4; background: #f4f8f4; }
.planning-row-menu summary:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: 2px; }
.planning-row-menu[open] summary { border-color: #397557; background: #edf5ef; }
.planning-row-menu-panel { position: absolute; z-index: 8; top: calc(100% + .35rem); right: 0; display: grid; min-width: 190px; padding: .4rem; border: 1px solid #d6ded7; border-radius: 10px; background: #fff; box-shadow: 0 16px 36px rgba(22, 48, 40, .16); text-align: left; }
.planning-row-menu:not([open]) > .planning-row-menu-panel { display: none; }
.planning-row-menu-panel.is-floating { position: fixed; z-index: 10000; right: auto; bottom: auto; width: max-content; max-width: calc(100vw - 16px); overflow-y: auto; overscroll-behavior: contain; }
.planning-row-menu-panel a, .planning-row-menu-panel button { display: block; width: 100%; min-height: 38px; padding: .55rem .7rem; border: 0; border-radius: 6px; color: #274137; background: transparent; font: inherit; font-size: .9rem; line-height: 1.2; text-align: left; text-decoration: none; cursor: pointer; }
.planning-row-menu-panel a:hover, .planning-row-menu-panel button:hover { background: #eef4ef; color: #183e2c; }
.planning-row-menu-panel a:focus-visible, .planning-row-menu-panel button:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: -2px; }
.planning-row-menu-panel form { margin: 0; }
.planning-row-menu-panel .danger-link { color: #8b342e; }
.planning-menu-note { display: block; max-width: 240px; padding: .5rem .7rem .2rem; color: #617068; font-size: .78rem; line-height: 1.35; }
.planning-first-step a, .planning-child-title { color: #275d43; font-weight: 650; }
.planning-first-step-action { display: inline-flex; padding: .38rem .55rem; border: 1px solid #cbd9cf; border-radius: 7px; background: #f8fbf8; text-decoration: none; }
.planning-first-step-action:hover, .planning-first-step-action:focus-visible { border-color: #6e9b80; background: #edf5ef; }
.planning-first-step-action:focus-visible, .planning-child-title:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: 2px; }
.planning-cell-muted { color: #76837b; }
.planning-table small, .planning-child-card small { display: block; margin-top: .3rem; color: #66756b; }
.planning-related-goal-editor.is-empty { color: #75837b; font-weight: 500; }
.planning-related-goal-editor:not(.is-empty) { color: #294638; font-weight: 600; }
.planning-related-goal-empty { color: #75837b; font-weight: 500; }
.planning-status { display: inline-block; padding: .25rem .55rem; border-radius: 6px; font-size: .8rem; font-weight: 700; background: #eef1ed; }
.planning-status-ready { color: #17452f; background: #dcecdf; }
.planning-status-exploring { color: #634a17; background: #f5eacb; }
.planning-status-promoted { color: #fff; background: #246644; }
.planning-status-dropped { color: #6b6f6b; background: #e7e8e6; }
.planning-add-row td { height: auto; padding: .65rem .8rem; border-bottom: 0; background: #fbfcfa; }
.planning-add-row-control { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .4rem; }
.planning-add-row-control > span:first-child { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; color: #2f6847; background: #e5efe7; font-weight: 800; }
.planning-add-row textarea { width: 100%; min-height: 40px; max-height: 110px; box-sizing: border-box; padding: .55rem .65rem; resize: vertical; border: 1px solid transparent; border-radius: 7px; background: transparent; font: inherit; font-size: .9rem; line-height: 1.35; }
.planning-add-row textarea:hover { background: #fff; }
.planning-add-row textarea:focus { border-color: #4d8365; outline: 3px solid rgba(36, 102, 68, .2); background: #fff; }
.planning-add-row-hint { margin-left: -.15rem; padding: .3rem .4rem; color: #5f6e65; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.planning-add-row-feedback { color: #66756d; font-size: .75rem; }
.planning-add-row-feedback { display: block; min-height: 1rem; margin-left: 2.35rem; }
body:has(.planning-drawer) { overflow: hidden; }
.planning-drawer-backdrop { position: fixed; z-index: 8998; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(18, 38, 29, .28); }
.planning-drawer { position: fixed; z-index: 8999; top: 0; right: 0; bottom: 0; width: min(520px, calc(100vw - 3rem)); overflow-y: auto; max-height: none; box-sizing: border-box; padding: 1.4rem; border: 0; border-left: 1px solid #d7dfd8; border-radius: 0; background: #fbfcfa; box-shadow: -24px 0 60px rgba(18, 38, 29, .18); }
.planning-drawer-header, .planning-section-heading, .planning-child-card, .planning-sheet-dashboard-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.planning-drawer-header h2 { margin: .15rem 0; font-size: 1.45rem; }
.planning-drawer-header > a, .planning-drawer-close-button { color: #32443a; font-size: 1.8rem; text-decoration: none; }
.planning-drawer-close-button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.planning-drawer-close-button:hover { background: #edf2ed; }
.planning-drawer-close-button:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: 2px; }
.planning-edit-form, .planning-child-form { display: grid; gap: .85rem; margin-top: 1rem; }
.planning-edit-form label { display: grid; gap: .35rem; color: #405047; font-weight: 650; }
.planning-create-drawer[hidden], .planning-create-backdrop[hidden] { display: none !important; }
.planning-create-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-top: .35rem; }
.planning-create-feedback { min-height: 1.35rem; margin: 0; color: #8b342e; }
body.planning-create-open { overflow: hidden; }
.planning-children { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid #dfe4df; outline: none; }
.planning-children:focus { border-top-color: #7ca18a; }
.planning-section-heading h3 { margin: .1rem 0; }
.planning-section-heading > span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #e3ece4; color: #214c34; font-weight: 800; }
.planning-child-card { margin-top: .65rem; padding: .8rem; border: 1px solid #dde3dd; border-radius: 10px; background: #fff; }
.planning-child-card form { margin: 0; }
.planning-fixed-type { display: flex; align-items: center; min-height: 44px; padding: .65rem .75rem; border: 1px solid #d9e0da; border-radius: 8px; color: #405047; background: #f4f7f3; font-weight: 650; }
.planning-lock-note, .planning-preview-warning { padding: .85rem 1rem; border-left: 3px solid #b98b31; background: #fbf3df; color: #55431d; }
.planning-drawer-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid #dfe4df; }
.planning-drawer-actions form { margin: 0; }
.danger-link { color: #8b342e; }
.planning-workspace-message { display: flex; align-items: center; gap: .65rem; }
.planning-message-action { padding: .15rem 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #245b3d; font: inherit; font-weight: 700; cursor: pointer; }
.planning-message-action:focus-visible { outline: 3px solid rgba(36, 102, 68, .3); outline-offset: 3px; }
.planning-delete-dialog { width: min(520px, calc(100% - 28px)); padding: 1.5rem; border: 1px solid #cad4cc; border-radius: 14px; color: #1c3026; box-shadow: 0 24px 70px rgba(17, 37, 27, .25); }
.planning-delete-dialog::backdrop { background: rgba(18, 32, 25, .45); backdrop-filter: blur(2px); }
.planning-delete-dialog h2 { margin: 0 0 .65rem; font-size: 1.35rem; }
.planning-delete-dialog p { color: #4a5d52; }
.planning-delete-item { font-weight: 700; overflow-wrap: anywhere; }
.planning-delete-dialog-actions { display: flex; justify-content: flex-end; gap: .65rem; margin-top: 1.35rem; }
.planning-button-danger { border-color: #8b342e; background: #8b342e; color: #fff; }
.planning-button-danger:hover { background: #6f2824; }
.planning-button-danger:active { background: #5e211e; }
.planning-button-danger:focus-visible { outline: 3px solid rgba(139, 52, 46, .35); outline-offset: 3px; }
.planning-button-danger:disabled { cursor: wait; opacity: .62; }
.planning-delete-feedback { min-height: 1.35rem; margin: .75rem 0 0; color: #8b342e !important; }
.planning-empty-state { display: grid; place-items: center; align-content: center; min-height: 190px; padding: 2rem; text-align: center; color: #536258; border-bottom: 1px solid #edf0ec; }
.planning-empty-state span { font-size: 3rem; color: #6a8a74; }
.planning-empty-state h2 { margin: .5rem 0; color: #213c2f; }
.planning-preview-page { max-width: 920px; }
.planning-preview-card { padding: clamp(1.5rem, 4vw, 3rem); }
.planning-preview-tree { display: grid; gap: .65rem; margin: 1.5rem 0; }
.planning-preview-counts { display: flex; flex-wrap: wrap; gap: .55rem; margin: 1.2rem 0; }
.planning-preview-counts span { padding: .55rem .7rem; border: 1px solid #dce2dc; border-radius: 8px; background: #f8faf7; }
.planning-promotion-history { margin-top: 1.5rem; padding: 1rem; border: 1px solid #cddbd0; background: #f2f7f2; }
.planning-preview-tree article { display: flex; align-items: center; gap: .9rem; padding: .9rem 1rem; border: 1px solid #dce2dc; border-radius: 12px; background: #f8faf7; }
.planning-preview-tree article > span { display: grid; place-items: center; flex: 0 0 2rem; height: 2rem; border-radius: 50%; color: #fff; background: #246644; font-weight: 800; }
.planning-preview-tree small { display: block; color: #647269; }
.planning-sheet-dashboard-card { margin-top: 1rem; background: #f4f8f3; }
.form-context-note { padding: .7rem .85rem; border-left: 3px solid #317452; background: #edf5ef; color: #294a38; }

@media (max-width: 1180px) {
  .planning-sheet-hero { grid-template-columns: 1fr; }
  .planning-sheet-toolbar { align-items: stretch; flex-direction: column; }
  .planning-table th:nth-child(7), .planning-table td:nth-child(7) { display: none; }
  .planning-table { min-width: 0; }
}

@media (max-width: 980px) {
  .planning-sheet-workspace.has-drawer { grid-template-columns: 1fr; }
  .planning-sheet-workspace.has-drawer .planning-table-wrap { border-radius: 20px; }
  .planning-sheet-workspace.has-drawer .planning-drawer { inset: 0; width: 100%; overflow-y: auto; max-height: none; margin: 0; padding: clamp(1rem, 4vw, 2rem); border: 0; border-radius: 0; }
}

@media (max-width: 820px) {
  .goals-local-nav-inner { align-items: stretch; width: 100%; min-height: 0; padding: 0 .75rem; }
  .goals-local-tabs { min-height: 48px; overflow-x: auto; }
  .goals-local-tabs a { flex: 0 0 auto; padding-inline: .75rem; }
  .planning-sheet-page { padding-inline: .75rem; }
  .planning-sheet-hero { padding: 1.2rem; border-radius: 14px; }
  .planning-quick-capture { grid-template-columns: 1fr; }
  .planning-sort-form { justify-content: space-between; }
  .planning-sort-form select { min-width: 0; }
  .planning-sheet-workspace { min-height: 0; }
  .planning-table-wrap { overflow: visible; max-height: none; border-radius: 14px; }
  .planning-table { display: block; min-width: 0; }
  .planning-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .planning-table tbody, .planning-table tr, .planning-table td { display: block; width: auto; }
  .planning-table tr { padding: 1rem; border-bottom: 1px solid #dfe4df; }
  .planning-table td { padding: .28rem 0; border: 0; }
  .planning-table td:nth-child(7) { display: none; }
  .planning-table td:nth-child(2), .planning-table td:nth-child(3), .planning-table td:nth-child(4), .planning-table td:nth-child(5) { display: inline-block; width: calc(50% - .5rem); margin-right: .35rem; vertical-align: top; }
  .planning-table td:nth-child(2)::before, .planning-table td:nth-child(3)::before, .planning-table td:nth-child(4)::before, .planning-table td:nth-child(5)::before, .planning-table td:nth-child(6)::before { display: block; margin-bottom: .15rem; color: #718077; font-size: .67rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
  .planning-table td:nth-child(2)::before { content: "Type"; }
  .planning-table td:nth-child(3)::before { content: "Status"; }
  .planning-table td:nth-child(4)::before { content: "Priority"; }
  .planning-table td:nth-child(5)::before { content: "Target"; }
  .planning-table td:nth-child(6)::before { content: "First next step"; }
  .planning-table td:nth-child(6) { margin-top: .55rem; padding-top: .65rem; border-top: 1px solid #edf0ec; }
  .planning-table .planning-actions-cell { position: absolute; top: .7rem; right: .65rem; width: auto; height: auto; }
  .planning-table tr { position: relative; padding-right: 3.8rem; }
  .planning-table .planning-add-row { padding: .65rem; padding-right: .65rem; }
  .planning-table .planning-add-row td { display: block; width: auto; }
  .planning-add-row-control { grid-template-columns: auto minmax(0, 1fr); }
  .planning-add-row-hint { display: none; }
  .planning-inline-control { min-height: 44px; font-size: .9rem; }
  .planning-title-edit-button { min-width: 40px; min-height: 40px; opacity: 1; }
  .planning-title-cell { padding-left: 1.75rem !important; }
  .planning-drag-handle { left: 0; opacity: .7; }
  body.planning-menu-open { overflow: hidden; }
  .planning-menu-backdrop { position: fixed; z-index: 9998; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(18, 38, 29, .42); cursor: default; }
  .planning-row-menu-panel.is-floating.is-mobile-sheet { z-index: 10000; top: auto; right: 8px; bottom: 8px; left: 8px; width: auto; max-width: none; max-height: calc(100dvh - 16px); padding: .65rem; border-radius: 16px; box-shadow: 0 24px 60px rgba(13, 35, 25, .3); }
  .planning-row-menu-panel.is-mobile-sheet a, .planning-row-menu-panel.is-mobile-sheet button { min-height: 46px; padding: .75rem .85rem; }
  .planning-table td:first-child, .planning-table td:nth-child(6) { width: auto; min-width: 0; }
  .planning-empty-state { min-height: 180px; padding: 1.5rem 1.25rem; }
  .planning-drawer { padding: 1rem; border-radius: 14px; }
  .planning-sheet-dashboard-card { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .planning-sheet-page *, .planning-sheet-page *::before, .planning-sheet-page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Public site system: shared by the homepage and /for-leaders. */
body:has(.public-site-header) { font-family:"Segoe UI",Inter,Manrope,"Avenir Next",Arial,sans-serif; color:#17261f; background:#f7f8f5; font-size:17px; line-height:1.65; }
body:has(.public-site-header)::before,body:has(.public-site-header)::after { display:none; }
body:has(.public-site-header) a:focus-visible,body:has(.public-site-header) summary:focus-visible { outline:3px solid rgba(35,105,75,.35); outline-offset:4px; }
.public-site-header,.public-site-shell,.public-footer { width:min(1440px,calc(100% - 48px)); margin-inline:auto; }
.public-site-header { display:grid; grid-template-columns:auto 1fr auto; align-items:center; min-height:82px; gap:32px; border-bottom:1px solid #dce2dd; }
.public-site-brand img { display:block; width:178px; height:auto; }
.public-site-nav { display:flex; justify-content:center; gap:28px; }
.public-site-nav a,.public-sign-in { color:#30443a; font-size:.92rem; font-weight:700; }
.public-site-nav a:hover,.public-sign-in:hover,.public-text-action:hover { color:#12603e; }
.public-site-actions { display:flex; align-items:center; gap:20px; }
.public-primary-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid #18583c; border-radius:7px; background:#18583c; color:#fff; font-size:.9rem; font-weight:800; text-decoration:none; }
.public-primary-action:hover { background:#104a31; color:#fff; }
.public-large-action { min-height:50px; padding:12px 22px; }
.public-site-shell { display:block; }
.public-hero { display:grid; grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr); align-items:center; gap:clamp(48px,6vw,92px); min-height:720px; padding:74px 0 92px; }
.public-hero-copy { max-width:650px; }
.public-eyebrow { margin:0 0 14px; color:#287050; font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.public-hero h1 { max-width:790px; margin:0; font-size:clamp(3.75rem,5.15vw,5rem); line-height:1.01; letter-spacing:-.055em; }
.public-hero-lead { margin:28px 0 0; max-width:620px; color:#344b40; font-size:1.25rem; line-height:1.5; }
.public-hero-support { margin:16px 0 0; color:#56685f; font-size:1rem; }
.public-hero-actions { display:flex; align-items:center; gap:24px; margin-top:30px; }
.public-text-action { color:#175b3e; font-size:.92rem; font-weight:800; }
.public-text-action span { margin-left:5px; }
.public-hero-note { margin:20px 0 0; color:#66756d; font-size:.84rem; }
.public-hero-visual { margin:0; }
.public-hero-visual img,.public-product-showcase figure img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:center top; border:1px solid #c9d3cc; border-radius:10px; background:#fff; box-shadow:0 24px 60px rgba(24,53,39,.14); }
.public-hero-visual figcaption,.public-product-showcase figcaption { margin-top:12px; color:#63736b; font-size:.78rem; }
.public-section { padding:110px 0; border-top:1px solid #dce2dd; }
.public-section-heading { max-width:800px; margin-bottom:52px; }
.public-section-heading.centered { margin-inline:auto; text-align:center; }
.public-section-heading h2,.public-statement h2,.public-product-showcase h2,.public-leader-callout h2,.leaders-reading-feature h2,.public-cta-band h2 { margin:0; font-size:clamp(2.15rem,3.1vw,3rem); line-height:1.1; letter-spacing:-.038em; }
.public-section-heading > p:last-child { margin:20px 0 0; color:#506258; font-size:1.05rem; }
.public-problem-section { display:grid; grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); gap:9vw; }
.public-statement h2 { max-width:580px; }
.public-editorial-list { border-top:1px solid #bdc8c0; }
.public-editorial-list > div { display:grid; grid-template-columns:52px 1fr; column-gap:20px; padding:25px 0; border-bottom:1px solid #d9dfda; }
.public-editorial-list span { grid-row:1/3; color:#2d7453; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.public-editorial-list h3 { margin:0; font-size:1.18rem; }
.public-editorial-list p { margin:5px 0 0; color:#586960; font-size:.94rem; }
.public-editorial-list.three-column { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #bdc8c0; }
.public-editorial-list.three-column > div { display:block; padding:28px; border-right:1px solid #d9dfda; }
.public-workflow { display:grid; grid-template-columns:repeat(5,1fr); margin:0; padding:0; border-top:1px solid #bcc8c0; list-style:none; }
.public-workflow li { min-height:225px; padding:26px 24px; border-right:1px solid #d8dfd9; }
.public-workflow li:last-child { border-right:0; }
.public-workflow span { display:block; margin-bottom:42px; color:#27704f; font-size:.78rem; font-weight:800; }
.public-workflow strong { display:block; font-size:1.15rem; }
.public-workflow p { margin:8px 0 0; color:#5a6a62; font-size:.9rem; }
.public-product-showcase { display:grid; grid-template-columns:minmax(380px,.72fr) minmax(0,1.28fr); align-items:center; gap:clamp(48px,7vw,110px); padding:120px 0; border-top:1px solid #dce2dd; }
.public-product-showcase.reverse { grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr); }
.public-product-showcase.reverse .public-showcase-copy { order:2; }
.public-showcase-copy > p:not(.public-eyebrow) { color:#51635a; }
.public-showcase-copy ul { margin:30px 0 0; padding:0; border-top:1px solid #cbd3cd; list-style:none; }
.public-showcase-copy li { display:grid; gap:2px; padding:15px 0; border-bottom:1px solid #dde2de; }
.public-showcase-copy li strong { font-size:.92rem; }
.public-showcase-copy li span { color:#627169; font-size:.84rem; }
.public-product-showcase figure { margin:0; }
.public-comparison { display:grid; grid-template-columns:1fr 1fr; border:1px solid #cbd4cd; }
.public-comparison-column { padding:38px 42px; }
.public-comparison-column + .public-comparison-column { border-left:1px solid #cbd4cd; }
.public-comparison-column.muted { background:#f0f2ef; }
.public-comparison-column.strong { background:#173e2d; color:#fff; }
.public-comparison h3 { margin:0 0 24px; font-size:1.35rem; }
.public-comparison ul { display:grid; gap:13px; margin:0; padding:0; list-style:none; }
.public-comparison li { position:relative; padding-left:24px; }
.public-comparison li::before { content:"—"; position:absolute; left:0; }
.public-comparison-column.muted li { color:#53635b; }
.public-leader-callout { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:8vw; }
.public-leader-callout p { color:#506158; }
.public-leader-callout blockquote { margin:0; padding:16px 0 16px 34px; border-left:3px solid #2d7252; color:#264438; font-size:1.55rem; line-height:1.45; }
.public-resource-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #bdc8c0; }
.public-resource-grid article { min-height:240px; padding:28px; border-right:1px solid #d8ded9; border-bottom:1px solid #d8ded9; }
.public-resource-grid article:first-child { border-left:1px solid #d8ded9; }
.public-resource-grid article p { margin:0; color:#2b7451; font-size:.74rem; font-weight:800; text-transform:uppercase; }
.public-resource-grid h3 { margin:30px 0; font-size:1.3rem; line-height:1.3; }
.public-resource-grid a { font-weight:800; }
.public-pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.public-pricing-grid article { position:relative; padding:36px; border:1px solid #cad3cc; border-radius:9px; background:#fff; }
.public-pricing-grid article.featured { border:2px solid #266749; }
.public-pricing-grid h3 { margin:0; font-size:1.25rem; }
.public-price { margin:24px 0 4px; color:#173b2b; font-size:2.2rem; font-weight:800; }
.public-price small { font-size:.8rem; }
.public-pricing-grid ul { min-height:148px; padding-left:20px; color:#506158; font-size:.9rem; }
.public-plan-action { display:flex; justify-content:center; padding:11px; border:1px solid #2b684c; border-radius:6px; font-weight:800; }
.public-plan-action.filled { background:#1d5d40; color:#fff; }
.public-plan-label { position:absolute; top:-13px; left:24px; margin:0; padding:3px 8px; background:#f7f8f5; color:#1d6847; font-size:.7rem; font-weight:800; text-transform:uppercase; }
.public-faq-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; }
.public-faq-list { border-top:1px solid #bdc8c0; }
.public-faq-list details { border-bottom:1px solid #d4dcd6; }
.public-faq-list summary { display:flex; justify-content:space-between; gap:20px; padding:22px 0; cursor:pointer; color:#223b2f; font-weight:800; list-style:none; }
.public-faq-list summary::-webkit-details-marker { display:none; }
.public-faq-list summary span { color:#377556; font-size:1.25rem; }
.public-faq-list details[open] summary span { transform:rotate(45deg); }
.public-faq-list details div { padding:0 40px 22px 0; color:#56675e; font-size:.94rem; }
.public-cta-band { display:grid; grid-template-columns:1fr auto; align-items:center; gap:60px; margin:24px 0 110px; padding:58px 64px; border-radius:10px; background:#153c2b; color:#fff; }
.public-cta-band .public-eyebrow { color:#a8d2ba; }
.public-cta-band p:not(.public-eyebrow) { color:#d7e3dc; }
.public-cta-actions { display:grid; gap:14px; justify-items:center; }
.public-cta-band .public-primary-action { border-color:#fff; background:#fff; color:#173b2b; }
.public-text-action.light { color:#fff; }
.leaders-reading-feature { display:grid; grid-template-columns:1fr auto; align-items:center; gap:60px; }
.leaders-reading-feature > div { max-width:760px; }
.leaders-reading-feature p:not(.public-eyebrow) { color:#54655c; }
.public-footer { border-top:1px solid #dce2dd; }

@media (max-width:1050px) {
  .public-site-header { grid-template-columns:auto auto; }
  .public-site-nav { grid-column:1/-1; grid-row:2; justify-content:flex-start; overflow-x:auto; padding-bottom:12px; }
  .public-site-actions { justify-self:end; }
  .public-hero { grid-template-columns:1fr; min-height:0; padding-top:58px; }
  .public-hero-copy { max-width:760px; }
  .public-hero-visual { max-width:900px; }
  .public-problem-section,.public-product-showcase,.public-product-showcase.reverse { grid-template-columns:1fr; gap:48px; }
  .public-product-showcase.reverse .public-showcase-copy { order:0; }
  .public-workflow { grid-template-columns:repeat(3,1fr); }
  .public-workflow li { border-bottom:1px solid #d8dfd9; }
  .public-faq-section { grid-template-columns:1fr; gap:0; }
}
@media (max-width:768px) {
  .public-site-header,.public-site-shell,.public-footer { width:min(100% - 28px,1440px); }
  .public-site-header { min-height:72px; gap:14px; }
  .public-site-brand img { width:145px; }
  .public-site-nav { gap:20px; }
  .public-site-nav a { white-space:nowrap; }
    .public-sign-in { display:inline-flex; align-items:center; min-height:44px; }
  .public-primary-action { min-height:42px; padding:9px 13px; }
  .public-hero { gap:42px; padding:54px 0 70px; }
  .public-hero h1 { font-size:clamp(3rem,12vw,4.2rem); }
  .public-hero-lead { font-size:1.12rem; }
  .public-section,.public-product-showcase { padding:76px 0; }
  .public-section-heading { margin-bottom:36px; }
  .public-workflow { grid-template-columns:1fr; }
  .public-workflow li { min-height:0; padding:22px 8px; border-right:0; }
  .public-workflow span { margin-bottom:16px; }
  .public-comparison,.public-leader-callout,.public-editorial-list.three-column,.public-resource-grid,.public-pricing-grid,.public-cta-band,.leaders-reading-feature { grid-template-columns:1fr; }
  .public-comparison-column { padding:28px; }
  .public-comparison-column + .public-comparison-column { border-left:0; border-top:1px solid #cbd4cd; }
  .public-editorial-list.three-column > div { border-right:0; }
  .public-resource-grid article { min-height:0; border-left:1px solid #d8ded9; }
  .public-pricing-grid article { padding:28px; }
  .public-cta-band { gap:28px; margin-bottom:70px; padding:36px 28px; }
  .public-cta-actions { justify-items:start; }
}
@media (max-width:480px) {
  body:has(.public-site-header) { font-size:16px; }
  .public-site-header { grid-template-columns:1fr auto; }
  .public-site-actions .public-primary-action { font-size:.78rem; }
  .public-site-nav { margin-inline:-14px; padding-inline:14px; }
  .public-hero h1 { font-size:2.9rem; }
  .public-hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }
  .public-hero-visual img,.public-product-showcase figure img { aspect-ratio:4/3; object-position:42% top; }
  .public-problem-section { gap:40px; }
  .public-editorial-list > div { grid-template-columns:38px 1fr; }
  .public-section-heading h2,.public-statement h2,.public-product-showcase h2,.public-leader-callout h2,.leaders-reading-feature h2,.public-cta-band h2 { font-size:2rem; }
}
@media (prefers-reduced-motion:reduce) { body:has(.public-site-header) *,body:has(.public-site-header) *::before,body:has(.public-site-header) *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

* {
  box-sizing: border-box;
}

body {
  position: relative;
  margin: 0;
  min-height: 100vh;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.9), transparent 32%),
    linear-gradient(140deg, #edf3e7 0%, #f7efe6 50%, #f2f5f7 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(244, 239, 230, 0.12), rgba(244, 239, 230, 0.5)),
    url("/serene-garden.svg") center top / cover no-repeat,
    url("/botanical-corner.svg") right -6rem top -2rem / min(36vw, 420px) no-repeat;
  opacity: 0.68;
  z-index: -2;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 12%, rgba(255, 255, 255, 0.6), transparent 18%),
    radial-gradient(circle at 80% 18%, rgba(255, 247, 230, 0.48), transparent 22%);
  z-index: -1;
}

a {
  color: var(--accent);
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

label {
  display: grid;
  gap: 0.45rem;
  font-weight: 600;
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0.8rem 0.95rem;
  background: rgba(255, 255, 255, 0.95);
}

textarea {
  resize: vertical;
}

.topbar,
.page-shell,
.auth-shell {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
}

.reminder-stack {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto 1rem;
  display: grid;
  gap: 0.8rem;
}

.verification-banner {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto 1rem;
  padding: 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(31, 107, 85, 0.22);
  background: rgba(31, 107, 85, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.verification-banner-copy strong {
  display: block;
  color: var(--ink);
}

.verification-banner-copy p {
  margin: 0.25rem 0 0;
}

.verification-banner-success {
  border-color: rgba(31, 107, 85, 0.2);
  background: rgba(31, 107, 85, 0.06);
}

.verification-banner-success p {
  margin: 0;
}

@media (max-width: 720px) {
  .verification-banner {
    flex-direction: column;
    align-items: stretch;
  }

  .verification-banner form,
  .verification-banner .button {
    width: 100%;
  }
}

.reminder-stack-empty {
  display: none;
}

.reminder-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.reminder-toolbar-copy {
  margin: 0;
  color: var(--muted);
}

.utility-link-bell {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
}

.utility-bell {
  display: inline-flex;
  width: 1rem;
  height: 1rem;
}

.utility-bell svg {
  width: 100%;
  height: 100%;
}

.utility-badge {
  position: absolute;
  top: -0.2rem;
  right: -0.2rem;
  min-width: 1.2rem;
  min-height: 1.2rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.14);
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.reminder-browser-toggle-hidden {
  display: none;
}

.reminder-toast-stack {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 30;
  display: grid;
  gap: 0.75rem;
  width: min(24rem, calc(100% - 2rem));
}

.reminder-toast {
  padding: 0.95rem 1rem;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow);
}

.reminder-toast strong {
  display: block;
}

.reminder-toast p {
  margin: 0.35rem 0 0;
  color: var(--muted);
}

.reminder-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: rgba(255, 255, 255, 0.88);
}

.reminder-card strong {
  display: block;
}

.reminder-card p {
  margin: 0.35rem 0 0;
  color: var(--muted);
}

.reminder-planning {
  border-left: 4px solid #b26b13;
}

.reminder-schedule {
  border-left: 4px solid #456ea6;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 0;
}

.brand {
  font-size: 1.55rem;
  font-weight: 700;
  color: var(--ink);
}

.brand-lockup {
  display: inline-flex;
  align-items: center;
}

.brand-logo {
  width: auto;
  height: 56px;
  display: block;
}

.tagline,
.small-copy,
.user-badge span,
.mini-list,
.timeline-row span,
.card p,
.todo-copy p,
.panel-note,
.muted-line,
.manage-row p {
  color: var(--muted);
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.user-badge {
  display: grid;
  text-align: right;
}

.page-shell,
.auth-shell {
  padding-bottom: 3rem;
}

.auth-shell {
  display: grid;
  place-items: center;
  min-height: calc(100vh - 4rem);
}

.auth-card,
.panel,
.hero-card,
.signal,
.quadrant-cell,
.chain-card,
.chain-level {
  background: var(--panel);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: var(--shadow);
}

.auth-card {
  width: min(520px, 100%);
  padding: 2rem;
  border-radius: 28px;
}

.registration-card {
  width: min(980px, 100%);
}

.registration-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  grid-template-areas:
    "intro preview"
    "form preview";
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.registration-intro {
  grid-area: intro;
  min-width: 0;
}

.registration-form-column {
  grid-area: form;
  min-width: 0;
}

.registration-form-column,
.registration-preview dl {
  display: grid;
  gap: 1rem;
}

.registration-reassurance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem 1rem;
  margin: 1.15rem 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-size: 0.92rem;
}

.registration-reassurance li::before {
  content: "✓";
  margin-right: 0.45rem;
  color: var(--accent);
  font-weight: 800;
}

.registration-pricing-note {
  margin: 0;
  padding: 0.8rem 0.95rem;
  border-left: 3px solid rgba(31, 107, 85, 0.38);
  background: rgba(31, 107, 85, 0.055);
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.registration-pricing-note a {
  display: inline-block;
  margin-left: 0.35rem;
  color: var(--accent);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.registration-preview {
  grid-area: preview;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(31, 107, 85, 0.12), rgba(248, 245, 237, 0.94));
  border: 1px solid rgba(31, 107, 85, 0.18);
}

.registration-preview dl {
  margin: 1.25rem 0 0;
}

.registration-preview dl div {
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(31, 107, 85, 0.15);
}

.registration-preview dl div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.registration-preview dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.registration-preview dd {
  margin: 0.3rem 0 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.signup-consent-stack {
  gap: 0.85rem;
}

.signup-consent-stack .checkbox-row {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
  width: 100%;
  font-weight: 550;
  line-height: 1.45;
}

.signup-consent-stack .checkbox-row input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0.18rem 0 0;
}

.signup-consent-stack .checkbox-row span {
  min-width: 0;
}

.registration-verification,
.registration-verification .cf-turnstile {
  width: 100%;
}

.registration-form-column form > .button {
  width: 100%;
}

@media (max-width: 760px) {
  .registration-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro"
      "preview"
      "form";
    gap: 1.25rem;
  }

  .registration-reassurance {
    grid-template-columns: 1fr;
  }

  .registration-preview {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .registration-card {
    padding: 1.35rem;
  }

  .registration-pricing-note a {
    margin: 0.25rem 0 0;
  }
}

.auth-brand {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 1rem;
}

.auth-brand img {
  display: block;
  width: min(220px, 72%);
  height: auto;
}

.auth-copy h1,
.hero-card h1,
.panel h1,
.panel h2 {
  margin-bottom: 0.35rem;
}

.stack {
  display: grid;
  gap: 1rem;
}

.button,
.button-secondary,
.link-button,
.checkbox-button {
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

.button,
.button-secondary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.85rem 1.15rem;
  font-weight: 700;
}

.button {
  background: var(--accent);
  color: #fff;
}

.button-secondary {
  background: rgba(31, 107, 85, 0.08);
  color: var(--accent);
}

.alert {
  border: 1px solid rgba(183, 59, 45, 0.2);
  background: rgba(183, 59, 45, 0.08);
  color: var(--danger);
  padding: 0.9rem 1rem;
  border-radius: 16px;
}

.alert-success {
  border-color: rgba(31, 107, 85, 0.18);
  background: rgba(31, 107, 85, 0.09);
  color: var(--accent);
}

.hero-card {
  border-radius: 28px;
  padding: 1.5rem 1.6rem;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: end;
  margin: 1rem 0;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.88), rgba(247, 250, 248, 0.7)),
    url("/serene-garden.svg") center center / cover no-repeat;
}

.landing-shell {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1rem 0 3.5rem;
  display: grid;
  gap: 1.35rem;
}

.landing-hero,
.landing-story {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 1.2rem;
  align-items: stretch;
}

.landing-hero {
  padding: 1.7rem;
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 245, 0.72)),
    url("/serene-garden.svg") center center / cover no-repeat;
  border: 1px solid rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}

.landing-hero-copy,
.landing-section-copy,
.landing-feature-list,
.landing-pricing-grid,
.landing-grid,
.landing-proof-row,
.landing-process-grid,
.landing-faq-grid,
.landing-side-stack {
  display: grid;
  gap: 1rem;
}

.landing-hero-copy h1,
.landing-story h2,
.landing-pricing h2,
.landing-process h2,
.landing-faq h2,
.landing-final-cta h2,
.landing-proof-card h2 {
  margin: 0;
}

.landing-kicker-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.landing-wordmark {
  width: auto;
  height: 76px;
  display: block;
}

.landing-kicker-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.72rem;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.08);
  color: var(--accent);
  font-size: 0.84rem;
  font-weight: 700;
}

.landing-hero-copy h1 {
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.04em;
  max-width: 10ch;
}

.landing-lead {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--muted);
  max-width: 62ch;
}

.landing-actions,
.landing-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
}

.landing-trust {
  color: var(--muted);
  font-size: 0.95rem;
}

.landing-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.landing-stat-pill {
  padding: 0.85rem 0.95rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(22, 48, 40, 0.08);
  box-shadow: 0 10px 28px rgba(47, 63, 55, 0.06);
}

.landing-stat-pill strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1rem;
}

.landing-stat-pill span {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

.landing-hero-art {
  display: grid;
  justify-items: stretch;
  gap: 0.9rem;
}

.landing-hero-image {
  width: min(100%, 470px);
  height: auto;
  filter: drop-shadow(0 16px 30px rgba(47, 63, 55, 0.12));
}

.landing-hero-image-photo {
  width: 100%;
  max-width: none;
  aspect-ratio: 4 / 4.6;
  object-fit: cover;
  object-position: center;
  border-radius: 24px;
  filter: drop-shadow(0 20px 34px rgba(47, 63, 55, 0.14));
}

.landing-visual-frame {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 0.9rem;
  border-radius: 30px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.82), transparent 26%),
    linear-gradient(160deg, rgba(232, 241, 233, 0.92), rgba(255, 255, 255, 0.74));
  border: 1px solid rgba(255, 255, 255, 0.88);
}

.landing-visual-caption {
  padding: 0.95rem 1rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(22, 48, 40, 0.08);
}

.landing-visual-caption strong {
  display: block;
}

.landing-visual-caption p {
  margin: 0.3rem 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.landing-grid,
.landing-proof-row,
.landing-pricing-grid,
.landing-process-grid,
.landing-faq-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-card,
.landing-proof-card,
.landing-mini-card,
.landing-price-card,
.landing-contact-card,
.landing-process-card,
.landing-faq-card,
.landing-feature-panel {
  border-radius: 26px;
  padding: 1.15rem 1.2rem;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow);
}

.landing-card h2,
.landing-proof-card h2,
.landing-mini-card h3,
.landing-price-card h3,
.landing-contact-card h3,
.landing-process-card h3,
.landing-faq-card h3,
.landing-feature-panel h3 {
  margin-top: 0;
}

.landing-card p,
.landing-proof-card p,
.landing-mini-card p,
.landing-price-card p,
.landing-contact-card p,
.landing-process-card p,
.landing-faq-card p,
.landing-feature-panel p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.65;
}

.landing-proof-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(245, 248, 244, 0.84));
}

.landing-proof-label {
  display: inline-block;
  margin-bottom: 0.55rem;
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-story-spotlight {
  padding: 1.35rem;
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(241, 246, 242, 0.72));
  border: 1px solid rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow);
}

.landing-highlight-list {
  display: grid;
  gap: 0.8rem;
  margin-top: 0.25rem;
}

.landing-highlight-item {
  padding-left: 1rem;
  border-left: 3px solid rgba(31, 107, 85, 0.18);
}

.landing-highlight-item strong {
  display: block;
  margin-bottom: 0.22rem;
}

.landing-highlight-item p {
  margin: 0;
  color: var(--muted);
}

.landing-feature-column {
  display: grid;
}

.landing-feature-panel {
  background: linear-gradient(180deg, rgba(31, 107, 85, 0.08), rgba(255, 255, 255, 0.92));
}

.landing-pricing {
  display: grid;
  gap: 1rem;
}

.landing-pricing-premium {
  padding: 1.4rem;
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(250, 248, 243, 0.94), rgba(255, 255, 255, 0.78));
  border: 1px solid rgba(255, 255, 255, 0.85);
  box-shadow: var(--shadow);
}

.landing-pricing-grid-premium {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.landing-price-card strong {
  display: block;
  font-size: 2.2rem;
  margin: 0.25rem 0 0.45rem;
}

.landing-price-card strong span {
  font-size: 0.95rem;
  color: var(--muted);
  margin-left: 0.2rem;
}

.landing-price-card-featured {
  background: linear-gradient(180deg, rgba(31, 107, 85, 0.14), rgba(255, 255, 255, 0.92));
  position: relative;
  transform: translateY(-0.15rem);
}

.landing-list {
  margin: 0.85rem 0 0;
  padding-left: 1.1rem;
  color: var(--muted);
}

.landing-list li + li {
  margin-top: 0.45rem;
}

.landing-story-alt {
  align-items: start;
}

.landing-story-wide {
  padding: 1.35rem;
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(247, 249, 247, 0.78));
  border: 1px solid rgba(255, 255, 255, 0.86);
  box-shadow: var(--shadow);
}

.landing-side-stack {
  align-content: start;
}

.landing-process,
.landing-faq {
  display: grid;
  gap: 1rem;
}

.landing-section-copy-centered {
  justify-items: center;
  text-align: center;
}

.landing-section-copy-centered p:last-child {
  max-width: 66ch;
}

.landing-process-card span {
  display: inline-flex;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  align-items: center;
  justify-content: center;
  background: rgba(31, 107, 85, 0.1);
  color: var(--accent);
  font-weight: 800;
  margin-bottom: 0.8rem;
}

.landing-final-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.35rem 1.45rem;
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(23, 58, 48, 0.96), rgba(31, 107, 85, 0.9));
  color: #f7f4ee;
  box-shadow: var(--shadow);
}

.landing-final-cta p,
.landing-final-cta .eyebrow,
.landing-final-cta a {
  color: inherit;
}

.landing-final-cta .button-secondary {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(248, 245, 237, 0.88) 0%, rgba(248, 245, 237, 0.4) 42%, rgba(248, 245, 237, 0.08) 100%),
    url("/botanical-corner.svg") right -3.5rem bottom -3rem / 320px no-repeat;
  pointer-events: none;
}

.hero-card > * {
  position: relative;
  z-index: 1;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--accent);
  font-size: 0.72rem;
}

.hero-actions {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

.signal-grid,
.dashboard-grid,
.focus-layout,
.side-stack,
.grid,
.smart-grid,
.quadrant-grid {
  display: grid;
  gap: 1rem;
}

.signal-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.signal {
  border-radius: 20px;
  padding: 1rem 1.1rem;
}

.signal h2,
.signal strong {
  margin: 0;
}

.signal strong {
  display: block;
  font-size: 1.7rem;
  margin-top: 0.2rem;
}

.signal-red {
  background: linear-gradient(135deg, rgba(217, 74, 56, 0.12), rgba(255, 255, 255, 0.94));
}

.signal-orange {
  background: linear-gradient(135deg, rgba(241, 153, 45, 0.12), rgba(255, 255, 255, 0.94));
}

.signal-green {
  background: linear-gradient(135deg, rgba(63, 154, 74, 0.12), rgba(255, 255, 255, 0.94));
}

.dashboard-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1.5rem;
}

.dashboard-grid-bottom {
  align-items: start;
}

.focus-layout {
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.9fr);
  align-items: start;
  margin-bottom: 1.5rem;
}

.side-stack {
  align-items: start;
}

.panel {
  border-radius: 24px;
  padding: 1.15rem;
}

.panel-main {
  padding: 1.25rem;
}

.panel-compact {
  padding: 1rem 1.05rem;
}

.panel-header,
.manage-row,
.todo-row,
.timeline-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.inline-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.link-button {
  background: transparent;
  color: var(--accent);
  padding: 0;
}

.danger {
  color: var(--danger);
}

.progress-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.12);
  overflow: hidden;
}

.progress-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #76bd86 0%, #1f6b55 100%);
}

.todo-row {
  padding: 0.8rem 0;
  border-bottom: 1px solid var(--line);
}

.todo-stack,
.timeline-stack {
  gap: 0.3rem;
}

.todo-row.done .todo-copy h3,
.todo-row.done .todo-copy p {
  text-decoration: line-through;
  opacity: 0.65;
}

.todo-empty {
  margin: 0;
  color: var(--muted);
}

.checkbox-button {
  width: 34px;
  height: 34px;
  background: rgba(31, 107, 85, 0.12);
  color: var(--accent);
  font-weight: 800;
}

.quadrant-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quadrant-cell {
  border-radius: 18px;
  padding: 0.95rem;
  box-shadow: none;
  background: rgba(255, 255, 255, 0.64);
}

.quadrant-list {
  display: grid;
  gap: 0.7rem;
}

.quadrant-item-card {
  padding: 0.75rem 0.8rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.86);
  cursor: grab;
}

.quadrant-item-card:active {
  cursor: grabbing;
}

.quadrant-item-card.dragging {
  opacity: 0.55;
}

.quadrant-item-copy strong {
  display: block;
}

.drop-zone.drag-over {
  outline: 2px dashed var(--accent);
  outline-offset: 4px;
  background: rgba(216, 234, 223, 0.45);
}

.quadrant-empty {
  margin: 0;
}

.chain-card {
  border-radius: 20px;
  padding: 1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(240, 246, 243, 0.82));
  box-shadow: 0 10px 28px rgba(47, 63, 55, 0.08);
}

.accordion-card {
  padding: 0;
  overflow: hidden;
}

.accordion-card summary {
  list-style: none;
}

.accordion-card summary::-webkit-details-marker {
  display: none;
}

.accordion-summary {
  margin-top: 0;
  border-radius: 0;
  padding: 1rem 1.1rem;
  cursor: pointer;
}

.accordion-body {
  padding: 0 1rem 1rem;
}

.accordion-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.accordion-count {
  white-space: nowrap;
  color: var(--muted);
  font-size: 0.9rem;
}

.accordion-icon {
  width: 14px;
  height: 14px;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(45deg);
  transition: transform 180ms ease;
}

.accordion-card[open] .accordion-icon {
  transform: rotate(225deg);
}

.done-accordion {
  margin-top: 0.6rem;
  border-radius: 18px;
  background: rgba(238, 243, 240, 0.88);
  border: 1px solid var(--line);
  box-shadow: none;
}

.done-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.done-summary h3 {
  margin: 0 0 0.2rem;
}

.done-body {
  padding-top: 0;
}

.nested-completed-accordion,
.manage-completed-accordion,
.completed-goal-card {
  margin-top: 0.8rem;
}

.short-goal-accordion {
  margin-top: 0.2rem;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}

.short-goal-summary {
  padding: 0;
}

.short-goal-summary .accordion-meta {
  justify-content: flex-end;
}

.short-goal-body {
  padding: 0.75rem 0 0;
}

.chain-branch-completed {
  margin-left: 0;
  padding-left: 0;
}

.chain-branch-completed::before {
  display: none;
}

.chain-branch,
.chain-leaf {
  position: relative;
  margin-left: 1.4rem;
  padding-left: 1.1rem;
}

.chain-branch::before,
.chain-leaf::before {
  content: "";
  position: absolute;
  left: 0;
  top: -0.2rem;
  bottom: 0.7rem;
  width: 2px;
  background: rgba(31, 107, 85, 0.18);
}

.chain-branch::after,
.chain-leaf::after {
  content: "";
  position: absolute;
  left: 0;
  top: 1.15rem;
  width: 0.8rem;
  height: 2px;
  background: rgba(31, 107, 85, 0.18);
}

.chain-level {
  border-radius: 16px;
  padding: 0.85rem 0.95rem;
  margin-top: 0.75rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.chain-long {
  background: linear-gradient(135deg, rgba(31, 107, 85, 0.12), rgba(255, 255, 255, 0.95));
}

.chain-short {
  background: linear-gradient(135deg, rgba(241, 153, 45, 0.1), rgba(255, 255, 255, 0.95));
}

.chain-todo {
  background: linear-gradient(135deg, rgba(98, 144, 208, 0.09), rgba(255, 255, 255, 0.95));
}

.chain-done {
  opacity: 0.72;
}

.chain-copy h3,
.chain-copy h4,
.chain-copy h5 {
  margin: 0.2rem 0;
}

.chain-copy p {
  margin: 0.2rem 0 0;
}

.chain-tag {
  display: inline-block;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
  color: var(--accent);
}

.chain-progress {
  min-width: 190px;
  display: grid;
  gap: 0.3rem;
  justify-items: end;
}

.chain-progress input[type="range"] {
  width: 100%;
  accent-color: var(--accent);
}

.chain-empty {
  margin-top: 0.75rem;
  padding: 0.8rem 0.95rem;
  border-radius: 14px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.72);
  border: 1px dashed var(--line);
}

.chain-empty-nested {
  margin-left: 1.4rem;
}

.manage-list {
  display: grid;
  gap: 0.55rem;
}

.manage-row {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line);
}

.manage-row p {
  margin: 0.25rem 0 0;
}

.admin-user-row {
  align-items: center;
}

.admin-zone {
  margin-top: 1.2rem;
}

.admin-zone-grid {
  margin-top: 0.55rem;
}

.admin-form {
  gap: 0.9rem;
}

.admin-form-grid {
  gap: 0.85rem;
}

.admin-inline-success {
  margin-bottom: 0.75rem;
}

.admin-user-filters {
  margin-bottom: 1rem;
}

.admin-user-table {
  margin-top: 0.75rem;
}

.admin-user-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.9rem;
}

.admin-user-detail {
  margin-top: 1rem;
}

.admin-confirm-row {
  align-items: flex-start;
}

.admin-pagination {
  margin-top: 1rem;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.signup-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.analytics-page {
  gap: 1.1rem;
}

.analytics-filter {
  display: flex;
  align-items: end;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: -0.25rem;
}

.analytics-filter label {
  min-width: 220px;
}

.analytics-global-filter {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.74);
}

.analytics-global-filter label { min-width: 150px; flex: 1 1 150px; }
.analytics-global-filter input,.analytics-global-filter select { width: 100%; }
.analytics-filter-support-note { margin:.65rem 0; padding:.65rem .8rem; border-left:3px solid #a56d22; background:#fff8e9; color:#654819; }
.analytics-lazy-section [data-analytics-section-content]:not(:empty) { margin-top:.75rem; }
.analytics-lazy-section h3 { margin:1rem 0 .35rem; }
.analytics-pagination { align-items:center; justify-content:flex-end; margin-top:.75rem; }

.analytics-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
  margin-top: 0.65rem;
}

.analytics-metric-grid-compact {
  margin-top: 0;
  align-content: start;
}

.analytics-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0.95rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 28px rgba(45, 36, 31, 0.06);
}

.analytics-card span {
  display: block;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.analytics-card strong {
  display: block;
  margin-top: 0.28rem;
  font-size: 1.55rem;
  line-height: 1.15;
}

.analytics-card p {
  margin: 0.35rem 0 0;
}

.analytics-two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.6fr);
  gap: 0.9rem;
  align-items: start;
  margin-top: 0.65rem;
}

.analytics-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.94rem;
}

.analytics-table-scroll {
  max-width: 100%;
  overflow-x: auto;
}

.analytics-source-table {
  min-width: 780px;
}

.analytics-table th,
.analytics-table td {
  text-align: left;
  padding: 0.72rem 0.6rem;
  border-bottom: 1px solid var(--line);
}

.analytics-table th {
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.analytics-table tbody tr:last-child td {
  border-bottom: 0;
}

.analytics-table-compact {
  min-width: 640px;
}

.analytics-page .panel {
  overflow-x: auto;
}

.analytics-note {
  margin: 0.75rem 0 0;
  color: var(--muted);
}

@media (max-width: 760px) {
  .analytics-two-column {
    grid-template-columns: 1fr;
  }

  .analytics-filter {
    align-items: stretch;
  }

  .analytics-filter label,
  .analytics-filter .button {
    width: 100%;
  }
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.45rem;
}

.calendar-head {
  font-weight: 700;
  color: var(--muted);
  padding-bottom: 0.35rem;
}

.calendar-cell {
  min-height: 100px;
  border-radius: 14px;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--line);
}

.calendar-cell.empty {
  background: transparent;
  border-style: dashed;
}

.calendar-list,
.mini-list {
  margin: 0.45rem 0 0;
  padding-left: 1rem;
}

.chip {
  display: inline-flex;
  align-items: center;
  padding: 0.22rem 0.5rem;
  border-radius: 999px;
  font-size: 0.72rem;
  margin: 0.18rem 0.18rem 0 0;
}

.chip-today {
  background: rgba(217, 74, 56, 0.16);
  color: var(--today);
}

.chip-week {
  background: rgba(241, 153, 45, 0.18);
  color: #b26b13;
}

.chip-month {
  background: rgba(63, 154, 74, 0.16);
  color: var(--month);
}

.timeline-row {
  border-left: 4px solid transparent;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.58);
}

.schedule-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.schedule-scope-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.schedule-nav-row,
.calendar-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}

.schedule-tab {
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.08);
  color: var(--accent);
  font-weight: 700;
}

.schedule-tab.active {
  background: var(--accent);
  color: #fff;
}

.schedule-window-copy {
  text-align: right;
}

.schedule-layout {
  margin-top: 0;
}

.schedule-calendar-panel {
  margin-bottom: 1rem;
}

.schedule-calendar-grid {
  align-items: stretch;
}

.schedule-calendar-cell {
  min-height: 148px;
  display: grid;
  align-content: start;
  gap: 0.55rem;
}

.schedule-calendar-cell.today {
  background: linear-gradient(180deg, rgba(216, 234, 223, 0.58), rgba(255, 255, 255, 0.84));
}

.schedule-calendar-date {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}

.schedule-calendar-date strong {
  font-size: 1.05rem;
}

.schedule-calendar-date span {
  color: var(--muted);
  font-size: 0.82rem;
}

.schedule-calendar-list {
  display: grid;
  gap: 0.45rem;
}

.schedule-calendar-item {
  display: grid;
  gap: 0.15rem;
  padding: 0.45rem 0.5rem;
  border-radius: 12px;
  background: rgba(31, 107, 85, 0.08);
}

.schedule-calendar-item strong {
  font-size: 0.78rem;
  color: var(--accent);
}

.schedule-calendar-item span {
  font-size: 0.84rem;
}

.schedule-day-stack {
  gap: 1.15rem;
}

.schedule-day-card {
  border-radius: 22px;
  padding: 1rem 1.05rem;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid var(--line);
}

.schedule-day-card.today {
  background: linear-gradient(180deg, rgba(216, 234, 223, 0.58), rgba(255, 255, 255, 0.8));
}

.schedule-day-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 0.85rem;
}

.schedule-day-header h3,
.schedule-entry-copy h4 {
  margin: 0;
}

.schedule-entry-card {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding: 0.95rem;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.84);
}

.schedule-entry-time {
  display: grid;
  gap: 0.2rem;
  color: var(--muted);
}

.schedule-entry-copy {
  display: grid;
  gap: 0.4rem;
}

.schedule-entry-copy p,
.schedule-tips p {
  margin: 0;
}

.schedule-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.schedule-kind-plan {
  border-left: 4px solid #6c9b81;
}

.schedule-kind-focus {
  border-left: 4px solid #1f6b55;
}

.schedule-kind-meeting {
  border-left: 4px solid #456ea6;
}

.schedule-kind-block {
  border-left: 4px solid #b26b13;
}

.schedule-kind-reminder {
  border-left: 4px solid #b73b2d;
}

.schedule-all-day {
  align-self: end;
  padding-bottom: 0.35rem;
}

.schedule-time-picker {
  border-color: rgba(20, 42, 35, 0.16);
  background: rgba(252, 255, 253, 0.88);
}

.schedule-time-picker-top,
.schedule-time-grid {
  gap: 0.75rem;
}

.schedule-time-grid.is-disabled {
  opacity: 0.64;
}

.schedule-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 0.25rem;
}

.schedule-preview {
  margin: 0.6rem 0 0;
}

.reflection-layout {
  margin-top: 0;
}

.reflection-form,
.reflection-week-grid {
  margin-top: 1rem;
}

.reflection-week-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.8rem;
}

.reflection-insights-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 1rem;
  margin-top: 1rem;
}

.reflection-day-card,
.reflection-win-card {
  border-radius: 18px;
  padding: 0.9rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--line);
}

.reflection-day-card.today {
  background: linear-gradient(180deg, rgba(216, 234, 223, 0.6), rgba(255, 255, 255, 0.85));
}

.reflection-day-card p,
.reflection-win-card p {
  margin: 0.35rem 0 0;
}

.reflection-gratitude {
  padding-top: 0.15rem;
  color: #1f6b55;
  font-style: italic;
}

.reflection-chart {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.8rem;
  align-items: end;
  min-height: 240px;
}

.reflection-chart-column {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
}

.reflection-bars {
  height: 180px;
  width: 100%;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 0.35rem;
  padding: 0 0.15rem;
}

.reflection-bar {
  width: 20px;
  min-height: 6px;
  border-radius: 999px 999px 6px 6px;
}

.reflection-bar-mood {
  background: linear-gradient(180deg, #82b89b, #1f6b55);
}

.reflection-bar-completion {
  background: linear-gradient(180deg, #f1c36b, #b26b13);
}

.reflection-summary-text {
  margin: 0;
  line-height: 1.65;
}

.insights-layout,
.insights-grid,
.insights-pattern-grid,
.insights-stuck-grid,
.insights-summary-grid {
  display: grid;
  gap: 1rem;
}

.insights-layout {
  margin-top: 0;
}

.insights-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.insight-stat-card {
  border-radius: 18px;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--line);
}

.insight-stat-card strong,
.insight-pattern-row strong,
.insight-stuck-card h3 {
  display: block;
}

.insight-stat-card p,
.insight-pattern-row p,
.insight-stuck-card p,
.insight-term-card p {
  margin: 0.35rem 0 0;
}

.insights-grid {
  grid-template-columns: 1.15fr 0.85fr;
  margin-top: 1rem;
}

.insight-stack {
  display: grid;
  gap: 0.85rem;
}

.insight-mix-list,
.insight-term-list {
  display: grid;
  gap: 0.7rem;
}

.insight-mix-row,
.insight-pattern-row {
  display: grid;
  gap: 0.45rem;
}

.insight-mix-meta,
.insight-pattern-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: baseline;
}

.insight-progress {
  width: 100%;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(26, 37, 31, 0.08);
}

.insight-progress-bar {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #82b89b, #1f6b55);
}

.insight-progress-bar-done {
  background: linear-gradient(90deg, #82b89b, #1f6b55);
}

.insight-progress-bar-partial {
  background: linear-gradient(90deg, #f1c36b, #b26b13);
}

.insight-progress-bar-carried {
  background: linear-gradient(90deg, #d8907f, #b73b2d);
}

.insight-progress-bar-active {
  background: linear-gradient(90deg, #98adc2, #456ea6);
}

.insights-pattern-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.insight-term-list {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.insight-term-card,
.insight-stuck-card {
  border-radius: 18px;
  padding: 0.95rem;
  background: rgba(255, 255, 255, 0.74);
  border: 1px solid var(--line);
}

.insights-stuck-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.insight-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.55rem;
}

.micro-goal-layout {
  margin-top: 0;
}

.micro-goal-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--line);
}

.micro-goal-card-done h3,
.micro-goal-card-done p {
  text-decoration: line-through;
  opacity: 0.72;
}

.metric-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(31, 107, 85, 0.12);
  background: rgba(238, 243, 240, 0.72);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.micro-goal-completed-archive {
  margin-top: 0.2rem;
}

.micro-goal-completed-archive summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  width: 100%;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(31, 107, 85, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  cursor: pointer;
  font-weight: 700;
}

.micro-goal-completed-archive summary::-webkit-details-marker {
  display: none;
}

.micro-goal-completed-summary-copy {
  display: grid;
  gap: 0.2rem;
}

.micro-goal-completed-summary-title {
  color: var(--ink);
  font-size: 0.95rem;
}

.micro-goal-completed-summary-text {
  font-weight: 500;
  font-size: 0.88rem;
  line-height: 1.55;
}

.micro-goal-completed-summary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(31, 107, 85, 0.12);
  background: rgba(255, 255, 255, 0.82);
  color: var(--accent);
  font-size: 0.82rem;
  white-space: nowrap;
}

.micro-goal-completed-hide-label {
  display: none;
}

.micro-goal-completed-archive[open] summary {
  color: var(--accent);
  background: rgba(31, 107, 85, 0.08);
}

.micro-goal-completed-archive[open] .micro-goal-completed-show-label {
  display: none;
}

.micro-goal-completed-archive[open] .micro-goal-completed-hide-label {
  display: inline;
}

.micro-goal-completed-archive-list {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.75rem;
}

.micro-goal-completed-archive .micro-goal-card {
  background: rgba(238, 243, 240, 0.66);
  box-shadow: none;
}

@media (max-width: 640px) {
  .micro-goal-completed-archive summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

.micro-goal-copy {
  display: grid;
  gap: 0.35rem;
}

.micro-goal-copy h3,
.micro-goal-copy p {
  margin: 0;
}

.todo-history-card {
  margin-top: 1.5rem;
  display: grid;
  gap: 1rem;
}

.urgency-today {
  border-left-color: var(--today);
}

.urgency-week {
  border-left-color: var(--week);
}

.urgency-month {
  border-left-color: var(--month);
}

.grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.smart-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.weekday-picker {
  margin: 0;
  padding: 0.9rem 1rem 1rem;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
}

.weekday-picker legend {
  padding: 0 0.4rem;
  font-weight: 700;
}

.weekday-picker-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.3rem;
}

.weekday-option {
  justify-content: flex-start;
}

@media (max-width: 900px) {
  body::before {
    background:
      linear-gradient(180deg, rgba(244, 239, 230, 0.2), rgba(244, 239, 230, 0.56)),
      url("/serene-garden.svg") center top / auto 100% no-repeat;
    opacity: 0.58;
  }

  .hero-card::after {
    background:
      linear-gradient(180deg, rgba(248, 245, 237, 0.92), rgba(248, 245, 237, 0.45)),
      url("/botanical-corner.svg") right -5rem bottom -2rem / 240px no-repeat;
  }

  .signal-grid,
  .dashboard-grid,
  .focus-layout,
  .landing-hero,
  .landing-story,
  .landing-grid,
  .landing-proof-row,
  .landing-pricing-grid,
  .landing-process-grid,
  .landing-faq-grid,
  .insights-grid,
  .insights-pattern-grid,
  .insights-stuck-grid,
  .insights-summary-grid,
  .reflection-insights-grid,
  .schedule-toolbar,
  .grid.two,
  .grid.three,
  .smart-grid,
  .quadrant-grid,
  .hero-card {
    grid-template-columns: 1fr;
    display: grid;
  }

  .topbar,
  .topbar-actions,
  .reminder-card,
  .reminder-toolbar,
  .landing-actions,
  .landing-trust,
  .landing-final-cta,
  .panel-header,
  .calendar-nav,
  .schedule-nav-row,
  .schedule-day-header,
  .manage-row,
  .chain-level,
  .accordion-meta,
  .schedule-entry-card,
  .todo-row,
  .timeline-row {
    flex-direction: column;
    align-items: stretch;
  }

  .schedule-window-copy {
    text-align: left;
  }

  .schedule-entry-card {
    grid-template-columns: 1fr;
  }

  .calendar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .topbar {
    align-items: stretch;
  }

  .topbar-actions {
    gap: 0.75rem;
  }

  .topbar-actions .button,
  .topbar-actions form,
  .schedule-toolbar .button,
  .schedule-nav-row .button,
  .calendar-nav .button,
  .hero-actions .button {
    width: 100%;
  }

  .topbar-actions form {
    display: contents;
  }

  .topbar-actions .user-badge,
  .schedule-window-copy {
    text-align: left;
  }

  .hero-card,
  .panel,
  .auth-card,
  .landing-hero,
  .landing-story-spotlight,
  .landing-story-wide,
  .landing-pricing-premium,
  .landing-card,
  .landing-proof-card,
  .landing-mini-card,
  .landing-price-card,
  .landing-contact-card,
  .landing-process-card,
  .landing-faq-card,
  .landing-feature-panel {
    padding: 1.1rem;
  }

  .chain-branch,
  .chain-leaf {
    margin-left: 0.9rem;
    padding-left: 0.8rem;
  }

  .chain-level,
  .schedule-day-card,
  .micro-goal-card,
  .insight-stat-card,
  .insight-term-card,
  .insight-stuck-card,
  .reflection-day-card,
  .reflection-win-card {
    padding: 0.85rem;
  }

  .schedule-scope-tabs {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.2rem;
  }

  .schedule-tab {
    white-space: nowrap;
  }

  .reflection-chart {
    overflow-x: auto;
    grid-template-columns: repeat(7, minmax(72px, 1fr));
    padding-bottom: 0.35rem;
  }

  .weekday-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .landing-hero-art {
    justify-items: center;
  }

  .landing-hero-copy h1 {
    max-width: none;
  }

  .landing-stat-strip,
  .landing-pricing-grid-premium {
    grid-template-columns: 1fr;
  }

  .chain-progress {
    min-width: 0;
    justify-items: stretch;
  }
}

.billing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}

.billing-hero .hero-actions form,
.plan-card form,
.panel-header form {
  margin: 0;
}

.plan-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
}

.plan-card strong {
  display: block;
  margin: 0.35rem 0;
  font-size: 1.75rem;
}

.plan-card-featured {
  border-color: rgba(35, 108, 87, 0.35);
  box-shadow: 0 18px 40px rgba(35, 108, 87, 0.12);
}

.check-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-left: 1.1rem;
}

.billing-lock-note {
  border-color: rgba(190, 125, 45, 0.3);
  background: rgba(255, 249, 236, 0.78);
}

@media (max-width: 640px) {
  .topbar,
  .page-shell,
  .auth-shell,
  .reminder-stack,
  .landing-shell {
    width: min(100%, calc(100% - 1rem));
  }

  .brand {
    font-size: 1.35rem;
  }

  .brand-logo {
    height: 50px;
  }

  .tagline {
    margin: 0.35rem 0 0;
  }

  .hero-card h1 {
    font-size: 1.65rem;
    line-height: 1.15;
  }

  .signal strong {
    font-size: 1.45rem;
  }

  .inline-actions {
    flex-wrap: wrap;
  }

  .inline-actions .button,
  .inline-actions .button-secondary,
  .inline-actions .link-button {
    width: 100%;
    justify-content: center;
  }

  .todo-row,
  .timeline-row,
  .manage-row,
  .chain-level {
    gap: 0.7rem;
  }

  .admin-user-row {
    grid-template-columns: 1fr;
  }

  .accordion-summary,
  .accordion-body,
  .done-summary,
  .done-body {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  .calendar-grid,
  .weekday-picker-grid,
  .insights-summary-grid,
  .landing-grid,
  .landing-proof-row,
  .landing-pricing-grid,
  .landing-process-grid,
  .landing-faq-grid,
  .billing-grid,
  .admin-form-grid,
  .schedule-time-grid,
  .schedule-time-picker-top {
    grid-template-columns: 1fr;
  }

  .landing-hero-copy h1,
  .landing-final-cta h2 {
    font-size: 2rem;
    line-height: 1.05;
  }

  .landing-wordmark {
    height: 64px;
  }

  .landing-final-cta .landing-actions {
    width: 100%;
  }

  .landing-final-cta .button,
  .landing-final-cta .button-secondary {
    width: 100%;
    justify-content: center;
  }

  .calendar-cell,
  .schedule-calendar-cell {
    min-height: 0;
  }

  .schedule-calendar-grid {
    grid-template-columns: 1fr;
  }

  .schedule-calendar-item strong,
  .schedule-calendar-item span {
    font-size: 0.85rem;
  }

  .reflection-week-grid,
  .insight-term-list {
    grid-template-columns: 1fr;
  }

  .reminder-toast-stack {
    right: 0.5rem;
    left: 0.5rem;
    width: auto;
  }
}

/* Premium clarity pass */
:root {
  --accent: #1f6b55;
  --accent-warm: #b9792d;
  --surface-0: #f6f2e9;
  --surface-1: rgba(255, 255, 255, 0.92);
  --surface-2: rgba(245, 250, 247, 0.88);
  --ink: #1a2f28;
  --muted: #5d766a;
  --line: rgba(26, 47, 40, 0.13);
  --shadow: 0 14px 28px rgba(26, 47, 40, 0.08);
}

body {
  color: var(--ink);
  line-height: 1.58;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: "Segoe UI", "Avenir Next", "Trebuchet MS", sans-serif;
  letter-spacing: -0.015em;
}

p {
  max-width: 72ch;
}

.page-shell,
.landing-shell {
  gap: 1.4rem;
}

.topbar {
  align-items: start;
  gap: 1.3rem;
  padding: 1.2rem 0 0.8rem;
}

.topbar-brand {
  display: grid;
  gap: 0.4rem;
}

.topbar-main {
  display: grid;
  gap: 0.8rem;
  justify-items: end;
}

.topbar-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 0.5rem;
}

.nav-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(31, 107, 85, 0.12);
  background: rgba(31, 107, 85, 0.06);
  color: var(--accent);
  min-height: 40px;
  padding: 0.48rem 0.9rem;
  font-size: 0.88rem;
  font-weight: 700;
  transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.nav-pill:hover {
  background: rgba(31, 107, 85, 0.13);
}

.nav-pill.active {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}

.topbar-actions {
  gap: 0.7rem;
}

.topbar-utility-links {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.24rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.72);
}

.utility-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 700;
  color: #3f5f53;
}

.utility-link:hover {
  background: rgba(31, 107, 85, 0.1);
  color: var(--accent);
}

.utility-link.active {
  background: rgba(31, 107, 85, 0.16);
  color: var(--accent);
}

.user-badge {
  padding: 0.5rem 0.75rem;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.74);
  min-width: 210px;
}

.button,
.button-secondary {
  min-height: 40px;
  padding: 0.68rem 1.02rem;
  border-radius: 14px;
  border: 1px solid transparent;
  transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease, border-color 120ms ease;
}

.button:hover,
.button-secondary:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(26, 47, 40, 0.1);
}

.button-secondary {
  border-color: rgba(31, 107, 85, 0.14);
  background: rgba(31, 107, 85, 0.08);
}

.button:focus-visible,
.button-secondary:focus-visible,
.nav-pill:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(31, 107, 85, 0.34);
  outline-offset: 2px;
}

input,
textarea,
select {
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
}

.hero-card,
.panel {
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow);
}

.hero-card {
  padding: 1.7rem 1.75rem;
  gap: 1rem;
}

.hero-card h1 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.75rem, 3.8vw, 2.45rem);
  line-height: 1.08;
}

.hero-card p {
  margin: 0;
}

.hero-actions {
  gap: 0.6rem;
}

.panel {
  padding: 1.35rem;
}

.panel-main {
  padding: 1.45rem;
}

.panel-compact {
  padding: 1.2rem;
}

.panel-note,
.tagline,
.mini-list,
.muted-line,
.todo-copy p,
.manage-row p {
  color: var(--muted);
}

.panel-note {
  max-width: 58ch;
  font-size: 0.95rem;
  line-height: 1.5;
}

.todo-empty {
  border: 1px dashed var(--line);
  background: rgba(255, 255, 255, 0.68);
  border-radius: 14px;
  padding: 0.7rem 0.8rem;
}

.landing-shell {
  gap: 1.9rem;
  padding: 1.2rem 0 3.8rem;
}

.landing-hero {
  gap: 1.5rem;
  padding: 2.05rem;
}

.landing-kicker-chip {
  background: rgba(31, 107, 85, 0.12);
}

.landing-hero-copy h1 {
  max-width: 11ch;
}

.landing-lead {
  max-width: 54ch;
  font-size: 1.08rem;
}

.landing-trust {
  font-size: 0.94rem;
}

.landing-stat-strip {
  margin-top: 0.2rem;
}

.landing-stat-pill {
  border-radius: 16px;
  padding: 0.8rem 0.85rem;
  box-shadow: none;
}

.landing-process,
.landing-pricing,
.landing-faq,
.landing-final-cta {
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.86);
  background: var(--surface-1);
  box-shadow: var(--shadow);
  padding: 1.7rem;
}

.landing-pricing-premium {
  background: linear-gradient(180deg, rgba(249, 248, 243, 0.95), rgba(255, 255, 255, 0.88));
}

.landing-process-grid {
  margin-top: 0.3rem;
}

.landing-process-card,
.landing-price-card,
.landing-faq-card {
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: none;
}

.landing-price-card strong span {
  font-size: 0.8rem;
  letter-spacing: 0;
}

.landing-price-card .button {
  margin-top: auto;
}

.landing-final-cta {
  text-align: left;
}

.landing-final-cta .landing-actions {
  margin-top: 0.65rem;
}

.signal-section {
  display: grid;
  gap: 0.9rem;
  margin-bottom: 1.15rem;
}

.section-heading h2 {
  margin: 0;
}

.section-heading p {
  margin: 0.25rem 0 0;
}

.signal-grid-primary,
.signal-grid-secondary {
  margin: 0;
}

.signal-grid-secondary .signal {
  opacity: 0.92;
}

.signal-grid-secondary .signal strong {
  font-size: 1.58rem;
}

.signal-grid-secondary .signal .panel-note {
  margin: 0.36rem 0 0;
}

.signal {
  border-radius: 16px;
  border: 1px solid var(--line);
  box-shadow: none;
  padding: 0.95rem 1rem;
}

.signal.signal-primary {
  box-shadow: 0 10px 20px rgba(26, 47, 40, 0.06);
}

.signal h2 {
  font-size: 1.03rem;
}

.signal strong {
  font-size: 1.95rem;
}

.mini-list {
  padding-left: 1rem;
}

.mini-list-empty {
  list-style: none;
  margin-left: -1rem;
}

.panel-header {
  margin-bottom: 0.2rem;
}

.panel-header h2 {
  margin: 0;
}

.panel-header p {
  margin: 0.3rem 0 0;
}

.quadrant-axis {
  display: grid;
  font-size: 0.8rem;
  color: var(--muted);
  margin: 0.15rem 0 0.5rem;
}

.quadrant-axis-horizontal {
  grid-template-columns: 1fr 1fr;
  text-align: center;
}

.quadrant-axis-vertical {
  grid-template-columns: 1fr 1fr;
  text-align: center;
}

.quadrant-matrix-grid {
  gap: 0.75rem;
}

.quadrant-cell {
  border-radius: 16px;
  border: 1px solid var(--line);
  padding: 0.85rem;
  box-shadow: none;
}

.quadrant-cell h3 {
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
}

.quadrant-priority-urgent_important {
  background: rgba(217, 74, 56, 0.09);
}

.quadrant-priority-not_urgent_important {
  background: rgba(63, 154, 74, 0.1);
}

.quadrant-priority-urgent_not_important {
  background: rgba(241, 153, 45, 0.1);
}

.quadrant-priority-not_urgent_not_important {
  background: rgba(149, 161, 155, 0.12);
}

.quadrant-item-card {
  border-radius: 12px;
  padding: 0.6rem 0.65rem;
  background: rgba(255, 255, 255, 0.9);
}

.quadrant-item-card:hover {
  border-color: rgba(31, 107, 85, 0.28);
}

.quadrant-empty {
  font-size: 0.86rem;
}

.calendar-cell {
  border-radius: 12px;
}

.calendar-cell-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.calendar-count {
  display: inline-flex;
  min-width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-size: 0.73rem;
  font-weight: 700;
  background: rgba(31, 107, 85, 0.12);
  color: var(--accent);
}

.dashboard-calendar-cell.today {
  border-color: rgba(31, 107, 85, 0.4);
  background: rgba(226, 241, 234, 0.7);
}

.dashboard-calendar-cell.has-items {
  border-left: 4px solid rgba(31, 107, 85, 0.55);
}

.dashboard-calendar-cell.is-open {
  background: rgba(255, 255, 255, 0.78);
}

.dashboard-calendar-cell.overdue {
  border-left-color: rgba(183, 59, 45, 0.7);
}

.schedule-toolbar {
  background: var(--surface-1);
  border: 1px solid var(--line);
}

.schedule-tab {
  border: 1px solid transparent;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
}

.schedule-tab.active {
  box-shadow: 0 6px 16px rgba(31, 107, 85, 0.2);
}

.schedule-nav-button {
  min-width: 126px;
}

.schedule-calendar-cell {
  border-radius: 12px;
  min-height: 162px;
}

.schedule-calendar-cell.selected {
  border-color: rgba(31, 107, 85, 0.38);
}

.schedule-calendar-cell.has-entries {
  border-left: 4px solid rgba(69, 110, 166, 0.56);
}

.schedule-calendar-cell.has-deadlines {
  border-top: 3px solid rgba(185, 121, 45, 0.6);
}

.schedule-calendar-cell.overdue {
  border-top-color: rgba(183, 59, 45, 0.68);
}

.schedule-calendar-cell.completed {
  background: linear-gradient(180deg, rgba(228, 240, 232, 0.56), rgba(255, 255, 255, 0.84));
}

.calendar-indicators {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.calendar-dot {
  display: inline-flex;
  align-items: center;
  padding: 0.16rem 0.42rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
  background: rgba(26, 47, 40, 0.08);
  color: var(--muted);
}

.dot-today {
  background: rgba(31, 107, 85, 0.16);
  color: var(--accent);
}

.dot-selected {
  background: rgba(69, 110, 166, 0.18);
  color: #365985;
}

.dot-scheduled {
  background: rgba(69, 110, 166, 0.16);
  color: #365985;
}

.dot-deadline {
  background: rgba(185, 121, 45, 0.16);
  color: #9f621f;
}

.dot-open {
  background: rgba(125, 141, 134, 0.2);
}

.dot-completed {
  background: rgba(63, 154, 74, 0.16);
  color: #2f7b39;
}

.dot-overdue {
  background: rgba(183, 59, 45, 0.18);
  color: #9f3025;
}

.schedule-calendar-item {
  border-radius: 10px;
  border: 1px solid rgba(31, 107, 85, 0.14);
  background: rgba(255, 255, 255, 0.85);
}

.schedule-day-card {
  border-radius: 16px;
}

.schedule-entry-card:hover {
  border-color: rgba(31, 107, 85, 0.28);
}

.insights-summary-clusters {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.insight-cluster-card {
  border-radius: 18px;
  padding: 1rem 1.05rem;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.84);
}

.insight-cluster-card h2 {
  margin: 0;
  font-size: 1rem;
}

.insight-kpi-list {
  margin-top: 0.7rem;
  display: grid;
  gap: 0.52rem;
}

.insight-kpi-row {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: baseline;
  font-size: 0.92rem;
}

.insight-kpi-row span {
  color: var(--muted);
}

.insight-kpi-row strong {
  font-size: 1.08rem;
}

.insight-stuck-card {
  border-left: 4px solid rgba(31, 107, 85, 0.45);
}

.guided-form-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  padding: 1rem;
}

.guided-step {
  border: 1px solid rgba(31, 107, 85, 0.14);
  background: rgba(245, 250, 247, 0.75);
  border-radius: 14px;
  padding: 0.78rem 0.86rem;
  display: grid;
  gap: 0.55rem;
}

.guided-step-label {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 700;
}

.guided-primary-label input {
  font-size: 1rem;
}

.checkin-control {
  border: 1px solid rgba(31, 107, 85, 0.14);
  border-radius: 12px;
  padding: 0.72rem 0.74rem;
  background: rgba(245, 250, 247, 0.76);
}

.checkin-control-grid {
  gap: 0.8rem;
}

.reflection-day-card,
.reflection-win-card,
.micro-goal-card,
.insight-stat-card,
.insight-term-card,
.insight-stuck-card {
  border-radius: 14px;
}

@media (max-width: 900px) {
  .topbar-main,
  .topbar-nav {
    width: 100%;
    justify-items: stretch;
  }

  .topbar-nav {
    justify-content: flex-start;
  }

  .topbar-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .topbar-utility-links {
    width: auto;
  }

  .user-badge {
    min-width: 0;
    width: 100%;
  }

  .landing-process,
  .landing-pricing,
  .landing-faq,
  .landing-final-cta {
    padding: 1.25rem;
  }

  .insights-summary-clusters {
    grid-template-columns: 1fr;
  }

  .quadrant-axis-vertical {
    grid-template-columns: 1fr;
    text-align: left;
  }
}

/* Premium confidence pass */
h1,
h2,
h3,
h4 {
  color: #142a23;
}

h1 {
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(1.25rem, 2.5vw, 1.58rem);
  line-height: 1.2;
}

h3 {
  font-size: clamp(1.01rem, 2vw, 1.17rem);
  line-height: 1.28;
}

.hero-card h1 {
  font-size: clamp(2rem, 4.3vw, 2.8rem);
  line-height: 1.06;
}

.hero-card-emphasis {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.96), rgba(235, 246, 239, 0.84)),
    url("/serene-garden.svg") center center / cover no-repeat;
  border-color: rgba(31, 107, 85, 0.2);
  box-shadow: 0 18px 36px rgba(20, 42, 35, 0.1);
}

.panel-emphasis {
  background: linear-gradient(180deg, rgba(251, 255, 252, 0.94), rgba(240, 248, 243, 0.84));
  border-color: rgba(31, 107, 85, 0.2);
  box-shadow: 0 14px 30px rgba(20, 42, 35, 0.09);
}

.panel-subtle {
  background: rgba(255, 255, 255, 0.76);
  border-color: rgba(20, 42, 35, 0.1);
  box-shadow: 0 8px 18px rgba(20, 42, 35, 0.05);
}

.landing-section-contrast {
  background: linear-gradient(130deg, rgba(239, 248, 242, 0.9), rgba(255, 255, 255, 0.92));
  border-color: rgba(31, 107, 85, 0.18);
}

.landing-hero .landing-actions .button-secondary,
.landing-final-cta .landing-actions .button-secondary {
  opacity: 0.88;
}

.landing-actions .button + .button-secondary {
  margin-left: 0.1rem;
}

.signal-dominant {
  border-color: rgba(183, 59, 45, 0.28);
  box-shadow: 0 14px 28px rgba(20, 42, 35, 0.1);
}

.signal-dominant strong {
  font-size: 2.18rem;
}

.signal-grid-secondary .signal {
  border-style: solid;
  border-color: rgba(20, 42, 35, 0.09);
}

.insight-cluster-dominant {
  background: linear-gradient(160deg, rgba(231, 243, 236, 0.92), rgba(255, 255, 255, 0.9));
  border-color: rgba(31, 107, 85, 0.26);
  box-shadow: 0 12px 24px rgba(20, 42, 35, 0.08);
}

.reflection-winjar-card {
  background: linear-gradient(180deg, rgba(255, 250, 235, 0.9), rgba(255, 255, 255, 0.88));
  border-color: rgba(185, 121, 45, 0.28);
}

.guided-form-card {
  box-shadow: 0 10px 24px rgba(20, 42, 35, 0.06);
}

.guided-step {
  border-color: rgba(31, 107, 85, 0.18);
}

.quadrant-matrix-grid {
  position: relative;
  border: 1px solid rgba(20, 42, 35, 0.12);
  border-radius: 18px;
  padding: 0.7rem;
  background: rgba(255, 255, 255, 0.7);
}

.quadrant-matrix-grid::before,
.quadrant-matrix-grid::after {
  content: "";
  position: absolute;
  background: rgba(20, 42, 35, 0.18);
  pointer-events: none;
}

.quadrant-matrix-grid::before {
  top: 0.7rem;
  bottom: 0.7rem;
  left: calc(50% - 0.5px);
  width: 1px;
}

.quadrant-matrix-grid::after {
  left: 0.7rem;
  right: 0.7rem;
  top: calc(50% - 0.5px);
  height: 1px;
}

.quadrant-cell h3 {
  font-weight: 800;
}

.calendar-grid {
  gap: 0.52rem;
}

.calendar-cell,
.schedule-calendar-cell {
  border-color: rgba(20, 42, 35, 0.16);
}

.schedule-calendar-grid .schedule-calendar-cell:not(.empty):nth-child(2n) {
  background-color: rgba(249, 252, 250, 0.92);
}

.schedule-calendar-grid .schedule-calendar-cell:not(.empty):nth-child(2n + 1) {
  background-color: rgba(255, 255, 255, 0.92);
}

.dashboard-calendar-cell.today,
.schedule-calendar-cell.today {
  box-shadow: inset 0 0 0 1px rgba(31, 107, 85, 0.3);
}

.button,
.button-secondary,
.nav-pill,
.utility-link,
.schedule-tab,
.quadrant-item-card,
.schedule-entry-card,
.calendar-cell,
.schedule-calendar-cell,
.quadrant-cell,
.insight-cluster-card,
.insight-stuck-card,
.insight-term-card,
.micro-goal-card,
.reflection-day-card,
.reflection-win-card,
.landing-process-card,
.landing-price-card,
.landing-faq-card {
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, opacity 180ms ease;
}

.button:hover,
.button-secondary:hover,
.nav-pill:hover,
.utility-link:hover,
.schedule-tab:hover {
  box-shadow: 0 10px 20px rgba(20, 42, 35, 0.1);
}

.button:active,
.button-secondary:active,
.nav-pill:active,
.utility-link:active,
.schedule-tab:active,
.link-button:active {
  transform: translateY(0) scale(0.985);
}

.calendar-cell:not(.empty):hover,
.schedule-calendar-cell:not(.empty):hover,
.quadrant-cell:hover,
.quadrant-item-card:hover,
.schedule-entry-card:hover,
.insight-cluster-card:hover,
.insight-term-card:hover,
.insight-stuck-card:hover,
.micro-goal-card:hover,
.reflection-day-card:hover,
.reflection-win-card:hover {
  box-shadow: 0 10px 22px rgba(20, 42, 35, 0.08);
  border-color: rgba(31, 107, 85, 0.24);
  transform: translateY(-1px);
}

.calendar-cell:not(.empty):active,
.schedule-calendar-cell:not(.empty):active,
.quadrant-cell:active,
.quadrant-item-card:active {
  transform: translateY(0) scale(0.99);
}

.schedule-tab,
.nav-pill,
.utility-link {
  cursor: pointer;
}

.calendar-cell:not(.empty),
.schedule-calendar-cell:not(.empty) {
  cursor: pointer;
}

.panel-header {
  margin-bottom: 0.42rem;
}

.panel-header + .stack,
.panel-header + .insight-mix-list,
.panel-header + .insight-term-list,
.panel-header + .insights-stuck-grid {
  margin-top: 0.22rem;
}

.todo-empty {
  color: #4f685d;
  border-color: rgba(20, 42, 35, 0.18);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.82), rgba(243, 249, 245, 0.7));
}

@media (max-width: 900px) {
  .signal-dominant strong {
    font-size: 1.95rem;
  }

  .quadrant-matrix-grid::before,
  .quadrant-matrix-grid::after {
    display: none;
  }

  .calendar-cell:not(.empty):hover,
  .schedule-calendar-cell:not(.empty):hover,
  .quadrant-cell:hover,
  .quadrant-item-card:hover,
  .schedule-entry-card:hover,
  .insight-cluster-card:hover,
  .insight-term-card:hover,
  .insight-stuck-card:hover,
  .micro-goal-card:hover,
  .reflection-day-card:hover,
  .reflection-win-card:hover {
    transform: none;
  }
}

/* Final premium polish pass */
.button {
  background: linear-gradient(180deg, #227459, #1b634d);
  border-color: rgba(20, 90, 69, 0.8);
  box-shadow: 0 10px 20px rgba(20, 90, 69, 0.22);
}

.button:hover {
  background: linear-gradient(180deg, #248060, #1d6b52);
  box-shadow: 0 14px 24px rgba(20, 90, 69, 0.28);
}

.button-secondary {
  background: rgba(31, 107, 85, 0.09);
  border-color: rgba(31, 107, 85, 0.2);
  color: #1a5844;
  box-shadow: none;
}

.button-secondary:hover {
  background: rgba(31, 107, 85, 0.16);
  box-shadow: 0 8px 16px rgba(20, 42, 35, 0.1);
}

.hero-actions .button,
.landing-actions .button,
.panel-main .button {
  padding: 0.76rem 1.2rem;
}

.todo-row,
.timeline-row,
.manage-row,
.micro-goal-card,
.reflection-win-card,
.reflection-day-card,
.insight-stuck-card,
.insight-term-card,
.schedule-calendar-item {
  transition: background-color 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease;
}

.todo-row:hover,
.timeline-row:hover,
.manage-row:hover {
  background: rgba(249, 252, 250, 0.72);
  border-color: rgba(20, 42, 35, 0.16);
}

.calendar-head {
  color: #486559;
  letter-spacing: 0.01em;
}

.dashboard-calendar-cell.has-items {
  background: linear-gradient(180deg, rgba(244, 251, 247, 0.92), rgba(255, 255, 255, 0.88));
}

.dashboard-calendar-cell.has-items .calendar-day-number,
.schedule-calendar-cell.has-entries .schedule-calendar-date strong {
  color: #154736;
}

.dashboard-calendar-cell.today,
.schedule-calendar-cell.today,
.schedule-calendar-cell.selected {
  border-color: rgba(20, 90, 69, 0.38);
}

.calendar-cell:not(.empty):hover,
.schedule-calendar-cell:not(.empty):hover {
  background: rgba(239, 248, 242, 0.9);
  box-shadow: 0 12px 22px rgba(20, 42, 35, 0.1);
}

.commitments-calendar-panel {
  border-color: rgba(20, 42, 35, 0.14);
  box-shadow: 0 8px 18px rgba(20, 42, 35, 0.06);
}

.commitments-calendar-panel .calendar-grid {
  gap: 0.62rem;
  margin-top: 0.3rem;
}

.commitments-calendar-panel .calendar-head {
  font-size: 0.74rem;
  color: #5f7569;
  letter-spacing: 0.01em;
  padding: 0 0.1rem 0.35rem;
}

.commitments-calendar-panel .dashboard-calendar-cell {
  min-height: 136px;
  padding: 0.72rem;
  border: 1px solid rgba(20, 42, 35, 0.11);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: none;
}

.commitments-calendar-panel .dashboard-calendar-cell.empty {
  border-style: dashed;
  border-color: rgba(20, 42, 35, 0.08);
  background: transparent;
}

.commitments-calendar-panel .dashboard-calendar-cell.has-items {
  background: linear-gradient(180deg, rgba(248, 252, 249, 0.95), rgba(255, 255, 255, 0.9));
}

.commitments-calendar-panel .dashboard-calendar-cell.today {
  background: rgba(228, 241, 234, 0.88);
  border-color: rgba(20, 90, 69, 0.28);
  box-shadow: inset 0 0 0 1px rgba(20, 90, 69, 0.16);
}

.commitments-calendar-panel .dashboard-calendar-cell.overdue {
  border-left: 3px solid rgba(172, 135, 88, 0.48);
}

.commitments-calendar-panel .calendar-count {
  background: rgba(31, 107, 85, 0.1);
  color: #255947;
}

.commitments-calendar-panel .dashboard-calendar-cell:not(.empty):hover {
  background: rgba(244, 249, 246, 0.96);
  border-color: rgba(20, 90, 69, 0.2);
  box-shadow: 0 8px 16px rgba(20, 42, 35, 0.08);
  transform: translateY(-1px);
}

.commitments-calendar-panel .dashboard-calendar-cell:not(.empty):active {
  transform: translateY(0) scale(0.995);
}

.calendar-day-number {
  font-size: 0.74rem;
  color: #5f7569;
  font-weight: 600;
  line-height: 1;
}

.commitments-list {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.3rem;
}

.commitment-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 1.42rem;
  border-radius: 10px;
  padding: 0.2rem 0.52rem 0.2rem 0.92rem;
  font-size: 0.76rem;
  line-height: 1.2;
  background: rgba(250, 253, 251, 0.88);
  border: 1px solid rgba(20, 42, 35, 0.09);
}

.commitment-item::before {
  content: "";
  position: absolute;
  left: 0.42rem;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 50%;
  background: rgba(97, 116, 107, 0.65);
}

.commitment-item-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.commitment-item-supporting {
  color: #4f675b;
  background: rgba(250, 252, 250, 0.88);
}

.commitment-item-supporting::before {
  background: rgba(115, 132, 124, 0.66);
}

.commitment-item-goal {
  color: #1d4739;
  font-weight: 650;
  background: rgba(241, 249, 245, 0.92);
  border-color: rgba(31, 107, 85, 0.18);
}

.commitment-item-goal::before {
  background: rgba(31, 107, 85, 0.72);
}

.commitment-item-schedule {
  padding-left: 0.54rem;
  background: rgba(226, 239, 248, 0.88);
  border-color: rgba(69, 110, 166, 0.24);
  color: #2f557f;
  font-weight: 600;
}

.commitment-item-schedule::before {
  display: none;
}

.commitment-overflow {
  font-size: 0.74rem;
  color: #5a7064;
  padding-left: 0.1rem;
}

.commitments-calendar-panel .legend {
  margin-top: 0.7rem;
  opacity: 0.9;
}

.commitments-calendar-panel .chip-today {
  background: rgba(31, 107, 85, 0.14);
  color: #1f6b55;
}

.commitments-calendar-panel .chip-week {
  background: rgba(69, 110, 166, 0.14);
  color: #3e6088;
}

.commitments-calendar-panel .chip-month {
  background: rgba(95, 128, 104, 0.17);
  color: #3f6a4a;
}

.quadrant-cell {
  padding: 0.95rem;
  border-color: rgba(20, 42, 35, 0.16);
}

.quadrant-cell h3 {
  font-size: 1.01rem;
  font-weight: 800;
}

.quadrant-cell:hover {
  box-shadow: inset 0 0 0 1px rgba(20, 90, 69, 0.24), 0 12px 22px rgba(20, 42, 35, 0.1);
}

.quadrant-priority-urgent_important:hover {
  background: rgba(217, 74, 56, 0.14);
}

.quadrant-priority-not_urgent_important:hover {
  background: rgba(63, 154, 74, 0.16);
}

.quadrant-priority-urgent_not_important:hover {
  background: rgba(241, 153, 45, 0.15);
}

.quadrant-priority-not_urgent_not_important:hover {
  background: rgba(149, 161, 155, 0.17);
}

.quadrant-item-card {
  border-color: rgba(20, 42, 35, 0.18);
}

.quadrant-item-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(20, 42, 35, 0.12);
}

.insight-progress {
  background: rgba(26, 37, 31, 0.12);
}

.insight-progress-bar {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2) inset;
}

.panel-main .panel-header {
  margin-bottom: 0.58rem;
}

.dashboard-today-wrap {
  margin-bottom: 1.9rem;
}

.today-command-panel {
  padding: 1.35rem 1.4rem;
  border-color: rgba(20, 90, 69, 0.22);
  background: linear-gradient(180deg, rgba(231, 244, 236, 0.88), rgba(255, 255, 255, 0.93));
  box-shadow: 0 14px 28px rgba(20, 90, 69, 0.12);
}

.today-command-panel .panel-header {
  margin-bottom: 0.78rem;
}

.page-shell > .hero-card + .panel,
.page-shell > .hero-card + .signal-section,
.page-shell > .hero-card + .schedule-toolbar {
  margin-top: 0.2rem;
}

.nav-pill-secondary {
  background: rgba(31, 107, 85, 0.045);
  border-color: rgba(31, 107, 85, 0.12);
  color: #3f5f53;
}

.nav-pill-secondary:hover {
  background: rgba(31, 107, 85, 0.1);
}

.nav-pill-secondary.active {
  background: rgba(31, 107, 85, 0.18);
  border-color: rgba(31, 107, 85, 0.2);
  color: var(--accent);
}

.dashboard-execution-page {
  gap: 1.15rem;
}

.dashboard-execution-page .dashboard-hero h1 {
  max-width: 740px;
}

.dashboard-micro-first {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.65fr);
  gap: 1rem;
  align-items: center;
}

.dashboard-micro-first h2,
.dashboard-micro-first p,
.dashboard-goal-map-cta p {
  margin: 0;
}

.dashboard-micro-first h2 {
  margin-bottom: 0.35rem;
}

.dashboard-goal-map-cta {
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(31, 107, 85, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.64);
}

.dashboard-goal-map-cta strong {
  display: block;
  color: var(--ink);
}

.dashboard-goal-map-cta p {
  color: var(--muted);
}

.dashboard-goal-map-cta a {
  justify-self: start;
  font-weight: 800;
}

.dashboard-execution-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
}

.dashboard-next-step-grid {
  margin-bottom: 1rem;
}

.dashboard-primary-action {
  border-color: rgba(31, 107, 85, 0.2);
  background: linear-gradient(180deg, rgba(231, 244, 236, 0.86), rgba(255, 255, 255, 0.92));
}

.dashboard-friction-strip {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.95rem;
  border-top: 1px solid rgba(20, 42, 35, 0.1);
}

.dashboard-friction-strip h3,
.dashboard-friction-strip p {
  margin: 0;
}

.dashboard-friction-strip .mini-list span {
  color: var(--muted);
}

.dashboard-urgency-list {
  display: grid;
  gap: 0.7rem;
}

.dashboard-urgency-row {
  position: relative;
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(20, 42, 35, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}

.dashboard-urgency-row > strong {
  padding-right: 2.5rem;
}

.dashboard-urgency-row > span {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  min-width: 1.8rem;
  min-height: 1.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.1);
  color: var(--accent);
  font-weight: 800;
}

.urgency-overdue > span {
  background: rgba(217, 74, 56, 0.12);
  color: var(--danger);
}

.urgency-today > span {
  background: rgba(241, 153, 45, 0.14);
  color: #9a5d11;
}

.goal-map-matrix-panel {
  margin-top: 1rem;
}

.goal-map-matrix-panel .panel-header {
  margin-bottom: 0.7rem;
}

.goal-map-quadrant-grid .quadrant-cell {
  background: rgba(255, 255, 255, 0.62);
}

.goal-map-quadrant-grid .quadrant-item-card {
  box-shadow: none;
}

.goal-map-quadrant-grid .quadrant-item-card p {
  margin: 0.2rem 0 0;
}

.goal-map-page {
  gap: 1.1rem;
}

.goal-map-hero {
  grid-template-columns: minmax(0, 1.2fr) auto;
}

.goal-map-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.goal-map-stat {
  border: 1px solid rgba(20, 42, 35, 0.12);
  border-radius: 16px;
  padding: 0.85rem 0.95rem;
  background: rgba(255, 255, 255, 0.78);
}

.goal-map-stat span,
.goal-map-stat p {
  display: block;
  color: var(--muted);
  font-size: 0.88rem;
  margin: 0;
}

.goal-map-stat strong {
  display: block;
  margin: 0.16rem 0;
  font-size: 1.65rem;
  color: var(--text);
}

.goal-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.65fr);
  gap: 1rem;
  align-items: start;
}

.goal-map-section-header {
  margin-bottom: 0.75rem;
}

.goal-map-actions,
.goal-map-node-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: flex-end;
}

.goal-map-node-actions {
  min-width: 190px;
}

.goal-map-node-actions form {
  margin: 0;
}

.goal-map-tree {
  display: grid;
  gap: 0.85rem;
}

.goal-map-node {
  box-shadow: 0 10px 22px rgba(20, 42, 35, 0.08);
}

.goal-map-node-done {
  opacity: 0.78;
}

.goal-map-node-head {
  align-items: flex-start;
}

.goal-map-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  align-items: center;
  margin: 0;
  color: var(--muted);
}

.goal-map-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.45rem;
}

.goal-map-priority-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.2rem 0.62rem;
  border-radius: 999px;
  border: 1px solid rgba(20, 42, 35, 0.1);
  background: rgba(248, 250, 249, 0.92);
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.goal-map-count-line {
  margin-top: 0.28rem;
  color: var(--muted);
  font-size: 0.92rem;
}

.goal-map-status-chip {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0.08rem 0.45rem;
  border-radius: 999px;
  background: rgba(183, 59, 45, 0.08);
  color: rgba(138, 56, 44, 0.95);
  font-size: 0.78rem;
  font-weight: 700;
}

.goal-map-micro {
  background: linear-gradient(135deg, rgba(31, 107, 85, 0.08), rgba(255, 255, 255, 0.95));
}

.goal-map-compact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.7rem;
  margin: 0.7rem 0 0 1.4rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.goal-map-compact-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(20, 42, 35, 0.1);
}

.goal-map-empty {
  display: grid;
  gap: 0.55rem;
  padding: 1rem;
  border: 1px dashed rgba(20, 42, 35, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
}

.goal-map-empty h3,
.goal-map-empty p {
  margin: 0;
}

.goal-map-empty .button {
  justify-self: start;
}

.goal-map-task-list {
  gap: 0;
}

.goal-map-task-row {
  align-items: center;
}

.goal-map-completed-tasks {
  margin: 0.75rem 0 0 1.4rem;
  padding-left: 1.1rem;
  border-left: 2px solid rgba(31, 107, 85, 0.12);
}

.goal-map-completed-milestones {
  margin-top: 0.95rem;
}

.goal-map-completed-tasks summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(31, 107, 85, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  cursor: pointer;
  font-weight: 700;
}

.goal-map-completed-tasks summary::-webkit-details-marker {
  display: none;
}

.goal-map-completed-tasks[open] summary {
  color: var(--accent);
  background: rgba(31, 107, 85, 0.08);
}

.goal-map-completed-task-list {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.65rem;
}

.goal-map-completed-milestone-list,
.goal-map-linked-micro-goal-list {
  display: grid;
  gap: 0.75rem;
  padding-top: 0.7rem;
}

.goal-map-completed-milestone > .chain-level,
.goal-map-completed-milestone .chain-level.chain-short {
  background: rgba(238, 243, 240, 0.86);
}

.goal-map-completed-task .chain-level {
  background: rgba(238, 243, 240, 0.8);
}

.goal-map-linked-micro-goals {
  margin: 0.75rem 0 0 1.4rem;
  padding-left: 1.1rem;
  border-left: 2px solid rgba(31, 107, 85, 0.12);
}

.goal-map-linked-micro-goals summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(31, 107, 85, 0.12);
  border-radius: 999px;
  background: rgba(246, 250, 248, 0.9);
  color: var(--muted);
  cursor: pointer;
  font-weight: 700;
}

.goal-map-linked-micro-goals summary::-webkit-details-marker {
  display: none;
}

.goal-map-linked-micro-goals summary strong {
  min-width: 1.5rem;
  min-height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.1);
  color: var(--accent);
  font-size: 0.82rem;
}

.goal-map-linked-micro-goals[open] summary {
  color: var(--accent);
  background: rgba(31, 107, 85, 0.08);
}

.goal-map-completed-micro-goal .chain-level {
  background: linear-gradient(135deg, rgba(31, 107, 85, 0.05), rgba(238, 243, 240, 0.9));
}

.goal-map-quadrant-label {
  margin: 0.25rem 0 0.8rem;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 600;
}

.goal-map-matrix-empty {
  display: grid;
  gap: 0.45rem;
  padding: 0.95rem 0;
}

.goal-map-matrix-empty p {
  margin: 0;
}

.goal-map-matrix-empty .button {
  justify-self: start;
}

.goal-map-matrix-axes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
  margin-bottom: 0.45rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(20, 42, 35, 0.09);
  border-radius: 11px;
  background: rgba(248, 251, 249, 0.72);
}

.goal-map-axis-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  color: #526b60;
  font-size: 0.78rem;
}

.goal-map-axis-heading strong {
  margin-right: 0.2rem;
  color: #2f5042;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
}

.goal-map-axis-direction {
  color: #70867c;
  font-size: 0.9rem;
}

.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;
}

.goal-map-hero h1 {
  max-width: 720px;
}

.goal-map-hero p:not(.eyebrow) {
  max-width: 760px;
}

button.goal-map-stat {
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

button.goal-map-stat:hover {
  transform: translateY(-2px);
  border-color: rgba(31, 107, 85, 0.28);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 22px rgba(20, 42, 35, 0.09);
}

button.goal-map-stat:active {
  transform: translateY(0);
  border-color: rgba(31, 107, 85, 0.34);
  background: rgba(239, 247, 242, 0.96);
  box-shadow: 0 4px 10px rgba(20, 42, 35, 0.08);
}

button.goal-map-stat:focus-visible,
#goal-hierarchy:focus-visible,
#priority-matrix:focus-visible {
  outline: 3px solid rgba(31, 107, 85, 0.48);
  outline-offset: 3px;
}

#goal-hierarchy,
#priority-matrix,
.chain-short,
.goal-map-linked-micro-goals {
  scroll-margin-top: 6rem;
}

.goal-map-tree {
  gap: 1.2rem;
}

.goal-map-node {
  padding: 1.2rem;
  border: 1px solid rgba(31, 107, 85, 0.13);
  background: linear-gradient(180deg, rgba(248, 252, 249, 0.96), rgba(255, 255, 255, 0.94));
  box-shadow: 0 14px 32px rgba(20, 61, 48, 0.09);
}

.goal-map-node > .chain-long {
  margin-top: 0;
  padding: 1.05rem 1.1rem;
  border: 1px solid rgba(31, 107, 85, 0.16);
  background: linear-gradient(135deg, rgba(223, 238, 229, 0.84), rgba(250, 253, 251, 0.98));
}

.goal-map-node > .chain-long h3 {
  font-size: clamp(1.22rem, 2vw, 1.5rem);
}

.goal-map-page .chain-branch {
  margin-top: 0.68rem;
  margin-left: 1.7rem;
  padding-left: 1.25rem;
}

.goal-map-node .chain-empty-nested {
  margin-top: 0.55rem;
  padding: 0.58rem 0.75rem;
}

.goal-map-page .chain-short {
  padding: 0.82rem 0.9rem;
  border: 1px solid rgba(31, 107, 85, 0.1);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 7px 18px rgba(20, 42, 35, 0.05);
}

.goal-map-page .chain-short h4 {
  font-size: 1.04rem;
}

.goal-map-page .chain-short .chain-tag {
  color: #567467;
}

.goal-map-task-compact {
  min-height: 0;
  padding: 0.58rem 0.72rem;
  border: 1px solid rgba(20, 42, 35, 0.08);
  background: rgba(247, 250, 248, 0.9);
}

.goal-map-task-compact .chain-tag {
  margin-bottom: 0.1rem;
  font-size: 0.62rem;
}

.goal-map-task-compact h5 {
  font-size: 0.94rem;
}

.goal-map-task-compact p {
  color: var(--muted);
  font-size: 0.82rem;
}

.goal-map-task-matrix-link {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 700;
}

.goal-map-micro {
  padding: 0.55rem 0.68rem;
  border: 1px solid rgba(31, 107, 85, 0.1);
  background: rgba(237, 247, 241, 0.72);
}

.goal-map-micro h5 {
  font-size: 0.9rem;
}

.goal-map-micro p {
  color: var(--muted);
  font-size: 0.8rem;
}

.goal-card-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  flex: 0 0 auto;
}

.goal-card-primary-action {
  min-height: 38px;
  padding: 0.48rem 0.75rem;
  font-size: 0.86rem;
}

.goal-card-menu {
  position: relative;
  z-index: 8;
}

.goal-card-menu[open] {
  z-index: 30;
}

.goal-card-menu > summary {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  list-style: none;
  border: 1px solid rgba(20, 42, 35, 0.14);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--accent);
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.goal-card-menu > summary::-webkit-details-marker {
  display: none;
}

.goal-card-menu > summary:hover,
.goal-card-menu[open] > summary {
  border-color: rgba(31, 107, 85, 0.3);
  background: rgba(231, 243, 236, 0.94);
}

.goal-card-menu > summary:focus-visible,
.goal-card-menu-item:focus-visible,
.goal-workspace-tabs button:focus-visible,
.goal-map-matrix-actions a:focus-visible,
.goal-map-matrix-actions button:focus-visible {
  outline: 3px solid rgba(31, 107, 85, 0.48);
  outline-offset: 2px;
}

.goal-card-menu-popover {
  position: absolute;
  top: calc(100% + 0.4rem);
  right: 0;
  z-index: 50;
  display: grid;
  width: min(240px, calc(100vw - 2rem));
  padding: 0.4rem;
  border: 1px solid rgba(20, 42, 35, 0.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(20, 42, 35, 0.18);
}

.goal-card-menu-popover form {
  margin: 0;
}

.goal-card-menu-item {
  display: block;
  width: 100%;
  min-height: 38px;
  padding: 0.55rem 0.65rem;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
}

.goal-card-menu-item:hover {
  background: rgba(31, 107, 85, 0.08);
}

.goal-card-menu-item.danger:hover {
  background: rgba(183, 59, 45, 0.08);
}

.goal-workspace-panel {
  overflow: visible;
}

.goal-workspace-heading {
  margin-bottom: 0.7rem;
}

.goal-workspace-heading .eyebrow,
.goal-workspace-heading h2 {
  margin: 0;
}

.goal-workspace-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.32rem;
  padding: 0.3rem;
  border-radius: 13px;
  background: rgba(20, 42, 35, 0.055);
}

.goal-workspace-tabs button {
  min-width: 0;
  min-height: 40px;
  padding: 0.45rem 0.35rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--muted);
  font-size: clamp(0.72rem, 1.4vw, 0.86rem);
  font-weight: 750;
  line-height: 1.2;
  cursor: pointer;
  white-space: normal;
  overflow-wrap: anywhere;
}

.goal-workspace-tabs button[aria-selected="true"] {
  border-color: rgba(31, 107, 85, 0.14);
  background: rgba(255, 255, 255, 0.94);
  color: var(--accent);
  box-shadow: 0 5px 12px rgba(20, 42, 35, 0.07);
}

.goal-workspace-context {
  margin: 0.62rem 0 0;
  color: #647a70;
  font-size: 0.84rem;
  line-height: 1.45;
}

.goal-workspace-tab-panel {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem 0.1rem 0.1rem;
}

.goal-workspace-tab-panel[hidden] {
  display: none;
}

.goal-workspace-tab-panel h3,
.goal-workspace-tab-panel p {
  margin: 0;
}

.goal-workspace-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.goal-workspace-summary-grid div {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
  padding: 0.6rem 0.45rem;
  border: 1px solid rgba(20, 42, 35, 0.09);
  border-radius: 12px;
  background: rgba(248, 251, 249, 0.9);
  text-align: center;
}

.goal-workspace-summary-grid strong {
  color: var(--text);
  font-size: 1.18rem;
}

.goal-workspace-summary-grid span {
  color: var(--muted);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.goal-workspace-actions {
  display: grid;
  gap: 0.45rem;
}

.goal-workspace-actions a {
  font-size: 0.88rem;
  font-weight: 750;
}

.goal-workspace-unlinked-list {
  gap: 0;
}

.goal-workspace-unlinked-list .manage-row {
  gap: 0.65rem;
  padding: 0.65rem 0;
}

.goal-map-matrix-panel {
  padding: 1rem 1.05rem;
}

.goal-map-matrix-axes {
  gap: 0.55rem;
  margin-bottom: 0.45rem;
}

.goal-map-quadrant-grid {
  gap: 0.55rem;
  padding: 0.55rem;
}

.goal-map-quadrant-grid::before {
  top: 0.55rem;
  bottom: 0.55rem;
}

.goal-map-quadrant-grid::after {
  left: 0.55rem;
  right: 0.55rem;
}

.goal-map-quadrant-grid .quadrant-cell {
  min-width: 0;
  padding: 0.72rem;
  border-color: rgba(20, 42, 35, 0.11);
  background: rgba(255, 255, 255, 0.72);
}

.goal-map-quadrant-grid .quadrant-priority-urgent_important {
  background: rgba(246, 237, 233, 0.72);
}

.goal-map-quadrant-grid .quadrant-priority-not_urgent_important {
  background: rgba(235, 244, 238, 0.74);
}

.goal-map-quadrant-grid .quadrant-priority-urgent_not_important {
  background: rgba(247, 242, 233, 0.75);
}

.goal-map-quadrant-grid .quadrant-priority-not_urgent_not_important {
  background: rgba(240, 243, 241, 0.8);
}

.goal-map-quadrant-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
}

.goal-map-quadrant-heading h3 {
  margin: 0;
  font-size: 0.92rem;
}

.goal-map-quadrant-heading > span {
  display: inline-flex;
  min-width: 1.65rem;
  min-height: 1.65rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 800;
}

.goal-map-quadrant-label {
  margin: 0.15rem 0 0.55rem;
  font-size: 0.82rem;
}

.goal-map-quadrant-grid .quadrant-list {
  gap: 0.48rem;
}

.goal-map-quadrant-grid .quadrant-item-card {
  min-width: 0;
  padding: 0.62rem;
  cursor: grab;
  background: rgba(255, 255, 255, 0.92);
}

.goal-map-task-metadata {
  display: flex;
  flex-wrap: wrap;
  gap: 0.18rem 0.55rem;
  color: var(--muted);
  font-size: 0.76rem;
}

.goal-map-task-metadata span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.goal-map-matrix-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.42rem;
  margin-top: 0.5rem;
  padding-top: 0.45rem;
  border-top: 1px solid rgba(20, 42, 35, 0.08);
  font-size: 0.78rem;
  font-weight: 750;
}

.goal-map-matrix-actions form {
  margin: 0;
}

.goal-map-task-done {
  min-height: 40px;
  padding: 0.38rem 0.72rem;
  border: 1px solid #2d6752;
  border-radius: 9px;
  background: #376f59;
  color: #fff;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
}

.goal-map-task-done:hover {
  border-color: #245743;
  background: #2d624d;
}

.goal-map-task-done:active {
  background: #254f40;
}

.goal-map-task-done:focus-visible {
  outline: 3px solid rgba(31, 107, 85, 0.48);
  outline-offset: 2px;
}

.goal-map-task-menu {
  margin-left: auto;
}

.goal-map-task-menu > summary {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  font-size: 0.75rem;
}

.goal-map-task-menu .goal-card-menu-popover {
  width: min(250px, calc(100vw - 2rem));
}

.goal-map-task-move-label {
  margin: 0.25rem 0.65rem 0.15rem;
  color: #687c73;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.goal-map-quadrant-grid .quadrant-cell,
.goal-map-quadrant-grid .quadrant-item-card {
  overflow: visible;
}

.goal-map-node .goal-map-compact-meta {
  margin-top: 0.5rem;
}

.goal-map-node .goal-map-linked-micro-goals,
.goal-map-node .goal-map-completed-tasks {
  margin-top: 0.5rem;
}

.goal-map-completed-milestones {
  margin-top: 0.65rem;
}

.goal-map-quadrant-grid .quadrant-empty {
  min-height: 3.25rem;
  padding: 0.55rem;
  border: 1px dashed rgba(20, 42, 35, 0.14);
  border-radius: 10px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.44);
  line-height: 1.4;
}

.reminders-page {
  gap: 1rem;
}

.reminder-center-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.reminders-stream {
  gap: 1rem;
}

.reminder-group {
  display: grid;
  gap: 0.6rem;
}

.reminder-group h3,
.reminder-center-card p,
.reminder-center-card strong {
  margin: 0;
}

.reminder-center-card {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-radius: 16px;
  border: 1px solid rgba(20, 42, 35, 0.08);
  background: rgba(255, 255, 255, 0.76);
}

.reminder-center-card-muted {
  opacity: 0.8;
}

.reminder-center-time {
  color: var(--muted);
  font-size: 0.88rem;
  white-space: nowrap;
}

.reminder-preferences-form {
  display: grid;
  gap: 0.75rem;
}

.settings-subsection {
  margin: 0;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(20, 42, 35, 0.08);
  border-radius: 14px;
  display: grid;
  gap: 0.6rem;
}

.settings-subsection legend {
  padding: 0 0.35rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--text);
  line-height: 1.4;
}

.field-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.settings-page {
  display: grid;
  gap: 1rem;
}

.settings-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
  gap: 1rem;
}

.settings-main {
  min-width: 0;
}

.settings-hero,
.settings-split {
  display: grid;
  gap: 1rem;
}

.settings-split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1rem;
}

.settings-subsection h3 {
  margin: 0;
  font-size: 1rem;
}

.settings-subsection-nested {
  background: rgba(255, 255, 255, 0.72);
}

.settings-inline-banner {
  margin-top: 0.35rem;
}

.settings-status {
  display: flex;
  align-items: center;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(20, 42, 35, 0.08);
  color: var(--text);
}

.status-pill-success {
  background: rgba(53, 117, 92, 0.14);
  color: #214f3f;
}

.status-pill-muted {
  background: rgba(20, 42, 35, 0.08);
  color: var(--muted);
}

.settings-help-panel {
  margin-bottom: 2rem;
}

.schedule-focus-summary {
  margin-top: 0.2rem;
}

.schedule-focus-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.schedule-focus-item {
  border-radius: 16px;
  border: 1px solid rgba(20, 42, 35, 0.1);
  background: rgba(255, 255, 255, 0.76);
  padding: 0.8rem 0.9rem;
}

.schedule-focus-item span,
.schedule-focus-item strong {
  display: block;
}

.schedule-focus-item span {
  color: var(--muted);
  font-size: 0.85rem;
}

.schedule-focus-item strong {
  margin-top: 0.2rem;
}

@media (max-width: 900px) {
  .dashboard-micro-first,
  .dashboard-execution-layout {
    grid-template-columns: 1fr;
  }

  .goal-map-hero,
  .goal-map-layout {
    grid-template-columns: 1fr;
  }

  .goal-map-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .goal-map-node-actions,
  .goal-map-actions {
    justify-content: flex-start;
    min-width: 0;
  }

  .goal-map-node-head,
  .goal-map-page .chain-level {
    align-items: flex-start;
    flex-direction: column;
  }

  .goal-map-completed-tasks {
    margin-left: 0;
    padding-left: 0.8rem;
  }

  .goal-map-linked-micro-goals,
  .goal-map-compact-meta {
    margin-left: 0;
  }

  .goal-map-linked-micro-goals {
    padding-left: 0.8rem;
  }

  .goal-card-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .goal-map-page .chain-level.goal-map-task-compact {
    flex-direction: row;
    align-items: center;
  }

  .goal-workspace-panel {
    max-width: none;
  }

  .reminder-center-summary,
  .settings-layout,
  .settings-split,
  .schedule-focus-grid,
  .field-row {
    grid-template-columns: 1fr;
  }

  .reminder-center-card {
    flex-direction: column;
  }

  .button,
  .button-secondary {
    min-height: 42px;
  }

  .calendar-cell:not(.empty):hover,
  .schedule-calendar-cell:not(.empty):hover,
  .quadrant-item-card:hover {
    box-shadow: 0 8px 16px rgba(20, 42, 35, 0.08);
  }
}

@media (max-width: 700px) {
  .goal-map-page .chain-branch,
  .goal-map-page .chain-leaf {
    margin-left: 0.7rem;
    padding-left: 0.85rem;
  }

  .goal-map-quadrant-grid {
    grid-template-columns: 1fr;
  }

  .goal-map-quadrant-grid::before,
  .goal-map-quadrant-grid::after,
  .goal-map-matrix-axes {
    display: none;
  }

  .goal-map-quadrant-grid .quadrant-cell {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .goal-map-summary {
    grid-template-columns: 1fr;
  }

  .goal-card-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .goal-card-primary-action {
    width: 100%;
  }

  .goal-workspace-tabs {
    gap: 0.2rem;
    padding: 0.22rem;
  }

  .goal-workspace-tabs button {
    padding-inline: 0.2rem;
    font-size: 0.7rem;
  }

  .goal-map-axis-heading {
    font-size: 0.74rem;
  }
}

.blog-shell {
  width: min(1080px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.2rem 0 4rem;
}

.legal-page {
  max-width: 980px;
}

.legal-content {
  line-height: 1.72;
}

.legal-content section {
  display: grid;
  gap: 0.55rem;
}

.legal-content h2,
.legal-content p,
.legal-content ul {
  margin: 0;
}

.legal-content h2 {
  font-size: 1.35rem;
}

.legal-content ul {
  padding-left: 1.25rem;
}

.legal-content li + li {
  margin-top: 0.4rem;
}

.blog-index-hero,
.blog-bottom-cta,
.blog-article-cta,
.blog-author-card,
.blog-related-card,
.blog-related-reading,
.blog-notice {
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--shadow);
}

.blog-index-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  padding: 2.1rem;
  margin-bottom: 1.2rem;
}

.blog-index-hero h1,
.blog-bottom-cta h2,
.blog-article-cta h2 {
  margin: 0.25rem 0 0.55rem;
  max-width: 760px;
}

.blog-index-hero p,
.blog-bottom-cta p,
.blog-article-cta p,
.blog-notice p {
  margin: 0;
  color: var(--muted);
}

.blog-index-hero-actions,
.blog-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.blog-cta-text-link {
  align-self: center;
  padding: 0.4rem 0.2rem;
  color: var(--accent);
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.blog-cta-text-link:hover,
.blog-cta-text-link:focus-visible {
  color: #174a38;
}

.blog-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1rem;
}

.blog-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(20, 42, 35, 0.12);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 28px rgba(20, 42, 35, 0.08);
}

.blog-card-image-link {
  display: block;
  height: clamp(220px, 24vw, 300px);
  overflow: hidden;
}

.blog-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-card-image-contain {
  object-fit: contain;
  background: #e8dfd2;
}

.blog-card-body {
  display: grid;
  align-content: start;
  gap: 0.75rem;
  padding: 1.55rem;
}

.blog-card-body h2,
.blog-card-body p {
  margin: 0;
}

.blog-card-body h2 {
  font-size: 1.5rem;
  line-height: 1.15;
}

.blog-card-body p {
  color: var(--muted);
  line-height: 1.65;
}

.blog-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  color: var(--muted);
  font-size: 0.9rem;
}

.blog-meta-row span:not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 0.75rem;
  border-radius: 999px;
  background: rgba(31, 107, 85, 0.36);
  vertical-align: middle;
}

.blog-read-link {
  justify-self: start;
  align-self: end;
  font-weight: 700;
}

.blog-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.blog-article-tag-row {
  margin-top: 0.85rem;
}

.blog-topic-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0.24rem 0.68rem;
  border: 1px solid rgba(31, 107, 85, 0.14);
  border-radius: 999px;
  background: rgba(246, 249, 246, 0.8);
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.blog-topic-pill-primary {
  background: rgba(31, 107, 85, 0.08);
  color: var(--accent);
}

.blog-bottom-cta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-top: 1.2rem;
  padding: 1.35rem 1.45rem;
}

.blog-notice {
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
}

.blog-notice strong {
  display: block;
  margin-bottom: 0.25rem;
}

.blog-article-shell {
  width: min(1080px, calc(100% - 2rem));
}

.blog-reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 60;
  width: 100%;
  height: 3px;
  pointer-events: none;
  background: transparent;
}

.blog-reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(31, 107, 85, 0.28), rgba(31, 107, 85, 0.68));
}

.blog-article {
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow);
}

.blog-article-header {
  padding: 2rem 2rem 0;
}

.blog-article-header h1 {
  max-width: 900px;
  margin: 0.55rem 0 0.7rem;
  font-size: 3rem;
  line-height: 1.05;
}

.blog-subtitle {
  max-width: 800px;
  margin: 0 0 1.35rem;
  color: var(--muted);
  font-size: 1.2rem;
  line-height: 1.6;
}

.blog-brand-line {
  margin: 0.55rem 0 0;
  color: var(--accent);
  font-size: 0.96rem;
  font-weight: 800;
}

.blog-hero-figure,
.blog-inline-figure {
  margin: 0;
}

.blog-hero-image {
  display: block;
  width: 100%;
  object-fit: cover;
}

.blog-hero-image {
  height: 520px;
  border-radius: 22px 22px 0 0;
}

.blog-hero-image-contain {
  height: auto;
  max-height: none;
  object-fit: contain;
  background: rgba(246, 242, 233, 0.92);
}

.first-run-shell {
  width: min(760px, 100%);
  margin: 0 auto;
  gap: 1.25rem;
}

.first-run-copy p,
.first-run-form .panel-note {
  max-width: 62ch;
}

.first-run-form {
  gap: 0.9rem;
}

.first-run-examples {
  margin-top: -0.35rem;
}

.first-run-checkbox {
  margin-top: 0.25rem;
}

.first-run-actions {
  flex-wrap: wrap;
}

.blog-content {
  width: min(800px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 2.5rem;
  font-size: 1.14rem;
  line-height: 1.78;
}

.blog-content p,
.blog-content ul {
  margin: 0 0 1.15rem;
}

.blog-content li + li {
  margin-top: 0.35rem;
}

.blog-step-list {
  display: grid;
  gap: 0.85rem;
  margin: 1.25rem 0;
  padding-left: 1.6rem;
}

.blog-step-list li {
  padding-left: 0.35rem;
}

.blog-step-list h3 {
  margin: 0 0 0.25rem;
  color: var(--ink);
  font-size: 1.18rem;
  line-height: 1.35;
}

.blog-step-list p {
  margin: 0;
}

.blog-flow-comparison {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin: 1.4rem 0;
}

.blog-flow-lane {
  min-width: 0;
  padding: 1.1rem;
  border: 1px solid rgba(20, 42, 35, 0.12);
  border-radius: 20px;
}

.blog-flow-lane-busy {
  border-color: rgba(176, 67, 57, 0.2);
  background: rgba(255, 246, 243, 0.86);
}

.blog-flow-lane-clear {
  border-color: rgba(31, 107, 85, 0.2);
  background: rgba(239, 248, 243, 0.88);
}

.blog-flow-lane h3 {
  margin: 0 0 0.8rem;
  color: var(--ink);
  font-size: 0.85rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.blog-flow-lane ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.blog-flow-lane li {
  display: grid;
  justify-items: start;
  gap: 0.18rem;
  margin: 0;
  color: var(--ink);
  font-weight: 750;
  line-height: 1.4;
}

.blog-flow-arrow {
  color: var(--muted);
  font-size: 1rem;
  line-height: 1;
}

.blog-team-exercise {
  padding: 1.35rem 1.4rem;
  border: 1px solid rgba(31, 107, 85, 0.18);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(239, 248, 243, 0.94), rgba(255, 251, 244, 0.9));
  box-shadow: 0 14px 32px rgba(20, 42, 35, 0.07);
}

.blog-team-exercise .eyebrow {
  color: var(--accent);
}

.blog-question-list {
  display: grid;
  gap: 0.55rem;
  margin: 1.1rem 0 1.2rem;
  padding-left: 1.55rem;
}

.blog-question-list li {
  padding-left: 0.25rem;
  color: var(--ink);
  font-weight: 750;
}

.blog-section {
  margin-top: 2.35rem;
  scroll-margin-top: 6rem;
}

.blog-section h2 {
  margin: 0 0 0.8rem;
  font-size: 2rem;
  line-height: 1.15;
}

.blog-section .eyebrow {
  margin-bottom: 0.35rem;
}

.blog-pullquote,
.blog-cycle {
  margin: 1.45rem 0;
  padding: 1.2rem 1.3rem;
  border-left: 4px solid var(--accent);
  border-radius: 0 18px 18px 0;
  background: rgba(31, 107, 85, 0.08);
  color: var(--ink);
  font-size: 1.35rem;
  line-height: 1.45;
}

.blog-related-reading {
  margin: 1.65rem 0 0.7rem;
  padding: 1.15rem 1.2rem;
  border-color: rgba(31, 107, 85, 0.14);
  background: linear-gradient(135deg, rgba(246, 249, 246, 0.86), rgba(255, 250, 241, 0.82));
  box-shadow: 0 10px 24px rgba(20, 42, 35, 0.06);
}

.blog-top-callout {
  display: grid;
  gap: 0.45rem;
  margin: 1.5rem 0 0.85rem;
  padding: 1.05rem 1.15rem;
  border: 1px solid rgba(31, 107, 85, 0.14);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(241, 247, 244, 0.92), rgba(255, 255, 255, 0.88));
  box-shadow: 0 10px 24px rgba(20, 42, 35, 0.05);
}

.blog-top-callout span {
  display: block;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.blog-top-callout strong,
.blog-top-callout p {
  margin: 0;
}

.blog-top-callout strong {
  font-size: 1.08rem;
  line-height: 1.55;
}

.blog-top-callout p {
  color: var(--muted);
  line-height: 1.6;
}

.blog-toc {
  margin: 1.35rem 0 0.9rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(20, 42, 35, 0.12);
  border-radius: 18px;
  background: rgba(246, 249, 246, 0.76);
}

.blog-toc h2 {
  margin: 0 0 0.65rem;
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.3;
}

.blog-toc ul {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.35rem;
}

.blog-toc li {
  line-height: 1.5;
}

.blog-toc-compact ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.5rem;
}

.blog-toc a {
  color: var(--ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.blog-toc a:hover,
.blog-toc a:focus-visible {
  color: var(--accent);
}

.blog-toc a:focus-visible {
  border-radius: 4px;
  outline: 3px solid rgba(31, 107, 85, 0.3);
  outline-offset: 3px;
}

.blog-related-reading span {
  display: block;
  margin-bottom: 0.32rem;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.blog-related-reading h2 {
  margin: 0 0 0.45rem;
  font-size: 1.25rem;
  line-height: 1.25;
}

.blog-related-reading p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

.blog-cycle {
  border-color: rgba(241, 153, 45, 0.72);
  background: rgba(241, 153, 45, 0.1);
  font-size: 1.18rem;
  font-weight: 700;
}

.blog-contrast,
.blog-example-panel,
.blog-example-list {
  display: grid;
  gap: 0.75rem;
  margin: 1.2rem 0;
}

.blog-contrast {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blog-contrast > div,
.blog-example-panel,
.blog-example-item {
  border: 1px solid rgba(20, 42, 35, 0.12);
  border-radius: 18px;
  padding: 0.95rem 1rem;
  background: rgba(246, 249, 246, 0.82);
}

.blog-contrast span,
.blog-example-panel span,
.blog-example-item span {
  display: block;
  color: var(--muted);
  font-size: 0.92rem;
}

.blog-contrast strong,
.blog-example-item strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--ink);
}

.blog-example-panel > strong {
  display: block;
  color: var(--accent);
}

.blog-example-panel ul {
  margin-bottom: 0;
}

.blog-inline-figure {
  width: 100%;
  max-width: 800px;
  margin: 1.45rem auto 0;
  padding: 0.7rem;
  border: 1px solid rgba(20, 42, 35, 0.1);
  border-radius: 22px;
  background: rgba(246, 249, 246, 0.72);
  overflow: hidden;
}

.blog-inline-figure img {
  display: block;
  width: 100%;
  max-height: 430px;
  height: auto;
  object-fit: contain;
  border-radius: 16px;
}

.blog-inline-figure-illustration {
  max-width: 640px;
  padding: 1rem;
  background: linear-gradient(135deg, rgba(237, 243, 231, 0.82), rgba(255, 250, 241, 0.9));
}

.blog-inline-figure-illustration img {
  max-height: 360px;
}

.blog-soft-cta {
  display: flex;
  justify-content: space-between;
  gap: 0.85rem;
  align-items: center;
  margin: 1.4rem 0 0;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(31, 107, 85, 0.14);
  border-radius: 18px;
  background: rgba(31, 107, 85, 0.07);
}

.blog-soft-cta span {
  color: var(--muted);
  font-size: 0.95rem;
}

.blog-soft-cta a,
.blog-article-back a {
  font-weight: 800;
}

.blog-article-cta {
  display: grid;
  gap: 1rem;
  margin-top: 2.6rem;
  padding: 1.4rem;
  background: linear-gradient(135deg, rgba(31, 107, 85, 0.11), rgba(255, 255, 255, 0.92));
}

.blog-article-back {
  margin: 1rem 0 0;
  padding: 0 0.2rem;
}

.blog-ownership-note {
  margin-top: 1rem;
  padding: 0.95rem 1.05rem;
  border: 1px solid rgba(31, 107, 85, 0.12);
  border-radius: 18px;
  background: rgba(246, 249, 246, 0.72);
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.55;
}

.blog-article-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.blog-author-card,
.blog-related-card {
  padding: 1.2rem 1.25rem;
}

.blog-author-card span,
.blog-related-card span {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.blog-author-card h2,
.blog-related-card h2,
.blog-author-card p,
.blog-related-card p {
  margin: 0;
}

.blog-author-card p,
.blog-related-card p {
  color: var(--muted);
  line-height: 1.6;
}

.blog-author-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.9rem;
}

.blog-related-card a {
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(20, 42, 35, 0.1);
  border-radius: 16px;
  background: rgba(246, 249, 246, 0.76);
  font-weight: 700;
}

.blog-related-card a span {
  display: block;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0;
}

.blog-related-card a .blog-topic-pill {
  justify-self: start;
  display: inline-flex;
  margin-bottom: 0.1rem;
  color: var(--accent);
  text-transform: none;
  letter-spacing: 0;
}

.blog-related-card a em {
  color: var(--accent);
  font-size: 0.92rem;
  font-style: normal;
  font-weight: 800;
}

.blog-faq-list {
  display: grid;
  gap: 0.85rem;
  margin-top: 1rem;
}

.blog-faq-item {
  display: grid;
  gap: 0.35rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(20, 42, 35, 0.12);
  border-radius: 18px;
  background: rgba(246, 249, 246, 0.82);
}

.blog-faq-item h3,
.blog-faq-item p {
  margin: 0;
}

.landing-premium-shell {
  width: min(1200px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.25rem 0 4rem;
  display: grid;
  gap: 1.5rem;
}

.landing-premium-section {
  display: grid;
  gap: 1rem;
}

.landing-premium-hero,
.landing-premium-section-tinted,
.landing-premium-pricing,
.landing-premium-callout,
.landing-premium-final-cta {
  border-radius: 32px;
  border: 1px solid rgba(255, 255, 255, 0.84);
  box-shadow: var(--shadow);
}

.landing-premium-hero {
  display: grid;
  gap: 1.5rem;
  padding: 1.25rem;
  background:
    radial-gradient(circle at top left, rgba(232, 241, 233, 0.88), transparent 28%),
    radial-gradient(circle at top right, rgba(247, 231, 203, 0.44), transparent 24%),
    linear-gradient(180deg, rgba(255, 251, 245, 0.96), rgba(245, 248, 244, 0.9));
}

.landing-premium-nav,
.landing-premium-nav-links,
.landing-premium-actions,
.landing-premium-trust,
.landing-premium-proof-chips {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.landing-premium-nav {
  justify-content: space-between;
}

.landing-premium-brand {
  display: inline-flex;
  align-items: center;
}

.landing-premium-wordmark {
  display: block;
  height: 72px;
  width: auto;
}

.landing-premium-nav-links {
  justify-content: flex-end;
  color: var(--muted);
}

.landing-premium-nav-links a {
  color: inherit;
  text-decoration: none;
  font-weight: 600;
}

.landing-premium-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: 1.1rem;
  align-items: center;
}

.landing-premium-copy,
.landing-premium-section-copy,
.landing-premium-card,
.landing-premium-read-card,
.landing-premium-price-card,
.landing-premium-faq-card,
.landing-premium-step,
.landing-premium-example-card,
.landing-premium-action-item {
  display: grid;
  gap: 0.85rem;
}

.landing-premium-eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.76rem;
  color: var(--accent);
  font-weight: 700;
}

.landing-premium-copy h1,
.landing-premium-section-copy h2,
.landing-premium-callout h2,
.landing-premium-final-cta h2 {
  margin: 0;
}

.landing-premium-copy h1 {
  max-width: 11ch;
  font-size: clamp(2.9rem, 5.8vw, 5.1rem);
  line-height: 0.98;
}

.landing-premium-lead,
.landing-premium-hero-urgency,
.landing-premium-hero-reassurance,
.landing-premium-section-copy p,
.landing-premium-card p,
.landing-premium-read-card p,
.landing-premium-price-card p,
.landing-premium-faq-card p,
.landing-premium-step p,
.landing-premium-callout p,
.landing-premium-final-cta p,
.landing-premium-example-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.landing-premium-lead {
  max-width: 62ch;
  font-size: 1.08rem;
}

.landing-premium-supporting-copy {
  margin: -0.25rem 0 0;
  max-width: 58ch;
  color: #496154;
  font-size: 0.97rem;
}

.landing-premium-hero-urgency {
  max-width: 56ch;
  font-size: 1rem;
}

.landing-premium-hero-reassurance {
  display: inline-flex;
  width: fit-content;
  padding: 0.7rem 0.9rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(26, 54, 44, 0.08);
  box-shadow: 0 12px 24px rgba(40, 58, 50, 0.05);
}

.landing-premium-trust {
  color: var(--muted);
  font-size: 0.95rem;
}

.landing-premium-proof-chips {
  gap: 0.55rem;
}

.landing-premium-proof-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.78rem;
  border-radius: 999px;
  background: rgba(239, 245, 239, 0.88);
  border: 1px solid rgba(34, 81, 64, 0.1);
  color: var(--accent);
  font-size: 0.86rem;
  font-weight: 600;
}

.landing-premium-hero-media {
  margin: 0;
  display: grid;
  gap: 0.65rem;
  justify-items: stretch;
}

.landing-premium-hero-media-label {
  display: inline-grid;
  justify-self: start;
  gap: 0.22rem;
  padding: 0.8rem 0.95rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(26, 54, 44, 0.08);
  box-shadow: 0 12px 24px rgba(40, 58, 50, 0.06);
}

.landing-premium-hero-media-label strong {
  font-size: 0.95rem;
}

.landing-premium-hero-media-label span {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.landing-premium-hero-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 26px 54px rgba(38, 55, 48, 0.16);
}

.landing-premium-hero-media figcaption {
  text-align: center;
  color: var(--muted);
  font-size: 0.96rem;
}

.landing-premium-section-copy-centered {
  justify-items: center;
  text-align: center;
}

.landing-premium-section-copy-centered p:last-child {
  max-width: 66ch;
}

.landing-premium-card-grid,
.landing-premium-steps {
  display: grid;
  gap: 1rem;
}

.landing-premium-action-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.85rem 1.1rem;
  padding: 1.3rem 1.35rem;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(26, 54, 44, 0.08);
  box-shadow: 0 16px 34px rgba(40, 58, 50, 0.06);
  counter-reset: landing-actions;
}

.landing-premium-card-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.landing-premium-card-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.landing-premium-card-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.landing-premium-card,
.landing-premium-read-card,
.landing-premium-price-card,
.landing-premium-faq-card,
.landing-premium-step {
  padding: 1.25rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(26, 54, 44, 0.08);
  box-shadow: 0 16px 34px rgba(40, 58, 50, 0.07);
}

.landing-premium-action-item {
  position: relative;
  padding: 0.1rem 0 1rem 3.35rem;
  border-bottom: 1px solid rgba(26, 54, 44, 0.1);
}

.landing-premium-action-item::before {
  counter-increment: landing-actions;
  content: counter(landing-actions);
  position: absolute;
  top: 0.1rem;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 14px;
  background: rgba(31, 107, 85, 0.1);
  color: var(--accent);
  font-size: 0.92rem;
  font-weight: 700;
}

.landing-premium-action-item:nth-last-child(-n + 2) {
  border-bottom: none;
  padding-bottom: 0.1rem;
}

.landing-premium-card h3,
.landing-premium-read-card h3,
.landing-premium-price-card h3,
.landing-premium-faq-card h3,
.landing-premium-step h3,
.landing-premium-example-card h3,
.landing-premium-action-item h3 {
  margin: 0;
}

.landing-premium-example-card {
  display: grid;
  gap: 0.7rem;
  padding: 1.45rem;
}

.landing-premium-example-card strong {
  font-size: 1.02rem;
  color: var(--ink);
  padding-top: 0.15rem;
  border-top: 1px solid rgba(26, 54, 44, 0.08);
}

.landing-premium-example-label {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.72rem;
  color: var(--accent);
  font-weight: 700;
}

.landing-premium-section-tinted,
.landing-premium-pricing {
  padding: 1.35rem;
  background: linear-gradient(180deg, rgba(250, 248, 243, 0.96), rgba(242, 247, 243, 0.92));
}

.landing-premium-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.landing-premium-step span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(31, 107, 85, 0.1);
  color: var(--accent);
  font-weight: 800;
}

.landing-premium-callout {
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(230, 241, 232, 0.96), rgba(251, 247, 241, 0.94));
}

.landing-premium-read-card a,
.landing-premium-faq-card a,
.landing-premium-nav-links a {
  font-weight: 600;
}

.landing-premium-price-card strong {
  display: block;
  font-size: 2.2rem;
  color: var(--text);
}

.landing-premium-price-card strong span {
  font-size: 0.95rem;
  color: var(--muted);
}

.landing-premium-list {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--muted);
  line-height: 1.7;
}

.landing-premium-list li + li {
  margin-top: 0.42rem;
}

.landing-premium-price-card-featured {
  background: linear-gradient(180deg, rgba(228, 240, 232, 0.94), rgba(255, 255, 255, 0.92));
}

.landing-premium-recommended {
  margin: 0;
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 700;
}

.landing-premium-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem;
  background: linear-gradient(135deg, rgba(25, 70, 56, 0.96), rgba(36, 102, 81, 0.92));
}

.landing-premium-early-trust {
  margin: 0;
  text-align: center;
  color: var(--muted);
  line-height: 1.7;
  font-size: 0.98rem;
}

.landing-premium-final-cta h2,
.landing-premium-final-cta p,
.landing-premium-final-cta .landing-premium-eyebrow {
  color: #f7f4ee;
}

.landing-premium-final-cta .landing-premium-actions {
  justify-content: flex-end;
}

@media (max-width: 1080px) {
  .landing-premium-hero-grid,
  .landing-premium-steps,
  .landing-premium-card-grid-four,
  .landing-premium-action-list {
    grid-template-columns: 1fr 1fr;
  }

  .landing-premium-copy h1 {
    max-width: 13ch;
  }
}

@media (max-width: 860px) {
  .landing-premium-hero-grid,
  .landing-premium-card-grid-three,
  .landing-premium-card-grid-four,
  .landing-premium-card-grid-two,
  .landing-premium-steps,
  .landing-premium-action-list,
  .landing-premium-final-cta {
    grid-template-columns: 1fr;
    display: grid;
  }

  .landing-premium-final-cta {
    justify-content: stretch;
  }

  .landing-premium-final-cta .landing-premium-actions {
    justify-content: flex-start;
  }

  .landing-premium-action-list {
    padding: 1.1rem 1.15rem;
  }

  .landing-premium-action-item {
    border-bottom: 1px solid rgba(26, 54, 44, 0.1);
  }

  .landing-premium-action-item:last-child {
    border-bottom: none;
    padding-bottom: 0.1rem;
  }
}

@media (max-width: 640px) {
  .landing-premium-shell {
    width: min(100%, calc(100% - 1rem));
    padding: 0.75rem 0 3rem;
  }

  .landing-premium-hero,
  .landing-premium-section-tinted,
  .landing-premium-pricing,
  .landing-premium-callout,
  .landing-premium-final-cta {
    border-radius: 24px;
  }

  .landing-premium-hero {
    padding: 1rem;
  }

  .landing-premium-nav {
    align-items: flex-start;
  }

  .landing-premium-wordmark {
    height: 58px;
  }

  .landing-premium-copy h1 {
    font-size: clamp(2.2rem, 9vw, 3rem);
    max-width: none;
  }

  .landing-premium-actions .button,
  .landing-premium-final-cta .button {
    width: 100%;
    justify-content: center;
  }

  .landing-premium-nav-links,
  .landing-premium-trust {
    gap: 0.45rem 0.8rem;
  }
}

.leaders-page {
  --leader-card: rgba(255, 255, 255, 0.88);
}

.leaders-page .landing-premium-copy,
.leaders-page .landing-premium-hero-media,
.leaders-page .landing-premium-section-copy,
.leaders-page .landing-premium-card,
.leaders-page .landing-premium-faq-card,
.leaders-page .landing-premium-example-card {
  min-width: 0;
}

.leaders-page .landing-premium-copy h1,
.leaders-page .landing-premium-lead,
.leaders-page .landing-premium-hero-reassurance,
.leaders-page .landing-premium-section-copy p,
.leaders-page .landing-premium-card p,
.leaders-page .landing-premium-faq-card p,
.leaders-page .landing-premium-example-card h3,
.leaders-page .landing-premium-example-card strong {
  overflow-wrap: break-word;
}

.leaders-hero .landing-premium-copy h1 {
  max-width: 12ch;
}

.leaders-split-section {
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  align-items: stretch;
  gap: 1rem;
}

.leaders-rhythm-list,
.leaders-note-card,
.leaders-use-list {
  border-radius: 28px;
  border: 1px solid rgba(26, 54, 44, 0.08);
  background: var(--leader-card);
  box-shadow: 0 16px 34px rgba(40, 58, 50, 0.06);
}

.leaders-rhythm-list {
  display: grid;
  gap: 0.65rem;
  padding: 1.1rem;
}

.leaders-rhythm-list span {
  display: flex;
  align-items: center;
  min-height: 3.2rem;
  padding: 0.75rem 0.9rem;
  border-radius: 18px;
  background: rgba(239, 245, 239, 0.76);
  color: #33483d;
  font-weight: 650;
}

.leaders-priority-grid .landing-premium-card {
  background: rgba(255, 255, 255, 0.76);
}

.leaders-example-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
}

.leaders-example-card {
  grid-column: span 2;
  min-height: 100%;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(241, 248, 242, 0.86));
  border: 1px solid rgba(26, 54, 44, 0.08);
  box-shadow: 0 16px 34px rgba(40, 58, 50, 0.07);
}

.leaders-example-card:nth-last-child(2) {
  grid-column-start: 2;
}

.leaders-note-card {
  align-self: center;
  display: grid;
  gap: 0.7rem;
  padding: 1.45rem;
  background: linear-gradient(135deg, rgba(228, 240, 232, 0.94), rgba(255, 251, 245, 0.9));
}

.leaders-note-card strong {
  color: var(--ink);
  font-size: 1.2rem;
}

.leaders-note-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.leaders-use-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 1.2rem;
  list-style: none;
}

.leaders-use-list li {
  position: relative;
  padding: 0.78rem 0.85rem 0.78rem 2.25rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  color: #33483d;
  line-height: 1.55;
}

.leaders-use-list li::before {
  content: "";
  position: absolute;
  top: 1.12rem;
  left: 0.9rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: var(--accent);
}

.leaders-reading-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.2rem;
  padding: 1.35rem;
  border-radius: 28px;
  border: 1px solid rgba(26, 54, 44, 0.08);
  background:
    linear-gradient(135deg, rgba(255, 251, 245, 0.96), rgba(231, 242, 235, 0.9));
  box-shadow: 0 18px 38px rgba(40, 58, 50, 0.08);
}

.leaders-reading-card div {
  display: grid;
  gap: 0.55rem;
}

.leaders-reading-card h2,
.leaders-reading-card p {
  margin: 0;
}

.leaders-reading-card h2 {
  color: var(--ink);
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.12;
}

.leaders-reading-card p:not(.landing-premium-eyebrow) {
  max-width: 62ch;
  color: var(--muted);
  line-height: 1.7;
}

.leaders-reading-card .button-secondary {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(31, 107, 85, 0.22);
  color: var(--accent);
  white-space: nowrap;
}

.leaders-final-cta .button-secondary {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.38);
  color: #f7f4ee;
}

@media (max-width: 1080px) {
  .leaders-example-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leaders-example-card,
  .leaders-example-card:nth-last-child(2) {
    grid-column: auto;
  }

  .leaders-example-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .leaders-split-section,
  .leaders-use-list {
    grid-template-columns: 1fr;
  }

  .leaders-note-card {
    align-self: stretch;
  }

  .leaders-reading-card {
    grid-template-columns: 1fr;
  }

  .leaders-reading-card .button-secondary {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .leaders-page .landing-premium-nav-links {
    width: 100%;
    justify-content: flex-start;
  }

  .leaders-hero .landing-premium-copy h1 {
    max-width: none;
  }

  .leaders-example-grid {
    grid-template-columns: 1fr;
  }

  .leaders-example-card:last-child {
    grid-column: auto;
  }

  .leaders-rhythm-list,
  .leaders-use-list {
    padding: 0.85rem;
    border-radius: 22px;
  }

  .leaders-rhythm-list span,
  .leaders-use-list li {
    min-height: auto;
  }

  .leaders-reading-card {
    padding: 1rem;
    border-radius: 22px;
  }

  .leaders-reading-card .button-secondary {
    width: 100%;
    justify-content: center;
    white-space: normal;
  }
}

.blog-faq-item p {
  color: var(--muted);
}

.blog-related-list {
  display: grid;
  gap: 0.65rem;
}

.public-footer {
  width: min(1080px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.3rem 0 2.2rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  color: var(--muted);
}

.public-footer-brand,
.public-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
}

.public-footer-brand {
  max-width: 520px;
}

.public-footer-brand small,
.app-footer small {
  color: var(--muted);
  font-size: 0.84rem;
}

.public-footer-logo {
  width: 132px;
  height: auto;
  display: block;
}

.public-footer-links a {
  font-weight: 700;
}

.app-footer {
  width: min(1080px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.1rem 0 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 0.8rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.app-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.app-footer-links a {
  font-weight: 700;
}

.app-footer span {
  color: #496154;
  font-weight: 700;
}

.app-footer-brand-name {
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (max-width: 860px) {
  .blog-index-hero,
  .blog-bottom-cta,
  .blog-card,
  .blog-article-footer-grid {
    grid-template-columns: 1fr;
  }

  .blog-index-hero,
  .blog-bottom-cta {
    align-items: start;
  }

  .blog-card-image-link {
    height: 220px;
  }

  .blog-article-header {
    padding: 1.25rem 1.25rem 0;
  }

  .blog-article-header h1 {
    font-size: 2.25rem;
  }

  .blog-hero-image {
    height: 360px;
  }

  .blog-hero-image-contain {
    height: auto;
  }

  .blog-inline-figure img {
    max-height: 340px;
  }

  .blog-inline-figure-illustration img {
    max-height: 300px;
  }
}

@media (max-width: 620px) {
.blog-shell,
.blog-article-shell {
  width: min(100% - 1rem, 1040px);
  padding-top: 0.6rem;
}
}

/* Focus Review */
.focus-review-shell {
  max-width: 1120px;
}

.focus-review-hero,
.focus-review-complete,
.focus-review-progress-copy,
.focus-history-card,
.current-focus-panel .panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}

.focus-review-date {
  flex: 0 0 auto;
  padding: .8rem 1rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, .55);
}

.focus-review-start-card {
  display: grid;
  gap: 1rem;
}

.focus-review-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}

.focus-review-stats.compact {
  grid-template-columns: repeat(2, minmax(130px, 1fr));
}

.focus-review-stats > div {
  display: grid;
  gap: .2rem;
  padding: 1rem;
  border: 1px solid var(--border, #d8dfd4);
  border-radius: 14px;
  background: rgba(255, 255, 255, .58);
}

.focus-review-stats strong {
  color: var(--green-900, #173e32);
  font-size: 1.6rem;
}

.focus-review-progress-wrap {
  position: sticky;
  z-index: 8;
  top: 0;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  border: 1px solid var(--border, #d8dfd4);
  border-radius: 14px;
  background: rgba(249, 247, 240, .96);
  backdrop-filter: blur(10px);
}

.focus-review-progress-copy {
  margin-bottom: .55rem;
}

.focus-review-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe6dc;
}

.focus-review-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #587c68;
}

.focus-review-card-list,
.focus-history-list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.focus-goal-card,
.focus-captured-card,
.focus-history-card,
.focus-summary-item,
.current-focus-card {
  padding: 1.15rem;
  border: 1px solid var(--border, #d8dfd4);
  border-radius: 16px;
  background: #fbfaf5;
}

.focus-goal-card h2,
.focus-captured-card h2,
.focus-history-card h2 {
  margin: .35rem 0 .7rem;
}

.focus-goal-facts {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem 1.25rem;
  margin: .8rem 0;
  color: #53655a;
  font-size: .92rem;
}

.focus-observation,
.focus-plan-note {
  padding: .65rem .8rem;
  border-left: 3px solid #91aa94;
  border-radius: 0 8px 8px 0;
  color: #3f5f50;
  background: #edf2e8;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}

.form-grid .field-full {
  grid-column: 1 / -1;
}

.field-hint {
  display: block;
  color: #66756c;
  font-size: .82rem;
  font-weight: 400;
}

.focus-next-action,
.focus-summary-section {
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 14px;
  background: #edf2e8;
}

.focus-summary-section h2 {
  margin-top: 0;
}

.focus-review-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: sticky;
  bottom: .75rem;
  margin: 1rem 0;
  padding: .8rem;
  border: 1px solid var(--border, #d8dfd4);
  border-radius: 14px;
  background: rgba(249, 247, 240, .96);
  box-shadow: 0 8px 24px rgba(31, 57, 45, .09);
}

.focus-review-abandon {
  text-align: center;
}

.current-focus-panel {
  scroll-margin-top: 1rem;
}

.current-focus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
}

.current-focus-primary {
  border-color: #72917d;
  background: #f1f5ed;
}

.current-focus-details {
  display: grid;
  gap: .55rem;
  margin: 1rem 0;
}

.current-focus-details div {
  display: grid;
  gap: .1rem;
}

.current-focus-details dt {
  color: #66756c;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.current-focus-details dd {
  margin: 0;
}

@media (max-width: 700px) {
  .focus-review-hero,
  .focus-review-complete,
  .focus-history-card,
  .current-focus-panel .panel-header,
  .focus-review-navigation {
    align-items: stretch;
    flex-direction: column;
  }

  .focus-review-stats,
  .focus-review-stats.compact,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-grid .field-full {
    grid-column: auto;
  }

  .focus-review-navigation {
    bottom: .35rem;
  }

  .focus-review-navigation .inline-actions,
  .focus-review-navigation form,
  .focus-review-navigation button {
    width: 100%;
  }
}

@media (max-width: 620px) {
  .blog-index-hero,
  .blog-card-body,
  .blog-bottom-cta,
  .blog-article-cta {
    padding: 1rem;
  }

  .blog-article-header h1 {
    font-size: 1.9rem;
  }

  .blog-content {
    width: min(100% - 1.4rem, 800px);
    font-size: 1.04rem;
  }

  .blog-section h2 {
    font-size: 1.55rem;
  }

  .blog-toc-compact ul {
    grid-template-columns: 1fr;
  }

  .blog-contrast {
    grid-template-columns: 1fr;
  }

  .blog-flow-comparison {
    grid-template-columns: 1fr;
  }

  .blog-team-exercise {
    padding: 1.05rem;
    border-radius: 18px;
  }

  .blog-hero-image {
    height: 260px;
  }

  .blog-hero-image-contain {
    height: auto;
  }

  .blog-inline-figure {
    padding: 0.55rem;
    border-radius: 18px;
  }

  .blog-inline-figure img {
    max-height: 280px;
    border-radius: 14px;
  }

  .blog-inline-figure-illustration {
    max-width: 100%;
    padding: 0.75rem;
  }

  .blog-soft-cta,
  .public-footer,
  .app-footer {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* Revamped Schedule: isolated behind REVAMPED_SCHEDULE_ENABLED. */
.revamped-schedule { max-width: 1680px; }
.schedule-commandbar { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:10px 2px 22px; }
.schedule-commandbar h1 { margin:4px 0 6px; font-size:clamp(2rem,3vw,3rem); letter-spacing:-.045em; }
.schedule-command-actions,.schedule-date-nav,.schedule-view-switcher { display:flex; align-items:center; gap:8px; }
.schedule-workspace { display:grid; grid-template-columns:260px minmax(0,1fr) 250px; min-height:720px; border:1px solid #dcded7; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 18px 48px rgba(28,44,35,.08); }
.schedule-rail,.schedule-detail-rail { padding:20px; background:#f7f8f4; }
.schedule-rail { border-right:1px solid #e2e4de; transition:width .2s ease,padding .2s ease; }
.schedule-detail-rail { border-left:1px solid #e2e4de; }
.schedule-sidebar-collapsed .schedule-workspace { grid-template-columns:0 minmax(0,1fr) 250px; }
.schedule-sidebar-collapsed .schedule-rail { overflow:hidden; padding-inline:0; border:0; }
.schedule-rail-create { display:flex; width:100%; justify-content:center; }
.schedule-rail-section { padding-top:24px; }
.schedule-rail-section h2,.schedule-section-heading h2 { margin:0; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.schedule-section-heading { display:flex; justify-content:space-between; align-items:center; }
.schedule-section-heading span { min-width:24px; padding:3px 7px; border-radius:999px; background:#e3e8e1; text-align:center; font-size:.75rem; }
.schedule-work-list { display:grid; gap:7px; margin-top:14px; }
.schedule-work-item { display:grid; grid-template-columns:4px 1fr 28px; gap:9px; align-items:center; padding:10px; border:1px solid #e2e4de; border-radius:10px; background:#fff; }
.schedule-work-item strong,.schedule-work-item small { display:block; }
.schedule-work-item strong { font-size:.84rem; line-height:1.3; }
.schedule-work-item small { margin-top:3px; color:#667168; }
.schedule-work-item a { text-align:center; font-size:1.2rem; text-decoration:none; }
.schedule-type-mark { align-self:stretch; border-radius:9px; background:#5a8068; }
.schedule-filter { display:flex; gap:9px; align-items:center; padding:7px 0; font-size:.88rem; }
.schedule-source-filters { margin:0; border:0; }
.schedule-source-filters legend { padding:0; font-size:.82rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.schedule-filter-status { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
[data-calendar-source][hidden],.premium-agenda-day[hidden] { display:none !important; }
.schedule-canvas { min-width:0; background:#fff; }
.schedule-calendarbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:74px; padding:14px 18px; border-bottom:1px solid #e5e7e1; }
.schedule-date-nav h2 { margin:0 0 0 8px; font-size:1.08rem; }
.schedule-icon-button { display:grid; place-items:center; width:36px; height:36px; border:1px solid #d7dad3; border-radius:9px; text-decoration:none; color:inherit; }
.schedule-view-switcher { padding:3px; border:1px solid #d9dcd5; border-radius:10px; }
.schedule-view-switcher a { padding:7px 10px; border-radius:7px; color:#59635d; font-size:.8rem; text-decoration:none; }
.schedule-view-switcher a.active { background:#1f4433; color:#fff; }
.premium-calendar { display:grid; grid-template-columns:repeat(7,minmax(86px,1fr)); }
.premium-calendar-head { padding:11px; border-bottom:1px solid #e6e8e2; color:#6a746d; font-size:.72rem; font-weight:700; text-align:center; text-transform:uppercase; }
.premium-calendar-day { min-height:145px; padding:9px; border-right:1px solid #eceee9; border-bottom:1px solid #eceee9; }
.week-calendar .premium-calendar-day { min-height:580px; }
.premium-calendar-day.today { background:#f4f8f4; box-shadow:inset 0 3px #35684b; }
.premium-calendar-day.empty { background:#fafbf9; }
.premium-day-number { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; color:#68736b; font-size:.73rem; }
.premium-day-number strong { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:#29372f; }
.premium-calendar-day.today .premium-day-number strong { background:#28573e; color:#fff; }
.premium-calendar-event { display:block; margin:5px 0; padding:7px 8px; border-left:3px solid #52765f; border-radius:6px; background:#edf4ee; color:#21352a; text-decoration:none; overflow:hidden; }
.premium-calendar-event span,.premium-calendar-event strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.premium-calendar-event span { font-size:.67rem; color:#617066; }
.premium-calendar-event strong { margin-top:2px; font-size:.76rem; }
.premium-calendar-event.schedule-kind-focus { border-color:#735c9d; background:#f2eff8; }
.premium-calendar-event.schedule-kind-meeting { border-color:#9a6a34; background:#f8f1e8; }
.premium-calendar-event.schedule-kind-reminder { border-color:#a34e4e; background:#faeeee; }
.premium-more { font-size:.73rem; color:#53615a; }
.premium-agenda { padding:10px 24px 32px; }
.premium-agenda-day { padding:18px 0; }
.premium-agenda-day > header { display:flex; justify-content:space-between; align-items:center; padding-bottom:9px; border-bottom:1px solid #e7e9e3; }
.premium-agenda-day h3 { margin:0; font-size:.95rem; }
.premium-agenda-day header span { color:#748078; font-size:.76rem; }
.premium-agenda-row { display:grid; grid-template-columns:120px 1fr 28px; gap:18px; align-items:center; padding:15px 10px; border-bottom:1px solid #edf0ea; border-left:3px solid transparent; color:inherit; text-decoration:none; }
.premium-agenda-row:hover { background:#f7f9f6; border-left-color:#51775f; }
.premium-agenda-row time { color:#58655d; font-size:.78rem; }
.premium-agenda-row strong,.premium-agenda-row span { display:block; }
.premium-agenda-row div > span { margin-top:4px; color:#6b766f; font-size:.76rem; }
.schedule-detail-rail h2 { margin:8px 0; font-size:1.25rem; }
.schedule-detail-rail > p:not(.eyebrow) { color:#657069; line-height:1.55; }
.schedule-context-list { margin:24px 0; }
.schedule-context-list div { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid #dde1da; }
.schedule-context-list dt { color:#68736c; }
.schedule-context-list dd { margin:0; font-weight:700; text-align:right; }
.schedule-empty-state { max-width:480px; margin:80px auto; text-align:center; }
.schedule-empty-state h2 { margin-bottom:8px; }
.schedule-empty-state p { color:#657069; }

@media (max-width: 1100px) {
  .schedule-workspace { grid-template-columns:220px minmax(0,1fr); }
  .schedule-detail-rail { display:none; }
  .schedule-sidebar-collapsed .schedule-workspace { grid-template-columns:0 minmax(0,1fr); }
}
@media (max-width: 760px) {
  .schedule-commandbar { align-items:flex-start; }
  .schedule-command-actions .button-secondary { display:none; }
  .schedule-workspace { display:block; min-height:0; border-radius:13px; }
  .schedule-rail { display:none; }
  .schedule-calendarbar { align-items:flex-start; flex-direction:column; }
  .schedule-view-switcher { width:100%; }
  .schedule-view-switcher a { flex:1; text-align:center; }
  .premium-calendar { overflow-x:auto; grid-template-columns:repeat(7,minmax(118px,1fr)); }
  .premium-agenda { padding-inline:14px; }
  .premium-agenda-row { grid-template-columns:78px 1fr 20px; gap:10px; }
  .schedule-date-nav h2 { font-size:.88rem; }
}
@media (prefers-reduced-motion: reduce) { .schedule-rail { transition:none; } }

/* Authenticated workspace and approved Schedule visual refinement. */
body:has(.topbar-main) {
  font-family: "Segoe UI", Inter, Manrope, "Avenir Next", Arial, sans-serif;
  color: #18251f;
  background: #f2f4f1;
}
body:has(.topbar-main)::before,
body:has(.topbar-main)::after { opacity: .08; background-image: none; }
body:has(.topbar-main) .topbar,
body:has(.topbar-main) .page-shell,
body:has(.topbar-main) .reminder-stack,
body:has(.topbar-main) .verification-banner { width: min(1500px, calc(100% - 32px)); }
.topbar:has(.topbar-main) { align-items:center; min-height:76px; padding:10px 0; }
.topbar:has(.topbar-main) .tagline { display:none; }
.topbar:has(.topbar-main) .topbar-main { display:flex; flex:1; align-items:center; justify-content:space-between; gap:20px; }
.topbar:has(.topbar-main) .topbar-nav { gap:4px; }
.topbar:has(.topbar-main) .nav-pill { min-height:42px; padding:8px 12px; border:0; border-bottom:2px solid transparent; border-radius:4px; background:transparent; color:#405149; }
.topbar:has(.topbar-main) .nav-pill:hover { background:#e7ebe7; color:#173b2c; }
.topbar:has(.topbar-main) .nav-pill.active { border-bottom-color:#245a40; background:transparent; color:#173b2c; }
.topbar:has(.topbar-main) .topbar-actions { display:flex; align-items:center; gap:8px; }
.account-menu { position:relative; }
.account-menu summary { display:flex; align-items:center; gap:9px; min-height:42px; padding:5px 9px; border:1px solid #d5dbd6; border-radius:8px; background:#fff; cursor:pointer; font-size:.86rem; font-weight:700; list-style:none; }
.account-menu summary::-webkit-details-marker,.schedule-create-menu summary::-webkit-details-marker { display:none; }
.account-avatar { display:grid; place-items:center; width:30px; height:30px; border-radius:7px; background:#dfe9e2; color:#17452f; }
.account-menu-panel,.schedule-create-panel { position:absolute; z-index:30; right:0; top:calc(100% + 8px); min-width:210px; padding:7px; border:1px solid #d6ddd7; border-radius:10px; background:#fff; box-shadow:0 16px 40px rgba(24,42,33,.16); }
.account-menu-panel a,.account-menu-panel button { display:block; width:100%; padding:10px 11px; border:0; border-radius:6px; background:transparent; color:#253c31; cursor:pointer; text-align:left; font-size:.88rem; font-weight:600; }
.account-menu-panel a:hover,.account-menu-panel button:hover { background:#eef2ef; }
.account-menu-panel form { margin-top:5px; padding-top:5px; border-top:1px solid #e2e6e2; }

.revamped-schedule { max-width:none; gap:0; padding-bottom:28px; }
.schedule-commandbar { min-height:104px; padding:20px 2px; }
.schedule-commandbar h1 { font-size:clamp(2rem,2.5vw,2.75rem); }
.schedule-create-menu { position:relative; }
.schedule-create-menu summary.button { display:flex; align-items:center; gap:10px; min-height:46px; border-radius:8px; cursor:pointer; list-style:none; }
.schedule-create-panel { min-width:270px; }
.schedule-create-panel a { display:grid; gap:2px; padding:11px; border-radius:7px; color:#253d31; }
.schedule-create-panel a:hover { background:#eef4ef; }
.schedule-create-panel span { color:#617068; font-size:.76rem; }
.schedule-workspace { grid-template-columns:270px minmax(0,1fr) 250px; min-height:max(780px,calc(100vh - 200px)); border-radius:12px; border-color:#cfd6d0; box-shadow:0 10px 28px rgba(24,42,33,.08); }
.schedule-rail,.schedule-detail-rail { padding:22px; background:#f8f9f7; }
.schedule-capture { padding-bottom:20px; border-bottom:1px solid #dfe4df; }
.schedule-capture h2 { margin:0; font-size:1rem; line-height:1.35; }
.schedule-capture p { margin:7px 0 15px; color:#56665e; font-size:.86rem; line-height:1.5; }
.schedule-quick-input { display:grid; grid-template-columns:1fr 38px; border:1px solid #bcc8c0; border-radius:8px; overflow:hidden; background:#fff; }
.schedule-quick-input input { min-width:0; min-height:42px; padding:9px 11px; border:0; border-radius:0; background:transparent; font-size:.86rem; }
.schedule-quick-input button { border:0; border-left:1px solid #d8ded9; background:#1f6549; color:#fff; cursor:pointer; font-size:1.2rem; }
.schedule-rail-section { padding-top:22px; }
.schedule-filter { min-height:38px; color:#34483e; }
.schedule-filter input { width:17px; height:17px; accent-color:#28654a; }
.schedule-calendarbar { display:grid; grid-template-columns:1fr auto 1fr; min-height:78px; padding:14px 18px; background:#fff; }
.schedule-period-nav { display:flex; align-items:center; gap:7px; }
.schedule-range-title { margin:0; color:#1b2d24; font-size:1.25rem; text-align:center; }
.schedule-icon-button { width:40px; height:40px; border-radius:7px; border-color:#cbd3cd; font-size:1.1rem; }
.schedule-today-button { display:grid; place-items:center; min-height:40px; padding:0 13px; border:1px solid #cbd3cd; border-radius:7px; color:#263b30; font-size:.84rem; font-weight:700; }
.schedule-view-switcher { justify-self:end; gap:0; padding:3px; border-radius:8px; background:#f1f3f1; }
.schedule-view-switcher a { min-width:62px; min-height:34px; padding:7px 11px; border-radius:6px; color:#3f5048; font-size:.82rem; font-weight:700; text-align:center; }
.schedule-view-switcher a.active { background:#fff; color:#173d2b; box-shadow:0 1px 4px rgba(20,40,30,.13); }

.time-calendar { height:calc(100% - 78px); min-height:700px; background:#fff; }
.time-calendar :is(.time-calendar-header,.all-day-row,.time-scroll-area,.time-labels,.time-columns,.time-grid-day,.time-event) { box-sizing:border-box; }
.time-calendar-header,.all-day-row { display:grid; grid-template-columns:var(--time-gutter-width) repeat(var(--day-count),minmax(90px,1fr)); padding-right:var(--time-scrollbar-width,0px); }
.time-calendar-header { height:var(--time-header-height); border-bottom:1px solid #dce2dd; }
.time-zone-label { display:flex; align-items:end; justify-content:center; padding:8px 4px; color:#728078; font-size:.64rem; }
.time-day-heading { display:flex; align-items:center; justify-content:center; gap:8px; border-left:1px solid #e5e9e5; color:#53635b; }
.time-day-heading span { font-size:.74rem; font-weight:700; text-transform:uppercase; }
.time-day-heading strong { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; font-size:1rem; }
.time-day-heading.today strong { background:#245c42; color:#fff; }
.all-day-row { position:relative; height:var(--all-day-row-height); }
.all-day-row::after { content:""; position:absolute; z-index:3; right:0; bottom:0; left:0; height:1px; background:#cfd7d1; pointer-events:none; }
.all-day-label { padding:11px 8px; color:#69766f; font-size:.7rem; text-align:right; }
.all-day-cell { min-width:0; padding:6px; border-left:1px solid #e5e9e5; }
.all-day-event { display:block; padding:5px 7px; overflow:hidden; border-left:3px solid #397055; border-radius:4px; background:#e9f1eb; color:#244534; font-size:.72rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.time-scroll-area { display:grid; grid-template-columns:var(--time-gutter-width) 1fr; height:calc(100vh - 390px); min-height:580px; max-height:820px; overflow-y:auto; }
.time-labels { position:relative; height:var(--time-grid-height); border-right:1px solid #dce2dd; }
.time-labels span { position:absolute; right:8px; transform:translateY(-50%); color:#6d7972; font-size:.66rem; }
.time-columns { display:grid; grid-template-columns:repeat(var(--day-count),minmax(90px,1fr)); height:var(--time-grid-height); }
.time-grid-day { position:relative; height:var(--time-grid-height); border-right:1px solid #dfe4e0; background:repeating-linear-gradient(to bottom,#dfe4e0 0,#dfe4e0 1px,transparent 1px,transparent var(--time-slot-height)); }
.time-grid-day:nth-child(odd) { background-color:#fdfefd; }
.time-grid-day.today { background-color:#f7faf7; }
.time-event { position:absolute; z-index:2; overflow:hidden; padding:6px 7px; border-left:3px solid #397055; border-radius:5px; background:#e7f0e9; color:#193b29; box-shadow:0 1px 3px rgba(26,48,38,.12); }
.time-event span,.time-event strong,.time-event small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.time-event span,.time-event small { color:#53685c; font-size:.65rem; }
.time-event strong { margin:1px 0; font-size:.75rem; }
.time-event.compact { display:flex; align-items:center; gap:5px; min-height:0; padding:1px 4px; }
.time-event.compact span { flex:0 0 auto; font-size:.62rem; }
.time-event.compact strong { min-width:0; margin:0; font-size:.68rem; }
.week-time-calendar .time-event-title { display:block; min-width:0; flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.time-event.compact small { display:none; }
.time-grid-day:focus-visible { outline:3px solid #2c684a; outline-offset:-3px; }
.calendar-slot-selection { position:absolute; z-index:12; right:4px; left:4px; border:2px solid #347052; border-radius:5px; background:rgba(65,128,91,.18); pointer-events:none; }
.time-event-resize { position:absolute; right:3px; bottom:0; left:3px; height:6px; cursor:ns-resize; }
.time-event.calendar-dragging { z-index:20; opacity:.9; box-shadow:0 8px 24px rgba(20,45,32,.25); cursor:grabbing; }
.calendar-undo-toast { position:fixed; z-index:100; right:20px; bottom:20px; display:flex; align-items:center; gap:16px; padding:13px 16px; border-radius:10px; background:#183b2b; color:#fff; box-shadow:0 12px 36px rgba(18,39,28,.3); }
.calendar-undo-toast button { border:0; background:transparent; color:#fff; cursor:pointer; font-weight:800; text-decoration:underline; }
.calendar-event-dialog,.calendar-scope-dialog,.calendar-quick-create { width:min(520px,calc(100% - 28px)); padding:26px; border:1px solid #cad4cc; border-radius:14px; color:#1c3026; box-shadow:0 24px 70px rgba(17,37,27,.25); }
.calendar-event-dialog::backdrop,.calendar-scope-dialog::backdrop,.calendar-quick-create::backdrop { background:rgba(18,32,25,.45); backdrop-filter:blur(2px); }
.calendar-event-dialog h2,.calendar-scope-dialog h2 { margin:5px 0 8px; }
.calendar-event-dialog-time { color:#435a4e; font-weight:700; }
.calendar-dialog-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:7px; background:#eef2ef; cursor:pointer; font-size:1.25rem; }
.calendar-event-dialog-actions { display:flex; gap:9px; margin-top:22px; }
.calendar-scope-dialog > div { display:grid; gap:8px; margin-top:18px; }
.calendar-scope-dialog button { min-height:44px; padding:9px 12px; border:1px solid #cbd5cd; border-radius:8px; background:#fff; color:#20372b; cursor:pointer; text-align:left; font-weight:700; }
.calendar-scope-dialog button:hover { background:#eef4ef; }
.calendar-quick-create form { display:grid; gap:14px; }
.calendar-quick-create h2 { margin:0; }
.calendar-quick-create label { display:grid; gap:6px; color:#344b3f; font-size:.82rem; font-weight:700; }
.calendar-quick-create :is(input,select,textarea) { width:100%; min-height:43px; padding:9px 10px; border:1px solid #bac7be; border-radius:7px; background:#fff; color:#172b21; font:inherit; }
.calendar-quick-create textarea { min-height:76px; resize:vertical; }
.calendar-create-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.calendar-recurrence-builder,.calendar-weekdays { margin:10px 0 0; padding:14px; border:1px solid #cad4cc; border-radius:10px; }
.calendar-recurrence-builder legend,.calendar-weekdays legend { padding:0 5px; color:#435a4e; font-weight:700; }
.calendar-weekdays { display:flex; flex-wrap:wrap; gap:8px 14px; }
.calendar-weekdays label { display:inline-flex; align-items:center; gap:5px; margin:0; font-size:.9rem; }
.calendar-weekdays input { width:auto; }
.calendar-quick-create .calendar-all-day { display:flex; align-items:center; gap:8px; }
.calendar-quick-create .calendar-all-day input { width:18px; min-height:18px; }
.calendar-quick-create details { padding:10px 0; border-block:1px solid #e0e6e1; }
.calendar-quick-create details[open] { display:grid; gap:12px; }
.calendar-quick-create summary { cursor:pointer; font-weight:700; }
@media (max-width:600px) { .calendar-quick-create { width:100%; max-width:none; margin:auto 0 0; border-radius:16px 16px 0 0; } .calendar-create-grid { grid-template-columns:1fr; } }
.current-time-line { position:absolute; z-index:8; left:0; right:0; height:2px; background:#c8463b; pointer-events:none; }
.current-time-line span { position:absolute; left:-5px; top:-4px; width:10px; height:10px; border-radius:50%; background:#c8463b; }
.month-calendar { min-height:calc(100vh - 280px); grid-auto-rows:minmax(130px,1fr); }
.month-calendar .premium-calendar-day { min-height:130px; }
.premium-calendar-head { min-height:42px; color:#46564e; font-size:.75rem; }
.premium-calendar-event { border-radius:4px; }
.premium-agenda { min-height:calc(100vh - 280px); padding:22px 30px 42px; }
.premium-agenda-day h3 { font-size:1.05rem; }
.premium-agenda-row { min-height:64px; }
.schedule-detail-rail h2 { font-size:1.35rem; line-height:1.35; }

@media (max-width: 1180px) {
  .schedule-workspace { grid-template-columns:230px minmax(0,1fr); }
  .schedule-detail-rail { display:none; }
  .topbar:has(.topbar-main) .topbar-main { align-items:flex-end; flex-direction:column-reverse; gap:6px; }
}
@media (max-width: 900px) {
  body:has(.topbar-main) .topbar,body:has(.topbar-main) .page-shell { width:min(100% - 20px,1500px); }
  .topbar:has(.topbar-main) .topbar-main { align-items:stretch; }
  .topbar:has(.topbar-main) .topbar-nav { overflow-x:auto; flex-wrap:nowrap; }
  .schedule-workspace { grid-template-columns:200px minmax(0,1fr); }
  .schedule-calendarbar { grid-template-columns:1fr auto; }
  .schedule-range-title { grid-column:1 / -1; grid-row:1; margin-bottom:8px; }
  .schedule-period-nav { grid-row:2; }
  .schedule-view-switcher { grid-row:2; }
}
@media (max-width: 700px) {
  .topbar:has(.topbar-main) { align-items:flex-start; }
  .topbar:has(.topbar-main) .topbar-brand { width:120px; }
  .topbar:has(.topbar-main) .topbar-main { width:100%; }
  .topbar:has(.topbar-main) .topbar-actions { position:absolute; right:10px; top:11px; }
  .account-menu summary > span:nth-child(2) { display:none; }
  .schedule-commandbar { min-height:90px; }
  .schedule-commandbar h1 { font-size:1.65rem; }
  .schedule-workspace { display:block; }
  .schedule-rail { display:block; padding:16px; border-right:0; border-bottom:1px solid #dce2dd; }
  .schedule-rail-section { display:none; }
  .schedule-source-filters { display:block; padding-top:12px; }
  .schedule-capture { padding-bottom:0; border:0; }
  .schedule-calendarbar { display:flex; align-items:stretch; flex-direction:column; padding:12px; }
  .schedule-range-title { order:-1; font-size:1.05rem; }
  .schedule-view-switcher { width:100%; }
  .schedule-view-switcher a { flex:1; min-width:0; padding-inline:5px; }
  .time-calendar-header,.all-day-row { grid-template-columns:var(--time-gutter-width) repeat(var(--day-count),minmax(112px,1fr)); min-width:calc(var(--time-gutter-width) + (var(--day-count) * 112px)); }
  .time-scroll-area { grid-template-columns:var(--time-gutter-width) 1fr; overflow:auto; }
  .time-columns { grid-template-columns:repeat(var(--day-count),minmax(112px,1fr)); min-width:calc(var(--day-count) * 112px); }
  .week-time-calendar { overflow-x:auto; }
  .month-calendar { min-width:760px; }
  .schedule-canvas { overflow-x:auto; }
  .premium-agenda { min-width:0; padding:14px; }
}

/* Dark public surfaces: explicit colors intentionally follow all global type rules. */
.public-comparison-column.strong {
  border-color: var(--border-on-dark);
  background: var(--surface-dark-raised);
  color: var(--text-on-dark-secondary);
}

.public-cta-band {
  border: 1px solid var(--border-on-dark);
  background: var(--surface-dark);
  color: var(--text-on-dark-secondary);
}

.public-comparison-column.strong :is(h1, h2, h3, h4, h5, h6),
.public-cta-band :is(h1, h2, h3, h4, h5, h6) {
  color: var(--text-on-dark-primary);
}

.public-comparison-column.strong :is(p, li, blockquote),
.public-cta-band p:not(.public-eyebrow) {
  color: var(--text-on-dark-secondary);
}

.public-comparison-column.strong :is(.public-eyebrow, small, time, figcaption, .metadata),
.public-cta-band :is(.public-eyebrow, small, time, figcaption, .metadata) {
  color: var(--text-on-dark-muted);
}

.public-comparison-column.strong a,
.public-cta-band a:not(.public-primary-action) {
  color: var(--link-on-dark);
  text-decoration: underline;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.22em;
}

.public-comparison-column.strong :is(svg, svg *),
.public-cta-band :is(svg, svg *) {
  color: var(--text-on-dark-primary);
  fill: currentColor;
  stroke: currentColor;
}

.public-cta-band .public-primary-action {
  border-color: var(--text-on-dark-primary);
  background: var(--text-on-dark-primary);
  color: var(--surface-dark);
}

.public-cta-band .public-primary-action:hover {
  border-color: var(--link-on-dark);
  background: var(--link-on-dark);
  color: #0d2b1e;
}

.public-cta-band .public-primary-action:active {
  border-color: #e2e7df;
  background: #e2e7df;
  color: #0d2b1e;
  transform: translateY(1px);
}

.public-cta-band .public-primary-action:focus-visible,
.public-cta-band .public-text-action.light:focus-visible,
.public-comparison-column.strong a:focus-visible {
  outline: 3px solid var(--link-on-dark);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px var(--surface-dark);
}

.public-cta-band .public-primary-action:is(:disabled, [aria-disabled="true"]),
.public-cta-band .public-text-action.light:is(:disabled, [aria-disabled="true"]) {
  border-color: #d9e0d8;
  background: #d9e0d8;
  color: #31483d;
  cursor: not-allowed;
  pointer-events: none;
  text-decoration: none;
  transform: none;
}

.public-cta-band .public-text-action.light {
  min-height: 44px;
  padding: 9px 8px;
  border: 1px solid transparent;
  color: var(--link-on-dark);
}

.public-cta-band .public-text-action.light:hover {
  border-color: var(--border-on-dark);
  color: var(--text-on-dark-primary);
  text-decoration-thickness: 0.14em;
}

.public-cta-band .public-text-action.light:active {
  color: var(--text-on-dark-secondary);
  transform: translateY(1px);
}
