:root{--ink:#233d36;--muted:#73857c;--green:#2d6553;--deep:#173c33;--light:#eff4ec;--cream:#f9f8f2;--border:#e4ebe2;--accent:#d49171}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px}button,input,select{font:inherit}a{color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d49171;outline-offset:3px}.top{background:#fff;border-bottom:1px solid var(--border)}.top-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:16px 26px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:20px;letter-spacing:-1px}.brand b{font-weight:400}.brand-icon,.auth-mark{display:grid;place-items:center;border-radius:13px;background:var(--green);color:#fff;width:38px;height:38px;font-size:26px}.top-right{display:flex;align-items:center;gap:14px}.user-pill{background:#e8f0e8;border-radius:30px;padding:8px 13px;font-weight:700;font-size:12px}.logout{border:0;background:none;color:#6e8076;padding:7px;width:auto;font-size:12px}.wrap{max-width:1180px;margin:auto;padding:54px 26px 0}.welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{color:#82988a;font-size:10px;font-weight:800;letter-spacing:.17em}.welcome h1,.auth h1{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:-1.8px;line-height:1.12;margin:10px 0}.welcome p,.auth p,.create p{color:var(--muted);margin:10px 0 0;line-height:1.5}.date-chip{background:#fff;border:1px solid var(--border);padding:11px 16px;border-radius:30px;color:#789082;font-size:12px}.nav{display:flex;gap:7px;overflow:auto;border-bottom:1px solid #dce7dc;margin-bottom:34px;scrollbar-width:none}.nav a{white-space:nowrap;text-decoration:none;padding:13px 16px 15px;color:#819187;font-weight:650;border-bottom:3px solid transparent}.nav a.active{color:var(--deep);border-color:var(--green)}.nav a span,.count{display:inline-block;background:#e7efe6;color:#66806c;border-radius:20px;font:700 11px system-ui;padding:4px 8px;margin-left:4px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.section-title{display:flex;justify-content:space-between;align-items:end;margin:0 0 18px}.section-title h2,.create h2,.stat h2{font-family:Georgia,serif;font-size:24px;font-weight:400;letter-spacing:-.5px;margin:7px 0}.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 18px rgba(38,74,47,.035)}.task-list{display:grid;gap:10px}.task{padding:18px 20px}.task-main{display:flex;align-items:flex-start;gap:14px}.task-body{flex:1;min-width:0;padding-top:3px}.task-body strong,.shop-row strong,.done-row strong{overflow-wrap:anywhere}.meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:#819187;font-size:12px;line-height:1.5;margin-top:8px}.check{width:26px;height:26px;border:1.5px solid #bdcebc;border-radius:50%;padding:0;color:transparent;background:#fff;font-weight:bold}.check:hover,.check.checked{color:white;background:var(--green);border-color:var(--green)}.edit{margin:10px 0 0 40px;font-size:12px;color:#769080}.edit summary{cursor:pointer;width:fit-content}.edit .stack{margin-top:15px}.create{padding:26px}.create h2{font-size:25px}.stack{display:grid;gap:14px;margin-top:22px}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#647d6b}input,select{width:100%;height:43px;padding:0 12px;border:1px solid #dce5dc;border-radius:9px;background:#fff;color:#29463b;min-width:0}input::placeholder{color:#a8b6a9}button:not(.check):not(.logout):not(.icon-delete):not(.text-button):not(.danger){border:0;border-radius:9px;background:var(--green);color:white;padding:12px 15px;font-weight:700;text-align:center}button:not(.check):not(.logout):not(.icon-delete):hover{filter:brightness(.94)}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:12px;line-height:1.5;color:#82938a!important;margin:0!important;font-weight:400}.empty{background:#f2f5ec;border:1px dashed #d6e3d3;border-radius:16px;padding:50px 20px;text-align:center;color:#7e9482}.empty>span{font-size:32px;color:#a6bda2}.empty h3{font:400 21px Georgia,serif;color:#4a6a55;margin:8px 0}.empty p{font-size:13px}.danger,.text-button{border:0;background:transparent;color:#a15d4f;padding:14px 0 0;font-size:12px}.shop-row{display:flex;align-items:center;gap:14px;padding:16px 20px}.shop-row strong{flex:1}.crossed{text-decoration:line-through;color:#a8b4aa}.icon-delete{border:0;background:transparent;color:#a8b6a9;font-size:24px;line-height:1}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat{padding:24px}.stat h2{font-size:21px;min-height:48px}.chart-row{display:flex;align-items:center;gap:20px;margin-top:20px}.donut{flex:none;height:112px;width:112px;border-radius:50%;background:conic-gradient(#3d8065 0 var(--share),#d9a18a var(--share) 100%);display:grid;place-items:center}.donut.zero{background:#edf2ec}.donut>div{display:grid;place-content:center;text-align:center;width:74px;height:74px;background:white;border-radius:50%;line-height:1.2}.donut strong{font:24px Georgia,serif}.donut small{font-size:10px;color:#87998d}.legend{width:100%;display:grid;gap:16px}.legend>div{display:flex;align-items:center;gap:8px;font-size:12px}.legend span{flex:1}.legend small{display:block;color:#9bad9d;margin-top:3px}.legend b{font-size:14px}.dot{height:8px;width:8px;border-radius:50%;flex:none}.dot.a{background:#3d8065}.dot.b{background:#d9a18a}.note{margin-top:22px;border-radius:14px;background:#ecf2e9;color:#647d6b;padding:20px 23px;font-size:13px;line-height:1.55}.note strong{color:#355c46}.note p{margin:7px 0 0}.done-row{display:flex;gap:14px;padding:17px 20px}.done-icon{background:#e5f1e6;color:var(--green);border-radius:50%;height:28px;width:28px;display:grid;place-items:center}footer{border-top:1px solid var(--border);margin-top:70px;padding:22px 0;color:#a0afa2;font-size:12px}footer span{color:#8eaa8f}.auth{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 18px;gap:20px}.auth .card{width:min(100%,410px);padding:34px}.auth-mark{width:54px;height:54px}.auth form{display:grid;gap:16px;margin-top:25px}.auth form button{display:flex;justify-content:space-between}.auth small{color:#a0afa2}.error{border-radius:10px;background:#fdf0eb;color:#a45443;padding:12px 15px;margin:15px 0;line-height:1.4}.auth h1{font-size:36px}.auth form p{font-size:12px}@media(max-width:900px){.stats-grid{grid-template-columns:1fr 1fr}.layout{grid-template-columns:minmax(0,1fr) 300px}.chart-row{gap:12px}}@media(max-width:680px){.wrap{padding:34px 18px 0}.top-inner{padding:13px 18px}.welcome h1{font-size:34px}.welcome{margin-bottom:20px}.date-chip{display:none}.nav{margin-left:-18px;margin-right:-18px;padding:0 7px;margin-bottom:26px}.nav a{padding:12px 11px}.layout{display:flex;flex-direction:column-reverse;gap:28px}.layout>section,.layout>aside{width:100%}.create{padding:22px}.stats-grid{grid-template-columns:1fr}.stat h2{min-height:0}.chart-row{gap:24px}.donut{height:120px;width:120px}.task{padding:16px}.meta{gap:4px 10px}.twocol{grid-template-columns:1fr 1fr}.top-right{gap:5px}footer{margin-top:50px}}
