:root{--background:#f5f7fb;--foreground:#172033;--muted:#667085;--card:#fff;--border:#d7dce7}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.page-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;width:min(900px,100%);padding:2rem;box-shadow:0 20px 40px #0f172a14}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.link-grid{gap:.75rem;margin-top:1.5rem;display:grid}.link-grid a{border:1px solid var(--border);background:#fbfcff;border-radius:12px;padding:.9rem 1rem;text-decoration:none;display:block}.link-grid a:hover{background:#eef3ff}.muted-text{color:var(--muted);line-height:1.6}.login-card{width:min(480px,100%)}.login-form{gap:1rem;margin-top:1.5rem;display:grid}.form-field{gap:.45rem;display:grid}.form-field label{font-size:.9rem;font-weight:700}.form-field input{border:1px solid var(--border);width:100%;color:var(--foreground);font:inherit;background:#fff;border-radius:12px;padding:.85rem .95rem}.form-field input:focus{border-color:#88a8f8;outline:3px solid #dbe7ff}.form-field input:disabled{color:var(--muted);background:#f7f8fb}.primary-button{color:#fff;font:inherit;cursor:pointer;background:#2448a8;border:0;border-radius:12px;padding:.9rem 1rem;font-weight:700}.primary-button:hover:not(:disabled){background:#1e3d8f}.primary-button:disabled{cursor:not-allowed;opacity:.7}.form-alert{color:#8a1f1f;background:#fff2f2;border:1px solid #f1b8b8;border-radius:12px;padding:.8rem .95rem;font-size:.95rem}.form-footer{color:var(--muted);margin-top:1.25rem;font-size:.9rem;line-height:1.5}.protected-layout{--app-header-offset:73px;min-height:100vh}.protected-layout .page-shell{min-height:calc(100vh - var(--app-header-offset))}.app-header{min-height:var(--app-header-offset);border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 2rem;display:flex}.app-header-eyebrow,.app-header-title{margin:0}.app-header-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.app-header-title{margin-top:.2rem;font-weight:700}.app-header-account{color:var(--muted);align-items:center;gap:.85rem;font-size:.9rem;display:flex}.secondary-button{border:1px solid var(--border);color:var(--foreground);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:.65rem .85rem;font-weight:700}.secondary-button:hover:not(:disabled){background:#eef3ff}.secondary-button:disabled{cursor:not-allowed;opacity:.7}.auth-state-card{width:min(560px,100%)}@media (max-width:640px){.app-header{flex-direction:column;align-items:flex-start;padding:1rem}.app-header-account{flex-direction:column;align-items:flex-start;width:100%}}.app-header-main{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.account-summary{text-align:right;gap:.15rem;display:grid}.account-label,.app-nav-label{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.secondary-link,.primary-link,.app-nav-link{border-radius:999px;font-weight:700;text-decoration:none}.secondary-link{color:inherit;font-size:.9rem}.primary-link{margin-top:1.25rem;display:inline-flex}.app-nav{border-top:1px solid var(--border);gap:1rem;width:100%;margin-top:1rem;padding-top:1rem;display:grid}.app-nav-group{gap:.45rem;display:grid}.app-nav-links{flex-wrap:wrap;gap:.5rem;display:flex}.app-nav-link{border:1px solid var(--border);color:inherit;padding:.45rem .75rem;font-size:.9rem}.app-nav-link:hover,.app-nav-link.active{background:var(--foreground);color:var(--background)}@media (max-width:720px){.app-header-main,.app-header-account{flex-direction:column;align-items:flex-start}.account-summary{text-align:left}}.app-header{flex-direction:column;align-items:stretch;gap:1rem}.app-header-account{flex-wrap:wrap;justify-content:flex-end}.app-nav{align-self:stretch}@media (max-width:720px){.app-header-account{justify-content:flex-start}}.data-card{max-width:1100px}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.record-count{color:var(--muted-foreground);margin:1rem 0;font-size:.9rem;font-weight:700}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:820px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.85rem}.data-table th{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.table-primary-text,.table-secondary-text{display:block}.table-primary-text{font-weight:700}.table-secondary-text{color:var(--muted-foreground);margin-top:.2rem;font-size:.78rem}.status-pill{border:1px solid var(--border);text-transform:capitalize;border-radius:999px;padding:.25rem .55rem;font-size:.8rem;font-weight:700;display:inline-flex}@media (max-width:720px){.section-heading-row{flex-direction:column}}.table-description-text{color:var(--muted-foreground);max-width:32rem;margin-top:.4rem;font-size:.85rem;display:block}.permission-chip-list{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.permission-chip{border:1px solid var(--border);border-radius:999px;padding:.22rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.audit-table{min-width:1080px}.action-chip{border:1px solid var(--border);border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.metadata-block{border:1px solid var(--border);white-space:pre-wrap;background:#0000000a;border-radius:.75rem;max-width:24rem;max-height:10rem;margin:0;padding:.75rem;font-size:.75rem;overflow:auto}.student-dashboard-card{max-width:1100px}.student-account-panel{border:1px solid var(--border);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}.student-account-email{margin:.15rem 0 0;font-size:1.05rem;font-weight:800}.dashboard-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.dashboard-link-card{border:1px solid var(--border);color:inherit;border-radius:1rem;gap:.75rem;padding:1rem;text-decoration:none;display:grid}.dashboard-link-card:hover{background:#00000008}.dashboard-link-card h2{margin:0;font-size:1.1rem}.dashboard-link-card p{color:var(--muted-foreground);margin:0}@media (max-width:900px){.dashboard-card-grid{grid-template-columns:1fr}.student-account-panel{flex-direction:column;align-items:flex-start}}.landing-card{max-width:960px}.landing-action-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.button-link{text-decoration:none;display:inline-flex}.landing-note{border:1px solid var(--border);color:var(--muted-foreground);border-radius:1rem;margin-top:1.5rem;padding:1rem}.landing-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.75rem;display:grid}.landing-feature-card{border:1px solid var(--border);border-radius:1rem;padding:1rem}.landing-feature-card h2{margin:0 0 .5rem;font-size:1rem}.landing-feature-card p{color:var(--muted-foreground);margin:0}@media (max-width:900px){.landing-feature-grid{grid-template-columns:1fr}}.placeholder-card{max-width:1000px}.placeholder-heading-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.placeholder-panel-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;margin-top:1.5rem;display:grid}.placeholder-panel{border:1px solid var(--border);border-radius:1rem;padding:1rem}.placeholder-panel h2{margin:0 0 .5rem;font-size:1rem}.placeholder-panel p{color:var(--muted-foreground);margin:0}.placeholder-list{color:var(--muted-foreground);margin:0;padding-left:1.2rem}.placeholder-list li+li{margin-top:.35rem}.placeholder-action-row{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.placeholder-action-link{border:1px solid var(--border);color:inherit;border-radius:999px;padding:.5rem .8rem;font-size:.9rem;font-weight:800;text-decoration:none}.placeholder-action-link:hover{background:var(--foreground);color:var(--background)}@media (max-width:800px){.placeholder-heading-row,.placeholder-panel-grid{grid-template-columns:1fr}.placeholder-heading-row{flex-direction:column}}.filter-panel{border:1px solid #94a3b838;border-radius:14px;margin:1.25rem 0;padding:1rem}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;display:grid}.filter-field{flex-direction:column;gap:.4rem;display:flex}.filter-field span{color:var(--muted-text);font-size:.85rem;font-weight:600}.filter-field input,.filter-field select{font:inherit;border:1px solid #94a3b859;border-radius:10px;padding:.65rem .75rem}
