:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203a32;background:#f7f9f8;font-synthesis:none;--green:#123b30;--lime:#def392;--muted:#64756e;--border:#e1e8e3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #90b52e;outline-offset:3px}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}aside{background:var(--green);color:#fff;padding:40px 24px;display:flex;flex-direction:column;min-height:100vh}.brand{font-size:32px;font-weight:650;letter-spacing:-1.5px;display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;border:1px solid #6a8a67;border-radius:12px;width:42px;height:42px;background:var(--lime);color:var(--green);font-family:Georgia,serif;font-size:35px}.brand-dot{font-size:10px;color:var(--lime);margin-left:-7px;margin-top:13px}.workspace-label{color:#a7c0b5;font-size:12px;letter-spacing:2px;margin-top:58px}aside h2{font-family:Georgia,serif;font-size:30px;line-height:1.25;font-weight:400;margin:17px 0 47px;color:#f0f6ed}.nav-label{font-size:12px;letter-spacing:1.4px;color:#a7c0b5;display:flex;justify-content:space-between;padding:0 12px 18px}.nav-label span{letter-spacing:0}nav{display:grid;gap:8px}.list-nav{width:100%;border:0;border-radius:9px;background:transparent;color:#d3e3da;display:flex;gap:12px;align-items:center;text-align:left;padding:15px 12px;font-size:15px}.list-nav span:nth-child(2){overflow-wrap:anywhere;flex:1}.list-nav.active{background:#315649;color:#fff}.list-nav.active small{background:var(--lime);color:var(--green)}.list-nav small{background:#224b3e;border-radius:6px;min-width:26px;text-align:center;padding:3px}.new-list{padding:14px;border:1px dashed #648577;border-radius:9px;background:none;color:#e6f0e9;margin-top:18px;text-align:left}.aside-bottom{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:60px}.small-mark{width:30px;height:30px;display:grid;place-items:center;background:#315649;border-radius:50%;color:var(--lime)}.aside-bottom p{font-size:14px;line-height:1.65}.aside-bottom p span{font-size:12px;color:#a7c0b5}main{padding:0 6%;max-width:1400px;width:100%;margin:auto;align-self:start}header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:16px;font-size:14px}.breadcrumb{color:var(--muted)}.breadcrumb span{margin:0 13px;color:#bdc9c2}#account{display:flex;align-items:center;gap:15px}#account a{text-decoration:underline;text-underline-offset:4px}.user-name{max-width:180px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.demo-badge{border:1px solid #d4dfc1;border-radius:20px;padding:6px 12px;background:#edf4df;font-size:12px}.notice{font-size:14px;min-height:44px;padding:14px 0 4px;color:#526b54}.notice:empty{padding:0}.notice.error{color:#9a3525}#content{padding-top:25px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:650;color:#63806a;margin:0 0 12px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3.7vw,48px);line-height:1.12;letter-spacing:-1.4px;font-weight:400;margin:0;overflow-wrap:anywhere}.subtitle{font-size:15px;color:var(--muted);margin:14px 0 0}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:600;white-space:nowrap}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover{background:#285443}.secondary{background:white;border:1px solid var(--border);color:#3c5247}.secondary:hover{background:#eff4ef}.progress-card{background:#edf2e7;border:1px solid #e0e8d7;border-radius:12px;padding:18px 22px;margin:27px 0}.progress-label{display:flex;justify-content:space-between;font-size:13px;color:#65765e}.progress-label strong{color:#2f5039}progress{appearance:none;width:100%;height:6px;border:0;display:block;margin-top:13px;border-radius:10px;overflow:hidden;background:#dbe4d2}progress::-webkit-progress-bar{background:#dbe4d2}progress::-webkit-progress-value{background:#6a8b3c;border-radius:10px}progress::-moz-progress-bar{background:#6a8b3c}.add-form{display:grid;grid-template-columns:minmax(100px,1fr) 110px 150px auto;gap:8px;background:white;padding:9px;border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 12px #173b3005}input,select,textarea{max-width:100%;min-width:0;border:1px solid var(--border);background:white;border-radius:7px;padding:12px;color:#203a32;font-size:16px}.add-form input,.add-form select{border:0;font-size:14px}.add-form input::placeholder{color:#78877e}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:28px 0 24px;gap:10px}.filters{display:flex;background:#eaf0eb;border-radius:8px;padding:4px;gap:3px}.filters button{border:0;color:#627169;background:none;padding:9px 14px;border-radius:6px;font-size:14px}.filters .selected{background:white;box-shadow:0 1px 4px #193b3010;color:#234333;font-weight:600}.text-button{border:0;background:none;color:#667b6a;padding:10px 5px;font-size:14px;text-decoration:none}.text-button:hover{text-decoration:underline}.category{margin-bottom:24px}.category h2{display:flex;gap:10px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 11px;color:#6e7f71}.category h2 span{font-weight:400;color:#8e9a90;letter-spacing:0}.item{display:flex;align-items:center;background:#fff;border:1px solid var(--border);margin-top:-1px;min-height:74px;padding:0 19px}.item:nth-child(2){border-radius:9px 9px 0 0}.item:last-child{border-radius:0 0 9px 9px}.item:nth-child(2):last-child{border-radius:9px}.item-check{display:flex;align-items:center;flex:1;gap:16px;cursor:pointer;min-width:0;padding:16px 0;position:relative}.item-check input{position:absolute;opacity:0;width:25px;height:25px;margin:0}.checkmark{width:24px;height:24px;flex-shrink:0;border:1.5px solid #cbd7cd;border-radius:7px;display:grid;place-items:center}.item-check input:focus-visible+.checkmark{outline:3px solid #90b52e;outline-offset:3px}.item-check input:checked+.checkmark{background:#e9f0dd;border-color:#cddcba}.item-check input:checked+.checkmark:after{content:'✓';color:#5b7b38;font-size:16px}.item-copy{min-width:0;overflow-wrap:anywhere}.item-copy strong{font-weight:500;font-size:16px}.item-copy small{display:block;font-size:13px;color:#7f8b81;margin-top:4px}.done{background:#f6f8f4}.done .item-copy strong{text-decoration:line-through;color:#849080}.item-edit{background:none;border:0;padding:12px;font-size:13px;color:#667a6a}.list-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:#7d8b80;padding-top:5px;flex-wrap:wrap}.list-bottom>div{display:flex;gap:12px}.danger{color:#a05240}footer{border-top:1px solid var(--border);margin:35px 0 22px;padding-top:20px;font-size:12px;color:#8a978d}.empty{text-align:center;padding:70px 15px 100px}.empty p{color:var(--muted);line-height:1.8}.empty-symbol{font-size:44px;color:#759258;margin-bottom:24px}.welcome h1{font-size:clamp(40px,5vw,64px)}.welcome>a{margin:8px 4px}.welcome .welcome-note{font-size:13px;margin:20px 0 0}.empty-items{text-align:center;padding:55px;color:#49654b}.empty-items span{display:block;font-size:14px;margin-top:8px;color:var(--muted)}dialog{border:1px solid var(--border);border-radius:18px;padding:28px;width:min(500px,calc(100% - 32px));color:#203a32;box-shadow:0 25px 90px #123b3040}dialog::backdrop{background:#102e256e;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 15px}.icon{border:0;background:none;font-size:26px;padding:8px;color:var(--muted)}.field{display:grid;gap:8px;margin:18px 0;font-size:14px}.field textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}dialog p{font-size:15px;line-height:1.6;color:var(--muted)}.remove-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#9b4533}.remove-item input{width:18px;height:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.saving #content,.saving #new-list{opacity:.65;pointer-events:none}
@media(min-width:1500px){main{padding:0 90px}}@media(max-width:1050px){.shell{grid-template-columns:230px minmax(0,1fr)}aside{padding:30px 18px}main{padding:0 5%}.add-form{grid-template-columns:minmax(80px,1fr) 90px}.add-form select{border-top:1px solid var(--border)}.title-row{align-items:flex-start}.breadcrumb{display:none}header{justify-content:flex-end}.user-name{max-width:160px}}
@media(max-width:650px){.shell{display:block}aside{min-height:0;padding:22px 20px 18px}.brand{font-size:27px}.brand-mark{width:36px;height:36px;font-size:29px}.workspace-label,aside h2,.nav-label,.aside-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:20px;gap:8px;padding-bottom:3px}.list-nav{width:auto;flex-shrink:0;padding:11px 12px}.list-nav span:nth-child(2){max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-list{position:absolute;right:20px;top:21px;width:auto;margin:0;border:1px solid #648577;padding:9px 12px;font-size:14px}main{padding:0 20px}header{height:60px;font-size:12px}.notice{font-size:13px;min-height:30px}#content{padding-top:20px}.title-row{gap:12px}.title-row .secondary{font-size:12px;padding:9px 10px;min-height:40px;margin-top:21px}.eyebrow{font-size:10px;letter-spacing:1.4px}h1{font-size:34px}.subtitle{font-size:14px;line-height:1.6}.progress-card{margin:22px 0;padding:16px 18px}.add-form{grid-template-columns:minmax(0,1fr) 110px}.add-form input,.add-form select{font-size:16px}.toolbar{margin:23px 0}.filters button{font-size:12px;padding:9px 10px}.text-button{font-size:12px}.item{padding:0 14px}.item-check{gap:13px}.list-bottom{gap:8px}.list-bottom>div{width:100%;justify-content:space-between}.empty{padding:45px 0}.welcome .primary,.welcome .secondary{display:flex}.user-name{max-width:170px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s ease,opacity .15s ease}}
