@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;color:#202b3a;background:#f4f6f8;font-synthesis:none;font-weight:400;--ink:#202b3a;--muted:#8290a0;--line:#e9edf0;--green:#197b68;--green-dark:#14594f;--mint:#e5f3ee;--white:#fff;--amber:#b46b24;--shadow:0 12px 32px #2434490b}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 92% 3%,#e1eee9 0,transparent 26rem),#f4f6f8}.app-shell{width:min(100%,680px);margin:auto;padding:env(safe-area-inset-top) 22px calc(34px + env(safe-area-inset-bottom))}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#247e6c,#14594f);color:white;display:grid;place-items:center;font-family:Manrope,sans-serif;font-weight:800;font-size:19px;box-shadow:0 7px 16px #14594f33}.brand strong{display:block;font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.5px}.brand small{display:block;font-size:11px;color:#85918f;margin-top:2px}.icon-button,.date-arrow,.close-button{border:0;cursor:pointer}.icon-button{width:42px;height:42px;border-radius:15px;background:#fff;color:#3c645c;font-size:19px;box-shadow:0 4px 14px #2434490c;border:1px solid #edf0ef}.welcome{position:relative;overflow:hidden;padding:25px 24px 26px;margin:9px 0 17px;border-radius:23px;color:#fff;background:linear-gradient(115deg,#174e49 0%,#1c6c5e 58%,#318d76 100%);box-shadow:0 13px 28px #174e4926}.welcome:after{content:'';position:absolute;width:190px;height:190px;border:1px solid #ffffff17;border-radius:50%;right:-57px;top:-89px;box-shadow:0 0 0 25px #ffffff08,0 0 0 51px #ffffff06}.welcome .eyebrow{color:#bbd9d0;margin-bottom:9px;position:relative;z-index:1}.welcome h1{font:800 28px Manrope,sans-serif;letter-spacing:-1px;margin:0 0 7px;position:relative;z-index:1}.welcome>p:last-child{margin:0;color:#d4e9e2;font-size:13px;position:relative;z-index:1}.date-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e8eeeb;border-radius:18px;padding:12px 13px;box-shadow:var(--shadow);position:relative}.date-card label{flex:1;text-align:center;font:700 14px Manrope,sans-serif;cursor:pointer}.date-card label small{display:block;font:500 10px 'DM Sans',sans-serif;color:#899690;margin-top:3px}.date-arrow{background:#f0f5f2;border-radius:12px;color:#4e746b;width:35px;height:35px;font-size:24px;line-height:1;transition:.15s}.date-arrow:active{transform:scale(.93);background:#e1eee8}.date-card input{position:absolute;opacity:0;width:1px;height:1px;right:50%;top:50%;pointer-events:none}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:13px 0 34px}.summary div{text-align:left;display:flex;align-items:flex-start;flex-direction:column;gap:4px;background:#fff;border:1px solid #e9efec;border-radius:16px;padding:13px 13px 12px;box-shadow:0 5px 17px #24344907;position:relative;overflow:hidden}.summary div:before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:#bfdcd0}.summary div:nth-child(2):before{background:#78b39e}.summary div:nth-child(3):before{background:#e2bc86}.summary strong{font:800 21px Manrope,sans-serif;color:#233b36}.summary span{font-size:9px;color:#86938e;white-space:nowrap}.section-block{margin:0 0 34px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-heading h2,.dialog-head h2{margin:0;font:750 19px Manrope,sans-serif;letter-spacing:-.55px;color:#23332f}.section-heading .eyebrow{margin-bottom:4px;color:#8d9b95}.text-button{border:0;background:#e2f1eb;color:#176b5d;font:700 11px 'DM Sans',sans-serif;cursor:pointer;padding:10px 12px;border-radius:11px;transition:.15s}.text-button:active{background:#cde7dc;transform:translateY(1px)}.task-list{display:grid;gap:10px}.task-card{background:#fff;border:1px solid #e8eeeb;border-radius:16px;padding:15px 14px;display:flex;gap:11px;align-items:flex-start;box-shadow:0 5px 17px #24344907;transition:transform .15s,border .15s}.task-card:active{transform:scale(.992)}.check{appearance:none;flex:none;width:21px;height:21px;margin:1px 0 0;border:1.5px solid #c3d1ca;border-radius:7px;cursor:pointer;background:#fff}.check:checked{border-color:#23806d;background:#23806d}.check:checked:after{content:'✓';display:block;color:white;text-align:center;font-size:14px;line-height:19px}.task-copy{min-width:0;flex:1}.task-title{margin:0;font-size:13px;font-weight:700;line-height:1.45;color:#273a35}.task-card.completed .task-title{text-decoration:line-through;color:#a0aaa5}.task-details{margin:5px 0 0;font-size:11px;line-height:1.5;color:#85928c}.task-meta{margin-top:9px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:#778881;font-size:9px}.task-meta>span{display:inline-flex;align-items:center;min-height:21px;padding:3px 7px;border-radius:8px;background:#f3f6f4}.task-meta .priority{background:#eef5f1;color:#54746a}.task-meta .priority.high{color:#a85344;background:#fff0ea}.delete-task{border:0;background:#f5f7f6;color:#9aa6a0;font-size:17px;cursor:pointer;padding:0;width:25px;height:25px;border-radius:9px;line-height:1}.delete-task:active{background:#fbe8e5;color:#b6534c}.empty{display:none;text-align:center;padding:27px 14px;color:#88958f;background:#fff;border:1px dashed #cfdcd5;border-radius:17px;font-size:12px}.empty.show{display:block}.empty span{display:grid;place-items:center;margin:0 auto 9px;background:#e8f4ef;width:37px;height:37px;border-radius:13px;color:#287b68;font-size:17px}.empty p{margin:0}.notes-section{background:#fff;border:1px solid #e7eeea;border-radius:19px;padding:16px 15px 10px;box-shadow:var(--shadow);position:relative}.notes-section:before{content:'';height:3px;border-radius:3px 3px 0 0;position:absolute;left:16px;right:16px;top:-1px;background:linear-gradient(90deg,#438c76,#b5d9c7)}.notes-section .section-heading{margin:0 0 12px}.notes-section textarea,.dialog form>textarea{display:block;width:100%;resize:vertical;border:1px solid #e8eeeb;background:#f9fbfa;border-radius:13px;padding:13px;color:var(--ink);font:400 12px/1.7 'DM Sans',sans-serif;outline:none}.notes-section textarea:focus,input:focus,select:focus,.dialog form>textarea:focus{border-color:#7fb5a0;box-shadow:0 0 0 3px #25816a14}.notes-section textarea::placeholder,.dialog textarea::placeholder,input::placeholder{color:#a6b1ab}.save-status{font-size:9px;color:#9ba7a0;text-align:right;margin:7px 4px 1px}.app-shell footer{text-align:center;color:#9ba7a0;font-size:9px;padding:2px 0 12px}.dialog{border:1px solid #e7eeea;border-radius:22px;padding:22px;width:min(calc(100% - 28px),430px);box-shadow:0 22px 80px #18264835}.dialog::backdrop{background:#152a2866;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.dialog-head h2{font-size:20px}.close-button{font-size:25px;background:#f1f5f2;color:#6f7f78;border-radius:11px;width:34px;height:34px;line-height:1}.field-label{display:block;font-size:11px;font-weight:700;color:#52635c;margin:13px 0 7px}.field-label span{color:#a4adbb;font-weight:400}.dialog input,.dialog select{width:100%;height:43px;border:1px solid #e3eae6;border-radius:11px;background:#fff;padding:0 10px;font:12px 'DM Sans',sans-serif;outline:none;color:var(--ink)}.dialog textarea{margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-row>div{min-width:0}.primary-button{margin-top:21px;width:100%;height:47px;background:linear-gradient(100deg,#197663,#25836d);color:white;border:0;border-radius:13px;font:700 13px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 7px 16px #19766330}.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#253b35;color:white;border-radius:12px;padding:11px 16px;font-size:12px;transition:.2s;white-space:nowrap;box-shadow:0 8px 22px #142c2633}.toast.show{opacity:1;transform:translate(-50%,0)}
.header-actions{display:flex;gap:8px}.category-chip{color:#286c5d!important;background:#e8f4ee!important;font-weight:700}.settings-dialog{max-height:min(88vh,760px);overflow:auto}.settings-group{padding:15px 0;border-top:1px solid #edf1ee}.settings-group h3{font:700 13px Manrope,sans-serif;color:#2d4039;margin:0 0 4px}.settings-group>p{font-size:10px;color:#8c9993;margin:0 0 11px;line-height:1.5}.settings-options{display:grid;gap:6px;margin-bottom:10px}.settings-option{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f5f8f6;border:1px solid #edf1ee;border-radius:10px;padding:8px 10px;font-size:11px;color:#4b5e56}.settings-option button{flex:none;border:0;border-radius:7px;background:#eaf0ed;color:#8c9993;font-size:16px;width:25px;height:25px;line-height:1;cursor:pointer}.settings-add{display:flex;gap:7px;align-items:center}.settings-add>input{min-width:0;flex:1;height:39px;border:1px solid #e3eae6;border-radius:10px;padding:0 10px;font:11px 'DM Sans',sans-serif;outline:none}.settings-add-button{flex:none;width:39px;height:39px;border:0;border-radius:10px;background:#197663;color:white;font-size:20px;cursor:pointer}.reminder-add .days-input{display:flex;align-items:center;gap:5px}.days-input input{width:48px;height:39px;border:1px solid #e3eae6;border-radius:9px;text-align:center;font:11px 'DM Sans',sans-serif}.days-input span{font-size:9px;color:#718078;white-space:nowrap}.settings-footnote{font-size:9px;text-align:center;color:#9ba7a0;margin:6px 0 0}.settings-dialog .dialog-head{margin-bottom:10px}
.calendar-panel{background:#fff;border:1px solid #e7eeea;border-radius:20px;padding:15px 13px 12px;box-shadow:var(--shadow);margin:8px 0 12px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 1px 13px}.calendar-toolbar h2{margin:0;text-transform:capitalize;font:750 16px Manrope,sans-serif;letter-spacing:-.35px;color:#263b35}.calendar-tools{display:flex;align-items:center;gap:7px}.month-arrow{width:31px;height:31px;border:0;background:#f1f6f3;border-radius:10px;color:#55766c;font-size:22px;line-height:1;cursor:pointer}.today-button{border:0;border-radius:9px;background:#e8f4ee;color:#286c5d;padding:7px 9px;font:700 10px 'DM Sans',sans-serif;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.calendar-weekdays{padding:0 0 5px;border-bottom:1px solid #edf1ee}.calendar-weekdays span{font-size:9px;font-weight:700;color:#94a099;padding:5px 0}.calendar-grid{row-gap:3px;padding-top:6px}.calendar-blank,.calendar-day{height:43px}.calendar-day{position:relative;justify-self:center;width:min(100%,42px);border:0;border-radius:13px;background:transparent;color:#344840;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:3px;cursor:pointer;font:500 12px 'DM Sans',sans-serif}.calendar-day.is-today:not(.selected){color:#16705e;font-weight:800;background:#eef7f2}.calendar-day.selected{color:white;background:#197663;box-shadow:0 4px 10px #19766335;font-weight:700}.calendar-number{line-height:17px}.calendar-dots{height:4px;display:flex;gap:2px;justify-content:center}.calendar-dots i{width:3px;height:3px;border-radius:50%;background:#78a994}.calendar-day.selected .calendar-dots i{background:#d7f0e3}.calendar-day.is-today:not(.selected) .calendar-dots i{background:#19806a}.date-card{justify-content:flex-start;gap:11px;padding:11px 13px}.selected-date-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#e6f2ec;color:#197663;font:800 14px Manrope,sans-serif}.date-card label{text-align:left;font-size:12px}
.welcome-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1;margin:0 0 8px}.welcome-meta .eyebrow{margin:0}.live-clock{font:700 14px Manrope,sans-serif;letter-spacing:.3px;color:#f6fffa;background:#ffffff20;border:1px solid #ffffff2b;border-radius:10px;padding:5px 9px;font-variant-numeric:tabular-nums}
.task-color-options{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 13px}.task-color-choice{min-height:35px;min-width:35px;padding:0 8px;border:1px solid #e6ebe8;border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#6f7c75;font:600 10px 'DM Sans',sans-serif;cursor:pointer}.task-color-choice i{width:17px;height:17px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #dbe3de}.task-color-choice.selected{border-color:#6da38e;background:#f0f7f3;box-shadow:0 0 0 2px #27816b18}.task-color-choice.no-color{font-size:9px;padding:0 10px}.custom-color-choice{width:35px;height:35px;border:1px dashed #cbd7cf;border-radius:10px;display:grid;place-items:center;color:#71857a;font-size:19px;position:relative;cursor:pointer;overflow:hidden}.custom-color-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}.custom-color-choice.selected{border:2px solid #4f9179;background:#f0f7f3}.color-mark{color:#7c6757!important;background:#fbf4ed!important;font-weight:700}.color-mark i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}
.edit-task{flex:none;width:25px;height:25px;border:0;border-radius:9px;background:#eef4f0;color:#5f8172;font-size:15px;line-height:1;cursor:pointer}.event-list{display:grid;gap:8px}.event-card{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;background:#fff;border:1px solid #e8eeeb;border-radius:14px;box-shadow:0 4px 14px #24344906}.event-time{flex:none;min-width:42px;padding:5px 6px;text-align:center;border-radius:8px;background:#e8f4ee;color:#287560;font:700 10px Manrope,sans-serif}.event-copy{flex:1;min-width:0}.event-copy strong{font-size:12px;color:#2b4037}.event-copy p{font-size:10px;line-height:1.5;color:#85928b;margin:5px 0 0}
@media(min-width:700px){.app-shell{padding-top:14px}.welcome{padding-top:29px;padding-bottom:30px}.welcome h1{font-size:32px}.summary div{padding:15px 16px}.summary span{font-size:10px}}
.app-shell{padding-bottom:calc(108px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;z-index:40;left:50%;bottom:calc(9px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 26px),470px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:7px;background:#fffffff0;border:1px solid #e2ebe5;border-radius:19px;box-shadow:0 10px 35px #173a2e20;backdrop-filter:blur(18px)}.bottom-nav-item{min-width:0;border:0;background:transparent;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px;color:#84918a;font:600 9px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}.bottom-nav-item .nav-icon{display:grid;place-items:center;width:25px;height:22px;border-radius:8px;font-size:17px;line-height:1}.bottom-nav-item.active{color:#176c5b;background:#eaf4ee}.bottom-nav-item.active .nav-icon{background:#dceee4}.calendar-panel,.section-block{scroll-margin-top:16px}
