:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;color:#1d302b;background:#f5f8f6;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.btn{cursor:pointer;border:0;border-radius:9px;padding:10px 15px;background:#173b35;color:white;font-weight:600;display:inline-flex;gap:7px;align-items:center}button.secondary,.btn.secondary{background:white;color:#173b35;border:1px solid #d4e1da}button.warn{background:#925e23}button.danger{background:#a43e3e}button:disabled{opacity:.5;cursor:not-allowed}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:#173b35;color:#f7fffa;padding:25px 18px;display:flex;flex-direction:column;gap:24px}.brand{font-size:22px;font-weight:850;letter-spacing:-.6px}.brand small{display:block;font-size:11px;color:#b4d0c5;font-weight:400;letter-spacing:0;margin-top:5px}.nav{display:grid;gap:5px}.nav a{border-radius:9px;padding:11px 13px;color:#cce2d9}.nav a.active,.nav a:hover{background:#315c51;color:white}.sidefoot{margin-top:auto;color:#cce2d9;font-size:13px;line-height:1.6}.main{min-width:0;padding:28px 38px;max-width:1450px;width:100%;margin:auto}.head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.head h1{margin:0;font-size:26px;letter-spacing:-.7px}.muted{color:#71867d;font-size:13px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:white;border:1px solid #e0eae4;border-radius:15px;padding:20px;box-shadow:0 5px 24px rgba(15,45,35,.025)}.metric{font-size:30px;font-weight:750;margin:8px 0}.two{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:20px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.sectiontitle h2{margin:0;font-size:17px}.stack{display:grid;gap:12px}.item{padding:13px 0;border-bottom:1px solid #e9efec;display:flex;justify-content:space-between;gap:14px;align-items:center}.item:last-child{border-bottom:0}.pill{font-size:11px;padding:5px 8px;background:#e5f1ec;color:#20634f;border-radius:50px;white-space:nowrap}.pending_review,.pending,.change_requested{background:#fff3da;color:#98651e}.missed{background:#fbe5e2;color:#a33d36}.completed,.accepted,.excused{background:#e1f2e9;color:#287353}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.row.between{justify-content:space-between}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formgrid .full{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,select,textarea{width:100%;border:1px solid #d5e1db;border-radius:9px;background:white;padding:11px;color:#1c332b}textarea{min-height:92px}form{margin:0}.formactions{margin-top:15px;display:flex;gap:8px;flex-wrap:wrap}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px 11px;border-bottom:1px solid #edf1ee;font-size:13px;vertical-align:middle}th{font-size:12px;color:#70837a;font-weight:650}h2{font-size:18px}.notice{padding:13px 17px;border-radius:10px;background:#e4f2e9;color:#22604c;margin-bottom:18px}.authwrap{max-width:440px;margin:11vh auto;padding:20px}.authwrap .brand{color:#173b35}.authwrap .card{margin-top:22px}.authwrap label{margin:16px 0}.progress{width:100%;height:8px;border-radius:8px;overflow:hidden;background:#ecf1ee}.progress span{display:block;height:100%;background:#27836c}.minor{font-size:12px;color:#71867d}.inline{display:inline}.mobilebrand{display:none}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.filters label{min-width:170px}.empty{color:#71867d;padding:24px 0}.badge-red{color:#ab4337}details summary{cursor:pointer;font-weight:600}details{margin:8px 0} @media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.main{padding:24px}}@media(max-width:700px){.shell{display:block}.sidebar{padding:14px 15px;gap:12px}.sidebar .brand{font-size:19px}.nav{display:flex;overflow-x:auto;scrollbar-width:thin}.nav a{flex-shrink:0;font-size:13px;padding:9px}.sidefoot{display:none}.main{padding:20px 15px}.head{align-items:flex-start}.head h1{font-size:23px}.grid,.three,.formgrid{grid-template-columns:1fr 1fr}.card{padding:16px}.item{align-items:flex-start}.tablewrap{margin:0 -7px}.formgrid .full{grid-column:1/-1}}@media(max-width:430px){.grid,.three,.formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:1}.head{flex-direction:column;align-items:stretch}}
