
:root{font-family:Arial,Helvetica,sans-serif;color:#20392f;background:#f4f6f3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-color:#4b9875}button{cursor:pointer;border:0;border-radius:9px;background:#216747;color:white;padding:11px 16px;font-weight:600}button:disabled{opacity:.45;cursor:default}input,select{border:1px solid #d8e0d9;border-radius:8px;padding:10px;background:white;color:#20392f;min-width:0}input[type=checkbox]{width:23px;height:23px;accent-color:#216747}h1{font-size:32px;letter-spacing:-1px;margin:9px 0}h2{font-size:19px;margin:0}p{font-size:14px;color:#748177;line-height:1.5;margin:6px 0}label{font-size:13px}small{font-size:12px}.shell{display:flex;min-height:100vh}aside{width:235px;background:#173f2d;color:white;padding:35px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:800;color:#d7c38c}.brand span{font-size:17px;color:white;letter-spacing:1px}.brand small{display:block;font-size:8px;margin-top:4px;font-weight:400}.sidecaption{font-size:10px;letter-spacing:1.5px;color:#a4b8aa;margin:45px 10px 15px}.nav{text-align:left;margin:4px 0;background:none;color:#d2dfd4;font-size:14px;padding:14px}.nav.active{background:#315a43;color:white}.sidefoot{margin-top:auto;font-size:12px;line-height:2;color:#b4c8b9}.sidefoot a{color:white}main{margin-left:235px;padding:38px 45px;width:calc(100% - 235px);max-width:1500px}header{display:flex;align-items:center;justify-content:space-between;gap:20px}header label{display:grid;gap:6px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#6a7b6d}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.stats article{background:white;padding:25px;border:1px solid #e0e6df;border-radius:14px}.stats article:first-child{background:#e7eee4;border-color:#d2dfce}.stats span{font-size:12px;color:#627666}.stats strong{display:block;font-size:36px;margin:12px 0 7px;letter-spacing:-1px}.stats strong small{font-size:16px;font-weight:400}.stats p{font-size:11px}.panel{background:white;border:1px solid #e0e6df;border-radius:14px;padding:25px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.filters{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid #e8eee6}.secondary{color:#516652;background:#edf2ea;font-size:12px}.task{display:flex;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid #edf0ea}.task:last-child{border:0}.taskinfo{flex:1;display:grid;gap:7px}.taskinfo strong{font-size:14px}.taskinfo span{font-size:12px;color:#7a857b}.taskhours{display:grid;gap:8px;text-align:right;font-size:14px}.pill{font-size:10px;background:#f4ecd8;color:#92712c;padding:4px 9px;border-radius:5px}.pill.green{background:#e4f1e6;color:#287b48}.completed .taskinfo strong{color:#6c7f6e}.icon{font-size:11px;background:transparent;color:#688271;padding:8px}.summaryrow{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid #edf0ea}.summaryrow div{flex:1}.summaryrow strong{font-size:14px}.formrow{display:flex;gap:10px;padding:12px 0;flex-wrap:wrap}.formrow input{flex:1}.planform{display:flex;flex-wrap:wrap;gap:10px;background:#f3f6f0;padding:18px;border-radius:10px}.days{display:flex;gap:12px;align-items:center}.days label{display:flex;gap:4px;align-items:center}.days input{width:17px;height:17px}.preview{margin-top:20px;font-size:12px;color:#69806d}.preview select{margin-left:10px}.preview span{margin-left:10px}.error{background:#fae9e5;color:#993f2e;padding:15px;border-radius:8px;margin:15px 0}.warn{color:#ae7835}.overlay{position:fixed;inset:0;background:#13302588;display:grid;place-items:center;padding:20px}.dialog{max-width:500px;width:100%;background:white;border-radius:18px;padding:28px}.dialog label{display:grid;gap:7px;margin:15px 0}.danger{background:#a84e3c}.empty{text-align:center;padding:50px}footer{display:flex;justify-content:space-between;font-size:11px;color:#89978b;margin:25px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.welcome{margin:80px auto;max-width:550px;width:auto;padding:35px}.welcome .brand span{color:#173f2d}.welcome a{display:inline-block;color:#216747;margin-top:20px}@media(max-width:900px){aside{position:static;width:100%;padding:18px;flex-direction:row;flex-wrap:wrap;gap:5px}.brand{width:100%;margin-bottom:8px}.sidecaption,.sidefoot{display:none}.nav{padding:9px;font-size:12px}.shell{display:block}main{margin:0;width:100%;padding:22px}.stats{gap:8px}.stats article{padding:15px}.stats strong{font-size:27px}.panel{padding:17px}.panelhead{flex-wrap:wrap}.task{gap:12px}.icon{font-size:10px}.formrow input{width:100%}.stats p{display:none}}@media(max-width:500px){header{align-items:flex-start}h1{font-size:26px}header input{width:145px}.stats span{font-size:10px}.stats strong{font-size:23px}.stats strong small{font-size:11px}.taskinfo span{font-size:10px}.taskhours strong{font-size:12px}.task .icon{padding:2px}.filters input{width:145px}footer span{display:none}}@media print{aside,button,.filters,.preview,.overlay{display:none!important}main{margin:0;width:100%;padding:0}.task{break-inside:avoid}.panel{border:0}.stats{margin:15px 0}}

.welcome form{display:grid;gap:16px}.welcome label{display:grid;gap:7px;text-align:left}.account{border-top:1px solid #e3e9e5;padding:18px 0}.account label{display:flex;align-items:center;gap:6px}.account input[type=checkbox]{width:auto}.sidefoot button{display:block;margin-top:12px}.welcome{max-width:620px;margin:40px auto;width:calc(100% - 32px)}

@media(max-width:900px){.sidefoot{display:flex;align-items:center;gap:12px;width:100%;margin-top:8px;font-size:11px}.sidefoot button{margin-top:0;padding:8px;font-size:11px}}
