*{box-sizing:border-box}body{margin:0;background:#f6f7f9;color:#253b36;font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{border:0;background:none;color:inherit}small{display:block;color:#85908b;font-size:12px;line-height:1.7}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif}h1{font-size:30px;letter-spacing:-1.1px;margin:8px 0 8px;font-weight:750}h2{font-size:16px;margin:0 0 8px;font-weight:750}h3{font-size:14px}p{color:#81908a;line-height:1.7;margin:4px 0 15px}b{font-weight:600}.shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:#fff;border-right:1px solid #e8ece9;padding:32px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:31px;font-weight:750;letter-spacing:-1.7px;text-decoration:none;padding:0 12px}.brand>span:first-child{background:#27654d;color:#fff;display:grid;place-items:center;width:38px;height:38px;border-radius:12px}.branddot{color:#5c9870;margin-left:-9px}.family{border:1px solid #e6ece8;background:#fafcfb;border-radius:10px;margin-top:35px;padding:14px 10px;display:flex;gap:12px;align-items:center}.avatars{display:flex;padding-left:4px}.avatars i{width:26px;height:26px;border:2px solid white;background:#e4ecdf;border-radius:50%;font-style:normal;font-size:9px;display:grid;place-items:center;margin-left:-5px}.avatars i:nth-child(2){background:#eddcce}.avatars i:nth-child(3){background:#e9e9ed}.family b{font-size:12px}.family small{font-size:10px}.navlabel{font-size:9px;letter-spacing:1.3px;margin:30px 10px 14px;font-weight:700;color:#9ba7a0}nav button{display:flex;align-items:center;gap:12px;padding:12px 13px;width:100%;text-align:left;color:#78857f;border-radius:7px;font-size:12px;margin:3px 0}nav button.active{background:#eaf3ed;color:#286145;font-weight:650}nav button:hover{background:#f2f6f3}nav button em{margin-left:auto;font-size:10px;font-style:normal;background:#e9eee9;padding:2px 6px;border-radius:5px}.separate{margin-top:27px!important}.sidefoot{margin-top:auto;display:flex;gap:10px;padding:28px 8px 0;color:#638572;font-size:11px}.sidefoot small{font-size:9px}main{margin-left:246px;width:calc(100% - 246px)}.topbar{height:77px;padding:0 38px;border-bottom:1px solid #e6eae7;background:#ffffffc9;display:flex;align-items:center;justify-content:space-between;font-size:12px}.muted{color:#84918b}.slash{margin:0 18px;color:#b4bdb8}.topright{display:flex;gap:24px;align-items:center}.private{font-size:11px;color:#6f8075;display:flex;align-items:center;gap:7px}.private>span{width:6px;height:6px;background:#609775;border-radius:50%}.avatar{width:33px;height:33px;display:grid;place-items:center;background:#e8dfd0;border:3px solid white;border-radius:50%;font-size:12px}.content{max-width:1600px;margin:auto;padding:36px 38px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.eyebrow{font-size:9px;color:#67917c;letter-spacing:1.8px;font-weight:700}.heading p{font-size:12px;margin-bottom:0}.actions{display:flex;gap:10px;align-items:center}.primary,.outline{border-radius:7px;padding:11px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;font-size:12px;white-space:nowrap}.primary{background:#28664d;color:white}.primary:hover{background:#184b37}.primary:disabled{opacity:.6}.outline{border:1px solid #e1e7e2;background:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.three{grid-template-columns:repeat(3,1fr)}.stat{background:white;border:1px solid #e5eae6;border-radius:10px;padding:20px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center}.stat .row{font-size:11px}.stat strong{display:block;font-size:28px;letter-spacing:-.7px;font-weight:600;margin:17px 0 7px}.stat small{font-size:10px}.dashboardgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.card{border:1px solid #e4eae5;border-radius:11px;background:#fff;padding:24px;margin-bottom:22px;min-width:0}.dashboardgrid .card{margin:0}.card p{font-size:11px}.badge{font-size:9px;background:#eef5ef;color:#64886e;padding:5px 9px;border-radius:5px;white-space:nowrap}.amber{background:#fcf2e1;color:#aa8545}.legend{display:flex;align-items:center;gap:7px;font-size:10px;color:#8a958e;margin:25px 0 0}.dot{width:7px;height:7px;border-radius:2px;display:inline-block}.green{background:#639079}.sand{background:#d9cfb5;margin-left:12px}.chart{display:flex;height:190px;gap:24px;border-bottom:1px solid #e5ebe6;background:repeating-linear-gradient(to top,transparent 0,transparent 42px,#f1f4f1 43px,#f1f4f1 44px);padding:20px 15px 0}.barcol{flex:1;text-align:center;height:100%}.barpair{height:calc(100% - 28px);display:flex;align-items:flex-end;justify-content:center;gap:7px}.barpair>div{width:18px;background:#699680;border-radius:4px 4px 0 0;min-height:2px}.barpair>div+div{background:#dcd1b6}.barcol small{font-size:10px;margin-top:8px}.chartnote{text-align:center;margin-top:14px!important;font-size:10px!important}.cardfoot{border-top:1px solid #edf0ed;margin-top:20px;padding-top:17px;display:flex;justify-content:space-between;font-size:11px;color:#859089}.cardfoot b{color:#3e5b4a}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#a2b3a6;padding:26px 10px;text-align:center}.empty h3{color:#718577;margin:12px 0 3px;font-size:12px}.empty p{max-width:270px;font-size:11px}.full{width:100%}.eventrow{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #f0f3ef;font-size:12px}.dateblock{border-radius:8px;background:#eff4ed;width:42px;text-align:center;padding:5px;font-size:17px}.dateblock small{font-size:9px}.next .empty{padding:38px 10px}.line{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid #edf0ed;font-size:12px}.link{font-size:11px;color:#4b7b61;padding:6px 0}.task{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #eff2ef;font-size:12px}.task input{accent-color:#28664d;width:16px;height:16px}.task .textbutton{flex:1}.done{text-decoration:line-through;color:#98a59b}.bottomnote{background:#eef2ea;color:#7a8e73;display:flex;align-items:center;gap:12px;padding:20px;border-radius:8px;font-size:11px;margin-top:25px}.bottomnote b{font-weight:600;margin-right:8px}footer{display:flex;gap:20px;color:#9fa9a2;font-size:10px;margin-top:38px}footer>span:last-child{margin-left:auto}input,select{border:1px solid #dfe6df;background:#fff;color:#52665a;padding:10px 12px;border-radius:6px;max-width:100%}input[type=month]{font-size:11px;padding:10px}.notice{background:#edf3ee;border:1px solid #dce8de;border-radius:8px;padding:15px 18px;color:#5d7965;font-size:12px;line-height:1.7;margin:0 0 22px}.notice a{text-decoration:underline}.error{background:#fbece8;color:#a24c38}.error button{margin-left:20px;text-decoration:underline}.search{display:flex;align-items:center;border:1px solid #e2e8e2;gap:10px;border-radius:6px;margin:18px 0;padding:0 12px;color:#8da093;max-width:400px}.search input{border:0;width:100%;font-size:12px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{font-size:10px;color:#8b9a90;font-weight:500;text-align:left;background:#f8faf7;padding:13px 10px}td{padding:17px 10px;border-bottom:1px solid #edf1ec}.textbutton{text-align:left;padding:0}.textbutton:hover{color:#2f8150}.icon{display:inline-flex;padding:5px;color:#95a498}.parentrow{display:flex;align-items:center;gap:20px;font-size:12px;padding:22px 0;border-bottom:1px solid #edf0ed}.track{height:8px;background:#edf2eb;flex:1;border-radius:9px;overflow:hidden}.track>div{height:100%;background:#6b9478}.taskgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.week,.days{display:grid;grid-template-columns:repeat(7,1fr)}.week b{font-size:11px;font-weight:500;color:#89988c;padding:14px}.days{border-left:1px solid #edf0ed;border-top:1px solid #edf0ed}.day{min-height:110px;border-right:1px solid #edf0ed;border-bottom:1px solid #edf0ed;padding:8px;overflow:hidden}.daynumber{font-size:11px;padding:6px}.today .daynumber{background:#2c684b;color:white;border-radius:50%}.eventchip{font-size:10px;padding:5px;background:#edf4ea;border-radius:4px;margin-top:4px;width:100%;text-align:left}.blank{background:#fafbf9}.upload{padding:30px;background:#f8faf7;border:1px dashed #ccd9cc;border-radius:9px;display:flex;align-items:center;flex-direction:column;gap:12px;color:#78917b;margin:20px 0}.upload input{font-size:12px;max-width:310px}.settingsgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.settingsgrid li{font-size:12px;line-height:1.8;margin-bottom:8px;color:#6e8374}.settingsgrid h2{margin-top:16px}.modalback{position:fixed;inset:0;background:#173d2c65;backdrop-filter:blur(4px);z-index:30;display:grid;place-items:center;padding:25px}.modal{width:490px;max-width:100%;max-height:92vh;overflow:auto;background:#fff;padding:28px;border-radius:13px;box-shadow:0 20px 80px #183a2630}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#738678;margin-top:16px}.modal .actions{margin-top:25px;justify-content:flex-end}@media(min-width:1500px){.content{padding:44px 55px}.chart{height:230px}}@media(max-width:1150px){.sidebar{width:210px;padding:26px 14px}main{margin-left:210px;width:calc(100% - 210px)}.content{padding:25px}.heading{align-items:flex-start;flex-direction:column}.stats{gap:10px}.stat{padding:15px}.stat strong{font-size:24px}.dashboardgrid{grid-template-columns:1.3fr 1fr}.parentrow{flex-wrap:wrap}.taskgrid{grid-template-columns:1fr}.line{flex-wrap:wrap}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px}.brand{font-size:25px}.family,.navlabel,.sidefoot{display:none}nav{display:flex;overflow-x:auto;padding-top:15px}nav button{width:auto;white-space:nowrap;margin:0!important;padding:10px}.shell{display:block}main{width:100%;margin:0}.topbar{height:55px;padding:0 20px}.content{padding:23px 16px}.stats{grid-template-columns:repeat(2,1fr)}.dashboardgrid,.settingsgrid{grid-template-columns:1fr}.heading h1{font-size:25px}.card{padding:18px}.private{display:none}.day{min-height:75px;padding:3px}.eventchip{font-size:8px;overflow:hidden}.week b{padding:10px 3px}.bottomnote{line-height:1.8}.chart{height:170px}.taskgrid{gap:0}footer span:last-child{display:none}.actions{flex-wrap:wrap}}
.authpage{min-height:100vh;display:grid;place-items:center;margin:0;padding:24px}.authpage>.card{width:min(100%,440px);padding:40px}.authpage h1{color:#206851}.authpage .primary{width:100%}.authpage [hidden]{display:none}.memberbar{position:fixed;bottom:8px;left:14px;z-index:5;font-size:12px}.memberbar button{padding:8px;border:1px solid #dae3dd;background:white;border-radius:8px}.accountsettings{max-width:1100px;margin:24px auto;padding:20px}.accountsettings input,.accountsettings select{border:1px solid #d5dfd8;border-radius:8px;padding:10px}.accountsettings form{display:flex;gap:10px;flex-wrap:wrap}.accountsettings code{overflow-wrap:anywhere;display:block;margin:16px 0}.accountsettings button{padding:10px;border-radius:8px;background:#e7f1ea}.accountsettings h2{margin-top:24px}@media(max-width:800px){.memberbar{position:static;padding:10px}}
.toolnav{display:flex;align-items:center;gap:8px;position:relative;z-index:10;padding:12px 24px;background:#fff;border-bottom:1px solid #e0e6e2;flex-wrap:wrap}.toolbrand{font-size:22px;font-weight:750;color:#286550;text-decoration:none;margin-right:16px}.toolnav button{padding:10px 14px;border-radius:8px}.toolnav .active{background:#e7f1ea;color:#206851}.workspace{max-width:1120px;margin:38px auto;padding:0 24px}.workspace>p{line-height:1.7;color:#64766d}.workspace .card{margin:20px 0}.workspace pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font-size:12px}.workspace form{max-width:580px}.reviewmodal{max-height:90vh;overflow:auto}.reviewmodal .actions{flex-wrap:wrap}.toolnav~.shell .sidebar{top:69px;height:calc(100vh - 69px)}@media(max-width:800px){.toolnav{padding:10px}.workspace{margin-top:22px;padding:0 14px}.toolnav~.shell .sidebar{top:0;height:auto}}

.edf-filters,.edf-tabs{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.edf-filters label{display:flex;align-items:center;gap:10px}.edf select{padding:9px;border:1px solid #d5dfdc;border-radius:8px;background:white}.edf .stat strong{font-size:27px}.edf .card{margin-bottom:20px}.edf-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:10px}.tempo-0{background:#3b82f6}.tempo-1{background:#fff;border:1px solid #aaa}.tempo-2{background:#e15759}.edf .line{overflow-wrap:anywhere}.edf .recharts-wrapper{font-size:12px}.edf small{display:block}
