:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17251b;background:#f4f7f1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.site-header{background:#073a25;color:#fff}.header-inner,.shell{max-width:1160px;margin:auto;padding:0 24px}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:1.35rem;font-weight:850;letter-spacing:-.05em;text-decoration:none}.brand span{font-weight:450;color:#a8e3bb;letter-spacing:0}.header-actions{display:flex;gap:16px;align-items:center}.header-actions form{margin:0}.user{font-size:.9rem;color:#c5e3cf}.shell{padding-top:38px;padding-bottom:80px}.hero{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:.76rem;letter-spacing:.16em;font-weight:800;color:#15935c;margin:0 0 12px}h1{font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.055em;line-height:1.07;margin:0 0 13px}.muted{color:#597067;line-height:1.55;margin:0}.hero .muted{max-width:680px}.hero-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.save-status{padding:9px 14px;border-radius:99px;background:#dff4e4;color:#075b35;font-size:.88rem;font-weight:700}.save-status.error{background:#ffe3df;color:#9d3028}.summary{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:13px;margin-bottom:26px}.summary-card{background:#fff;border:1px solid #dce8dc;border-radius:17px;padding:20px;box-shadow:0 3px 16px #0b33250a}.summary-card span{display:block;color:#62776a;font-size:.86rem;font-weight:700;margin-bottom:10px}.summary-card strong{display:block;font-size:2rem;letter-spacing:-.04em}.summary-card strong.date{font-size:1.05rem;letter-spacing:0;margin-top:7px}.track,.stage-track{height:8px;background:#e4eee5;border-radius:99px;overflow:hidden;margin-top:12px}.track div,.stage-track div{height:100%;background:#15935c;border-radius:99px;transition:width .2s}.toolbar{background:#fff;border:1px solid #dce8dc;border-radius:17px;padding:17px;display:flex;align-items:end;gap:15px;flex-wrap:wrap;margin-bottom:18px}.toolbar label{font-size:.8rem;font-weight:800;color:#365544}.toolbar input,.toolbar select,.login-form input,.add-task input,.task-title-input,.task-note{display:block;width:100%;margin-top:6px;border:1px solid #bdcfc1;border-radius:10px;padding:11px 13px;background:#fff;color:#17251b;outline:none}.toolbar input:focus,.toolbar select:focus,.login-form input:focus,.add-task input:focus,.task-title-input:focus,.task-note:focus{border-color:#128854;box-shadow:0 0 0 3px #15935c22}.search-label{flex:1;min-width:220px}.filter-label{width:160px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.quiet,.secondary,.danger-quiet{border:1px solid #bcd3c0;background:#fff;color:#174c31;border-radius:9px;padding:10px 13px;font-size:.84rem;font-weight:750;text-decoration:none;white-space:nowrap}.quiet:hover,.secondary:hover{background:#e6f4e9}.danger-quiet{color:#a43e33;border-color:#efc8c1}.danger-quiet:hover{background:#fff1ee}.stage{background:#fff;border:1px solid #dce8dc;border-radius:17px;margin-bottom:16px;overflow:hidden;box-shadow:0 3px 16px #0b332508}.stage-header{border:0;background:#fff;width:100%;display:flex;align-items:center;gap:18px;text-align:left;padding:22px 24px;color:#17251b}.stage-header:hover{background:#f8fbf7}.stage-title-wrap{display:flex;flex-direction:column;gap:5px;flex:1}.stage-title-wrap strong{font-size:1.2rem;letter-spacing:-.025em}.stage-title-wrap small,.task-date{color:#728579;font-size:.77rem}.stage-percent{font-weight:850;color:#067143}.chevron{font-size:1.5rem;color:#49735b;width:22px;text-align:center}.stage-track{margin:0;border-radius:0;height:5px}.task-list{padding:8px 24px 23px}.task{border-bottom:1px solid #edf1ec;padding:16px 0}.task-top{display:flex;align-items:start;gap:14px}.task-top input[type=checkbox]{appearance:none;flex:none;width:26px;height:26px;border:2px solid #4b7960;border-radius:7px;margin:0;cursor:pointer;display:grid;place-items:center}.task-top input[type=checkbox]:checked{background:#128854;border-color:#128854}.task-top input[type=checkbox]:checked:after{content:'✓';color:#fff;font-weight:900;font-size:18px}.task-title{flex:1;line-height:1.45;font-weight:610;padding-top:2px}.completed .task-title{text-decoration:line-through;color:#788a7d}.task-title-input{flex:1;margin:0!important}.task-note{margin:10px 0 5px 40px;width:calc(100% - 40px);font-size:.86rem;resize:vertical;min-height:55px;background:#fbfdfb}.task-date{margin-left:40px}.delete-task{border:0;background:transparent;color:#a43e33;text-decoration:underline;padding:5px}.add-task{display:flex;gap:9px;margin-top:20px}.add-task input{margin:0;flex:1}.empty{color:#788a7d;font-size:.9rem}.alert{background:#fff0ed;border:1px solid #edc6bf;color:#932a24;padding:12px 16px;border-radius:10px;margin-bottom:16px}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 20%,#186b43,#062c1d 60%)}.login-card{width:min(100%,460px);background:#fff;border-radius:24px;padding:42px;box-shadow:0 24px 80px #00190f80}.login-card .brand{color:#06452b;margin-bottom:50px}.login-card .brand span{color:#198e5d}.login-card h1{font-size:2.4rem}.login-form{display:grid;gap:17px;margin-top:28px}.login-form label{font-weight:750;font-size:.88rem}.login-form input{font-weight:400}.primary{background:#087348;color:#fff;border:0;border-radius:10px;padding:14px 18px;font-weight:800}.primary:hover{background:#075e3b}@media(max-width:850px){.summary{grid-template-columns:repeat(2,1fr)}.hero{align-items:start;flex-direction:column}.toolbar-actions{margin-left:0}}@media(max-width:580px){.header-inner,.shell{padding-left:15px;padding-right:15px}.user{display:none}.summary{grid-template-columns:repeat(2,1fr)}.summary-card{padding:16px}.summary-card strong{font-size:1.6rem}.toolbar{display:grid}.filter-label{width:100%}.toolbar-actions{display:grid;grid-template-columns:repeat(2,1fr)}.toolbar-actions a,.toolbar-actions button{text-align:center;white-space:normal}.stage-header{padding:18px 15px}.task-list{padding:5px 15px 17px}.add-task{flex-direction:column}.login-card{padding:29px}.task-top{gap:10px}}
