:root{--ink:#172238;--muted:#7b8699;--line:#e8ecf1;--paper:#fff;--canvas:#f7f8fb;--navy:#111a2b;--navy2:#1b2941;--lime:#d9f27c;--teal:#3fb99a;--orange:#f1a45e;--purple:#9d8ae8;--blue:#77a9ee;--shadow:0 10px 32px rgba(30,43,67,.055)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#fff;padding:27px 18px 17px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 21px Manrope,sans-serif;letter-spacing:-.7px;margin:1px 10px 50px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:var(--lime);border-radius:10px;color:var(--navy);font-size:21px}.brand-dot{color:var(--lime)}.workspace-label{color:#75839b;font:700 10px Manrope,sans-serif;letter-spacing:1.5px;padding:0 12px;margin:0 0 13px}.main-nav{display:grid;gap:6px}.nav-item{position:relative;display:flex;align-items:center;gap:13px;text-align:left;border:0;background:transparent;color:#9eabc0;padding:12px 13px;border-radius:10px;font-weight:600;transition:.2s}.nav-item:hover{color:white;background:#ffffff0c}.nav-item.active{background:#26334a;color:white}.nav-item.active:before{content:'';position:absolute;left:-18px;top:9px;bottom:9px;width:3px;background:var(--lime);border-radius:0 4px 4px 0}.nav-icon{font-size:19px;width:20px;text-align:center;color:#a8b5ca}.nav-item.active .nav-icon{color:var(--lime)}.nav-count{margin-left:auto;font-size:11px;background:#ffffff14;padding:3px 7px;border-radius:8px;color:#c3cde0}.sidebar-bottom{margin-top:auto}.sidebar-quote{position:relative;background:#1a273a;border-radius:13px;padding:15px 15px 16px;margin:0 3px 18px;border:1px solid #2a3548}.quote-spark{color:var(--lime);font-size:19px}.sidebar-quote p{font:700 13px Manrope;margin:7px 0 3px}.quote-sub{font-size:11px;color:#8492a8}.profile-button{display:flex;align-items:center;gap:10px;width:100%;padding:11px 8px 0;background:transparent;color:#fff;border:0;border-top:1px solid #2a3548;text-align:left}.avatar,.top-avatar{display:grid;place-items:center;width:34px;height:34px;background:#e8bfab;color:#4d3028;border-radius:50%;font-weight:700}.profile-copy{display:grid;gap:3px}.profile-copy b{font-size:12px}.profile-copy small{font-size:10px;color:#8492a8}.more{margin-left:auto;font-size:23px;color:#8693a7}.main-area{margin-left:248px;min-height:100vh}.topbar{height:72px;background:#ffffffc9;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;padding:0 40px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.crumb{display:flex;align-items:center;gap:11px;color:#9aa3b1;font-size:12px}.crumb i{font-style:normal;color:#c9ced7}.crumb b{color:#344157;font-weight:600}.top-actions{display:flex;align-items:center;gap:18px}.date-pill{font-size:12px;color:#758095}.icon-button{position:relative;border:0;background:transparent;color:#59677d;font-size:22px}.notification-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#ee896b;top:5px;right:2px;border:1px solid white}.top-avatar{width:32px;height:32px;font-size:12px}.mobile-menu{display:none}.content{max-width:1430px;margin:0 auto;padding:34px 40px 56px}.hello-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#98a2b1;font-weight:700;margin-bottom:8px}h1,h2,h3,p{margin-top:0}h1{font:800 29px Manrope,sans-serif;letter-spacing:-1.1px;margin:0 0 6px}h1 .wave{font-size:25px}.subhead{font-size:13px;color:var(--muted);margin:0}.primary-btn,.soft-btn,.add-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:9px;padding:11px 16px;background:#1c2b43;color:white;font-weight:700;font-size:12px;box-shadow:0 4px 10px #14203915;transition:.18s}.primary-btn:hover{background:#2c405f;transform:translateY(-1px)}.primary-btn .plus{font-size:17px;line-height:10px}.soft-btn{background:#edf1f6;color:#36445b;box-shadow:none}.soft-btn:hover{background:#e4e9f0}.stats-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:15px;margin-bottom:19px}.stat-card{min-height:121px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:17px 19px;box-shadow:var(--shadow);position:relative;overflow:hidden}.stat-label{font-size:11px;color:#858fa0;font-weight:600}.stat-value{font:800 24px Manrope,sans-serif;letter-spacing:-.5px;margin:9px 0 4px}.stat-foot{font-size:10px;color:#929bab}.stat-mark{position:absolute;right:16px;top:15px;width:31px;height:31px;border-radius:10px;background:#f0f5dc;color:#738c37;display:grid;place-items:center;font-size:15px}.stat-mark.orange{background:#fff1e5;color:#df9250}.stat-mark.purple{background:#f0edff;color:#8a7ad0}.stat-mark.blue{background:#e9f2ff;color:#6795d5}.xp-progress{height:5px;border-radius:9px;background:#eff1f4;margin:9px 0 6px;overflow:hidden}.xp-progress span{height:100%;display:block;background:var(--teal);border-radius:9px}.progress-meta{font-size:10px;color:#929bab;display:flex;justify-content:space-between}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(285px,.85fr);gap:18px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:20px 21px}.panel+.panel{margin-top:17px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-heading h2{font:700 15px Manrope,sans-serif;letter-spacing:-.3px;margin:0}.panel-heading p{font-size:11px;color:#929bab;margin:5px 0 0}.text-link{background:none;border:0;color:#708146;font-weight:700;font-size:11px}.day-progress{display:flex;align-items:center;gap:11px}.day-progress strong{font:700 12px Manrope}.day-progress span{font-size:10px;color:#97a0ae}.habit-list{display:grid;gap:9px}.habit-row{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #edf0f3;border-radius:11px;transition:.2s}.habit-row:hover{border-color:#dce4d4;transform:translateY(-1px)}.habit-row.done{background:#fbfcf8}.habit-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:17px;flex:none}.peach{background:#fff0e5;color:#de955d}.lavender{background:#f0edff;color:#8676ce}.blue{background:#eaf3ff;color:#6696d6}.mint{background:#e9f7ef;color:#4fa780}.habit-copy{min-width:0}.habit-copy b{display:block;font-size:12px;font-weight:700;color:#354157}.habit-copy small{display:block;color:#9aa3b0;font-size:10px;margin-top:4px}.habit-xp{margin-left:auto;color:#96a083;font-size:10px;white-space:nowrap}.check-control{width:22px;height:22px;border:1.5px solid #d6dce4;background:white;color:white;border-radius:7px;display:grid;place-items:center;flex:none;font-size:13px;transition:.18s}.check-control:hover{border-color:#90ac52}.check-control.checked{background:#8ca94d;border-color:#8ca94d}.add-row{width:100%;border:1px dashed #dce2e8;background:#fff;border-radius:10px;padding:10px;color:#7c8799;font-size:11px;margin-top:10px}.add-row:hover{border-color:#9fb66f;color:#6d8539;background:#fbfdf6}.task-list{display:grid;gap:2px}.task-row{display:flex;align-items:center;gap:11px;padding:11px 1px;border-bottom:1px solid #f0f2f5}.task-row:last-child{border-bottom:0}.task-copy{min-width:0;flex:1}.task-copy b{font-size:12px;font-weight:600}.task-copy small{display:block;color:#9aa3b0;font-size:10px;margin-top:4px}.task-row.done .task-copy b{text-decoration:line-through;color:#aab1bc}.priority{font-size:9px;font-weight:700;padding:4px 7px;border-radius:6px;background:#fff1e7;color:#dc8a4a}.priority.Medium{background:#fff7de;color:#bd973b}.priority.Low{background:#edf6ef;color:#65a37a}.task-date{font-size:10px;color:#919bac;white-space:nowrap}.streak-card{background:var(--navy);border-radius:14px;padding:20px;color:white;position:relative;overflow:hidden}.streak-card:after{content:'✳';position:absolute;right:-8px;top:2px;font-size:111px;color:#ffffff08}.streak-top{display:flex;justify-content:space-between;align-items:center;color:#a7b3c7;font-size:11px}.streak-flame{font-size:19px;color:#ffac5b}.streak-count{font:800 28px Manrope;margin:9px 0 0}.streak-count span{font-size:12px;font-weight:500;color:#9eabc0}.streak-note{font-size:10px;color:#a5b2c7;margin:4px 0 16px}.week-dots{display:flex;justify-content:space-between;position:relative;padding-top:2px}.week-dots:before{content:'';position:absolute;height:1px;left:7%;right:7%;top:11px;background:#ffffff26}.week-day{display:grid;justify-items:center;gap:7px;font-size:9px;color:#8794aa;z-index:1}.week-day .dot{width:18px;height:18px;border-radius:50%;border:1px solid #58657a;background:#202d42;display:grid;place-items:center;font-size:9px;color:#172238}.week-day.complete .dot{background:var(--lime);border-color:var(--lime)}.week-day.today{color:white}.week-day.today .dot{border:2px solid var(--lime);color:var(--lime);background:#26334a}.week-day.partial .dot{border-color:#ffb46a;color:#ffb46a}.warning-banner{display:flex;align-items:flex-start;gap:10px;background:#fff6e7;border:1px solid #f7e6c3;color:#876b35;border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5;margin:0 0 15px}.warning-banner b{display:block;color:#775728;font-size:11px;margin-bottom:2px}.warning-icon{font-size:16px}.week-chart{height:100px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid #edf0f4;padding:0 4px;gap:14px}.chart-col{display:grid;justify-items:center;gap:7px;flex:1;height:100%;align-content:end}.chart-bar-wrap{height:82px;width:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:min(25px,70%);border-radius:6px 6px 2px 2px;background:#e8edf1;min-height:5px}.chart-col.today .chart-bar{background:#d9ed9f}.chart-col span{font-size:9px;color:#9ca5b2;margin-bottom:8px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:5px 0 22px}.section-title h1{font-size:27px}.content-wide{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.calendar-card{padding:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin:2px 0 20px}.calendar-toolbar b{font:700 16px Manrope}.calendar-arrows{display:flex;gap:7px}.calendar-arrows button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:white;color:#566278}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-dow{text-align:center;padding:7px 0;color:#9ba4b1;font-size:10px;font-weight:700}.calendar-day{height:78px;border:1px solid #f0f2f5;border-radius:9px;padding:8px;color:#526077;font-size:11px;position:relative;background:#fff}.calendar-day.outside{opacity:.35}.calendar-day.today{border-color:#a9c56d;background:#fbfdf4}.calendar-day .day-num{font-weight:700}.calendar-day .day-dot{position:absolute;left:8px;bottom:8px;width:7px;height:7px;border-radius:50%;background:#8cb34d}.calendar-day .day-percent{position:absolute;right:7px;bottom:6px;font-size:9px;color:#85916b}.calendar-day.missed .day-dot{background:#f0b56e}.calendar-key{display:flex;gap:14px;margin-top:15px;color:#8792a2;font-size:10px}.key-dot{display:inline-flex;align-items:center;gap:5px}.key-dot i{display:block;width:7px;height:7px;border-radius:50%;background:#8cb34d}.key-dot.partial i{background:#f0b56e}.cal-side .panel-heading{margin-bottom:12px}.mini-stat{padding:13px 0;border-bottom:1px solid #eff1f4;display:flex;justify-content:space-between;font-size:11px;color:#828da0}.mini-stat b{color:#39465b}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.achievement{background:white;border:1px solid var(--line);border-radius:14px;padding:20px;min-height:185px;box-shadow:var(--shadow)}.achievement-icon{width:45px;height:45px;border-radius:14px;background:#f2f5df;display:grid;place-items:center;font-size:22px;margin-bottom:15px}.achievement.locked{opacity:.62}.achievement.locked .achievement-icon{background:#f0f1f4;filter:grayscale(1)}.achievement h3{font:700 14px Manrope;margin:0 0 6px}.achievement p{font-size:11px;color:#8993a3;line-height:1.5;margin:0}.achievement small{display:block;color:#87934f;font-size:10px;font-weight:700;margin-top:13px}.empty-state{text-align:center;padding:38px 20px;color:#8d97a6}.empty-icon{font-size:30px;margin-bottom:11px}.empty-state b{display:block;color:#445168;font-size:13px;margin-bottom:5px}.empty-state span{font-size:11px}.task-filters{display:flex;gap:7px;margin-bottom:13px}.filter-chip{border:1px solid #e6eaf0;border-radius:20px;background:white;color:#8792a2;font-size:10px;padding:7px 12px}.filter-chip.active{background:#202f48;border-color:#202f48;color:white}.task-full{padding:19px 20px}.task-full .task-row{padding:14px 0}.task-full .task-copy b{font-size:13px}.task-full .task-date{min-width:90px;text-align:right}.task-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recurring-label{font-size:10px;color:#8b96a7;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin:0 0 8px}.modal-backdrop{display:none;position:fixed;inset:0;background:#0e1726a6;z-index:50;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{width:min(440px,100%);background:white;border-radius:17px;padding:25px;box-shadow:0 24px 80px #050a1450}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.modal-head h2{font:800 19px Manrope;margin:0 0 5px}.modal-head p{font-size:11px;color:#8993a2;margin:0}.modal-close{border:0;background:#f2f4f7;width:29px;height:29px;border-radius:8px;color:#6d7787}.form-field{display:grid;gap:7px;margin-bottom:14px}.form-field label{font-size:11px;color:#657187;font-weight:700}.form-field input,.form-field select{width:100%;border:1px solid #e2e6ec;border-radius:9px;padding:11px 12px;outline:0;color:#26344a;background:white}.form-field input:focus,.form-field select:focus{border-color:#a6bd6e;box-shadow:0 0 0 3px #e9f1d8}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-line{display:flex;align-items:flex-start;gap:10px;border:1px solid #edf0f3;padding:12px;border-radius:10px;margin:5px 0 17px}.toggle-line input{accent-color:#8ca94d;margin-top:2px}.toggle-line b{display:block;font-size:11px}.toggle-line small{font-size:10px;color:#929baa;display:block;margin-top:4px}.form-submit{width:100%;padding:12px}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#18243a;color:white;padding:12px 17px;border-radius:10px;font-size:12px;box-shadow:0 10px 28px #10182735;z-index:80;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.notification-pop{position:fixed;right:30px;top:62px;z-index:30;width:min(320px,calc(100vw - 30px));background:white;border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 45px #16223a20;padding:17px}.notification-pop h3{font:700 13px Manrope;margin:0 0 10px}.notification-item{font-size:11px;color:#68758b;line-height:1.5;padding:10px 0;border-top:1px solid #eff1f4}.notification-item small{display:block;color:#a0a8b4;margin-top:5px}.notification-item.empty{color:#9099a8}.mobile-overlay{display:none}
@media(max-width:1100px){.content{padding:29px 26px 45px}.topbar{padding:0 26px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(255px,.8fr)}.content-wide{grid-template-columns:minmax(0,1fr) 275px}.calendar-day{height:66px}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:transform .25s;box-shadow:10px 0 40px #0c142538}.sidebar.open{transform:translateX(0)}.mobile-overlay.show{display:block;position:fixed;inset:0;background:#0e172666;z-index:15}.main-area{margin-left:0}.mobile-menu{display:block;border:0;background:transparent;color:#46546b;font-size:19px;margin-right:12px}.topbar{height:62px;padding:0 18px;justify-content:flex-start}.crumb{flex:1}.date-pill{display:none}.top-actions{gap:10px}.content{padding:25px 18px 40px}.dashboard-grid,.content-wide{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:14px}.right-column .panel{margin:0}.cal-side{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cal-side .panel{margin:0}.calendar-day{height:72px}.achievement-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.content{padding:21px 13px 32px}.topbar{padding:0 13px}.hello-row{align-items:flex-start;gap:12px}.hello-row h1{font-size:24px}.hello-row .primary-btn{padding:10px 12px;font-size:11px;white-space:nowrap}.stats-grid{gap:9px}.stat-card{padding:14px;min-height:108px}.stat-value{font-size:21px}.stat-mark{width:27px;height:27px;right:12px;top:12px}.panel{padding:16px 14px}.habit-row{padding:9px;gap:9px}.habit-icon{width:34px;height:34px}.habit-xp{display:none}.right-column,.cal-side{grid-template-columns:1fr}.week-chart{gap:8px}.calendar-card{padding:13px 9px}.calendar-day{height:52px;padding:6px;font-size:10px}.calendar-day .day-dot{bottom:6px;left:6px;width:6px;height:6px}.calendar-day .day-percent{font-size:8px;right:4px;bottom:4px}.calendar-grid{gap:3px}.calendar-dow{font-size:9px}.achievement-grid{grid-template-columns:1fr 1fr;gap:9px}.achievement{padding:14px;min-height:165px}.achievement h3{font-size:12px}.task-full{padding:14px}.task-full .task-date{display:none}.task-columns{grid-template-columns:1fr}.section-title{align-items:center}.section-title h1{font-size:23px}.top-avatar{width:29px;height:29px}.icon-button{font-size:20px}}

/* Clearer zones, a persistent theme switch, and celebratory progress feedback. */
.panel,.stat-card,.streak-card{box-shadow:0 5px 18px rgba(24,38,60,.07),0 1px 2px rgba(24,38,60,.04)}
.panel{border-color:#dfe5ed}.stat-card{border-color:#dfe5ed}.dashboard-grid,.content-wide{gap:21px}.panel+.panel{margin-top:20px}.theme-toggle:hover{background:#f1f4f8;transform:translateY(-1px)}.check-control{position:relative;overflow:visible}.habit-row,.task-row{position:relative}.check-control.just-checked{animation:check-pop .48s cubic-bezier(.2,.85,.25,1.3);box-shadow:0 0 0 5px rgba(140,169,77,.16)}.check-control.just-checked:after{content:'';position:absolute;inset:-7px;border:2px solid #a8c66c;border-radius:10px;animation:check-ring .55s ease-out forwards}.just-completed{animation:row-celebrate .5s ease-out}.xp-float{position:absolute;right:42px;top:7px;z-index:2;color:#6f9337;font-size:11px;font-weight:800;pointer-events:none;animation:xp-rise .95s ease-out forwards}.count-changing{display:inline-block;animation:count-pop .34s ease-out}.xp-progress span{transition:width .75s cubic-bezier(.2,.7,.2,1)}
@keyframes check-pop{0%{transform:scale(.82)}48%{transform:scale(1.23) rotate(-5deg)}75%{transform:scale(.94) rotate(2deg)}100%{transform:scale(1)}}@keyframes check-ring{0%{opacity:.85;transform:scale(.55)}100%{opacity:0;transform:scale(1.38)}}@keyframes row-celebrate{0%{background:#fff}40%{background:#f3f9e5}100%{background:transparent}}@keyframes xp-rise{0%{opacity:0;transform:translateY(8px) scale(.85)}20%{opacity:1}100%{opacity:0;transform:translateY(-24px) scale(1.08)}}@keyframes count-pop{0%{transform:scale(.9);color:#86a941}55%{transform:scale(1.18);color:#73952f}100%{transform:scale(1);color:inherit}}
:root{--ink:#e7edf6;--muted:#a0adc0;--line:#354258;--paper:#1e2a3d;--canvas:#121b2a;--navy:#101827;--shadow:0 8px 26px rgba(0,0,0,.22)}
:root body{background:var(--canvas);color:var(--ink)}:root .topbar{background:rgba(23,34,51,.94);border-color:#2d394c}:root .crumb b,:root .mobile-menu{color:#d9e1ed}:root .crumb{color:#94a2b7}:root .panel,:root .stat-card,:root .achievement,:root .calendar-day{background:#1d293b;border-color:#354258;color:var(--ink)}:root .panel{box-shadow:0 7px 22px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.025)}:root .streak-card{background:#202f47;border:1px solid #3a4a63}:root .stat-label,:root .stat-foot,:root .subhead,:root .panel-heading p,:root .habit-copy small,:root .task-copy small,:root .mini-stat,:root .achievement p{color:#9eacc0}:root .stat-value,:root .panel-heading h2,:root .habit-copy b,:root .task-copy b,:root .achievement h3,:root .mini-stat b{color:#e6edf7}:root .habit-row,:root .task-row{background:#202d42;border-color:#354258}:root .habit-row.done{background:#202f3d}:root .add-row,:root .soft-btn,:root .filter-chip,:root .calendar-arrows button,:root :root .add-row:hover,:root .soft-btn:hover,:root .theme-toggle:hover{background:#2d3d56}:root .check-control{background:#26344a;border-color:#56647a}:root .check-control.checked{background:#8ca94d;border-color:#8ca94d;color:white}:root .calendar-day.today{background:#283744;border-color:#9cb75b}:root .calendar-day.outside{background:#192437}:root .calendar-dow,:root .week-chart span{color:#91a0b6}:root .week-chart{border-color:#354258}:root .chart-bar{background:#39485e}:root .chart-col.today .chart-bar{background:#9cb75b}:root .calendar-toolbar b{color:#e5ebf4}:root .calendar-day{color:#dbe4f2}:root .empty-state{color:#a0adc0}:root .empty-state b{color:#dfe7f3}:root .modal{background:#1d293b;color:#e6edf7}:root .modal-head p,:root .form-field label{color:#9eacc0}:root .form-field input,:root .form-field select{background:#172235;border-color:#3b4a60;color:#e6edf7}:root .toggle-line{border-color:#3b4a60}:root .toggle-line b{color:#e6edf7}:root .notification-pop{background:#1d293b;border-color:#354258;color:#e6edf7}:root .notification-item{color:#b7c2d3;border-color:#354258}:root .task-row.done .task-copy b{color:#9eacc0}:root .streak-count[style]{color:#e6edf7!important}:root .streak-count[style] span{color:#9eacc0!important}
@media(max-width:520px){.top-actions{gap:7px}}


/* Crisp system typography and more prominent, individually colored summary cards. */
body,button,input,select,.brand,.workspace-label,h1,.panel-heading h2,.stat-value,.streak-count,.achievement h3,.calendar-toolbar b{font-family:Inter,"Segoe UI",Arial,sans-serif!important}
.stat-card{min-height:156px;padding:22px 21px;border-width:1px;box-shadow:0 8px 22px rgba(24,38,60,.085),0 2px 4px rgba(24,38,60,.035)}
.stat-card .stat-label{font-size:12px;font-weight:700}
.stat-card .stat-value{font-size:32px;letter-spacing:-1px;margin:14px 0 7px}
.stat-card .stat-foot{font-size:11px}
.stat-card .stat-mark{width:37px;height:37px;border-radius:12px;font-size:17px}
.stat-unit{font:600 14px Inter,"Segoe UI",Arial,sans-serif;color:inherit;opacity:.67;margin-left:2px}
.stat-progress{background:#eaf0ff;border-color:#d1dcff}.stat-progress .stat-label,.stat-progress .stat-foot{color:#6172aa}.stat-progress .stat-value{color:#4059bd}.stat-progress .stat-mark{background:#d7e1ff;color:#4d64c0}
.stat-level{background:#eaf7ef;border-color:#cfe9d8}.stat-level .stat-label,.stat-level .progress-meta{color:#56816b}.stat-level .stat-value{color:#286749}.stat-level .stat-mark{background:#d2eedb;color:#39865b}.stat-level .xp-progress{background:#d5ebdd}
.stat-streak{background:#fff1e7;border-color:#f4dac8}.stat-streak .stat-label,.stat-streak .stat-foot{color:#a16b4d}.stat-streak .stat-value{color:#a85332}.stat-streak .stat-mark{background:#ffe0c9;color:#cf7544}
.stat-habits{background:#f1edff;border-color:#ddd5fa}.stat-habits .stat-label,.stat-habits .stat-foot{color:#786ba7}.stat-habits .stat-value{color:#6653a6}.stat-habits .stat-mark{background:#e1dafb;color:#7664bd}
:root .stat-progress{background:#202f4d;border-color:#3c5279}:root .stat-progress .stat-label,:root .stat-progress .stat-foot{color:#aabbe1}:root .stat-progress .stat-value{color:#e2eaff}:root .stat-progress .stat-mark{background:#34486f;color:#c6d3fa}
:root .stat-level{background:#1d3933;border-color:#355d4c}:root .stat-level .stat-label,:root .stat-level .progress-meta{color:#a5ccb6}:root .stat-level .stat-value{color:#d4f1de}:root .stat-level .stat-mark{background:#2e5344;color:#a6e0bc}:root .stat-level .xp-progress{background:#385947}
:root .stat-streak{background:#422e2a;border-color:#6a493d}:root .stat-streak .stat-label,:root .stat-streak .stat-foot{color:#dfb39b}:root .stat-streak .stat-value{color:#ffe1cf}:root .stat-streak .stat-mark{background:#624135;color:#ffc59e}
:root .stat-habits{background:#302d49;border-color:#514a78}:root .stat-habits .stat-label,:root .stat-habits .stat-foot{color:#c2b9e8}:root .stat-habits .stat-value{color:#e5ddff}:root .stat-habits .stat-mark{background:#4a436d;color:#d0c5ff}
@media(max-width:1100px){.stat-card{min-height:148px}}
@media(max-width:520px){.stat-card{min-height:125px;padding:15px 14px}.stat-card .stat-value{font-size:27px;margin:11px 0 5px}.stat-card .stat-label{font-size:11px}.stat-card .stat-foot{font-size:10px}.stat-card .stat-mark{width:30px;height:30px;font-size:14px}.stat-unit{font-size:12px}}

/* Dashboard reference direction: instrument-panel dark green, warm gold, and mono detail. */
:root{--ink:#d9dfd9;--muted:#87928a;--line:#29332e;--paper:#121916;--canvas:#0b100e;--navy:#090e0c;--shadow:0 8px 22px rgba(0,0,0,.2)}
:root body{background:#0b100e;color:#d9dfd9;font-family:"IBM Plex Sans","Segoe UI",sans-serif!important}
:root .sidebar{width:190px;background:#090e0c;border-right:1px solid #1c2520;padding:19px 12px 12px;box-shadow:none}
:root .brand{font:600 14px "IBM Plex Mono",monospace!important;letter-spacing:2px;text-transform:uppercase;margin:2px 9px 30px;gap:9px}
:root .brand-mark{width:23px;height:23px;border-radius:6px;background:#d4aa4f;color:#17180e;font-size:15px}
:root .brand-dot{color:#d4aa4f}
:root .workspace-label{font:500 8px "IBM Plex Mono",monospace!important;letter-spacing:1.5px;color:#737e75;padding:0 10px;margin-bottom:10px}
:root .nav-item{font:500 11px "IBM Plex Sans","Segoe UI",sans-serif!important;border-radius:4px;padding:9px 10px;gap:10px;color:#89928c}
:root .nav-item.active{background:#19221d;color:#e2e6de}
:root .nav-item.active:before{left:-12px;top:5px;bottom:5px;width:2px;background:#d7aa45}
:root .nav-icon{font-size:15px;color:#89958c}
:root .nav-item.active .nav-icon{color:#d7aa45}
:root .nav-count{background:#332a1b;color:#d2a949;border-radius:3px}
:root .sidebar-quote{background:#111915;border-color:#26312b;border-radius:5px;padding:11px;margin:0 2px 11px}
:root .sidebar-quote p{font:500 10px "IBM Plex Sans",sans-serif!important;color:#b4beb5}
:root .quote-sub{font:9px "IBM Plex Mono",monospace;color:#6e7c71}
:root .quote-spark{color:#d4aa4f}
:root .profile-button{border-color:#26312b;padding-top:9px}
:root .profile-copy b{font-size:10px;font-weight:500;color:#c8d0c9}
:root .profile-copy small{font:8px "IBM Plex Mono",monospace;color:#738076}
:root .main-area{margin-left:190px;background:#0c120f}
:root .topbar{height:49px;background:#0d1411;border-color:#202923;padding:0 23px;box-shadow:none}
:root .crumb{font:9px "IBM Plex Mono",monospace;color:#818d83;gap:9px}
:root .crumb b{font-weight:500;color:#c6cec6}
:root .top-actions{gap:10px}
:root .date-pill{font:9px "IBM Plex Mono",monospace;color:#a6afa5}
:root 
:root .theme-toggle:hover{background:#1a241d;border-color:#68754e}
:root .icon-button{color:#a9b2aa;font-size:17px}
:root .top-avatar{width:25px;height:25px;background:#222d25;color:#d0d9cd;font:10px "IBM Plex Mono",monospace;border:1px solid #3a463c}
:root .mobile-menu{color:#c6cec6}
:root .content{max-width:none;margin:0;padding:20px 23px 34px}
:root .hello-row{align-items:flex-end;margin-bottom:15px}
:root .eyebrow{font:500 8px "IBM Plex Mono",monospace;letter-spacing:1.5px;color:#838e83;margin-bottom:6px}
:root h1{font:500 23px "IBM Plex Sans","Segoe UI",sans-serif!important;letter-spacing:-.4px;color:#e0e5df;margin-bottom:3px}
:root .subhead{font:10px "IBM Plex Sans",sans-serif;color:#87938a}
:root .primary-btn{background:#d2a544;color:#17190f;border-radius:4px;padding:8px 11px;font:600 10px "IBM Plex Sans",sans-serif;box-shadow:none}
:root .primary-btn:hover{background:#e1b655;color:#15170d}
:root .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}
:root .stat-card{min-height:105px;padding:14px 15px;border:1px solid #29332e;border-radius:5px;box-shadow:none;overflow:hidden}
:root .stat-card .stat-label{font:500 8px "IBM Plex Mono",monospace;letter-spacing:1.1px;color:#88958a}
:root .stat-card .stat-value{font:500 25px "IBM Plex Sans",sans-serif!important;letter-spacing:-.5px;margin:11px 0 4px;color:#e0e5df}
:root .stat-card .stat-foot{font:9px "IBM Plex Mono",monospace;color:#77847a}
:root .stat-card .stat-mark{width:25px;height:25px;border:1px solid #344036;background:#1a231d;border-radius:4px;font-size:12px}
:root .stat-progress{background:#141c17;border-color:#303b33}
:root .stat-progress .stat-value{color:#e0b450}
:root .stat-progress .stat-mark{color:#dcaf4a;background:#27241a;border-color:#48402b}
:root .stat-level{background:#141b17;border-color:#2d3931}
:root .stat-level .stat-value{color:#c1d0bd}
:root .stat-level .stat-mark{color:#a9c08e;background:#20291e;border-color:#394333}
:root .stat-level .progress-meta{font:8px "IBM Plex Mono",monospace;color:#89968a}
:root .stat-level .xp-progress{height:3px;background:#283229;margin:7px 0 4px}
:root .stat-level .xp-progress span{background:#8da677}
:root .stat-streak{background:#191811;border-color:#3a3422}
:root .stat-streak .stat-value{color:#ddb45a}
:root .stat-streak .stat-mark{color:#d5ad50;background:#282317;border-color:#4a4028}
:root .stat-habits{background:#141a18;border-color:#2c3631}
:root .stat-habits .stat-value{color:#bdd0c7}
:root .stat-habits .stat-mark{color:#a8c1b1;background:#202a25;border-color:#35443a}
:root .trend-panel,:root .dashboard-lower>.panel{background:#111815;border:1px solid #29332e;border-radius:5px;padding:14px 15px;box-shadow:none}
:root .trend-panel{margin:0 0 10px!important}
:root .panel-heading{margin-bottom:10px;align-items:center}
:root .panel-heading h2{font:500 13px "IBM Plex Sans",sans-serif!important;letter-spacing:0;color:#d6ded6;margin:0}
:root .panel-heading p{font:9px "IBM Plex Mono",monospace;color:#7c897e;margin:4px 0 0}
:root .chart-legend{display:flex;align-items:center;gap:16px;font:8px "IBM Plex Mono",monospace;color:#98a398}
:root .chart-legend>span{display:flex;align-items:center;gap:6px}
:root .chart-legend i{width:6px;height:6px;border-radius:50%;background:#d2a544}
:root .text-link{color:#d2aa51;font:9px "IBM Plex Mono",monospace}
:root .week-chart{height:122px;align-items:flex-end;gap:0;padding:5px 2px 0;border:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#202923 30px)}
:root .week-chart .chart-col{position:relative;gap:6px;align-content:end}
:root .week-chart .chart-bar-wrap{height:100px;align-items:flex-end;border-bottom:1px solid #303b34}
:root .week-chart .chart-bar{width:min(24px,42%);min-height:2px;background:#515b4c;border-radius:2px 2px 0 0;transition:height .7s ease,background .2s}
:root .week-chart .chart-col.today .chart-bar{background:#d2a544}
:root .week-chart .chart-col span{font:8px "IBM Plex Mono",monospace;letter-spacing:.5px;color:#748076;margin:0 0 3px}
:root .week-chart .chart-col.today span{color:#d2a544}
:root .trend-scale{display:flex;justify-content:space-between;font:7px "IBM Plex Mono",monospace;color:#657166;padding:0 2px}
:root .dashboard-lower{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:10px;align-items:start}
:root .dashboard-lower>.panel{margin:0;min-width:0}
:root .habit-list{gap:5px}
:root .habit-row,:root .task-row{background:#141c18;border:1px solid #253029;border-radius:4px;padding:8px 9px;gap:8px}
:root .habit-row:hover,:root .task-row:hover{border-color:#536044;transform:none}
:root .habit-row.done{background:#151d18}
:root .habit-icon{width:29px;height:29px;border-radius:4px;background:#25271c;color:#c3a65b;font-size:14px}
:root .habit-copy b,:root .task-copy b{font:500 10px "IBM Plex Sans",sans-serif;color:#d2dbd2}
:root .habit-copy small,:root .task-copy small{font:8px "IBM Plex Mono",monospace;color:#738076;margin-top:3px}
:root .habit-xp{font:8px "IBM Plex Mono",monospace;color:#a89057}
:root .check-control{width:17px;height:17px;min-width:17px;background:#101713;border:1px solid #435047;border-radius:3px;color:white;font-size:10px}
:root .check-control.checked{background:#9aab56;border-color:#9aab56}
/* Simple checkbox feedback, beside the existing checkbox styles. */
.check-control.just-checked,.check-control.just-unchecked{animation:check-pop .32s cubic-bezier(.2,.85,.25,1.25)!important;}
.check-control.just-checked{box-shadow:0 0 0 4px #a65de640!important;}
.check-control.just-unchecked{box-shadow:0 0 0 4px #c64f5840!important;}
.check-control.just-checked:after,.check-control.just-unchecked:after{content:""!important;position:absolute!important;inset:-4px!important;border:1px solid #c89ae9!important;border-radius:3px!important;animation:check-ring .34s ease-out forwards!important;}
.check-control.just-unchecked:after{border-color:#d7666f!important;}
:root .add-row{background:#121915;border:1px dashed #3a473e;border-radius:4px;padding:7px;color:#b49a5b;font:9px "IBM Plex Mono",monospace;margin-top:7px}
:root .add-row:hover{background:#1a231d;border-color:#86713d;color:#e3bc60}
:root .task-subhead{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #253029;margin-top:8px;padding-top:7px;font:8px "IBM Plex Mono",monospace;letter-spacing:1px;color:#7e8a80}
:root .task-subhead:first-of-type{border-top:0;margin-top:0;padding-top:0}
:root .compact-list{margin-top:6px}
:root .priority{font:7px "IBM Plex Mono",monospace;padding:3px 5px;border-radius:3px;background:#332c1b;color:#d5ad50}
:root .priority.Medium{background:#2c2a1d;color:#c9b45f}
:root .priority.Low{background:#1d2a22;color:#9bb394}
:root .streak-panel .streak-flame{color:#d5a742}
:root .streak-count{font:500 29px "IBM Plex Sans",sans-serif!important;color:#d8ad4e;margin:6px 0 0}
:root .streak-count span{font:9px "IBM Plex Mono",monospace;color:#89958a}
:root .streak-note{font:9px "IBM Plex Mono",monospace;color:#7f8b80;margin:3px 0 11px}
:root .week-dots:before{background:#39443b}
:root .week-day{font:8px "IBM Plex Mono",monospace;color:#7a877c;gap:5px}
:root .week-day .dot{width:17px;height:17px;background:#18211b;border:1px solid #3c483e;color:#101510;font:9px "IBM Plex Mono",monospace}
:root .week-day.complete .dot{background:#a9b66c;border-color:#a9b66c}
:root .week-day.today .dot{border:1px solid #d4a943;background:#292416;color:#d4a943}
:root .streak-rule{border-top:1px solid #29332e;margin-top:12px;padding-top:9px}
:root .streak-rule span{font:8px "IBM Plex Mono",monospace;letter-spacing:1px;color:#b5944e}
:root .streak-rule p{font:9px "IBM Plex Sans",sans-serif;color:#828e83;line-height:1.5;margin:5px 0 0}
:root .warning-banner{background:#272319;border:1px solid #514329;color:#d0b875;border-radius:4px;font:9px "IBM Plex Sans",sans-serif;padding:8px;margin-bottom:8px}
:root .warning-banner b{color:#e0be67;font:500 9px "IBM Plex Sans",sans-serif}
:root .empty-state{padding:17px 8px;color:#7d8b80}
:root .empty-state b{color:#b7c0b7;font-size:10px}
:root .empty-state span{font:8px "IBM Plex Mono",monospace}
:root .compact-empty{padding:9px 4px;text-align:left}
:root .panel+.panel{margin-top:0}
:root .stat-unit{font:8px "IBM Plex Mono",monospace;color:#89958a}
:root .theme-toggle 
:root .notification-pop{background:#121916;border:1px solid #303a33;border-radius:4px;color:#d7dfd8}
:root .notification-pop h3{font:500 11px "IBM Plex Sans",sans-serif}
:root .notification-item{font:9px "IBM Plex Sans",sans-serif;border-color:#29332e}
:root .notification-item small{font:8px "IBM Plex Mono",monospace;color:#768277}
:root .modal{background:#121916;border:1px solid #344038;border-radius:5px;color:#d9dfd9}
:root .modal-head h2{font:500 16px "IBM Plex Sans",sans-serif}
:root .form-field input,:root .form-field select{background:#0d1410;border-color:#344038;border-radius:4px;color:#d9dfd9;font:10px "IBM Plex Sans",sans-serif}
:root .form-field label{font:9px "IBM Plex Mono",monospace}
:root .toast{background:#d2a544;color:#15170e;border-radius:4px;font:9px "IBM Plex Mono",monospace}
:root .calendar-day{background:#111815;border-color:#29332e;color:#cfd7cf}
:root .calendar-day.today{background:#1e2418;border-color:#b3923e}
:root .calendar-day .day-dot{background:#d2a544}
:root .calendar-day .day-percent{color:#d2a544;font:7px "IBM Plex Mono",monospace}
:root .calendar-arrows button{background:#121916;border-color:#354139;border-radius:3px;color:#cbd3cb}
:root .achievement{background:#121916;border:1px solid #29332e;border-radius:5px;box-shadow:none}
:root .achievement-icon{background:#25251a;color:#d2a544;border-radius:4px}
:root .achievement h3{font:500 12px "IBM Plex Sans",sans-serif;color:#d9dfd9}
:root .achievement p{font:9px "IBM Plex Sans",sans-serif;color:#89958b}
:root .achievement small{font:8px "IBM Plex Mono",monospace;color:#c1a04c}
:root .mini-stat{font:9px "IBM Plex Mono",monospace;color:#879287;border-color:#29332e}
:root .mini-stat b{color:#d4ddd4}
@media(max-width:1100px){:root .dashboard-lower{grid-template-columns:1fr 1fr}:root .dashboard-lower>.streak-panel{grid-column:span 2}}
@media(max-width:780px){:root .sidebar{width:230px}:root .main-area{margin-left:0}:root .content{padding:17px 16px 28px}:root .topbar{padding:0 15px}:root .dashboard-lower{grid-template-columns:1fr}:root .dashboard-lower>.streak-panel{grid-column:auto}}
@media(max-width:520px){:root .stats-grid{grid-template-columns:1fr 1fr;gap:7px}:root .stat-card{min-height:90px;padding:10px}:root .stat-card .stat-value{font-size:22px!important;margin:8px 0 3px}:root .stat-card .stat-label{font-size:7px}:root .stat-card .stat-mark{width:21px;height:21px}:root .hello-row h1{font-size:20px}:root .hello-row .primary-btn{font-size:9px;padding:7px}:root .date-pill{display:none}:root :root :root .week-chart{height:105px}:root .week-chart .chart-bar-wrap{height:83px}:root .trend-panel,:root .dashboard-lower>.panel{padding:12px}}
