:root{font-family:Inter,Arial,sans-serif;color:#23372f;background:#f4f6f5;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:25px;letter-spacing:-.8px;margin-bottom:5px}h2{font-size:22px;font-weight:550;letter-spacing:-.5px;margin-bottom:8px}h3{font-size:18px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d5dfd9;border-radius:9px;padding:10px 14px;color:#294438;background:#fff}button:hover{background:#f0f5f2}button:disabled{opacity:.55;cursor:wait}.primary{background:#2f5c45;color:white;border-color:#2f5c45}.primary:hover{background:#244a37}input,select,textarea{min-width:0;width:100%;border:1px solid #ced9d2;padding:10px;border-radius:8px;background:white;color:inherit}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #56876b;outline-offset:2px}input[type=color]{width:48px;height:42px;padding:3px;flex-shrink:0}label{display:flex;flex-direction:column;gap:7px;font-size:13px;margin:16px 0;color:#42554b}select{cursor:pointer}.muted{font-size:13px;color:#6a7971;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#61766a;margin-bottom:10px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:#2f5c45;color:white;font-size:22px;font-weight:600;border-radius:12px;flex-shrink:0}.brand,.toolbar,.section-heading{display:flex;align-items:center;gap:12px}.section-heading{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.toolbar{flex-wrap:wrap}.toolbar select{width:auto}.brand{gap:15px}main{max-width:1480px;margin:auto;padding:30px 36px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #dce4df;padding-bottom:26px}.compact{margin:0;max-width:180px}.overview{margin:20px 0 30px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat{background:white;text-align:left;border-radius:12px;padding:18px;border:1px solid #dce5df;position:relative;overflow:hidden}.stat:before{content:'';display:block;height:4px;position:absolute;inset:0 0 auto;background:var(--status-color,#2f5c45)}.stat b{display:block;font-size:32px;margin-top:14px;font-weight:550;color:#23372f}.stat.active{box-shadow:0 0 0 2px #416d54}.panel{background:white;border:1px solid #dce5df;border-radius:14px;padding:24px;margin:22px 0}.calendar,.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{border-bottom:1px solid #dfe7e1}.weekdays span{padding:10px;color:#7a877f;font-size:12px}.calendar{border-left:1px solid #e5ebe7}.calendar-day{min-height:125px;border-right:1px solid #e5ebe7;border-bottom:1px solid #e5ebe7;padding:8px;min-width:0}.calendar-day.other{background:#fafbfa}.day-number{border:0;padding:4px;width:29px;font-size:12px;background:transparent}.calendar-day.today .day-number{background:#2f5c45;color:white;border-radius:50%}.event{width:100%;text-align:left;padding:7px;margin:5px 0;border:0;border-left:4px solid var(--status-color);border-radius:5px;background:#f1f5f2;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.event b{display:block;font-size:12px}.more{font-size:11px;border:0;padding:3px}.badge{display:inline-flex;gap:7px;align-items:center;max-width:230px;overflow-wrap:anywhere}.badge:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--status-color);flex-shrink:0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;font-size:13px;width:100%}th{font-weight:500;color:#78857d;padding:12px 10px;border-bottom:1px solid #dce5df;white-space:nowrap}td{padding:15px 10px;border-bottom:1px solid #ecf0ed;vertical-align:top;max-width:250px;overflow-wrap:anywhere}td small{display:block;color:#78857d}.empty{padding:30px;color:#7c8980;text-align:center}.error{color:#a12e28;font-size:13px;white-space:pre-wrap}#notice{min-height:22px;margin:12px 0}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:420px;background:white;border:1px solid #dce5df;border-radius:18px;padding:36px}.login-card .brand-mark{margin-bottom:28px}.login-card .primary{width:100%;margin-top:8px}dialog{color:inherit;width:min(720px,94vw);max-height:90vh;overflow:auto;border:1px solid #d4dfd7;border-radius:16px;padding:28px;background:#fff}dialog::backdrop{background:#152d2166;backdrop-filter:blur(2px)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:22px 0}.field{padding:12px 0;border-bottom:1px solid #e7ede9;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}.field small{display:block;color:#7a877f;font-size:12px;margin-bottom:5px}.form-row{display:grid;grid-template-columns:1.5fr 1.2fr .8fr;gap:12px}.status-row{display:flex;gap:8px;margin:12px 0;align-items:center;flex-wrap:wrap}.status-row input:not([type=color]){flex:1;min-width:140px}.status-row select{flex:1;min-width:150px}.status-row small{width:100%}hr{border:0;border-top:1px solid #e1e8e3;margin:28px 0}footer{padding:10px 0 20px;font-size:12px;color:#7a877f}@media(max-width:900px){main{padding:22px 18px}header{align-items:flex-start;flex-direction:column}.calendar-scroll{overflow:auto}.calendar,.weekdays{min-width:760px}.panel{padding:16px}.stats{grid-template-columns:repeat(2,1fr)}.calendar-day{min-height:105px}}@media(max-width:500px){h1{font-size:22px}h2{font-size:20px}.fields,.form-row{grid-template-columns:1fr}.login-card{padding:26px}.section-heading .toolbar{width:100%}dialog{padding:20px}.status-row button{padding:8px}.toolbar{gap:8px}}
