:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#243b36;background:#f5f7f5;font-synthesis:none;--green:#1d5548;--muted:#7b8983;--border:#e6ebe7}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{text-decoration:none;color:inherit}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid #91b9a2;outline-offset:4px}input,textarea,select{border:1px solid #d8e1db;border-radius:9px;background:#fff;padding:11px 13px;color:#243b36;outline:none}input:focus,textarea:focus,select:focus{border-color:#528a71;box-shadow:0 0 0 3px #e2eee7}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:#72877a}h1,h2,p{margin:0}h2{font-size:19px;letter-spacing:-.4px}.primary,.secondary,.light-button{border-radius:9px;padding:12px 18px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:15px}.primary{background:var(--green);color:white}.secondary{background:white;border:1px solid #dde5df;color:#375447}.light-button{background:#d9ebcb;color:#234a36}.quiet{background:none;color:#718478;font-size:12px;padding:0}.brand-mark{background:#1d5548;color:#d6ebc6;border-radius:12px;width:42px;height:42px;display:inline-grid;place-items:center;font-size:29px}aside{width:224px;position:fixed;height:100dvh;top:0;left:0;background:#fff;border-right:1px solid var(--border);padding:34px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:650}.brand small{display:block;font-size:10px;font-weight:400;color:#8c9790;letter-spacing:1px;margin-top:5px}.nav-label{font-size:10px;color:#98a39c;letter-spacing:2px;margin:55px 12px 17px}nav{display:grid;gap:9px}nav a,nav button{display:flex;gap:14px;align-items:center;border-radius:9px;font-size:19px;padding:13px 16px;background:none;text-align:left;color:#7e8c82}nav span{font-size:13px}nav .active{background:#edf3ec;color:#29563e;font-weight:600}.sidebar-bottom{margin-top:auto}.person{display:flex;gap:10px;align-items:center;padding:20px 0;border-top:1px solid var(--border);font-size:13px}.avatar{display:grid;place-items:center;background:#eaf0e4;border-radius:50%;width:36px;height:36px;color:#607253}.person small{display:block;color:#8f9992;font-size:10px;margin-top:5px}main{margin-left:224px;padding:0 44px;max-width:1680px}header{height:79px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:11px}.crumb{margin:0 16px;color:#b3bcb5}.connection{font-size:11px;color:#6e8b76;display:flex;align-items:center;gap:7px}.connection:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.connection.error{color:#b76642}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:33px 0 26px}.page-heading h1{font-size:29px;letter-spacing:-1px;margin:9px 0 12px;font-weight:650}.title-dot{display:inline-block;width:8px;height:8px;background:#91ad70;border-radius:50%;margin-left:10px}.page-heading p{font-size:12px;color:#849087}.page-heading p span{padding:0 10px}.hero{background:#173f35;border-radius:17px;color:#fff;display:grid;grid-template-columns:1fr 1.05fr;gap:50px;padding:30px 38px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:330px;height:330px;border:1px solid #ffffff08;border-radius:50%;top:-190px;right:-80px;box-shadow:0 0 0 55px #ffffff03,0 0 0 110px #ffffff02;pointer-events:none}.hero-label{font-size:12px;color:#b8cbb9}.countdown{display:flex;align-items:baseline;gap:10px;margin:5px 0}.countdown strong{font-size:62px;font-weight:500;letter-spacing:-3px;line-height:1.2}.countdown span{font-size:13px;color:#c9d9c5}.hero-copy p{font-size:11px;color:#a6bcaa;margin:9px 0 20px;line-height:1.6}.hero-progress{padding:13px 0 0}.hero-top{display:flex;justify-content:space-between;font-size:12px;color:#c6d7c6}.hero-top strong{color:#dbedcb;font-weight:500}.period-track{height:7px;border-radius:8px;background:#ffffff18;margin:15px 0 10px;overflow:hidden}.period-track i{display:block;height:100%;background:#c9dfa8;border-radius:8px;max-width:100%}.date-range{display:flex;justify-content:space-between;font-size:10px;color:#90aa98}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid #ffffff15;margin-top:30px;padding-top:20px}.hero-facts small{display:block;color:#99b2a1;font-size:10px;margin-bottom:9px}.hero-facts strong{font-size:20px;font-weight:500}.notice{font-size:12px;background:#fbf4e8;border:1px solid #eddfc1;color:#927346;padding:13px 18px;border-radius:10px;margin:18px 0 0;line-height:1.6}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:29px 0 17px}.section-heading p{font-size:11px;color:#8c978e;margin-top:8px;line-height:1.6}.subtle-chip{font-size:10px;padding:7px 10px;background:#edf0e8;border-radius:6px;color:#859074}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric{background:white;border:1px solid var(--border);border-radius:12px;padding:21px 20px;min-width:0}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#74847a}.metric-icon{background:var(--tint);color:var(--tone);width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:16px}.metric-value{margin:17px 0 7px;white-space:nowrap}.metric-value strong{font-size:31px;letter-spacing:-1px;font-weight:600}.metric-value small{font-size:11px;color:#a3ada5;margin-left:7px}.target-line{font-size:10px;color:#94a094}.metric-track{height:5px;border-radius:5px;background:#f0f3ee;margin:18px 0 10px;overflow:hidden}.metric-track i{display:block;height:100%;background:var(--tone);border-radius:5px;max-width:100%}.metric-percentage{display:flex;justify-content:space-between;font-size:10px;color:#879387}.metric-percentage b{font-size:12px;color:var(--tone);font-weight:500}.metric-gap{border-top:1px solid #f0f3ef;margin-top:15px;padding-top:13px;display:flex;justify-content:space-between;font-size:10px;color:#949d94}.metric-gap span:last-child{color:#b48860}.chart-panel,.weekly-panel{background:white;border:1px solid var(--border);border-radius:13px;margin-top:23px;padding:0 24px 20px}.chart-panel .section-heading,.weekly-panel .section-heading{margin-top:24px}.chart-panel select{font-size:11px;padding:8px 12px;background:#fafcf9}.chart-legend{display:flex;gap:20px;justify-content:flex-end;font-size:10px;color:#8c988c;margin:7px 0}.chart-legend span{display:flex;align-items:center;gap:7px}.chart-legend i{width:17px;height:3px;background:#518273}.chart-legend .dashed{background:none;border-top:2px dashed #afbfab}.chart{height:230px}.chart svg{width:100%;height:100%;overflow:visible}.chart text{font-size:10px;fill:#99a399;font-family:inherit}.chart .grid{stroke:#edf1eb;stroke-dasharray:4 5}.weekly-panel{scroll-margin-top:20px}.weekly-panel .eyebrow{font-size:9px}.weekly-panel h2{margin-top:7px}.filters{display:flex;background:#f4f6f2;border-radius:8px;padding:4px;white-space:nowrap}.filters button{background:none;padding:7px 10px;border-radius:6px;font-size:10px;color:#84917f}.filters button.selected{background:white;box-shadow:0 1px 4px #273d2710;color:#3b614a}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{background:#f7f9f5;color:#8a9687;font-size:10px;font-weight:500;padding:13px 10px}th small{font-size:9px;color:#a4ada0;margin-left:3px}th:first-child{border-radius:7px 0 0 7px}th:last-child{border-radius:0 7px 7px 0}td{padding:16px 10px;border-bottom:1px solid #f0f2ed}td:first-child{min-width:150px}td strong{font-weight:550}td small{color:#a0aa9b;font-size:10px}td .week-date{display:block;margin-top:6px;font-size:10px;color:#99a294}.week-stage{font-size:9px;padding:3px 6px;background:#f1f4ed;color:#91a084;border-radius:4px;margin-left:7px}.current-row{background:#f7faf3}.status{display:inline-block;font-size:9px;padding:4px 7px;border-radius:4px;background:#f3f4ef;color:#99a190}.status.done{background:#eef5e9;color:#7e9a65}.status.now{background:#eaf1eb;color:#547f60}.edit-btn{color:#5c8065;background:none;font-size:11px;padding:7px;white-space:nowrap}.table-footer{display:flex;justify-content:space-between;padding-top:17px;font-size:10px;color:#a1aa9b}.table-footer b{color:#6a7d67;font-weight:500}footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#9ba595;padding:24px 0 30px;line-height:1.7}footer button{font-size:10px!important}dialog{border:1px solid var(--border);border-radius:17px;max-width:560px;width:calc(100% - 32px);padding:27px;color:#2a4335;box-shadow:0 30px 100px #10271926;max-height:90dvh;overflow:auto}dialog::backdrop{background:#0c271d80;backdrop-filter:blur(4px)}.wide-dialog{max-width:720px}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.dialog-heading h2{margin-top:5px}.dialog-heading p{font-size:11px;color:#8b9789;margin-top:7px}.close{background:#f3f6ef;border-radius:50%;width:29px;height:29px;font-size:22px;color:#7a8c76;flex-shrink:0}.edit-tip{background:#f2f6ee;border-radius:7px;padding:10px 12px;font-size:11px;line-height:1.7;color:#78906f;margin-bottom:22px}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-bottom:22px}label{font-size:12px;display:block;color:#63795b;margin-bottom:8px}label small{color:#9aa891;font-size:10px}.edit-fields input{width:100%}textarea{width:100%;resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:22px}.dialog-actions>span{margin-right:auto;font-size:10px;color:#9ba894}.dialog-actions button{font-size:11px;padding:11px 12px}.error,#login-error{font-size:12px;color:#ba6e4c;margin-top:12px;line-height:1.6}.history-item{padding:17px 0;border-bottom:1px solid var(--border);font-size:12px}.history-item time{float:right;font-size:10px;color:#99a18e}.history-item p{line-height:1.9;color:#849276;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.source-table{font-size:11px}.source-note{font-size:11px;line-height:1.8;color:#89977d;margin-top:20px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 22px;background:#274b38;color:white;border-radius:10px;font-size:12px;box-shadow:0 8px 24px #1c362926;z-index:1000;max-width:90%;text-align:center}.login-screen{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;padding:28px;gap:40px}.login-art{background:#173f35;border-radius:24px;color:white;padding:50px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-art>.brand-mark{background:#d3e7c0;color:#234d3c;margin-bottom:25px}.login-art>span:not(.brand-mark){font-size:12px;color:#a0b9a3;letter-spacing:2px}.login-art h1{font-size:44px;line-height:1.6;font-weight:500;letter-spacing:2px;margin-top:70px;z-index:1}.login-art p{font-size:13px;color:#a9bfa9;margin-top:22px;letter-spacing:3px}.login-art>small{margin-top:auto;padding-top:70px;color:#a4baa5;letter-spacing:3px;z-index:1}.art-bars{position:absolute;bottom:0;right:0;height:45%;width:70%;display:flex;gap:14px;align-items:flex-end;transform:rotate(-12deg);opacity:.13}.art-bars i{background:linear-gradient(#d9e8bc,transparent);width:16%;height:25%;border-radius:16px 16px 0 0}.art-bars i:nth-child(2){height:40%}.art-bars i:nth-child(3){height:57%}.art-bars i:nth-child(4){height:70%}.art-bars i:nth-child(5){height:88%}.art-bars i:nth-child(6){height:100%}.login-form{align-self:center;justify-self:center;max-width:340px;width:100%;padding:35px 10px}.login-form h2{font-size:32px;margin:12px 0 15px}.login-form>p{color:#8e9b88;font-size:12px;line-height:1.8;margin-bottom:35px}.login-form input{width:100%;padding:14px}.login-form button{width:100%;justify-content:space-between;margin-top:20px;padding:15px 18px}.login-form>small{color:#a1ad98;font-size:10px;display:block;margin-top:50px}.empty{padding:35px;text-align:center;font-size:12px;color:#8d9a80}[hidden]{display:none!important}@media(min-width:1500px){main{padding-left:60px;padding-right:60px}.metric{padding:24px}.chart{height:260px}}@media(max-width:1150px){aside{width:185px;padding:30px 17px}main{margin-left:185px;padding:0 26px}.hero{gap:25px;padding:26px}.metrics{gap:10px}.metric{padding:16px 13px}.metric-value strong{font-size:27px}.metric-gap{font-size:9px}.brand{font-size:17px}}@media(max-width:900px){aside{width:74px;padding:25px 16px}.brand>span:last-child,.nav-label,nav span,.sidebar-bottom{display:none}nav{margin-top:40px}nav a,nav button{padding:12px;justify-content:center}.brand-mark{width:40px;height:40px}main{margin-left:74px;padding:0 23px}.page-heading h1{font-size:25px}.metrics{grid-template-columns:1fr 1fr}.metric{padding:20px}.hero{gap:25px}.countdown strong{font-size:50px}.hero-facts{gap:10px}.hero-facts strong{font-size:17px}.section-heading{gap:12px}.weekly-panel>.section-heading{align-items:flex-start;flex-direction:column}.login-art{padding:35px}.login-art h1{font-size:31px}.login-screen{gap:20px}}@media(max-width:600px){aside{position:static;width:100%;height:auto;padding:14px 20px;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--border)}.brand>span:last-child{display:block;font-size:15px}.brand small{display:none}.brand-mark{width:32px;height:32px;font-size:23px;border-radius:8px}nav{display:flex;margin:0;gap:5px}nav a,nav button{font-size:18px;padding:8px 11px}main{margin:0;padding:0 17px}header{height:49px;font-size:10px}.connection{font-size:9px}.page-heading{padding:25px 0 20px;gap:10px}.page-heading h1{font-size:23px;letter-spacing:-1px}.page-heading .eyebrow{font-size:9px}.page-heading p{font-size:10px}.page-heading p span{padding:0 3px}.page-heading>.secondary{font-size:10px;padding:10px;white-space:nowrap}.hero{grid-template-columns:1fr;padding:25px;gap:20px;border-radius:13px}.hero-copy{position:relative}.hero-copy p{max-width:65%;margin-bottom:0}.hero-copy>.light-button{position:absolute;right:0;top:38px;padding:11px;font-size:11px}.hero-progress{padding-top:5px}.hero-facts{margin-top:20px;padding-top:17px}.hero-facts strong{font-size:18px}.countdown strong{font-size:52px}.hero-label{font-size:11px}.section-heading{margin:24px 0 14px}.section-heading h2{font-size:17px}.section-heading p{font-size:10px}.subtle-chip{font-size:8px;padding:6px;white-space:nowrap}.metrics{gap:10px}.metric{padding:17px 14px}.metric-value strong{font-size:29px}.metric-icon{width:26px;height:26px;font-size:14px}.metric-top{font-size:11px}.target-line{font-size:9px}.metric-gap{font-size:9px;gap:6px}.metric-value small{font-size:10px;margin-left:4px}.chart-panel,.weekly-panel{padding:0 15px 17px;margin-top:17px}.chart-panel .section-heading{align-items:flex-start}.chart-panel select{font-size:10px;max-width:126px}.chart-panel .section-heading p{max-width:210px}.chart{height:190px}.chart-legend{font-size:9px}.notice{font-size:10px;margin-top:13px;padding:11px 13px}.table-footer{font-size:9px}footer{flex-direction:column;font-size:9px;gap:9px}footer button{text-align:left}.dialog-actions>span{display:none}.edit-fields{gap:15px}dialog{padding:23px}.login-screen{display:flex;flex-direction:column;padding:15px;gap:0}.login-art{padding:25px;min-height:300px;border-radius:17px}.login-art>.brand-mark{margin-bottom:15px}.login-art>span:not(.brand-mark){font-size:10px}.login-art h1{margin-top:20px;font-size:28px;line-height:1.4}.login-art p{font-size:10px;margin-top:15px}.login-art>small{padding-top:25px;font-size:10px}.login-form{padding:35px 15px;max-width:390px}.login-form h2{font-size:27px}.login-form>small{margin-top:25px}.history-item time{float:none;display:block;margin-top:7px}}

.header-actions{display:flex;align-items:center;gap:15px}.connection{padding:0;background:none;cursor:pointer}#compact-logout{display:none}@media(max-width:900px){#compact-logout{display:block;font-size:10px}}

/* Plain text navigation and a focused login form. */
.login-screen{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100dvh;padding:24px}
.login-form{max-width:390px;background:white;border:1px solid var(--border);border-radius:17px;padding:38px 30px;box-shadow:0 12px 40px #173f3505}
.login-form button{justify-content:center}
.nav-label{margin-top:4px}
nav a,nav button{font-size:13px}
@media(max-width:900px){aside{width:160px;padding:25px 16px}.nav-label,nav span{display:block}nav{margin-top:15px}nav a,nav button{justify-content:flex-start;padding:12px}main{margin-left:160px}}
@media(max-width:600px){aside{width:100%;padding:12px 17px;justify-content:center}.nav-label{display:none}nav{margin:0;width:100%;justify-content:space-between}nav a,nav button{padding:10px 12px}nav span{font-size:12px}main{margin:0}.login-screen{padding:20px}.login-form{padding:30px 24px}}

.backfill-tools{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px;background:#f5f8f3;border-radius:9px}.backfill-tools label{margin:0;font-size:12px;white-space:nowrap}.backfill-tools select{font-size:12px;min-width:0;flex:1;max-width:300px}.backfill-tools button{font-size:12px;white-space:nowrap}
@media(max-width:600px){.backfill-tools{gap:8px;flex-wrap:wrap;padding:12px}.backfill-tools label{width:100%;font-size:11px}.backfill-tools select{font-size:11px;padding:10px;max-width:none}.backfill-tools button{padding:10px;font-size:11px}}
