/* Warm paper, forest green and quiet pastel accents. All assets stay local. */
:root{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-synthesis:none;
  color-scheme:light;
  --bg:#f9f8f4;
  --surface:#ffffff;
  --ink:#29372e;
  --muted:#6c7269;
  --line:#e4e6dc;
  --neutral-soft:#f2f3ed;
  --accent:#315c45;
  --accent-ink:#315c45;
  --accent-hover:#254a36;
  --accent-soft:#e5eddf;
  --accent-line:#becfb5;
  --input-hover:#f5f8f1;
  --disabled:#a8ada3;
  --success-soft:#eaf1e4;
  --success:#4e6b39;
  --warning-soft:#fcf0da;
  --warning:#865f27;
  --error:#a5483b;
  --sidebar:#f1f1e9;
  --sidebar-field:#fafaf6;
  --sidebar-line:#dfe2d5;
  --sidebar-hover:#e6e9dd;
  --on-dark:#f7f9f2;
  --sidebar-muted:#747b6e;
  --peach:#cbd9b9;
  --accent-badge:#315c45;
  --progress-track:#d9e4ce;
  --saved:#648254;
  --shadow:#29372e14;
  --backdrop:#253b2b55;
  --lavender:#f0edf7;
  --lavender-ink:#73618b;
  --apricot:#faf0e4;
  --apricot-ink:#956a3d;
  --sky:#eaf0f2;
  --sky-ink:#526c77;
  --serif:Georgia,"Times New Roman",serif;
  --button-shadow:#0000000a;
  color:var(--ink);
  background:var(--bg);
}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:42px;line-height:1.2;letter-spacing:-1.6px;font-weight:650}h2{font-size:19px;letter-spacing:-.45px;font-weight:600}h3{font-weight:600;font-size:15px}p{line-height:1.65}small{font-size:12px}input,textarea,select{color:var(--ink)}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--sidebar);color:var(--on-dark);padding:34px 23px;display:flex;flex-direction:column;z-index:5}.brand{font-size:29px;font-weight:650;letter-spacing:-1px;display:flex;align-items:center;margin-bottom:42px}.brand-mark{font-size:26px;line-height:33px;display:inline-block;border:1px solid var(--sidebar-line);border-radius:9px;width:34px;text-align:center;margin-right:12px;color:var(--peach)}.brand-light{color:var(--sidebar-muted);font-weight:300}.brand-dot{color:var(--peach)}.season-label{color:var(--sidebar-muted);font-size:10px;letter-spacing:1.7px;margin-bottom:10px}.sidebar select{width:100%;background:var(--sidebar-field);color:var(--on-dark);border:1px solid var(--sidebar-line);padding:9px 8px;border-radius:6px;font-size:12px;text-overflow:ellipsis;margin-bottom:33px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav{border:0;background:none;color:var(--sidebar-muted);text-align:left;display:flex;align-items:center;gap:11px;border-radius:7px;padding:12px 10px;font-size:14px;white-space:nowrap}.nav>span:first-child{font-size:20px;width:22px;line-height:1;text-align:center}.nav.active{background:var(--accent-soft);color:var(--ink)}.nav:hover:not(.active){background:var(--sidebar-hover);color:var(--on-dark)}.nav-count{margin-left:auto;background:var(--accent-badge);color:var(--surface);border-radius:4px;padding:0 4px;font-size:11px}.nav-count:empty{display:none}.sidebar-bottom{margin-top:auto;padding-top:40px}.small-line{width:29px;height:2px;background:var(--peach);margin-bottom:17px}.sidebar-bottom p{font-size:21px;letter-spacing:-.6px;margin-bottom:7px}.sidebar-bottom>span{color:var(--sidebar-muted);font-size:12px;line-height:1.8;display:block}.storage{font-size:10px;color:var(--sidebar-muted);margin-top:28px;display:flex;align-items:center;gap:7px}.saved-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--saved)}main{margin-left:226px;padding:0 40px;max-width:1750px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}#save-status{display:flex;align-items:center;gap:6px;font-size:12px}.saving-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.4}}#content{min-height:calc(100vh - 150px);padding-bottom:35px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:34px 0 30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--muted);margin-bottom:11px}.heading-dot{color:var(--accent-ink)}.page-heading p{color:var(--muted);font-size:14px;margin-top:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--surface);border:1px solid var(--line);padding:10px 16px;border-radius:7px;font-size:13px;font-weight:500;white-space:nowrap;min-height:42px}.button:hover{background:var(--neutral-soft)}.button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.button.primary:hover{background:var(--accent-hover)}.text-button{background:none;border:0;font-size:12px;color:var(--muted);padding:5px 0;text-decoration:underline;text-underline-offset:4px}.icon-button{border:1px solid var(--line);border-radius:6px;background:var(--surface);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:17px}.icon-button:hover{background:var(--neutral-soft)}.week-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}.week-switch{display:flex;align-items:center;gap:14px}.week-switch>div{display:flex;flex-direction:column}.week-switch strong{font-size:17px;font-weight:550;letter-spacing:-.3px}.week-switch>div>span{font-size:11px;color:var(--muted)}.pill{display:inline-block;font-size:11px;padding:4px 9px;border-radius:5px;background:var(--neutral-soft);color:var(--muted);white-space:nowrap}.pill.current{background:var(--success-soft);color:var(--success)}.pill.good{background:var(--success-soft);color:var(--success)}.pill.warm{background:var(--warning-soft);color:var(--warning)}.jump-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.jump-label input{background:transparent;border:1px solid var(--line);border-radius:5px;padding:5px 8px;font-size:12px;width:138px}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:19px 19px 16px;position:relative;min-height:137px}.summary-card>span{font-size:12px;color:var(--muted)}.summary-card.accent-card{background:var(--accent-soft);border-color:var(--accent-soft)}.summary-number{font-size:33px;line-height:1.3;letter-spacing:-1px;margin:12px 0 7px;font-weight:550;position:relative}.summary-number small{font-size:18px;color:var(--muted);font-weight:400;letter-spacing:-.5px}.summary-icon{position:absolute;right:0;top:7px;font-size:22px;line-height:1;color:var(--muted);font-weight:400}.accent-card .summary-icon{color:var(--accent-ink)}.summary-card p{font-size:11px;color:var(--muted)}.review-number{font-size:26px;padding-top:6px;padding-bottom:3px}.review-number .summary-icon{font-size:23px}.progress-track{height:3px;background:var(--accent-line);border-radius:2px;margin:10px 0}.progress-track i{height:100%;background:var(--accent);display:block;border-radius:2px}.review-banner{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:15px 19px;border-radius:8px;border:1px solid var(--progress-track);background:var(--neutral-soft);margin-bottom:30px}.review-banner-icon{border:1px solid var(--line);border-radius:50%;font-size:21px;width:36px;height:36px;text-align:center;line-height:33px;flex-shrink:0;color:var(--muted)}.review-banner strong{font-size:13px;font-weight:550;display:block}.review-banner small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.banner-arrow{margin-left:auto;font-size:22px;font-weight:300}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:22px 0 13px}.filter-tabs{display:flex;gap:4px;background:var(--neutral-soft);border-radius:7px;padding:4px}.filter{border:0;border-radius:5px;padding:5px 12px;background:none;color:var(--muted);font-size:12px}.filter.selected{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--button-shadow)}.tracker-hint{font-size:12px;color:var(--muted);margin-bottom:14px}.tracker-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.tracker{width:100%;border-collapse:collapse;min-width:880px;table-layout:fixed}.tracker thead{background:var(--neutral-soft)}.tracker th{font-weight:500;text-align:left}.tracker thead th:first-child{width:225px;padding-left:20px;color:var(--muted);font-size:12px}.day-header{text-align:center!important;padding:12px 2px;font-size:16px;line-height:1.4}.day-header span{display:block;font-size:10px;font-weight:500;letter-spacing:.6px;color:var(--muted)}.day-header.today{color:var(--accent-ink);background:var(--accent-soft)}.day-header.today span{color:var(--accent-ink)}.total-head{width:115px;font-size:11px;color:var(--muted);text-align:center!important}.target-head{width:130px;font-size:11px;color:var(--muted)}.tracker tbody tr:not(.area-row){border-top:1px solid var(--neutral-soft)}.tracker tbody th{padding:12px 10px 12px 20px}.metric-name{font-size:13px;display:block;line-height:1.4}.tracker th>small{font-size:10px;color:var(--muted);display:block;margin-top:2px}.area-row{background:var(--neutral-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.area-row td{padding:11px 20px;font-size:13px;font-weight:550}.area-row small{font-weight:400;margin-left:12px;color:var(--muted);font-size:11px}.area-icon{display:inline-block;width:24px;height:24px;font-size:17px;border-radius:5px;text-align:center;vertical-align:middle;margin-right:9px;line-height:24px;background:var(--accent-soft);color:var(--accent-ink)}.area-icon.body{background:var(--success-soft);color:var(--success)}.area-icon.build{background:var(--warning-soft);color:var(--warning)}.area-icon.life{background:var(--neutral-soft);color:var(--warning)}.tracker tbody td{padding:8px 2px;text-align:center}.metric-input{width:100%;max-width:65px;height:32px;text-align:center;padding:4px 2px;background:transparent;border:1px solid transparent;border-radius:5px;font-size:13px;color:var(--ink);transition:background .12s}.metric-input::placeholder{color:var(--disabled)}.metric-input:hover:not(:disabled){background:var(--neutral-soft);border-color:var(--line)}.metric-input:focus{background:var(--accent-soft);outline:2px solid var(--accent-line);outline-offset:0}.metric-input:disabled{color:var(--disabled);background:var(--bg)}.today-cell{background:var(--bg)}.metric-total{display:inline-flex;gap:5px;align-items:center;justify-content:center;min-width:50px;padding:3px 8px;border-radius:5px;font-size:13px;font-weight:500}.metric-total.floor{background:var(--success-soft);color:var(--success)}.metric-total.target{background:var(--accent-soft);color:var(--accent-ink)}.metric-total.empty{color:var(--disabled)}.metric-total.attention{background:var(--warning-soft);color:var(--warning)}.metric-total.partial{color:var(--warning)}.metric-total>span{font-size:11px}.coverage{display:block;font-size:9px;color:var(--muted);line-height:1.2}.metric-target{text-align:left!important;color:var(--muted);font-size:12px}.metric-target span{color:var(--muted)}.week-bottom{display:flex;justify-content:space-between;gap:12px;padding:14px 2px;font-size:10px;color:var(--muted)}.legend-dot{display:inline-block;width:6px;height:6px;background:var(--success);border-radius:50%;margin:0 4px 1px 0}.legend-dot.accent-dot{background:var(--accent);margin-left:15px}.muted{color:var(--muted);font-size:12px}.empty-note{border:1px dashed var(--line);border-radius:8px;padding:22px;color:var(--muted);font-size:13px}.notes-section{margin-top:12px}.note-card{display:block;width:100%;border:1px solid var(--line);border-radius:8px;padding:16px;text-align:left;background:var(--surface);margin-bottom:9px}.note-card>span{font-size:11px;color:var(--muted)}.note-card p{white-space:pre-wrap;font-size:13px;margin:7px 0;color:var(--ink)}.note-card small{color:var(--accent-ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px}.panel>h2{margin-bottom:12px}.panel>p{font-size:14px;color:var(--muted);margin-bottom:14px}.panel .section-heading{margin-top:0}.panel svg{display:block;width:100%}.season-map{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:auto}.month-column{padding:20px 16px;border-right:1px solid var(--neutral-soft);min-width:135px}.month-column:last-child{border:0}.month-column h3{text-transform:capitalize}.month-column>small{display:block;color:var(--muted);font-size:10px;margin:4px 0 17px;min-height:15px}.week-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.week-tile{border:0;border-radius:6px;background:var(--neutral-soft);padding:9px 5px;text-align:left;min-height:49px;color:var(--muted)}.week-tile>span{font-size:15px;display:block;line-height:1.3}.week-tile small{font-size:10px;display:block}.week-tile.future{background:var(--bg);color:var(--disabled)}.week-tile.started{background:var(--accent-soft);color:var(--accent-ink)}.week-tile.complete{background:var(--success-soft);color:var(--success)}.week-tile:hover{outline:2px solid var(--accent-line)}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.chart-empty{height:180px;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--muted);font-size:13px}.history-list{border:1px solid var(--line);border-radius:9px;overflow:hidden}.history-row{width:100%;display:flex;align-items:center;gap:16px;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);padding:17px 20px}.history-row:last-child{border-bottom:0}.history-row>span:first-child{flex:1;min-width:0}.history-row strong{font-size:14px;font-weight:500}.history-row small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.history-row:hover{background:var(--neutral-soft)}.review-intro{display:flex;gap:20px;align-items:center;margin-bottom:30px;background:var(--neutral-soft)}.review-intro p{font-size:13px;color:var(--muted);margin-top:7px}.review-intro-icon{font-size:38px;color:var(--muted)}.review-list{display:flex;flex-direction:column;gap:11px}.review-card{display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:20px;text-align:left}.review-type{width:43px;height:43px;background:var(--neutral-soft);color:var(--muted);text-align:center;border-radius:10px;font-size:26px;line-height:43px;flex-shrink:0}.review-type.monthly{background:var(--accent-soft);color:var(--accent-ink)}.review-type.money{background:var(--warning-soft);color:var(--warning)}.review-card-body{flex:1}.review-card-body strong{font-size:16px;font-weight:500;display:block}.review-card-body small{color:var(--muted);font-size:12px;display:block;margin-top:2px}.review-card-body p{font-size:12px;color:var(--muted);margin-top:7px}.review-card .banner-arrow{margin-left:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settings-grid label,.date-pair label,.finance-inputs label{font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.form-hint{color:var(--muted);font-size:12px;line-height:1.7;margin:12px 0}.calendar-link{display:inline-block;margin-top:14px}.document-panel{margin-top:23px}.document-panel pre{font-family:inherit;font-size:14px;line-height:1.8;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;max-height:600px;overflow:auto;background:var(--bg);padding:20px;border-radius:8px;margin-top:15px}footer{display:flex;justify-content:space-between;gap:15px;padding:22px 0;border-top:1px solid var(--line);color:var(--muted);font-size:10px}footer>span:first-child{font-size:9px;letter-spacing:1.6px}.loading{padding:80px 0;text-align:center;color:var(--muted)}.error-panel{margin-top:45px}.error{color:var(--error)}
dialog{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;max-width:640px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 80px var(--shadow);color:var(--ink)}dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(3px)}dialog h2{font-size:26px;margin-bottom:20px;padding-right:30px}dialog .eyebrow{padding-right:25px}dialog>div{position:relative}.dialog-close{position:absolute;right:-10px;top:-10px;font-size:24px;background:none;border:0}.dialog-close:hover{background:var(--neutral-soft)}form label{display:block;color:var(--muted);font-size:13px;margin:15px 0}form input:not([type=checkbox]),form textarea{display:block;width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin-top:6px;background:var(--bg);font-size:14px}form textarea{resize:vertical;line-height:1.7}form input[type=file]{font-size:12px}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{accent-color:var(--muted);width:17px;height:17px}.date-pair,.finance-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.finance-result{display:flex;flex-wrap:wrap;gap:10px;background:var(--neutral-soft);padding:15px;font-size:12px;color:var(--muted);border-radius:7px}.metric-editor{margin:15px 0;font-size:13px;color:var(--muted)}.metric-editor summary{cursor:pointer}.metric-editor textarea{font-family:monospace;font-size:12px}.error-panel h1{font-size:27px}.error-panel p{margin:15px 0}#toast{position:fixed;bottom:25px;left:calc(50% + 113px);transform:translate(-50%,15px);max-width:calc(100% - 50px);padding:13px 20px;border-radius:8px;background:var(--sidebar);color:var(--on-dark);font-size:13px;box-shadow:0 8px 30px var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:20}#toast.visible{opacity:1;transform:translate(-50%,0)}
/* Keep the fixed sidebar reachable when zoom reduces the available height. */
@media (min-width:801px) {
  .sidebar { overflow-y:auto; overscroll-behavior-y:contain; }
  .sidebar > * { flex-shrink:0; }
}
@media(min-width:1500px){main{padding:0 60px}.tracker thead th:first-child{width:260px}.summary-card{padding:23px}.metric-input{max-width:80px}}
@media(max-width:1150px){.sidebar{width:195px;padding:30px 15px}.nav{font-size:12px;padding:12px 7px;gap:7px}main{margin-left:195px;padding:0 24px}.summary-grid{gap:10px}.summary-card{padding:16px 13px}.summary-card>span{font-size:11px}.summary-number{font-size:28px}.summary-icon{display:none}.review-number{font-size:22px}.summary-card p{font-size:10px}.season-map{grid-template-columns:repeat(3,minmax(0,1fr))}.month-column:nth-child(3n){border-right:0}.month-column:nth-child(-n+3){border-bottom:1px solid var(--line)}#toast{left:calc(50% + 97px)}}
@media(max-width:800px){.sidebar{position:static;width:100%;padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.brand{margin:0;font-size:26px}.brand-mark{font-size:21px;width:29px;line-height:29px}.season-label,.sidebar-bottom{display:none}.sidebar select{margin:0;align-self:center;font-size:11px}.sidebar nav{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:3px;overflow:auto}.nav{padding:9px 10px;font-size:12px;gap:6px}.nav>span:first-child{font-size:17px;width:17px}main{margin:0;padding:0 22px}.topbar{height:56px}.page-heading{margin:26px 0;gap:15px}h1{font-size:35px}.eyebrow{font-size:9px;letter-spacing:1.3px}.page-heading p{font-size:12px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-card{min-height:125px;padding:18px}.summary-number{font-size:32px}.summary-card>span{font-size:12px}.summary-card p{font-size:11px}.summary-icon{display:block}.review-number{font-size:26px}.week-toolbar{flex-wrap:wrap}.jump-label{display:none}.charts-grid,.settings-grid{grid-template-columns:1fr}.season-map{grid-template-columns:repeat(3,minmax(0,1fr))}.section-heading{flex-wrap:wrap;gap:12px}.review-card{padding:16px;gap:12px;flex-wrap:wrap}.review-card-body{min-width:65%}.review-card .pill{margin-left:55px}.review-banner{padding:13px}.week-bottom{flex-direction:column;gap:5px}.tracker{min-width:840px}.tracker thead th:first-child{width:210px}.tracker tbody th{padding-left:15px}.total-head{width:100px}.target-head{width:120px}#toast{left:50%}footer{font-size:9px}dialog{padding:25px}.history-row{padding:14px 15px;gap:10px}.history-row strong{font-size:13px}}
@media(max-width:480px){.sidebar{padding:14px 16px;gap:12px}.nav{font-size:10px;padding:9px 7px;gap:4px}.nav>span:first-child{font-size:15px;width:14px}main{padding:0 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.button{padding:8px 12px;min-height:35px}.page-heading h1{font-size:32px}.page-heading p{font-size:12px}.week-switch{gap:10px}.week-switch strong{font-size:14px}.summary-card{padding:15px 12px}.summary-card>span{font-size:11px}.summary-number{font-size:29px}.summary-icon{font-size:18px}.summary-card p{font-size:10px}.review-number{font-size:23px}.filter{padding:5px 10px;font-size:11px}.filter-tabs{width:100%;justify-content:space-around}.month-column{padding:15px 10px;min-width:100px}.month-column>small{font-size:9px}.season-map{grid-template-columns:repeat(2,minmax(0,1fr))}.month-column:nth-child(3n){border-right:1px solid var(--neutral-soft)}.month-column:nth-child(2n){border-right:0}.month-column:nth-child(-n+4){border-bottom:1px solid var(--line)}.review-intro{padding:20px;gap:12px}.review-intro-icon{display:none}.review-intro h2{font-size:17px}.review-intro p{font-size:12px}.panel{padding:20px}.date-pair,.finance-inputs{grid-template-columns:1fr}.date-pair{gap:0}.history-row{flex-wrap:wrap}.history-row .pill{font-size:10px}.history-row>span:first-child{flex-basis:60%}.history-row small{font-size:10px}footer>span:last-child{max-width:170px;text-align:right}}
.metric-settings{margin-top:20px}.metric-settings .section-heading{margin-bottom:8px}.metric-edit-row{border:1px solid var(--line);border-radius:7px;padding:14px;margin:14px 0;background:var(--bg)}.metric-edit-top{display:flex;align-items:center;gap:15px}.metric-edit-top label{flex:1;margin:0}.metric-edit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.metric-edit-fields select{display:block;width:100%;margin-top:6px;padding:10px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:13px}.metric-edit-fields label{margin:12px 0 0;font-size:12px}.metric-edit-row .form-hint{margin-bottom:0}.add-metric{margin:5px 0 20px}
@media(max-width:480px){.metric-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.nav-short,.mobile-day-switch,.tracker th>small.mobile-goal{display:none}.area-row td{text-align:left!important}.review-metric-label{border:0;background:none;padding:0;color:var(--muted);text-align:left;font-size:13px}
@media(max-width:650px){.nav-long{display:none}.nav-short{display:inline}.sidebar .nav{font-size:12px}.mobile-day-switch{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0}.mobile-day-switch button{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:6px 2px;color:var(--muted);font-size:15px}.mobile-day-switch button span{display:block;font-size:10px;color:var(--muted)}.mobile-day-switch button.selected{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.mobile-day-switch button.selected span{color:var(--accent-ink)}.tracker{min-width:0}.tracker-scroll{overflow:visible}.tracker .day-col:not(.mobile-selected),.tracker .target-head,.tracker .metric-target{display:none}.tracker thead th:first-child{width:53%;padding-left:13px}.tracker .day-header{width:21%}.tracker .total-head{width:26%;font-size:10px}.tracker tbody th{padding:12px 8px 12px 13px}.tracker tbody th .metric-name{font-size:13px}.tracker tbody th>small{font-size:10px}.tracker th>small.mobile-goal{display:block;color:var(--muted);font-size:10px}.tracker .area-row td{padding:10px 13px}.area-row small{font-size:10px;margin-left:9px}.metric-input{background:var(--neutral-soft);border-color:var(--line);width:90%;min-height:36px;font-size:14px}.tracker .day-header span{font-size:10px}.summary-grid{margin-bottom:20px}.review-banner{margin-bottom:24px}}
/* Layout refinements: shared SVG geometry avoids font-dependent icon baselines. */
.ui-icon,.panel svg.ui-icon{display:block;width:1em;height:1em;flex-shrink:0}
.nav{gap:9px;padding-left:8px;padding-right:8px;font-size:13px;min-height:46px}
.nav>span:first-child{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;line-height:1}
.nav-long{min-width:0;white-space:normal;line-height:1.4}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23655f6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px 15px;padding-right:38px}
.sidebar select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0b8c1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px 15px;padding-right:38px}
.metric-edit-fields select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23655f6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:15px 15px;padding-right:38px}
#goals-form>.button[type=submit],#challenge-form>.button[type=submit]{display:flex;margin-top:18px}
#add-metric{display:inline-flex;margin-bottom:0}
.review-banner-icon,.review-type,.review-intro-icon,.summary-icon,.area-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.review-banner-icon .ui-icon{width:20px;height:20px}
.review-type .ui-icon{width:23px;height:23px}
.review-intro-icon{flex-shrink:0}.review-intro-icon .ui-icon{width:38px;height:38px}
.area-heading{display:flex;align-items:center;gap:9px}
.area-heading .area-icon{margin:0;flex:0 0 24px}
.area-heading small{margin:0 0 0 3px}
.area-icon .ui-icon{width:16px;height:16px}
.metric-info{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border:0;background:none;color:var(--muted);padding:2px;margin-left:2px;width:18px;height:18px;cursor:help;border-radius:50%}
.metric-info .ui-icon{width:14px;height:14px}.metric-info:hover,.metric-info:focus-visible{color:var(--accent-ink);background:var(--accent-soft)}
#metric-tooltip{position:fixed;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:12px 15px;background:var(--sidebar);color:var(--on-dark);border:1px solid var(--sidebar-line);border-radius:8px;font-size:13px;line-height:1.6;box-shadow:0 8px 25px var(--shadow);z-index:30}
.principles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.principle-card{position:relative;padding:24px}.principle-index{display:block;font-size:11px;letter-spacing:1px;color:var(--accent-ink);margin-bottom:10px}.principle-card h2{font-size:18px;line-height:1.4}.principle-prose{font-size:14px;color:var(--muted);line-height:1.7}.principle-prose p{margin:10px 0}.principle-prose ul{margin:10px 0;padding-left:20px}.principle-prose li{margin:5px 0}.principle-prose h3{margin:18px 0 9px;color:var(--ink);font-size:15px}.principle-prose blockquote{margin:12px 0;padding:9px 14px;border-left:3px solid var(--accent-line);background:var(--bg);color:var(--accent-ink);border-radius:0 4px 4px 0}.principle-prose strong{font-weight:550;color:var(--ink)}.stop-panel,.dayoff-panel,.project-principles{margin-top:22px}.stop-panel{background:var(--bg)}.stop-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 25px;padding:0;margin:18px 0 0}.stop-list li{font-size:14px;color:var(--muted);display:flex;gap:10px;align-items:flex-start}.stop-list li::before{content:'—';color:var(--accent-ink);flex-shrink:0}.principles-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.dayoff-panel{background:var(--neutral-soft)}.dayoff-panel>.principle-prose{max-width:750px}
@media(max-width:800px){.sidebar nav{justify-content:flex-start}.sidebar nav .nav{flex-shrink:0;min-height:38px}.nav-long{display:none}.nav-short{display:inline}.nav>span:first-child{width:18px;height:18px;flex-basis:18px}.nav{gap:6px;padding:9px 10px}.principles-grid,.principles-columns,.stop-list{grid-template-columns:1fr}}
@media(max-width:480px){.sidebar .nav{font-size:11px;padding:8px}.sidebar nav{gap:4px}.nav>span:first-child{width:16px;height:16px;flex-basis:16px}.area-heading{gap:8px}.area-heading small{margin-left:0;font-size:10px}.principle-card{padding:20px}.review-intro-icon{display:none}}
@media(max-width:650px){.sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:4px}.sidebar nav .nav{flex-direction:column;justify-content:center;gap:5px;padding:9px 2px;font-size:10px;min-width:0}.nav-count{position:absolute;top:2px;right:5px;margin-left:0}.nav{position:relative}}
.tracker .area-row td{padding:11px 20px}
@media(max-width:650px){.tracker .area-row td{padding:10px 13px}}
.metric-checkbox{width:18px;height:18px;margin:5px;accent-color:var(--accent);cursor:pointer;vertical-align:middle}.metric-checkbox:disabled{cursor:default;opacity:.3}.score-help{font-size:11px;color:var(--accent-ink);text-decoration:none}.score-help:hover{text-decoration:underline}.score-breakdown{margin:18px 0}.score-breakdown>div{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 0}.score-breakdown strong{font-size:14px;font-weight:500}.score-breakdown small{display:block;font-size:12px;color:var(--muted)}.score-check{font-size:18px;width:22px;color:var(--disabled)}.score-check.done{color:var(--success)}.review-type.final{background:var(--accent-soft);color:var(--accent-ink)}.final-review-card{background:var(--bg);border-color:var(--line)}.closing-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-radius:8px;background:var(--accent-soft);padding:15px}.closing-facts>span{font-size:11px;color:var(--accent-ink)}.closing-facts strong{font-size:21px;color:var(--accent-ink);display:block;font-weight:500;margin-top:4px}.material-filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.material-filters .filter-tabs{flex-wrap:wrap}.material-filters>input,.material-filters>select{border:1px solid var(--line);background-color:var(--surface);border-radius:7px;padding:10px 12px;font-size:13px;min-width:0}.material-filters>input{flex:1;min-width:200px}.material-filters>select{padding-right:38px;max-width:200px}.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.materials-grid>.empty-note{grid-column:1/-1}.material-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;width:100%;gap:12px}.material-card:hover{border-color:var(--accent-line);background:var(--input-hover)}.material-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.material-card h2{margin:0;font-size:19px;overflow-wrap:anywhere}.material-card p{color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:0}.material-card>small{margin-top:auto;padding-top:6px;display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px}.material-card>small>span{color:var(--accent-ink);white-space:nowrap}.material-prose{overflow-wrap:anywhere;max-height:55vh;overflow:auto}#material-form select{display:block;width:100%;border:1px solid var(--line);border-radius:6px;background-color:var(--bg);margin-top:6px;padding:10px 38px 10px 12px;font-size:14px}
@media(max-width:800px){.materials-grid{grid-template-columns:1fr}}
@media(max-width:650px){.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar nav .nav{flex-direction:row;justify-content:flex-start;padding:9px 8px;font-size:11px;gap:6px}.nav-count{position:static;margin-left:auto}.material-filters>.filter-tabs{width:100%;justify-content:space-between}.material-filters>input{min-width:0;width:100%;flex-basis:100%}.material-filters>select{max-width:none;width:100%}.closing-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-checkbox{width:20px;height:20px}}

.storage i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--peach)}

.backup-panel{margin-top:20px}.backup-panel form{max-width:850px}.backup-folder-row{display:flex;align-items:center;gap:12px;margin-top:6px}.backup-folder-row input{flex:1;min-width:0;margin-top:0!important}.backup-time{max-width:200px}.backup-status{border-top:1px solid var(--line);padding-top:17px;color:var(--muted);font-size:12px;line-height:1.7}.backup-status p{margin:5px 0}.backup-status strong{color:var(--ink);font-weight:500}.backup-file{overflow-wrap:anywhere}.backup-panel .actions{gap:12px}.backup-panel .checkbox-label{display:flex}
@media(max-width:600px){.backup-folder-row{flex-wrap:wrap}.backup-folder-row input{flex-basis:100%}.backup-panel{padding:20px}}
.system-week-label{font-size:12px;color:var(--muted);margin:0 0 16px;overflow-wrap:anywhere}.system-history{margin-top:20px}.system-history details{border-top:1px solid var(--line);padding:14px 0}.system-history summary,.system-archive summary{cursor:pointer;font-size:14px;color:var(--ink)}.system-history summary small{display:block;color:var(--muted);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.system-history li{font-size:13px;margin:7px 0;overflow-wrap:anywhere}.system-archive{margin-top:20px}.archive-row p{font-size:13px;color:var(--muted);line-height:1.7}.progress-reminder{background:var(--accent-soft);margin-bottom:16px}.progress-reminder strong{font-weight:550;white-space:pre-wrap;overflow-wrap:anywhere}.progress-reminder p{font-size:13px;color:var(--muted);margin:10px 0}.progress-reminder .actions{flex-wrap:wrap}.reminder-edit-row{border:1px solid var(--line);border-radius:8px;padding:16px;margin:12px 0}.rest-questions{background:var(--neutral-soft);border-radius:8px;padding:12px 16px;margin-bottom:16px}.rest-questions p{font-size:13px;line-height:1.6;margin-bottom:0}#system-form h3{margin:26px 0 12px}#system-form select{width:100%;margin-top:6px;padding:10px 38px 10px 12px;border:1px solid var(--line);border-radius:6px;background-color:var(--bg)}#system-form>.button[type=submit]{margin-top:22px}.reminder-edit-row .section-heading{margin-bottom:8px}.reminder-edit-row .checkbox-label{margin:0}
.system-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.system-settings-grid .panel{min-width:0}.system-settings-grid h2{font-size:19px;line-height:1.4}.system-settings-grid .panel>p{font-size:13px}.system-warning{border:1px solid var(--accent-line);border-radius:8px;background:var(--warning-soft);padding:14px 16px;margin:16px 0;font-size:13px;line-height:1.6}.system-warning ul{padding-left:20px;margin:8px 0}.system-warning p{margin:8px 0 0}.rule-problem[hidden]{display:none}@media(max-width:1150px){.system-settings-grid{grid-template-columns:1fr}}
.version-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.version-section h3{font-size:14px;color:var(--ink);margin:0 0 8px}.version-reminder{padding:8px 0}.version-reminder p{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.version-reminder strong{font-weight:550}
.version-content{margin:14px 0 0 18px;padding:4px 18px 14px;border-left:2px solid var(--accent-line);border-radius:0 8px 8px 0;background:var(--bg)}.version-content>.form-hint{margin-top:10px}.system-history details[open]{padding-bottom:18px}@media(max-width:650px){.version-content{margin-left:8px;padding-right:12px;padding-left:12px}}
.version-diff{padding:14px 16px;margin-top:14px;border:1px solid var(--accent-line);border-radius:8px;background:var(--surface)}.version-diff h3{font-size:14px;margin:0 0 8px}.version-diff h4{font-size:13px;margin:16px 0 8px}.version-diff p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.version-diff ul{padding-left:20px;margin:8px 0}.version-diff li{line-height:1.6;white-space:pre-wrap}.version-field-changes{margin:4px 0 12px!important}.version-diff strong{font-weight:550}.diff-before{color:var(--muted)}@media(max-width:650px){.version-diff{padding:12px}.version-diff ul{padding-left:16px}}
.metric-input.in-range{background:var(--success-soft);color:var(--success);border-color:var(--success)}.metric-input.below-range,.metric-input.above-range{background:var(--warning-soft);color:var(--warning);border-color:var(--line)}.range-coverage{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:5px;white-space:normal}.range-editor{margin-top:10px}.tracker td:has(.range-coverage){min-width:100px}

.metric-input.floor{background:var(--success-soft);color:var(--success);border-color:var(--success)}.metric-input.target{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.metric-input.progress{background:var(--warning-soft);color:var(--warning);border-color:var(--line)}

.storage-notice{padding:12px 16px;margin:14px 0;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:8px;font-size:12px;line-height:1.7}.storage-notice[hidden]{display:none}.welcome-panel{max-width:760px;margin:30px 0 80px}.backup-panel select{max-width:100%;width:100%;margin-top:8px}#save-status{flex-wrap:wrap;justify-content:flex-end;gap:4px}

/* The planner shell */
body { font-size:14px; -webkit-font-smoothing:antialiased; }
button, a, input, textarea, select { transition:background-color .18s, border-color .18s, color .18s, box-shadow .18s; }
button:disabled { opacity:.4; }
h1 { font-family:var(--serif); font-weight:400; font-size:58px; line-height:1.1; letter-spacing:-2.3px; }
h2 { font-size:19px; letter-spacing:-.5px; }
.heading-dot { color:#88a273; }
.sidebar { width:240px; padding:35px 22px 24px; color:var(--ink); border-right:1px solid var(--sidebar-line); }
.brand { gap:0; font-size:30px; font-weight:600; letter-spacing:-1.5px; margin:0 0 46px 7px; }
.brand-mark { display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin-right:11px; border:0; border-radius:12px; background:var(--accent); color:var(--on-dark); transform:rotate(-7deg); }
.brand-mark .ui-icon { width:22px; height:22px; transform:rotate(7deg); }
.brand-light { color:#9aab8f; margin:0 1px; }
.brand-dot { color:var(--accent); }
.season-label { font-size:9px; letter-spacing:1.9px; margin:0 0 10px 11px; }
.sidebar select { color:var(--ink); font-size:12px; min-height:43px; padding-left:12px; border-radius:10px; margin-bottom:31px; background-color:var(--sidebar-field); }
.sidebar select, select, .metric-edit-fields select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236c7269' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.sidebar nav { gap:6px; }
.nav { font-size:13px; padding:12px 13px; gap:12px; min-height:46px; color:#687361; border-radius:10px; position:relative; }
.nav>span:first-child { width:19px; height:19px; flex-basis:19px; font-size:19px; }
.nav.active { background:#e1e8d7; color:var(--accent-ink); font-weight:600; }
.nav.active::after { content:""; width:5px; height:5px; border-radius:50%; background:var(--accent); margin-left:auto; flex-shrink:0; }
.nav:hover:not(.active) { color:var(--ink); }
.nav-count { border-radius:5px; font-size:10px; padding:1px 5px; }
.nav-count:not(:empty) + * { margin-left:0; }
.season-progress { margin:38px 10px 0; }
.season-progress[hidden] { display:none; }
.season-progress-label { display:flex; justify-content:space-between; font-size:10px; color:var(--muted); }
.season-progress-label>span:last-child { font-variant-numeric:tabular-nums; }
.season-progress-track { display:flex; gap:3px; margin:11px 0; }
.season-progress-track i { height:17px; flex:1; min-width:0; border-radius:2px; background:#dfe3d7; }
.season-progress-track .passed { background:#a6bb91; }
.season-progress-track .present { background:var(--accent); }
.season-progress p { font-size:10px; color:var(--muted); }
.sidebar-bottom { padding:26px 11px 0; }
.small-line { width:25px; background:#a6b494; height:1px; margin-bottom:16px; }
.sidebar-bottom p { font-family:var(--serif); font-size:26px; font-style:italic; color:var(--accent); letter-spacing:-.5px; margin-bottom:10px; }
.sidebar-bottom>span { font-size:11px; line-height:1.85; }
.storage { margin-top:28px; font-size:9px; gap:6px; }
.storage i { background:var(--saved); width:5px; height:5px; flex-shrink:0; }
main { margin-left:240px; padding:0 44px; max-width:1760px; }
.topbar { height:73px; font-size:11px; }
.topbar-context { display:flex; gap:15px; align-items:center; }
.topbar-label { color:var(--ink); font-weight:500; }
.topbar-divider { color:#b4b9ab; }
#save-status { font-size:10px; gap:6px; }
#content { min-height:calc(100vh - 147px); padding-bottom:42px; }
.page-heading { margin:37px 0 30px; }
.eyebrow { font-size:9px; letter-spacing:1.8px; color:#7b856f; margin-bottom:13px; }
.page-heading p { font-size:13px; margin-top:15px; }
.button { min-height:43px; padding:11px 17px; border-radius:10px; font-size:12px; font-weight:500; }
.button.primary { color:var(--on-dark); box-shadow:0 3px 8px #315c4510; }
.page-heading>.button { margin-top:12px; }
.icon-button { border-radius:9px; width:34px; height:34px; font-size:16px; }
.text-button { font-size:11px; }
.pill { border-radius:6px; font-size:10px; padding:5px 9px; }
.pill.current::before { content:""; display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--success); margin:0 5px 1px 0; }
.week-toolbar { padding:0 0 21px; margin:0; gap:12px; }
.week-switch { gap:13px; }
.week-switch strong { font-size:15px; font-weight:500; }
.week-switch>div>span { font-size:10px; margin-top:2px; }
.jump-label { font-size:10px; gap:10px; }
.jump-label input { width:140px; padding:7px 9px; border-radius:8px; font-size:11px; background:var(--surface); }
.storage-notice { background:#f1f4eb; border-color:#e2e8d8; color:#5e6e50; font-size:11px; border-radius:9px; padding:10px 14px; margin:15px 0 0; }
.storage-notice .text-button { color:var(--accent-ink); font-size:11px; margin-left:5px; }

/* A small dashboard, with the weekly minimum as the visual anchor. */
.summary-grid { gap:13px; margin-bottom:29px; }
.summary-card { min-height:159px; padding:20px; border-radius:15px; border-color:#e4e6dc; box-shadow:0 2px 3px #29372e02; }
.summary-card>span { font-size:11px; color:var(--muted); }
.summary-number { font-size:37px; font-weight:500; font-variant-numeric:tabular-nums; letter-spacing:-1.5px; line-height:1.25; margin:17px 0 12px; }
.summary-number small { font-size:17px; letter-spacing:-.5px; }
.summary-icon { width:31px; height:31px; top:5px; right:0; border:1px solid #cad1c2; border-radius:50%; font-size:17px; color:#839577; }
.summary-card p { font-size:10px; line-height:1.65; }
.summary-card.accent-card { background:var(--accent); border-color:var(--accent); color:var(--on-dark); }
.accent-card>span, .accent-card p, .accent-card .summary-number small { color:#d8e4d2; }
.accent-card .summary-icon { border-color:#77957b; color:#dae8cb; }
.accent-card .progress-track { height:4px; margin:11px 0 8px; background:#59785d; }
.accent-card .progress-track i { background:#d1e4b4; }
.accent-card .score-help { color:#e5eedd; font-size:10px; display:inline-flex; align-items:center; gap:6px; }
.score-help .ui-icon { width:12px; height:12px; }
.body-card { background:var(--lavender); border-color:var(--lavender); }
.body-card .summary-icon { color:var(--lavender-ink); border-color:#d7cfe2; }
.build-card { background:var(--apricot); border-color:var(--apricot); }
.build-card .summary-icon { color:var(--apricot-ink); border-color:#e7d5bd; }
.review-number { font-family:var(--serif); font-size:31px; padding:2px 0 0; letter-spacing:-1px; }
.review-summary .summary-icon { color:var(--sky-ink); border-color:#d4dfe2; }
.review-banner { border-radius:12px; background:#eef2e8; border-color:#dce5d1; padding:16px 19px; margin-bottom:26px; }
.review-banner-icon { background:var(--surface); border-color:#dce5d1; color:var(--accent); }
.review-banner strong { font-size:12px; }
.review-banner small { font-size:11px; }

/* The table reads as one calm sheet. */
.tracker-section { border:1px solid var(--line); border-radius:16px; background:var(--surface); overflow:hidden; }
.tracker-section>.section-heading { padding:22px 22px 0; margin:0 0 9px; gap:12px; }
.tracker-section .eyebrow { font-size:8px; letter-spacing:1.5px; margin-bottom:7px; }
.filter-tabs { background:#f0f2eb; border-radius:9px; padding:4px; gap:2px; }
.filter { font-size:11px; padding:6px 11px; border-radius:6px; }
.filter.selected { color:var(--accent); box-shadow:0 1px 5px #29372e0c; font-weight:500; }
.tracker-guide { margin:0 22px 17px; font-size:10px; color:var(--muted); }
.tracker-guide summary { cursor:pointer; list-style:none; display:flex; width:fit-content; align-items:center; gap:6px; padding:3px 0; }
.tracker-guide summary::-webkit-details-marker { display:none; }
.tracker-guide summary .ui-icon { width:13px; height:13px; color:#909983; }
.tracker-guide summary:hover { color:var(--accent); }
.tracker-hint { font-size:11px; margin:7px 0 0; max-width:740px; line-height:1.7; }
.tracker-scroll { border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; }
.tracker { min-width:860px; }
.tracker thead { background:#fafbf7; }
.tracker thead th:first-child { width:220px; font-size:10px; padding-left:22px; }
.tracker .day-header { padding:14px 2px; font-size:16px; }
.day-header span { font-size:8px; letter-spacing:1px; margin-bottom:2px; }
.day-header.today { background:#edf3e7; color:var(--accent); box-shadow:inset 0 3px var(--accent); }
.day-header.today span { color:var(--accent); }
.total-head { width:104px; font-size:10px; }
.target-head { width:121px; font-size:10px; }
.tracker tbody tr:not(.area-row) { border-color:#f0f2ea; }
.tracker tbody th { padding:13px 8px 13px 22px; }
.metric-name { font-size:12px; font-weight:500; }
.tracker tbody th>small { font-size:10px; }
.tracker tbody td { padding:9px 3px; }
.area-row { background:#f7f8f3; border-top-color:var(--line); border-bottom-color:#e9ece1; }
.tracker .area-row td { padding:9px 22px; }
.area-heading { gap:9px; font-size:11px; letter-spacing:.1px; }
.area-heading small { font-size:10px; color:#858d7d; }
.area-heading .area-icon { width:24px; height:24px; flex-basis:24px; border-radius:7px; }
.area-icon.career { background:#e4eddb; color:#54703c; }
.area-icon.body { background:#eae4f3; color:var(--lavender-ink); }
.area-icon.build { background:#f6e8d5; color:var(--apricot-ink); }
.area-icon.life { background:#e4edef; color:var(--sky-ink); }
.area-icon .ui-icon { width:14px; height:14px; }
.metric-input { height:34px; font-size:12px; max-width:62px; background:#f7f8f4; border-color:#edf0e6; border-radius:7px; font-variant-numeric:tabular-nums; }
.metric-input:hover:not(:disabled) { background:#edf3e7; border-color:#cdd8c1; }
.metric-input:focus { background:var(--surface); outline:2px solid var(--accent-line); }
.metric-input:disabled { background:#fafbf8; border-color:transparent; opacity:.6; }
.today-cell { background:#f3f7ee; }
.metric-total { font-size:12px; padding:4px 8px; border-radius:6px; }
.metric-total.target { background:#f8ecd5; color:#805e24; }
.metric-input.target { background:#f8ecd5; color:#805e24; border-color:#dac590; }
.metric-target { font-size:11px; }
.metric-checkbox { width:18px; height:18px; }
.coverage { font-size:9px; margin-top:3px; }
.week-bottom { font-size:9px; padding:14px 22px; gap:10px; }
.legend-dot { width:5px; height:5px; background:var(--success); }
.legend-dot.accent-dot { background:#b58d42; margin-left:12px; }
.system-week-label { margin:12px 2px 0; font-size:10px; color:#858d7e; }
.notes-section { margin-top:30px; }
.notes-section .section-heading { margin:0 0 15px; }
.notes-section h2 { font-size:18px; }
.notes-section .muted { font-size:10px; }
.empty-note { background:#f5f5ee; border-color:#dbe1d0; border-radius:12px; font-size:12px; }
.empty-note-action { width:100%; display:flex; align-items:center; gap:16px; text-align:left; padding:22px; }
.empty-note-action:hover { background:#edf2e5; border-color:#acbf98; }
.empty-note-icon { width:39px; height:39px; border:1px solid #d5dec8; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#84956f; flex-shrink:0; }
.empty-note-icon .ui-icon { width:19px; height:19px; }
.empty-note-action strong { display:block; color:var(--ink); font-size:13px; font-weight:500; margin-bottom:5px; }
.empty-note-action>span>span { display:block; font-size:11px; }
.empty-note-arrow { margin-left:auto; font-size:23px; color:#84956f; }
.note-card { border-radius:12px; padding:19px 22px; }
.note-card:hover { border-color:var(--accent-line); }

/* The same visual language carries through the rest of the season. */
.panel, .season-map, .history-list { border-radius:14px; }
.season-map { grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); overflow:hidden; }
.season-map .month-column { min-width:0; border:0; box-shadow:1px 1px 0 var(--line); }
.panel { padding:25px; }
.panel>h2 { font-size:19px; }
.panel>p { font-size:13px; }
.principle-card { padding:27px; }
.principle-index { font-family:var(--serif); font-size:24px; letter-spacing:-1px; color:#9bae8b; }
.principle-card h2 { font-family:var(--serif); font-size:24px; font-weight:400; letter-spacing:-.6px; }
.principle-prose { font-size:13px; }
.stop-panel, .dayoff-panel { background:#f0f3e8; }
.month-column { padding:23px 17px; }
.month-column h3 { font-family:var(--serif); font-size:21px; font-weight:400; letter-spacing:-.5px; }
.week-tile { border-radius:8px; padding:11px 8px; }
.week-tile>span { font-size:18px; font-variant-numeric:tabular-nums; }
.week-tile small { margin-top:4px; }
.history-row { padding:19px 22px; }
.review-intro { background:#edf2e5; border-color:#dfe6d5; }
.review-intro-icon { color:#8da17a; }
.review-intro h2 { font-family:var(--serif); font-size:26px; font-weight:400; line-height:1.3; }
.review-intro p { font-size:12px; }
.review-card { border-radius:13px; padding:22px; }
.review-card:hover { background:var(--input-hover); border-color:var(--accent-line); }
.review-card-body strong { font-size:15px; }
.review-type { width:44px; height:44px; border-radius:13px; background:#edf2e5; color:var(--accent); }
.review-type.monthly { background:var(--lavender); color:var(--lavender-ink); }
.review-type.money { background:var(--apricot); color:var(--apricot-ink); }
.material-filters { gap:10px; margin-bottom:25px; }
.material-filters>input, .material-filters>select { border-radius:9px; font-size:12px; padding-top:12px; padding-bottom:12px; }
.material-card { padding:25px; gap:15px; }
.material-card h2 { font-family:var(--serif); font-weight:400; font-size:25px; letter-spacing:-.6px; }
.material-card p { font-size:12px; }
.material-meta .pill { background:#eaf0e1; color:var(--accent); }
.material-card:nth-child(3n+2) .material-meta .pill { background:var(--lavender); color:var(--lavender-ink); }
.material-card:nth-child(3n+3) .material-meta .pill { background:var(--apricot); color:var(--apricot-ink); }
.settings-grid, .system-settings-grid { gap:16px; }
.settings-grid>.panel { min-width:0; }
.settings-grid h2, .system-settings-grid h2 { font-size:17px; }
#browser-backups .button, #request-persistence { white-space:normal; text-align:center; max-width:100%; }
#snapshot-choice { display:block; width:100%; min-width:0; border:1px solid var(--line); border-radius:9px; padding:11px 32px 11px 11px; margin-top:8px; background-color:var(--bg); font-size:11px; text-overflow:ellipsis; }
.document-panel>.pill { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
dialog { border-radius:19px; padding:32px; box-shadow:0 24px 100px #253b2b26; }
dialog h2 { font-family:var(--serif); font-size:33px; font-weight:400; letter-spacing:-1px; line-height:1.2; }
.dialog-close { background:var(--neutral-soft); color:var(--muted); width:32px; height:32px; border-radius:50%; right:-15px; top:-15px; display:flex; align-items:center; justify-content:center; }
form input:not([type=checkbox]), form textarea, #material-form select, #system-form select { border-radius:9px; background-color:#f8f9f4; }
.metric-edit-row, .reminder-edit-row, .version-diff { border-radius:11px; }
.rest-questions { background:#eef3e6; border-radius:10px; }
.welcome-panel { max-width:800px; padding:36px; margin-top:35px; background:#eef2e5; border-color:#dce4d0; }
.welcome-panel h2 { font-family:var(--serif); font-size:31px; font-weight:400; line-height:1.3; max-width:440px; }
.welcome-panel>.form-hint { border-top:1px solid #dce4d0; margin-top:25px; padding-top:18px; font-size:11px; }
#toast, #metric-tooltip { background:var(--accent); color:var(--on-dark); border-color:var(--accent); border-radius:11px; }
#toast { left:calc(50% + 120px); font-size:12px; }
footer { padding:22px 0; font-size:9px; color:#838b7c; }
footer>span:first-child { font-size:8px; letter-spacing:1.8px; }

@media (min-width:1500px) {
  main { padding:0 60px; }
  .tracker thead th:first-child { width:250px; }
  .summary-card { padding:24px; }
  .metric-input { max-width:74px; }
}
@media (max-width:1200px) and (min-width:801px) {
  .sidebar { width:210px; padding-left:17px; padding-right:17px; }
  main { margin-left:210px; padding:0 28px; }
  .summary-card { padding:18px 15px; }
  .summary-number { font-size:31px; }
  .summary-icon { display:none; }
  .review-number { font-size:27px; }
  .tracker-section>.section-heading { flex-wrap:wrap; }
  .topbar-context { gap:10px; }
  #toast { left:calc(50% + 105px); }
}
@media (max-width:800px) {
  .sidebar { width:100%; position:static; padding:19px 24px 14px; border-right:0; border-bottom:1px solid var(--sidebar-line); gap:18px; }
  .brand { margin:0; font-size:27px; }
  .brand-mark { width:32px; height:32px; border-radius:10px; margin-right:9px; }
  .brand-mark .ui-icon { width:19px; height:19px; }
  .sidebar select { margin:0; min-height:39px; font-size:11px; }
  .season-progress { display:none; }
  .sidebar nav { gap:4px; overflow-x:auto; }
  .sidebar nav .nav { padding:10px 11px; font-size:11px; min-height:39px; }
  .nav.active::after { display:none; }
  .nav>span:first-child { font-size:17px; width:17px; height:17px; flex-basis:17px; }
  main { margin:0; padding:0 24px; }
  .topbar { height:58px; }
  .topbar-label, .topbar-divider { display:none; }
  .topbar-context { min-width:0; }
  .page-heading { margin:29px 0; }
  h1 { font-size:49px; letter-spacing:-1.8px; }
  .page-heading p { font-size:12px; margin-top:12px; }
  .page-heading>.button { margin-top:8px; }
  .summary-grid { gap:12px; }
  .summary-card { min-height:151px; padding:20px; }
  .summary-number { font-size:36px; }
  .summary-icon { display:flex; }
  .review-number { font-size:31px; }
  .tracker-section>.section-heading { padding:20px 18px 0; }
  .tracker-guide { margin-left:18px; margin-right:18px; }
  .week-bottom { padding:14px 18px; font-size:9px; }
  #toast { left:50%; }
  .system-week-label { font-size:9px; }
}
@media (max-width:650px) {
  .sidebar { padding:17px 18px 12px; gap:16px 12px; }
  .sidebar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; gap:5px; }
  .sidebar nav .nav { padding:10px 9px; gap:7px; min-height:39px; justify-content:flex-start; flex-direction:row; }
  .nav-count { position:static; margin-left:auto; }
  .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:24px; }
  .tracker-section>.section-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:10px; }
  .tracker-section .filter-tabs { width:100%; justify-content:space-between; }
  .tracker-section .filter { flex:1; padding:7px 8px; }
  .tracker-guide { margin-bottom:12px; }
  .mobile-day-switch { margin:0; padding:0 13px 14px; gap:5px; }
  .mobile-day-switch button { border-radius:9px; font-size:16px; padding:8px 2px; background:#f9faf6; }
  .mobile-day-switch button span { font-size:9px; margin-bottom:3px; }
  .mobile-day-switch button.selected { background:var(--accent); color:var(--on-dark); border-color:var(--accent); }
  .mobile-day-switch button.selected span { color:#dce7d3; }
  .tracker { min-width:0; }
  .tracker thead th:first-child { width:51%; padding-left:16px; }
  .tracker .day-header { width:22%; }
  .tracker .total-head { width:27%; font-size:9px; }
  .tracker tbody th { padding:13px 7px 13px 16px; }
  .tracker tbody th .metric-name { font-size:12px; }
  .tracker .area-row td { padding:10px 16px; }
  .area-heading small { font-size:9px; }
  .metric-input { min-height:39px; width:90%; max-width:68px; font-size:14px; }
  .metric-checkbox { width:21px; height:21px; }
  .metric-total { font-size:12px; }
  .tracker th>small.mobile-goal { font-size:9px; }
  .empty-note-action { padding:19px 17px; gap:12px; }
  .empty-note-action strong { font-size:12px; }
  .empty-note-action>span>span { font-size:10px; }
  .review-intro h2 { font-size:25px; }
  .review-card { padding:18px; }
  .welcome-panel { padding:26px; }
}
@media (max-width:480px) {
  main { padding:0 16px; }
  .season-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand { font-size:25px; }
  .sidebar select { font-size:10px; padding-left:9px; padding-right:27px; background-position:right 8px center; }
  .sidebar nav .nav { font-size:10px; padding:9px 7px; gap:6px; }
  .topbar { font-size:9px; gap:12px; }
  #save-status { font-size:9px; max-width:48%; }
  .page-heading { margin:28px 0 24px; gap:17px; }
  .page-heading h1 { font-size:46px; }
  .page-heading>.button { padding:10px 14px; min-height:40px; margin:0; }
  .eyebrow { font-size:8px; letter-spacing:1.6px; margin-bottom:12px; }
  .week-switch { gap:10px; }
  .week-switch strong { font-size:14px; }
  .week-switch .pill { font-size:9px; padding:5px 7px; }
  .summary-grid { gap:10px; }
  .summary-card { min-height:145px; padding:17px 14px; border-radius:13px; }
  .summary-card>span { font-size:10px; }
  .summary-number { font-size:32px; margin-top:18px; margin-bottom:12px; }
  .summary-number small { font-size:15px; }
  .summary-card p { font-size:9px; }
  .summary-icon { width:25px; height:25px; font-size:14px; }
  .review-number { font-size:27px; padding-top:3px; }
  .review-number .summary-icon { font-size:14px; }
  .tracker-section>.section-heading { padding:19px 14px 0; }
  .tracker-section h2 { font-size:18px; }
  .tracker-section .eyebrow { font-size:7px; letter-spacing:1.2px; }
  .tracker-guide { margin-left:14px; margin-right:14px; font-size:9px; }
  .tracker-section .filter { font-size:10px; padding:7px 6px; }
  .area-heading { gap:7px; }
  .area-heading small { font-size:8px; }
  .week-bottom { font-size:8px; padding:13px 14px; gap:6px; }
  .notes-section .muted { font-size:9px; }
  .empty-note-icon { width:32px; height:32px; }
  .empty-note-arrow { display:none; }
  .panel { padding:21px; }
  .material-card h2 { font-size:24px; }
  .review-card-body { min-width:60%; }
  .review-card-body strong { font-size:14px; }
  .review-card-body small { font-size:11px; }
  .review-card-body p { font-size:11px; }
  .review-card .pill { margin-left:56px; }
  .welcome-panel h2 { font-size:28px; }
  dialog { padding:26px 23px; border-radius:16px; max-height:92dvh; }
  dialog h2 { font-size:29px; }
  .dialog-close { right:-9px; top:-9px; }
  footer { font-size:8px; gap:10px; }
  footer>span:first-child { font-size:7px; letter-spacing:1.1px; }
  footer>span:last-child { max-width:150px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
