:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#203832;background:#f4f7f6;line-height:1.5;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:#126b54;text-underline-offset:3px}button,input{font:inherit}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d09b29;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:#fff;border-right:1px solid #dee7e2;padding:30px 24px;display:flex;flex-direction:column}.brand{text-decoration:none;display:flex;gap:10px;align-items:center;font-size:17px;font-weight:750;color:#203832}.brand-icon{background:#176f57;color:white;padding:9px;border-radius:12px;font-size:14px;white-space:nowrap}.muted{color:#657970}.sidebar>.muted{font-size:13px;margin:14px 0 30px}nav{display:grid;gap:10px}nav>a,nav>span{padding:13px 12px;border-radius:8px;text-decoration:none;display:flex;justify-content:space-between;gap:10px}nav>span{color:#6b7872}nav small{background:#edf1ef;border-radius:5px;padding:2px 7px;font-size:11px}.nav-active{background:#eaf4ee;font-weight:650}.account{margin-top:auto;border-top:1px solid #e3eae6;padding-top:20px;overflow-wrap:anywhere}.account form{margin-top:8px}main{margin-left:264px;padding:40px clamp(24px,4vw,64px);min-height:100vh}h1{font-size:32px;line-height:1.2;margin:6px 0 12px;overflow-wrap:anywhere}h2{font-size:20px;margin:0 0 10px}p{margin:10px 0 18px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:#527466;font-weight:750}.page-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:26px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;background:#176f57;color:#fff;border:1px solid #176f57;border-radius:8px;padding:10px 18px;text-decoration:none;font-weight:650;cursor:pointer;white-space:nowrap}.button:hover{background:#105940;color:white}.secondary{background:#fff;color:#176f57;border-color:#b5cec1}.panel{background:white;border:1px solid #dfe8e2;border-radius:14px;padding:26px;margin-bottom:26px}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.group-card{margin:0;overflow-wrap:anywhere}.group-card .button{width:100%;margin-top:12px}.group-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#edf4dc;color:#536d23;border-radius:12px;font-weight:700;margin-bottom:20px}.future{margin-top:30px}.tags{display:flex;gap:12px;flex-wrap:wrap}.tags span{background:#f2f5f3;border-radius:7px;padding:8px 12px;font-size:14px;color:#5f7066}.empty{text-align:center;padding:30px;grid-column:1/-1}.form-panel{max-width:620px}label{display:block;font-weight:600;margin-bottom:7px}input:not([type=hidden]){display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid #aebfb4;border-radius:7px;background:#fff}.helptext{display:block;font-size:13px;color:#63766a;margin-top:7px}.helptext ul{padding-left:20px}.errorlist{color:#a52a2a;font-size:14px}.form-actions{display:flex;align-items:center;gap:24px;margin-top:24px}.notice{background:#e7f4e8;border:1px solid #a5cdb1;border-radius:8px;padding:14px 20px;margin-bottom:24px}.back{display:inline-block;margin-bottom:16px}.responsive-table{border-collapse:collapse;width:100%;text-align:left}.responsive-table th{color:#6b7c73;background:#f7f9f8;font-size:12px;font-weight:650}.responsive-table td,.responsive-table th{padding:16px 12px;border-bottom:1px solid #e8edea}.responsive-table td{overflow-wrap:anywhere}.student-name{font-weight:600}.actions-heading{text-align:right}.row-actions{display:flex;justify-content:flex-end;gap:18px;align-items:center;flex-wrap:wrap}.row-actions>a,.link-button{display:inline-flex;align-items:center;min-height:44px}.link-button{background:none;border:0;color:#176f57;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.danger{color:#9d3f36}.badge{display:inline-block;background:#eaf4ee;color:#286a4c;font-size:12px;border-radius:20px;padding:4px 10px;white-space:nowrap}.price{white-space:nowrap}.section-note{font-size:13px;color:#687b70;margin:18px 0 0}footer{font-size:12px;color:#718278;margin-top:42px}.section-header p{margin-bottom:0}
@media(min-width:1600px){.group-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}
@media(max-width:1000px){.sidebar{width:220px;padding:24px 16px}main{margin-left:220px;padding:28px 22px}.row-actions{gap:10px}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:16px;border-right:0;border-bottom:1px solid #dee7e2;display:block}.sidebar>.muted{display:none}.brand{font-size:16px}nav{display:flex;overflow-x:auto;gap:8px;margin-top:16px}nav>a,nav>span{padding:10px;white-space:nowrap;font-size:13px}nav small{display:none}.account{display:flex;justify-content:space-between;align-items:center;padding-top:10px;margin-top:10px;font-size:14px}.account form{margin:0}main{margin:0;padding:24px 16px}h1{font-size:28px}.page-header,.section-header{align-items:stretch;flex-direction:column;gap:14px}.page-header .button,.section-header .button{width:100%}.panel{padding:18px;border-radius:12px}.group-grid{grid-template-columns:1fr}.responsive-table,.responsive-table tbody{display:block}.responsive-table thead{display:none}.responsive-table tr{display:block;border:1px solid #dfe8e2;border-radius:10px;padding:12px;margin-bottom:12px}.responsive-table td{display:block;border:0;padding:5px 0}.row-actions{justify-content:flex-start;gap:20px;border-top:1px solid #edf1ef;margin-top:8px;padding-top:6px}.row-actions a,.row-actions button{min-height:48px}.student-name{font-size:17px}.tags{gap:8px}.empty{padding:20px 4px}.form-actions{align-items:stretch}.form-actions .button{flex:1}}

.positive{color:#176f45}.negative{color:#b12e28}select,textarea{font:inherit;width:100%;min-height:48px;padding:10px 12px;border:1px solid #aebfb4;border-radius:7px;background:white}select:focus-visible,textarea:focus-visible{outline:3px solid #d09b29;outline-offset:3px}.meal-check{display:flex;align-items:center;gap:12px;min-height:48px;font-weight:400}.meal-check input[type=checkbox]{width:28px;min-height:28px;height:28px;accent-color:#176f57;flex-shrink:0}.filter-form{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}.filter-form p{flex:1;min-width:180px;margin:0}.filter-form .errorlist{flex-basis:100%}.bulk-actions{justify-content:flex-start;margin-bottom:18px}.save-bar{position:sticky;bottom:0;background:white;padding:16px 0 4px}small{overflow-wrap:anywhere}@media(max-width:700px){.filter-form{display:block}.filter-form p{margin-bottom:16px}.filter-form button,.save-bar button{width:100%}.bulk-actions{gap:10px}.bulk-actions button{flex:1}}
