:root{font-family:Arial,Helvetica,sans-serif;color:#202923;background:#f6f7f3;font-synthesis:none;--accent:#3b684e;--line:#d9dfd6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,select{border:1px solid #cbd4c9;border-radius:6px;background:#fff;color:#263e2e;padding:8px 12px}button{cursor:pointer}button:hover{background:#edf2e9}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #70a681;outline-offset:2px}a{color:inherit}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button.primary:hover{background:#2c523b}button.selected{background:#e7efdf;border-color:#7b9570}input,textarea{border:1px solid #bbc8b9;border-radius:5px;background:white;padding:9px;width:100%;color:#17281b}textarea{resize:vertical}label{display:block;font-size:13px;line-height:1.8;font-weight:600}.muted{color:#697267;font-size:13px;line-height:1.5}.eyebrow{font-size:10px;letter-spacing:2px;color:#6b7c61;font-weight:700;margin:0 0 6px}.brand{font-family:Georgia,serif;font-weight:700;font-size:42px;line-height:1;text-decoration:none}.brand span{color:#7e9c52}.app-header{min-height:76px;display:flex;align-items:center;gap:20px;padding:12px 28px;border-bottom:1px solid var(--line);background:white}.app-name{font-size:13px;font-weight:700;white-space:nowrap}.app-name span{display:block;font-size:10px;color:#77806f;font-weight:400;margin-top:5px}.app-header nav{display:flex;align-self:stretch;align-items:center;gap:6px;margin:auto}.app-header nav a{text-decoration:none;padding:12px 17px;font-size:14px;border-radius:5px}.app-header nav a[aria-current=page]{background:#eaf0e4;color:#315535;font-weight:700}.logout button{border:0;color:#788072;font-size:12px}.planner{padding:25px 28px 18px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}.page-heading h1{font-family:Georgia,serif;font-size:35px;margin:0;font-weight:400}.page-heading p.muted{margin:0;max-width:570px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;font-size:12px}#week-controls,.scale-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.scale-controls{margin-left:auto}.toolbar [hidden]{display:none!important}#status{font-size:12px;color:#63745c;min-height:25px;padding:2px 0 8px}#status.error,.error{color:#a02e2a}.error:empty{display:none}.sheet-viewport{position:relative;overflow:auto;background:#fff;border:1px solid #c4cec0;border-radius:4px;height:calc(100dvh - 265px);min-height:300px;overscroll-behavior:contain;scrollbar-gutter:stable}.sheet-viewport:focus-visible{outline:2px solid #648b69}#sheet-sizer{position:relative}#sheet-canvas{position:relative;transform-origin:top left;background:white;color:#000;font-family:Arial,sans-serif;font-size:13px}.cell{position:absolute;white-space:pre;overflow:hidden;margin:0;padding:1px 3px;line-height:1.15;display:flex;flex-direction:column;justify-content:flex-end;cursor:text;border:0;border-right:1px solid #eef0eb;border-bottom:1px solid #eef0eb;font-weight:400;color:#000;background:transparent;outline-offset:-2px}.cell-content{display:block;flex-shrink:0;width:100%}.cell:hover{box-shadow:inset 0 0 0 2px #6c9571!important;z-index:30!important}.cell:focus{outline:2px solid #3c865a!important;z-index:31!important}.cell.formula{cursor:help}.cell.formula:after{content:'ƒ';position:absolute;right:1px;top:0;font-size:8px;color:#8a927e;opacity:.65;line-height:9px}.cell.week-heading{cursor:pointer}.cell.current-week{box-shadow:inset 0 0 0 3px #51833f!important}.week-boundary{position:absolute;pointer-events:none;border:3px solid #51833f;z-index:20}.sheet-picture{position:absolute;border:0;padding:0;background:none;border-radius:0;cursor:zoom-in}.sheet-picture img{width:100%;height:100%;object-fit:fill}.sheet-note{font-size:11px;color:#77806f;line-height:1.5}.formula-key{font-family:Georgia,serif}.capacity-summary{background:#edf2e6;border:1px solid #d5dfca;border-radius:5px;padding:10px 14px;margin:0 0 10px;font-size:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.capacity-summary[hidden]{display:none}.capacity-days{display:flex;gap:5px;flex-wrap:wrap}.capacity-days button{font-size:11px;padding:5px 9px}.capacity-days .done{background:#47734d;color:#fff}.priorities{font-size:12px;line-height:1.8;color:#687861;margin-top:10px}.priorities summary{cursor:pointer}dialog{border:1px solid #b6c4b0;border-radius:12px;padding:24px;width:min(600px,calc(100vw - 24px));max-height:90dvh;box-shadow:0 24px 100px #0e251940;color:#263c2b}dialog::backdrop{background:#14211c77;backdrop-filter:blur(2px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-heading h2{margin:0;font-family:Georgia,serif;font-weight:400;font-size:26px}.dialog-heading button{font-size:23px;padding:0 9px;border:0}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin:15px 0}.daily-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px;margin:15px 0}.practice-label{background:#edf3e6;padding:10px;border-radius:5px;color:#3c663f}#daily-form>label{margin-top:10px}#cell-history{font-size:13px;border-top:1px solid var(--line);padding-top:15px}#history-items{max-height:220px;overflow:auto}#history-items article{padding:10px 0;border-bottom:1px solid var(--line)}#history-items p{white-space:pre-wrap}#cell-formula{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:120px;overflow:auto}#image-dialog{width:min(1100px,95vw)}#large-image{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:auto}.login{max-width:480px;margin:10vh auto;padding:35px}.login h1{font-family:Georgia,serif;font-size:46px;font-weight:400;line-height:1.1;margin:20px 0}.login>p:not(.eyebrow){line-height:1.6;color:#6c7767}.login .eyebrow{margin-top:32px}.login form{margin-top:30px}.login form button{width:100%;margin-top:14px;padding:13px}.login input{padding:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.app-header{gap:10px;padding:12px 15px;flex-wrap:wrap}.app-name{flex:1}.app-header nav{order:3;overflow:auto;flex-basis:100%;justify-content:space-between}.app-header nav a{padding:8px 10px}.planner{padding:18px 12px}.page-heading{align-items:start;gap:12px}.page-heading h1{font-size:30px}.page-heading p.muted{max-width:55%;font-size:11px}.toolbar{gap:8px}.scale-controls{margin-left:0}.sheet-viewport{height:55dvh;min-height:300px}.capacity-summary{font-size:11px;padding:9px}.login{margin:4vh auto}.daily-fields{gap:10px}.toolbar button,.toolbar select{padding:8px}.app-header .brand{font-size:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.today-view .cell.empty{justify-content:flex-start!important;padding:14px;font-family:Arial,sans-serif!important;color:#77866e!important}.today-view .cell.empty .cell-content:after{content:'Add activity…';font-size:14px}
@media(max-width:450px){.app-header nav{gap:1px}.app-header nav a{padding:8px;font-size:12px}.app-header nav{min-width:0}}

.login .remember{display:flex;align-items:center;gap:8px;margin-top:12px;font-weight:400}.login .remember input{width:auto}.password-fallback{font-size:13px;color:#697267;margin-top:20px}.password-fallback summary{cursor:pointer}.password-fallback form{margin-top:14px}
