@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap";:root{--color-forest: #1a472a;--color-forest-light: #2d6a4f;--color-sand: #f5f0e6;--color-sand-dark: #e8dfd0;--color-clay: #c4724a;--color-ink: #1c1917;--color-muted: #57534e;--color-border: #d6d3d1;--color-surface: #fffcf7;--color-error: #b91c1c;--font-display: "Libre Baskerville", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--radius: .5rem;--shadow: 0 1px 3px rgb(26 71 42 / 8%), 0 4px 16px rgb(26 71 42 / 6%)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-ink);background:var(--color-sand);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgb(45 106 79 / 12%),transparent),linear-gradient(180deg,var(--color-sand) 0%,var(--color-sand-dark) 100%)}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.25;margin:0 0 .5rem}a{color:var(--color-forest-light);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:var(--color-forest)}button,input,select{font:inherit}.site-shell{min-height:100dvh;display:flex;flex-direction:column}.site-main{flex:1;width:min(100%,72rem);margin:0 auto;padding:1.5rem 1.25rem 3rem}.site-header{background:var(--color-forest);color:var(--color-sand);box-shadow:var(--shadow)}.site-header__inner{width:min(100%,72rem);margin:0 auto;padding:.875rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.site-header__brand{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--color-sand);text-decoration:none;letter-spacing:.01em}.site-header__brand:hover{color:#fff}.site-nav{display:flex;gap:.25rem 1.25rem;flex-wrap:wrap}.site-nav a{color:#f5f0e6e0;text-decoration:none;font-size:.9375rem;font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff;border-bottom-color:var(--color-clay)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.card+.card{margin-top:1.25rem}.lead{font-size:1.125rem;color:var(--color-muted);max-width:42rem;margin:0 0 1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;margin:1.5rem 0 2rem}.stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.125rem;text-align:center}.stat__value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--color-forest);line-height:1.2}.stat__label{font-size:.8125rem;color:var(--color-muted);margin-top:.25rem;text-transform:uppercase;letter-spacing:.04em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-weight:600;font-size:.9375rem;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .1s ease}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-forest);color:var(--color-sand)}.btn--primary:hover{background:var(--color-forest-light);color:#fff}.btn--ghost{background:transparent;color:var(--color-forest);border:1px solid var(--color-border)}.btn--ghost:hover{border-color:var(--color-forest-light);background:#fffcf7cc}.filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.25rem}.field{display:flex;flex-direction:column;gap:.375rem;min-width:10rem}.field label{font-size:.8125rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.field select{padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-ink)}.discipline-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.discipline-tab{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-weight:500;font-size:.875rem;cursor:pointer;text-decoration:none;transition:all .15s ease}.discipline-tab:hover{border-color:var(--color-forest-light);color:var(--color-forest)}.discipline-tab[aria-current=true]{background:var(--color-forest);border-color:var(--color-forest);color:var(--color-sand)}.results-meta{font-size:.875rem;color:var(--color-muted);margin-bottom:1rem}.results-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff}.results-table{width:100%;border-collapse:collapse;font-size:.9375rem}.results-table th,.results-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top}.results-table th{background:var(--color-sand);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);white-space:nowrap}.results-table tbody tr:last-child td{border-bottom:none}.results-table tbody tr:hover{background:#f5f0e67f}.empty-state{padding:2.5rem 1.5rem;text-align:center;color:var(--color-muted)}.error-state{color:var(--color-error);padding:1rem;background:#b91c1c0f;border:1px solid rgb(185 28 28 / 20%);border-radius:var(--radius)}@media (max-width: 640px){.site-main{padding:1rem 1rem 2.5rem}.page-header{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.results-table thead{display:none}.results-table tbody tr{display:block;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.results-table tbody tr:last-child{border-bottom:none}.results-table td{display:flex;justify-content:space-between;gap:1rem;padding:.375rem 1rem;border:none}.results-table td:before{content:attr(data-label);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);flex-shrink:0}}.eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin:0 0 .25rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-header h1,.page-header h2{margin-bottom:.25rem}.page-header .lead{margin-bottom:0}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.admin-nav__link{padding:.5rem .875rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);text-decoration:none;font-size:.875rem;font-weight:500}.admin-nav__link:hover{border-color:var(--color-forest-light);color:var(--color-forest)}.admin-nav__link[aria-current=page]{background:var(--color-forest);border-color:var(--color-forest);color:var(--color-sand)}.admin-content{margin-top:.5rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.card--link{display:block;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .1s ease}.card--link:hover{border-color:var(--color-forest-light);transform:translateY(-1px)}.card--link h2{color:var(--color-forest)}.card--danger{border-color:#b91c1c40;background:#b91c1c0a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.form-grid__full{grid-column:1 / -1}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.field--grow{flex:1;min-width:12rem}.field--checkbox{flex-direction:row;align-items:center;gap:.5rem;min-width:auto;padding-bottom:.5rem}.field--checkbox input{width:auto}.field input,.field textarea{padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-ink);width:100%}.field textarea{resize:vertical;min-height:4rem}.badge{display:inline-block;padding:.125rem .5rem;border-radius:999px;background:#2d6a4f1f;color:var(--color-forest);font-size:.8125rem;font-weight:600}.btn--sm{padding:.375rem .75rem;font-size:.8125rem}.btn--danger{background:var(--color-error);color:#fff}.btn--danger:hover{background:#991b1b;color:#fff}.dashboard-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
