:root{--text:#232323;--text-muted:#5c6b60;--bg:#f6f5f3;--border:#d8d6ce;--accent:#256136;--accent-hover:#1b4a29;--accent-contrast:#fff;--error:#b3261e;--success:#1e7d32;--heading-font:"Cormorant", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100svh;padding:16px}.auth-page,.page{max-width:480px;margin:0 auto}.admin-page{max-width:1100px;margin:0 auto}h1,h2{font-family:var(--heading-font);font-weight:600}h1{margin:16px 0;font-size:2rem}h2{margin:24px 0 8px;font-size:1.4rem}form{flex-direction:column;gap:14px;display:flex}label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.9rem;display:flex}input,select,textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:10px;font-family:inherit;font-size:1rem}button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:6px;padding:12px;font-size:1rem}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.6;cursor:not-allowed}a{color:var(--accent)}a:hover{color:var(--accent-hover)}.error{color:var(--error);font-size:.9rem}.success{color:var(--success);font-size:.9rem}.hint{color:var(--text-muted);font-size:.85rem}.auth-page,.page{padding-bottom:40px}.dashboard-header{justify-content:space-between;align-items:center;display:flex}.summary-card{border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:16px}.assistance-reply{border-left:3px solid var(--accent);margin:8px 0;padding-left:12px}.school-total{font-family:var(--heading-font);color:var(--accent);margin:4px 0;font-size:2rem;font-weight:600}.progress-bar{background:var(--border);border-radius:6px;height:10px;margin:8px 0;overflow:hidden}.progress-bar-fill{background:var(--accent);height:100%}.dashboard-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.dashboard-actions a{border:1px solid var(--border);text-align:center;border-radius:6px;padding:12px;text-decoration:none}.saved-card{text-align:center;background:#fff}.saved-card .saved-check{color:var(--success);margin:0;font-size:2.5rem;line-height:1}.saved-card .saved-detail{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0}.assistance-bar{background:var(--bg);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:16px;margin-top:32px;padding:12px 16px;display:flex;position:sticky;bottom:0}.assistance-bar a{font-weight:600;text-decoration:none}.auth-page-secondary-action{text-align:center;margin-top:20px}.link-button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:400}.link-button:hover:not(:disabled){color:var(--accent);background:0 0;text-decoration:underline}.assistance-bar-signout{color:var(--text-muted);background:0 0;padding:0;font-size:.9rem;font-weight:600;text-decoration:underline}.assistance-bar-signout:hover:not(:disabled){color:var(--text);background:0 0}.admin-nav{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;margin-bottom:20px;padding-bottom:8px;display:flex}.admin-nav-top{justify-content:space-between;align-items:center;display:flex}.admin-nav-links{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.admin-nav button{white-space:nowrap;padding:8px 12px}.admin-nav a{white-space:nowrap;color:var(--text-muted);border-radius:6px;padding:8px 12px;text-decoration:none}.admin-nav a.active{color:var(--text);background:var(--border);font-weight:600}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;word-break:break-word;padding:8px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:16px 0;display:grid}.admin-stats .stat{border:1px solid var(--border);border-radius:8px;padding:12px}.admin-stats .stat-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.admin-stats .stat-link:hover,.admin-stats .stat-link:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);color:inherit}.admin-stats .stat-link>div:last-child:after{content:" →";color:var(--accent)}.admin-stats .stat .value{font-size:1.5rem;font-weight:700}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:12px 0;display:flex}.inline-form label{min-width:140px}.brand-header{text-align:center;margin-bottom:8px}.brand-header img{background:#fff;border-radius:8px;max-width:100%;height:auto;max-height:90px;padding:10px 16px}.admin-nav .brand-mark{background:#fff;border-radius:4px;height:28px;margin-right:8px;padding:3px 6px}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button.secondary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent)}.login-announcements{border:1px solid var(--border);border-top:4px solid var(--accent);background:#fff;border-radius:10px;margin:28px 0 12px;padding:18px 20px 6px}.login-announcements>h2{color:var(--accent);margin:0 0 12px;font-size:1.4rem}.announcement{padding-bottom:12px}.announcement+.announcement{border-top:1px solid var(--border);padding-top:14px}.announcement h3{font-family:var(--heading-font);margin:0;font-size:1.25rem;font-weight:700}.announcement-date{color:var(--text-muted);margin:2px 0 8px;font-size:.8rem}.announcement-body p,.announcement-body ul{margin:0 0 10px;line-height:1.5}.announcement-body ul{padding-left:22px}.lockout-notice{background:#fbf3dc;border:1px solid #d9b44a;border-radius:8px;margin:12px 0 18px;padding:14px 16px}.lockout-notice.locked{border-color:var(--error);background:#fbe9e7}.lockout-notice p{margin:6px 0 0}.app-version{text-align:center;color:var(--text-muted);margin-top:24px;font-size:.75rem}.preview-tabs{gap:8px;margin:16px 0 10px;display:flex}.preview-tabs button{padding:8px 12px;font-size:.9rem}.email-preview{border:1px solid var(--border);background:#f6f5f3;border-radius:8px;width:100%;height:520px}.upcoming-list{margin:8px 0 0;padding:0;list-style:none}.upcoming-list li{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.upcoming-when{color:var(--accent);flex:0 0 84px;font-size:.9rem;font-weight:600}.upcoming-what{flex-direction:column;flex:1;min-width:0;display:flex}.upcoming-signup{background:var(--accent);color:var(--accent-contrast);border-radius:6px;flex:none;padding:8px 12px;font-size:.9rem;font-weight:600;text-decoration:none}.upcoming-signup:hover{background:var(--accent-hover);color:var(--accent-contrast)}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;margin:12px 0 20px;padding:8px 0;position:relative}.chart-wrap svg{display:block}.chart-grid{stroke:#e6e3da;stroke-width:1px}.chart-baseline{stroke:var(--text-muted);stroke-width:1px}.chart-axis{fill:var(--text-muted);font-size:11px}.chart-label{fill:var(--text);font-size:12px}.chart-value{fill:var(--text);font-size:12px;font-weight:600}.chart-hit{fill:#0000}.chart-col{cursor:pointer;outline:none}.chart-bar{fill:var(--accent)}.chart-col.is-hover .chart-bar{fill:var(--accent-hover)}.chart-col.is-hover .chart-hit{fill:color-mix(in srgb, var(--accent) 6%, transparent)}.chart-tooltip{border:1px solid var(--border);pointer-events:none;white-space:nowrap;background:#fff;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;font-size:.85rem;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 14px #0000001f}.chart-table td:not(:first-child),.chart-table th:not(:first-child){text-align:right}.chart-table-link{color:var(--accent);font-size:1rem;text-decoration:underline}.hbar-chart{border:1px solid var(--border);background:#fff;border-radius:10px;margin:12px 0 20px;padding:12px 16px}.hbar-row{grid-template-columns:minmax(0,38%) minmax(0,1fr);align-items:center;gap:12px;padding:5px 0;display:grid}.hbar-label{text-align:right;font-size:.9rem;line-height:1.25}.hbar-track{align-items:center;gap:6px;min-width:0;display:flex}.hbar-bar{background:var(--accent);border-radius:0 4px 4px 0;flex:none;height:20px}.hbar-row:hover .hbar-bar{background:var(--accent-hover)}.hbar-value{white-space:nowrap;font-size:.85rem;font-weight:600}.hbar-row-button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 4px}.hbar-row-button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 6%, transparent)}
