.form-title{background-color:#f7f4ec;border:2px solid #e4dfd1;border-radius:8px;padding:1rem}button.positive{color:#fff;cursor:pointer;background-color:#2f8f72;border:none;border-radius:8px;padding:1rem;font-size:1rem}button.positive:hover{background-color:#226953}button.positive:disabled{cursor:not-allowed;background-color:#164235}button.neutral{color:#5c6864;cursor:pointer;background-color:#fff;border:none;border-radius:8px;padding:1rem;font-size:1rem}button.neutral:hover{background-color:#e6e6e6}.create-student-buttons,.form-footer{border-top:1px solid #0000001a;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.form{background-color:#fff;border:1px solid #0000001a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:25rem;height:auto;margin:1rem;padding:2rem;display:flex}.form-group{flex-direction:row;align-items:center;gap:1rem;display:flex}form.create-student{box-sizing:border-box;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:fit-content;display:flex}div.create-student-card{background-color:#fff;border:1px solid #0000001a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:fit-content;padding:2rem;display:flex}.form-group{text-align:left;flex-direction:column;gap:.5rem;width:100%;font-family:Work Sans,sans-serif;font-size:.9rem;display:flex}.form-group input{background-color:#f7f4ec;border:1px solid #0000001a;border-radius:8px;padding:.5rem}.student-page{width:min(100%,1100px);margin:0 auto}.student-page-header{justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;display:flex}.student-page-kicker{text-transform:uppercase;letter-spacing:.12em;color:#0000008c;margin-bottom:.35rem;font-size:.75rem}.student-back-link{color:#5c6864;white-space:nowrap;background-color:#f7f4ec;border:1px solid #e4dfd1;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1rem;display:inline-flex}.student-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;width:100%;display:grid}.student-summary>div,.student-panel,.student-list-item{text-align:left;background:#f7f4ec;border:1px solid #e4dfd1;border-radius:16px;padding:1rem}.student-label{text-transform:uppercase;letter-spacing:.08em;color:#0000008c;margin-bottom:.35rem;font-size:.75rem;display:block}.student-value{color:#5c6864;font-size:1rem}.student-section-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;width:100%;display:grid}.student-panel h3,.student-list-item h3{margin-bottom:.5rem;font-size:1rem}.student-list-placeholder{flex-wrap:wrap;gap:1rem;width:100%;display:flex}.student-search{text-align:left;width:100%}.student-search>p{color:#5c6864;margin-top:.65rem;font-size:.85rem}.student-search-controls{gap:.5rem;display:flex}.student-search-controls input{box-sizing:border-box;color:#5c6864;min-width:0;font:inherit;background:#f7f4ec;border:1px solid #e4dfd1;border-radius:12px;flex:1;padding:.85rem 1rem}.student-search-controls button{color:#5c6864;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4dfd1;border-radius:12px;padding:.75rem}.student-search-controls input:focus-visible,.student-search-controls button:focus-visible{outline-offset:2px;outline:2px solid #2f8f72}.student-empty-state{box-sizing:border-box;text-align:center;color:#0009;border:1px dashed #e4dfd1;border-radius:16px;width:100%;padding:3rem 1.5rem}.student-empty-state h3{color:#5c6864;margin-bottom:.5rem;font-size:1.1rem}.student-list-item{box-sizing:border-box;flex:calc(33.3333% - .666667rem);justify-content:space-between;align-items:center;gap:1rem;min-width:220px;display:flex}.student-list-item a{color:#fff;background-color:#2f8f72;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1rem;display:inline-flex}.student-detail-card{width:min(100%,900px)}.active-student-card{border-top:3px solid #2f8f72;flex-direction:column;align-items:stretch;padding:1.25rem}.active-student-card>a{align-self:flex-end}.student-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.student-card-heading h3{overflow-wrap:anywhere;margin:0;font-weight:600}.student-presence{color:#2f8f72;background:#2f8f7217;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.75rem;display:inline-flex}.student-presence:before{content:"";background:#2f8f72;border-radius:50%;width:6px;height:6px}.student-attendance-times{border-top:1px solid #e4dfd1;border-bottom:1px solid #e4dfd1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 0;display:grid}.student-attendance-times dd{color:#5c6864;font-variant-numeric:tabular-nums;line-height:1.4}.student-attendance-times .student-duration{color:#2f8f72;font-weight:600}.student-detail-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;width:100%;display:grid}.student-qr-panel,.student-actions-panel{min-height:280px}.student-qr-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.student-qr-code{object-fit:contain;background:#fff;border-radius:12px;width:190px;height:190px;padding:.75rem}.student-actions-panel{flex-direction:column;justify-content:center;display:flex}.student-action-description{color:#000000a6;margin-bottom:1.25rem}.student-attendance-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.attendance-button{color:#fff;font:inherit;cursor:pointer;border:none;border-radius:12px;padding:1rem;font-weight:600;transition:transform .1s,filter .1s}.attendance-button:hover{filter:brightness(.94);transform:translateY(-2px)}.check-in-button{background-color:#2f8f72}.check-out-button{background-color:#b94a48}@media (width<=800px){.student-list-item{flex-basis:calc(50% - .5rem)}}@media (width<=520px){.student-list-item{flex-basis:100%;min-width:0}}#root{box-sizing:border-box;text-align:center;background-color:#f7f4ec;flex-direction:column;max-width:100%;height:100%;min-height:100svh;margin:0;padding:0;font-family:Work Sans,sans-serif;display:flex}.page-wrapper{box-sizing:border-box;flex:1;justify-content:center;align-items:flex-start;width:100%;padding:2.5rem 2rem;display:flex}.top-banner{color:#1f2937;background-color:#f7f4ec;width:100%;height:60px;position:sticky;top:0;overflow:hidden;box-shadow:0 2px 6px #24312f33}.top-banner .menu-toggle{display:none}.top-banner .nav-links{justify-content:center;align-items:center;gap:20px;height:100%;display:flex}.top-banner .nav-link{box-sizing:border-box;height:60%;font:inherit;border:2px solid #0000001a;border-bottom:none;border-top-left-radius:16px;border-top-right-radius:16px;justify-content:center;align-items:center;margin-top:30px;padding:3px 25px;line-height:normal;display:flex}.top-banner .nav-link:hover{cursor:pointer;background-color:#0000001a;transition:transform .1s;transform:translateY(2px)translate(2px)}.top-banner .nav-link{color:gray}.top-banner .nav-link.meadow{color:#fff;background-color:#2f8f72}.top-banner .logout-link{appearance:none;color:#fff;cursor:pointer;background-color:#b94a48}.top-banner .logout-link:hover{background-color:#963b39}.top-banner .nav-link:before{content:"";background:#f7f4ec;border:1.5px solid #e4dfd1;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:8px}.top-banner .meadow{color:#fff;background-color:#2f8f72}@media (width<=600px){.top-banner{height:auto;min-height:60px;overflow:visible}.top-banner .nav-container{justify-content:flex-end;min-height:60px;padding:0 1rem;position:relative}.top-banner .menu-toggle{cursor:pointer;background:#f7f4ec;border:1px solid #e4dfd1;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:.6rem;display:flex}.top-banner .menu-toggle span{background:#5c6864;border-radius:999px;width:100%;height:2px;display:block}.top-banner .nav-links{z-index:10;background:#f7f4ec;border:1px solid #e4dfd1;border-radius:14px;flex-direction:column;align-items:stretch;gap:.5rem;height:auto;padding:.75rem;display:none;position:absolute;top:calc(100% + .5rem);left:1rem;right:1rem;box-shadow:0 8px 20px #24312f2e}.top-banner .nav-links.open{display:flex}.top-banner .nav-links .nav-link{border:1px solid #e4dfd1;border-radius:10px;width:100%;height:auto;min-height:44px;margin-top:0}}.nav-container{justify-content:space-between;align-items:center;height:100%;padding:0 20px;display:flex}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a,a:visited,a:hover,a:active{text-decoration:none}
