:root{font-family:system-ui,-apple-system,sans-serif;color:#253b31;background:#f5f5ef;font-size:15px}*{box-sizing:border-box}body{margin:0}header{height:80px;border-bottom:1px solid #dce1d9;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 36px}a{color:inherit;text-decoration:none}.brand{font-weight:800;letter-spacing:2px}.brand small{display:block;font-weight:400;letter-spacing:0;font-size:11px;margin-top:3px}#identity{font-size:13px;color:#607166}.layout{display:grid;grid-template-columns:210px 1fr;max-width:1600px;margin:auto}aside{padding:32px 20px;border-right:1px solid #e0e5dc;min-height:calc(100vh - 80px)}aside a,aside button{display:block;width:100%;text-align:left;margin:4px 0;padding:12px;border-radius:9px}aside p{font-size:12px;line-height:1.8;color:#7d8a7f;margin-top:50px}nav{margin-top:20px}main{padding:36px;min-width:0}h1{font-size:34px;font-weight:650;margin:10px 0}h2{font-size:24px;font-weight:600}h3{font-size:17px}p{line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;color:#708874;font-weight:700}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.heading p{margin:0;color:#708074;font-size:13px}button,input,select{font:inherit;border:1px solid #d6dfd4;border-radius:8px;padding:10px 13px;background:#fff;color:inherit}button{cursor:pointer}button:hover{background:#edf3e9}button:disabled{opacity:.5;cursor:wait}.primary,.selected{background:#285d46!important;color:white!important;border-color:#285d46}.primary{font-weight:600}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:24px}.week button{padding:10px 4px}.week small{display:block;margin-top:5px}.today-grid{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(260px,1fr);gap:20px}.card{background:#fff;border:1px solid #e0e5dc;border-radius:18px;padding:24px;margin-bottom:18px;box-shadow:0 4px 18px #284b3410}.now-card{background:#e6eedf;border:0}.now-card h2{margin:13px 0}.fine{font-size:12px;color:#738171}.view-tabs{justify-content:center}.view-tabs button{font-size:12px;padding:8px}canvas{width:100%;height:auto;max-width:550px;display:block;margin:auto}.metric{font-size:38px;font-weight:650;margin:4px 0}.metric small{font-size:13px;color:#718273}.activity{background:white;border:1px solid #e0e5dc;border-radius:13px;padding:16px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.activity strong{display:block;margin:5px 0}.activity small{font-size:11px;color:#6c7e6e}.activity select{font-size:12px;padding:7px;max-width:120px}.activity.is-now{border:2px solid #4e805a}.activity.done{background:#eaf2e5}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:13px;margin:10px 0}label input,label select{display:block;margin-top:6px;width:100%}.toolbar label{margin:0}.history-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.history-day{background:#edf3e9;padding:15px;border-radius:10px}.history-day b{display:block;font-size:22px}.gift-progress{width:100%;accent-color:#3d744f}.gift-title{font-size:28px}.widget-preview{max-width:370px;min-height:180px;border-radius:28px;padding:26px;background:#e6eddf;margin:30px auto;box-shadow:0 10px 36px #21382125}.widget-preview.lock{max-width:310px;min-height:110px;background:#2e4439;color:white;padding:18px;border-radius:18px}.widget-preview h3{margin-top:0}.widget-preview li{margin:12px 0}.flow-item{padding:16px 20px;border-left:3px solid #b6c7b3;margin-left:10px;display:flex;gap:20px}.flow-item.current{border-color:#365f38;background:#edf4e8}.wheel .flow-item{opacity:.5}.wheel .flow-item.current{opacity:1;border-radius:12px;box-shadow:0 3px 8px #284b3420}.wheel{max-height:450px;overflow:auto;padding:70px 0}.flow-item time{font-size:12px;min-width:85px}dialog{border:0;border-radius:20px;padding:28px;max-width:900px;width:96%;max-height:92vh;color:inherit;box-shadow:0 24px 80px #132d3450}dialog::backdrop{background:#152c3155}#slot-editor{max-height:47vh;overflow:auto}.slot{display:grid;grid-template-columns:1fr 100px 100px 65px 85px 50px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eee}.slot input{width:100%;padding:8px}.slot label{font-size:11px}.slot input[type=checkbox]{width:auto}.slot input[type=color]{height:36px;padding:2px}#message{background:#e5efde;padding:12px;border-radius:9px}#message.error,#edit-error{color:#a52c25}.empty{padding:30px;color:#6e806e;text-align:center}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bf8c3f;outline-offset:3px}@media(max-width:950px){.layout{grid-template-columns:160px 1fr}main{padding:24px}.today-grid{grid-template-columns:1fr}.two-columns{grid-template-columns:1fr}}@media(max-width:600px){header{height:65px;padding:0 18px}#identity{max-width:160px;font-size:11px}.layout{display:block}aside{min-height:0;border:0;padding:10px 15px}aside>a{display:inline-block;width:auto;margin-right:10px}aside nav{display:flex;overflow:auto;margin-top:5px}aside button{white-space:nowrap;width:auto;font-size:12px;padding:9px}aside p{display:none}main{padding:15px}h1{font-size:27px}.heading{gap:10px}.heading>.primary{font-size:12px;padding:10px}.card{padding:18px}.week{gap:4px}.slot{grid-template-columns:1fr 1fr 1fr}.slot label:first-child{grid-column:span 3}dialog{padding:18px}.two-columns{gap:0}}
.routine-home-card{display:block;padding:14px 20px;border:1px solid #dbe5d5;border-radius:12px;background:#ecf2e7;margin-bottom:18px;font-size:14px}
#editor{max-width:1250px;padding:24px}#editor .heading{margin-bottom:12px}.planner-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.planner-tools button,.planner-tools select{font-size:12px}.planner-layout{display:grid;grid-template-columns:minmax(450px,1.8fr) minmax(260px,1fr);gap:24px}.planner-grid-scroll{max-height:54vh;overflow:auto;border:1px solid #dbe3d5;border-radius:12px}.planner-grid{display:grid;grid-template-columns:48px repeat(7,minmax(64px,1fr));min-width:520px}.planner-grid .grid-head{position:sticky;top:0;background:#e9efdf;padding:12px 3px;text-align:center;z-index:2;font-weight:700;font-size:12px}.planner-grid .grid-head.active{background:#285d46;color:white}.grid-hour{font-size:10px;padding:4px;text-align:right;background:#f8f9f4;border-bottom:1px solid #e7ebe2}.grid-cell{min-height:30px;border-radius:0;border:0;border-right:1px solid #e1e8dc;border-bottom:1px solid #e1e8dc;padding:3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;text-align:left;user-select:none}.grid-cell.busy{background:#dcebd8;color:#234631}.grid-cell.selected-range{background:#bfcea8}.grid-cell:hover{background:#c9dbbc}.activity-panel{padding:18px;border-radius:12px;background:#f0f4eb}.activity-panel h3{margin-top:0}.activity-panel .two-columns{gap:10px;grid-template-columns:1fr 1fr}.activity-panel fieldset{border:1px solid #d6dfd4;border-radius:8px;padding:10px}.day-checks{display:flex;flex-wrap:wrap;gap:8px}.day-checks label{display:flex;align-items:center;gap:4px;margin:3px 0}.day-checks input{width:auto;margin:0}.check-line{display:flex;align-items:center;gap:8px}.check-line input{width:auto;margin:0}.activity-panel input[type=color]{width:70px;height:35px;padding:2px}.activity-panel #slot-editor{max-height:190px;overflow:auto}.draft-slot{display:block;width:100%;text-align:left;padding:10px;margin:6px 0;font-size:12px}.draft-slot small{display:block;color:#6b7c69;margin-top:3px}.copy-panel{border:1px solid #d4dfc9;background:#f3f6eb;border-radius:12px;padding:15px;margin-top:15px}.planner-footer{position:sticky;bottom:-24px;background:#fff;padding:12px 0;border-top:1px solid #e2e9da;margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}#activity-error{color:#a52c25;font-size:13px}#draft-summary{font-size:13px;margin-top:10px;color:#63765e}.activity-panel .fine{font-size:11px}.activity-panel .toolbar{margin:8px 0 0}.activity-panel .toolbar button{padding:5px 8px;font-size:11px}@media(max-width:850px){.planner-layout{grid-template-columns:1fr}.planner-grid-scroll{max-height:38vh}.activity-panel{margin-top:0}#editor{padding:15px}.planner-footer{bottom:-15px}.planner-grid{min-width:520px}.planner-tools{gap:6px}.planner-layout{gap:15px}}

/* Keep the action bar outside the independently scrolling content. */
#editor{height:92vh;height:92dvh;max-height:950px;overflow:hidden;padding:0}
#plan-form{height:100%;min-height:0;display:flex;flex-direction:column;margin:0}
#editor .heading{flex:0 0 auto;padding:16px 24px;margin:0;border-bottom:1px solid #e2e9da}
#editor .heading h2{margin:4px 0;font-size:22px}
.planner-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px 24px;scroll-padding:16px}
#editor .planner-footer{position:static;flex:0 0 auto;display:block;margin:0;padding:12px 24px;background:#fff;border-top:2px solid #d4dfcd;box-shadow:0 -4px 12px #284b3410}
.planner-feedback p{margin:0 0 6px;max-height:64px;overflow:auto;font-size:13px}
.planner-feedback p:empty{display:none}
.planner-actions{display:flex;gap:12px}.planner-actions button{flex:1;min-height:48px;font-weight:700}
@media(max-width:850px){.activity-panel{grid-row:1}.planner-body{padding:12px}#editor .heading{padding:12px}#editor .planner-footer{padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.planner-actions{gap:8px}.planner-actions button{font-size:13px;padding:10px 6px}}

#activity-scope-box{border:1px solid #bccdb4;border-radius:10px;padding:10px;margin-bottom:12px;background:#fff}#scope-hint{line-height:1.6}#duplicate-activity{font-size:12px}.planner-secondary:has(button:not([hidden])){margin-bottom:8px}.planner-secondary button{color:#a52c25;border-color:#dbbbb7;padding:6px 10px;font-size:12px}

.used-color-box{margin:8px 0 16px}.used-color-box p{margin:6px 0}.used-colors{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;padding:4px}.used-colors button{display:flex;align-items:center;gap:7px;min-height:44px;padding:6px 8px;background:#fff;font-size:11px;border:2px solid #d6dfd4}.used-colors button[aria-pressed=true]{border-color:#285d46;box-shadow:0 0 0 1px #285d46}.used-colors .color-dot{display:inline-block;width:22px;height:22px;border:1px solid #7c897a;border-radius:50%;flex:0 0 auto}

.plan-notice{padding:12px;background:#e6eedf;border-radius:10px;margin-bottom:14px;font-size:13px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.plan-notice button{font-size:12px}#effective-hint{color:#285d46;font-weight:600}

.grid-cell.busy{position:relative;isolation:isolate}.grid-color{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.grid-cell.ink-dark{color:#000}.grid-cell.ink-light{color:#fff}.grid-cell.busy:hover{outline:2px solid #bf8c3f;outline-offset:-2px}.used-colors canvas.color-dot{display:inline-block;width:24px;height:24px;margin:0;border-radius:50%;max-width:none}.week-mode-label{max-width:480px}.week-mode-label select{width:100%}

.grid-color{z-index:0}.grid-title{position:relative;z-index:1}

.planner-layout,.planner-layout>div,.activity-panel{min-width:0}.planner-grid-scroll{width:100%;max-width:100%}.activity-panel .two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-panel input,.activity-panel select{min-width:0;max-width:100%}

.planning-tasks{border:1px solid #bccdb4;border-radius:12px;padding:14px;margin-bottom:16px;background:#f5f8f1}.planning-tasks summary{font-weight:700;cursor:pointer}.planning-tasks .toolbar{align-items:end}.planning-tasks label{font-size:12px}.planning-tasks input,.planning-tasks select{max-width:190px}.planning-task{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d9e2d3;padding:10px 0}.planning-task>div{min-width:0;overflow-wrap:anywhere}.planning-task p,.planning-task small{font-size:12px;margin:5px 0;color:#53654e}.planning-task button{font-size:12px;flex-shrink:0}#planning-task-list{max-height:270px;overflow:auto}#task-status{font-size:13px}#repeat-fieldset[hidden]{display:none}@media(max-width:600px){.planning-task{display:block}.planning-task button{margin-top:8px}.planning-tasks .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.planning-tasks input,.planning-tasks select{max-width:100%;width:100%}.planning-tasks label{min-width:0}}

.planning-task-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:330px}.planning-task-actions button{margin:0}.planning-task>div:first-child{flex:1}.planning-tasks{margin-top:20px}#planning-write-feedback{font-weight:600;color:#285d46;white-space:pre-wrap}#planning-task-dialog{max-width:650px;padding:0;height:90dvh}#planning-task-form{display:flex;flex-direction:column;height:100%;margin:0}#planning-task-form .heading{padding:16px 20px;margin:0;border-bottom:1px solid #ddd}#planning-task-form h2{font-size:20px;margin:0}.task-form-body{padding:10px 20px;overflow:auto;flex:1;min-height:0}.task-form-body textarea{font:inherit;width:100%;border:1px solid #d6dfd4;border-radius:8px;padding:10px;resize:vertical}.task-form-footer{padding:12px 20px;border-top:1px solid #ddd}.task-form-footer button{width:100%}#pt-error{color:#a52c25;font-size:13px;margin:0 0 8px;max-height:100px;overflow:auto}@media(max-width:600px){.planning-task-actions{max-width:none;justify-content:flex-start;margin-top:8px}#planning-task-form .two-columns{grid-template-columns:1fr}.task-form-body{padding:10px 14px}}
