:root{font-synthesis:none}html,body,#root{min-height:100%}body{background:#f7f7f8}button,.btn,.nav-link,.form-control,.form-select{min-height:44px}.navbar .nav-link{display:flex;align-items:center;gap:.4rem;color:#ffffffe6}.admin-links{flex-direction:row;align-items:center}.page-loader{min-height:60vh;display:flex;align-items:center;justify-content:center;gap:1rem}.auth-shell{min-height:100vh;padding:1rem;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#fff 0,#f4e8e3 60%,#eee)}.auth-card{width:min(100%,29rem);padding:clamp(.5rem,2vw,1.5rem);box-shadow:0 .75rem 2rem #0000001f;border:0}.auth-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:var(--bs-primary);color:#fff;display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem}.auth-logo{max-width:10rem;max-height:5rem;object-fit:contain;margin-bottom:1rem}.otp-input{font-size:1.75rem;letter-spacing:.5rem;text-align:center}.turnstile-wrap{min-height:65px;overflow:hidden}.action-row{display:flex;gap:.4rem;flex-wrap:wrap}.responsive-cards{display:grid;gap:1rem}.form-grid,.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.filter-grid{grid-template-columns:2fr 1fr 1fr}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem}.app-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}.app-tabs .nav-link{white-space:nowrap}.unit-select{max-width:8rem}.color-input{width:4rem;padding:.25rem}.grant-list{border-top:1px solid var(--bs-border-color)}.grant-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr);gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--bs-border-color)}.sticky-save{position:sticky;bottom:1rem;display:flex;justify-content:flex-end;pointer-events:none}.sticky-save .btn{box-shadow:0 .4rem 1rem #00000040;pointer-events:auto}@media(max-width:767.98px){body{background:#fff}.form-grid,.filter-grid,.grant-row{grid-template-columns:1fr}.auth-card{box-shadow:none}.admin-links{flex-direction:column;align-items:stretch}.admin-links .nav-link{color:var(--bs-body-color)}.action-row .btn{flex:1 1 auto}.nav-tabs .nav-link{padding-inline:.7rem}.sticky-save .btn{width:100%}}
