:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c3029;background:#f7f8f5;font-synthesis:none;-webkit-font-smoothing:antialiased;--green:#174638;--green2:#24745a;--ink:#1c3029;--muted:#788780;--border:#e4e9e4;--cream:#f7f8f5;--white:#fff;--shadow:0 12px 35px rgba(19,53,39,.045)}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8ac0a7;outline-offset:2px}.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{padding:29px 20px 25px;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin:1px 8px 47px}.brand-mark{height:43px;width:43px;background:var(--green);color:#fff;display:grid;place-items:center;border-radius:14px}.brand-mark .ico{width:23px;height:23px}.brand strong{display:block;font-size:17px;font-weight:800;letter-spacing:-.65px}.brand span{display:block;color:#93a09a;font-size:11px;letter-spacing:.02em;margin-top:3px}.menu-caption{font-size:10px;color:#98a6a0;letter-spacing:.17em;font-weight:800;margin:0 12px 13px}.side-menu{display:grid;gap:5px}.nav-item{appearance:none;border:0;background:transparent;color:#63736b;border-radius:12px;display:flex;align-items:center;gap:12px;padding:14px 13px;text-align:left;font-size:13px;font-weight:650;width:100%;transition:background .17s,color .17s}.nav-item.active{color:var(--green);background:#eaf3ed}.nav-item:hover{color:var(--green);background:#f1f6f2}.sidebar-bottom{margin-top:auto;display:grid;gap:18px}.privacy-note{display:flex;align-items:flex-start;gap:9px;color:#87958e;font-size:11px;line-height:1.55;background:#f8faf8;border:1px solid #eff2ef;padding:12px;border-radius:12px}.privacy-note .ico{width:15px;height:15px;color:var(--green2)}.main{width:100%;max-width:1400px;padding:0 clamp(22px,5vw,76px) 65px;margin:0 auto}.topbar{height:104px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:10px;text-transform:uppercase;color:#8f9e94;letter-spacing:.17em;font-weight:800}.top-actions{display:flex;align-items:center;gap:14px}.btn{border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:750;padding:12px 18px;min-height:43px;text-decoration:none;transition:background .14s,transform .14s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:#28624d}.btn-muted{background:#eef2ee;color:#456352}.btn-muted:hover{background:#e3eae2}.btn-white{background:#fff;color:var(--green);border:1px solid var(--border)}.btn-white:hover{background:#f4f8f4}.btn-outline{background:transparent;border:1px solid #cbd9cf;color:var(--green)}.btn .ico{width:17px;height:17px}.view-head{display:flex;gap:16px;align-items:end;justify-content:space-between;margin:42px 0 29px}.view-head h1{font-size:clamp(27px,3.6vw,43px);font-weight:780;line-height:1.14;letter-spacing:-.055em;margin:7px 0 9px}.subtitle{font-size:14px;line-height:1.6;margin:0;color:#8b9990}.date-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:12px 15px;color:#64766d;font-size:12px;font-weight:650;white-space:nowrap;box-shadow:var(--shadow)}.date-pill .ico{width:16px;height:16px}.hero{background:#174638;background-image:radial-gradient(ellipse at 85% -20%,rgba(110,174,126,.3),transparent 54%),radial-gradient(ellipse at 0% 120%,rgba(26,102,75,.55),transparent 48%);color:white;border-radius:23px;padding:clamp(24px,3.1vw,37px);display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative;min-height:190px}.hero-content{position:relative;z-index:1}.hero .eyebrow{color:#a9d3b9}.hero h2{font-weight:780;letter-spacing:-.05em;font-size:clamp(26px,3vw,35px);margin:9px 0 12px;line-height:1.15}.hero p{color:#d1e5d8;font-size:13px;margin:0;max-width:480px;line-height:1.6}.hero-art{width:156px;height:156px;border-radius:50%;border:1px solid #ffffff31;display:grid;place-items:center;flex-shrink:0;position:relative;opacity:.85}.hero-art:after{content:"";position:absolute;width:120px;height:120px;border:1px solid #ffffff31;border-radius:50%}.hero-art .ico{width:56px;height:56px;color:#d9f0de;stroke-width:1.1}.quick-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:25px 26px 23px;margin:24px 0;box-shadow:var(--shadow)}.quick-card h3{font-size:16px;letter-spacing:-.025em;margin:0 0 5px}.quick-card p{font-size:12px;color:#8b9990;margin:0 0 16px}.quick-field{display:flex;gap:10px;align-items:stretch}.quick-input{flex:1;min-width:0;border:1px solid #dfe7df;background:#fbfcfb;color:var(--ink);border-radius:12px;min-height:49px;padding:0 15px;font-size:13px}.quick-input::placeholder{color:#aab5ad}.mic-btn{width:49px;height:49px;border:1px solid #dce7de;border-radius:12px;background:#edf5ee;display:grid;place-items:center;color:#24684c;flex-shrink:0}.mic-btn .ico{width:21px;height:21px}.mic-btn.listening{animation:micPulse 1.1s infinite;background:#fceae5;color:#bb3c35;border-color:#f8bab0}@keyframes micPulse{50%{box-shadow:0 0 0 7px #e85f3424}}.quick-help{margin-top:12px;display:flex;align-items:center;gap:7px;font-size:11px;color:#a0ada3}.quick-help .ico{width:15px;height:15px}.sections-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:36px 0 15px}.sections-header h2{font-weight:780;font-size:19px;letter-spacing:-.035em;margin:0}.sections-header small{color:#8c9c91;font-size:12px}.task-list{background:#fff;border:1px solid var(--border);border-radius:17px;overflow:hidden;box-shadow:var(--shadow)}.task-row{display:flex;align-items:center;gap:15px;padding:15px 18px;min-height:72px;border-bottom:1px solid #eff2ef}.task-row:last-child{border-bottom:0}.task-row:hover{background:#fcfdfb}.task-check{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:white;border:1.8px solid #c5d7ca;color:transparent;flex-shrink:0;padding:0}.task-check:hover{border-color:var(--green2);color:var(--green2)}.task-check.completed{background:var(--green2);border-color:var(--green2);color:#fff}.task-check .ico{width:15px;height:15px;stroke-width:2.5}.task-main{flex:1;min-width:0}.task-title{font-weight:650;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.task-title.completed{text-decoration:line-through;color:#a1aca4}.task-detail{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#91a096;font-size:11px;margin-top:5px}.task-detail .ico{width:12px;height:12px}.task-time{color:#7d9084;font-weight:650;white-space:nowrap;font-size:12px}.tag{border-radius:7px;padding:4px 7px;font-size:10px;font-weight:700;background:#ecf4ed;color:#5a8e70}.tag.private{background:#f6f0e9;color:#aa8358}.tag.overdue{background:#ffefe9;color:#bd6143}.row-tools{display:flex;gap:2px}.icon-btn{border:0;background:transparent;color:#9aa99f;display:grid;place-items:center;width:33px;height:33px;border-radius:8px;flex-shrink:0}.icon-btn:hover{color:var(--green);background:#eef4ef}.icon-btn .ico{width:17px;height:17px}.empty-state{padding:39px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;color:#8b9b90}.empty-state .empty-icon{height:55px;width:55px;border-radius:17px;display:grid;place-items:center;background:#ecf4ee;color:#488163}.empty-state .empty-icon .ico{height:25px;width:25px}.empty-state strong{font-size:14px;color:#385045}.empty-state p{margin:0;color:#99a69c;font-size:12px;line-height:1.5}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.stat{padding:18px 18px 16px;background:#fff;border:1px solid var(--border);border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-shadow:var(--shadow)}.stat strong{font-size:26px;font-weight:800;letter-spacing:-.045em}.stat span{display:block;color:#8a9a90;font-size:11px;margin-top:4px}.stat .ico{width:23px;height:23px;color:#8cb6a1}.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0 19px}.cal-toolbar h2{font-size:17px;margin:0;letter-spacing:-.025em}.toolbar-actions{display:flex;gap:8px}.round-btn{display:grid;place-items:center;height:37px;width:37px;border-radius:10px;background:#fff;border:1px solid var(--border);color:#536b5d}.round-btn:hover{background:#f0f4ef}.round-btn .ico{width:17px;height:17px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.day-tile{min-height:150px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:13px 9px;text-align:left;display:flex;flex-direction:column;gap:9px}.day-tile.selected{border-color:#31815b;box-shadow:0 0 0 1px #31815b}.day-tile.today{background:#f2f9f3}.day-tile .weekday{font-size:10px;text-transform:uppercase;color:#94a49b;font-weight:800;letter-spacing:.1em}.day-tile .day-number{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--green)}.day-tile .day-count{font-size:10px;color:#71877a;line-height:1.45}.day-tile .small-dot{height:5px;width:5px;background:#69aa7c;border-radius:50%;display:inline-block;margin-right:4px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--border)}.month-weekhead{background:#f1f5f0;padding:12px 4px;text-align:center;color:#7f9184;font-size:11px;font-weight:750}.month-cell{min-height:93px;background:#fff;border:0;border-radius:0;padding:10px 9px;text-align:left;color:#3a5947;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.month-cell.outside{background:#fbfcfa;color:#c1cac0}.month-cell.selected{outline:2px solid #448664;outline-offset:-3px;background:#f0f8f1}.month-cell.today .month-number{color:white;background:#286b4b;border-radius:999px}.month-number{font-size:12px;font-weight:700;display:grid;place-items:center;width:25px;height:25px}.month-tasks{font-size:10px;color:#618672;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.empty-month-dots{display:flex;gap:3px}.empty-month-dots b{height:5px;width:5px;border-radius:50%;background:#72a883}.toolbar-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:0 11px;min-height:45px;min-width:235px}.toolbar-search .ico{color:#91a39a;width:17px;height:17px}.toolbar-search input{border:0;background:transparent;outline:none;width:100%;font-size:12px;color:var(--ink)}.filter-tabs{display:flex;gap:7px;margin:17px 0 18px;flex-wrap:wrap}.filter-tab{border:1px solid var(--border);border-radius:9px;background:white;padding:10px 14px;color:#819187;font-size:12px;font-weight:700}.filter-tab.active{background:#e9f3eb;border-color:#c5decc;color:var(--green)}.settings-card{background:#fff;border:1px solid var(--border);border-radius:17px;padding:25px;margin:16px 0;box-shadow:var(--shadow)}.settings-card h2{font-size:18px;letter-spacing:-.025em;margin:0 0 8px}.settings-card p{font-size:12px;color:#819087;line-height:1.7;max-width:700px;margin:0 0 19px}.settings-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.settings-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-inline input{border:1px solid var(--border);border-radius:10px;background:#fbfcfa;padding:10px;font-size:14px;color:var(--ink)}.small-note{font-size:11px;color:#98a69b;margin-top:15px;line-height:1.6}.dialog-overlay{position:fixed;z-index:100;inset:0;background:rgba(19,37,29,.45);display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto;backdrop-filter:blur(3px)}.dialog-overlay[hidden]{display:none}.task-modal{background:#fff;max-width:520px;width:100%;max-height:min(92dvh,900px);overflow-y:auto;padding:26px 28px 27px;border-radius:21px;box-shadow:0 30px 80px #102f2344}.modal-header{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:19px}.modal-header h2{font-size:24px;letter-spacing:-.04em;margin:5px 0}.field{display:flex;flex-direction:column;gap:9px;margin:14px 0}.field>span{color:#51685b;font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe8df;background:#fbfcfb;border-radius:10px;padding:12px 13px;font-size:13px;color:#274134;min-height:43px}.field textarea{resize:vertical;line-height:1.5}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:10px}.toast{position:fixed;z-index:110;bottom:26px;left:50%;transform:translate(-50%,30px);background:#1b4334;color:#fff;padding:13px 20px;border-radius:12px;box-shadow:0 10px 30px #153c2c30;font-size:13px;font-weight:650;max-width:min(94vw,500px);text-align:center;opacity:0;pointer-events:none;transition:opacity .24s,transform .24s}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-nav{display:none}body.modal-open{overflow:hidden}
@media(max-width:1000px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:25px 13px}.main{padding:0 25px 58px}.week-grid{gap:6px}.day-tile{padding:12px 6px}.day-tile .day-number{font-size:20px}.date-pill{display:none}}
@media(max-width:720px){.app-shell{display:block}.sidebar{display:none}.main{padding:0 16px 105px}.topbar{height:65px}.topbar .eyebrow{font-size:10px}.topbar .btn{padding:10px 13px;min-height:38px;font-size:12px}.view-head{margin:28px 2px 21px;align-items:center}.view-head h1{font-size:31px;margin-top:4px}.subtitle{font-size:12px}.hero{border-radius:18px;padding:24px 22px;min-height:175px}.hero h2{font-size:28px}.hero p{font-size:12px;max-width:270px}.hero-art{width:75px;height:75px;position:absolute;right:18px;top:22px;opacity:.32}.hero-art:after{width:58px;height:58px}.hero-art .ico{width:30px;height:30px}.quick-card{border-radius:16px;padding:20px 16px;margin:16px 0}.quick-field{gap:7px}.quick-input{font-size:12px;padding:0 10px}.quick-add{padding:10px 12px!important;font-size:12px}.mic-btn{width:46px;height:46px}.sections-header{margin:27px 2px 12px}.sections-header h2{font-size:18px}.task-row{padding:14px 11px;gap:10px}.task-time{font-size:11px}.row-tools .icon-btn{width:29px}.stats{gap:8px}.stat{padding:14px 10px}.stat strong{font-size:22px}.stat span{font-size:10px}.stat .ico{width:18px;height:18px}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.day-tile{min-height:104px;border-radius:10px;padding:10px 4px;gap:7px;align-items:center;text-align:center}.day-tile .weekday{font-size:9px;letter-spacing:0}.day-tile .day-number{font-size:19px}.day-tile .day-count{font-size:9px}.month-cell{min-height:70px;padding:7px 3px}.month-weekhead{font-size:9px}.month-tasks{font-size:8px}.settings-card{padding:20px 17px}.task-modal{padding:23px 19px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:calc(69px + env(safe-area-inset-bottom,0px));padding:5px 8px env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:#fff;border-top:1px solid #e4eae3;box-shadow:0 -6px 22px #112d1c0c;z-index:40}.mobile-nav .nav-item{flex-direction:column;gap:4px;justify-content:center;text-align:center;padding:6px 4px;font-size:10px;border-radius:10px}.mobile-nav .nav-item .ico{width:21px;height:21px}.mobile-plus{width:48px;height:48px;border:0;border-radius:16px;background:var(--green);color:#fff;display:grid;place-items:center;justify-self:center;box-shadow:0 5px 13px #133e3150}.mobile-plus .ico{width:25px;height:25px}.toast{bottom:91px}.toolbar-search{min-width:170px;flex:1}.cal-toolbar h2{font-size:16px}}
@media(max-width:375px){.quick-card{padding:16px 10px}.quick-field{gap:5px}.quick-add span{display:none}.quick-add{padding:10px 11px!important}.week-grid{gap:2px}.day-tile .day-number{font-size:17px}.day-tile .day-count{font-size:8px}.field-grid{grid-template-columns:1fr;gap:0}.stat .ico{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.mobile-top-title{display:none}.settings-top{color:#667c6d;margin-right:2px}@media(max-width:720px){.mobile-top-title{display:inline-block;font-size:15px;font-weight:800;letter-spacing:-.035em}.topbar #topDate{display:none}.top-actions{gap:7px}.topbar .settings-top{width:35px;height:35px}}
