:root{color-scheme:light;font-family:Space Grotesk,Segoe UI,sans-serif;background:radial-gradient(circle at top left,#fff6e6,#f0f7ff 35%,#fefefe 70%);color:#1f2937}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.app-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.app-header h1{font-size:2.5rem;margin:0;letter-spacing:-.04em}.subtitle{margin:.2rem 0 0;color:#6b7280}.app-nav{display:flex;gap:1rem}.app-nav a{text-decoration:none;color:#111827;background:#fff;padding:.6rem 1.2rem;border-radius:999px;border:1px solid #e5e7eb;box-shadow:0 4px 10px #0f172a14;transition:transform .2s ease,box-shadow .2s ease}.app-nav a:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0f172a1f}.auth-chip{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:#4b5563}.auth-chip button{border:none;background:#111827;color:#fff;padding:.4rem .8rem;border-radius:999px;cursor:pointer}.card{background:#fff;padding:1.5rem;border-radius:1.25rem;box-shadow:0 20px 40px #0f172a14}.field{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}input[type=date]{padding:.6rem .8rem;border-radius:.75rem;border:1px solid #d1d5db;font-size:1rem}.form{display:grid;gap:1rem;margin-top:1rem}input,select{padding:.6rem .8rem;border-radius:.75rem;border:1px solid #d1d5db;font-size:1rem}button{padding:.6rem 1rem;border-radius:.75rem;border:1px solid #d1d5db;background:#111827;color:#fff;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}.placeholder{margin-top:1.5rem;padding:1rem;border-radius:.75rem;background:#f9fafb;border:1px dashed #d1d5db;color:#6b7280}.profile-card{margin-top:1rem;padding:1rem;border-radius:1rem;background:#f3f4f6;display:flex;justify-content:space-between;align-items:center;gap:1rem}.chip{padding:.35rem .75rem;border-radius:999px;background:#111827;color:#fff;font-size:.85rem}.toggle-group{display:inline-flex;gap:.5rem;margin-top:1rem}.upload-label{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1rem;border-radius:.75rem;border:1px solid #d1d5db;background:#f3f4f6;color:#111827;font-weight:600;cursor:pointer}.upload-label input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.student-list,.roster{margin-top:1.5rem;display:grid;gap:1rem}.stop-group h3{margin:0 0 .75rem;font-size:1.1rem;color:#111827}.student-row,.roster-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border-radius:1rem;background:#f9fafb;border:1px solid #e5e7eb}.student-row>div:first-child,.roster-row>div:first-child{display:flex;align-items:center;gap:.75rem}.student-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px #0f172a33}.roster-row.skip{background:#fff1f2;border-color:#fecdd3}.action-group{display:flex;flex-wrap:wrap;gap:.5rem}.toggle{background:#f3f4f6;color:#111827;border:1px solid #d1d5db}.toggle.active{background:#f97316;color:#fff;border-color:#f97316}.toggle.secondary{background:#e5e7eb}.filters{display:grid;gap:1rem;margin-top:1.5rem}.badge{padding:.4rem .8rem;border-radius:999px;background:#e5e7eb;font-weight:600}.badge.skip{background:#ef4444;color:#fff}.status-row{margin-top:1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.health{padding:.35rem .75rem;border-radius:999px;font-weight:600;background:#e5e7eb}.health.ok{background:#22c55e;color:#fff}.health.down{background:#ef4444;color:#fff}.muted{color:#6b7280;margin:.25rem 0 0}.error{color:#dc2626;font-weight:600}@media (min-width: 720px){.app-header{flex-direction:row;align-items:center;justify-content:space-between}.filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}}
