@font-face{font-family:Actay;src:url('fonts/actay-400.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Actay;src:url('fonts/actay-700.otf') format('opentype');font-style:normal;font-weight:700;font-display:swap}
:root,html[data-theme="light"],html[data-theme="dark"]{color-scheme:light;--primary:#191919;--secondary:#191919;--accent:#fff;--primary-fg:#fff;--body-fg:#191919;--body-bg:#e2e2e2;--body-quiet-color:#555;--body-medium-color:#444;--body-loud-color:#191919;--header-color:#191919;--header-branding-color:#191919;--header-bg:#e2e2e2;--header-link-color:#191919;--breadcrumbs-fg:#555;--breadcrumbs-link-fg:#191919;--breadcrumbs-bg:#e2e2e2;--link-fg:#191919;--link-hover-color:#555;--link-selected-fg:#191919;--hairline-color:#d5d5d5;--border-color:#bbb;--error-fg:#191919;--message-success-bg:#eee;--message-warning-bg:#eee;--message-error-bg:#eee;--darkened-bg:#d5d5d5;--selected-bg:#eee;--selected-row:#eee;--button-fg:#fff;--button-bg:#191919;--button-hover-bg:#444;--default-button-bg:#191919;--default-button-hover-bg:#444;--close-button-bg:#555;--close-button-hover-bg:#333;--delete-button-bg:#191919;--delete-button-hover-bg:#444;--object-tools-fg:#191919;--object-tools-bg:#fff;--object-tools-hover-bg:#eee;--font-family-primary:Actay,Arial,sans-serif;--bg:#e2e2e2;--ink:#191919;--muted:#555;--line:#bcbcbc}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Actay,Arial,sans-serif}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,.button,input[type=submit],input[type=button],.submit-row input,.object-tools a{border-radius:0;box-shadow:none;cursor:pointer}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),select,textarea{border:1px solid #777;border-radius:0;background:#f7f7f7;color:#191919;padding:11px 13px;min-height:43px;max-width:100%;box-shadow:none}input[type=checkbox],input[type=radio]{accent-color:#191919}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #191919;outline-offset:3px}button,.button,input[type=submit],input[type=button],.submit-row input{background:#191919;color:#fff;padding:12px 18px;border:1px solid #191919;font-weight:700;min-height:43px;text-transform:none}button:hover,.button:hover,input[type=submit]:hover{background:#383838;color:#fff;text-decoration:none}.secondary,button.secondary{background:transparent;color:#191919;border:1px solid #777}.secondary:hover,button.secondary:hover{background:#d5d5d5;color:#191919}.muted,small,.help,div.help{color:#555}h1{font-size:25px;line-height:1.25;font-weight:700;letter-spacing:-.035em;color:#191919;margin:0 0 24px}h2{font-size:17px;font-weight:700;letter-spacing:-.02em}label{font-size:12px;letter-spacing:.025em;color:#444}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#555;margin:0 0 10px}
/* Shared workspace */
.workspace-header{border-bottom:1px solid #aaa;padding:24px 32px 0;background:#e2e2e2}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:24px}.brand{display:flex;align-items:center;gap:22px}.brand img{width:126px;height:auto;display:block}.brand-caption{padding-left:22px;border-left:1px solid #999;font-size:12px}.workspace-header .account-link{font-size:12px;color:#555}.workspace-nav{display:flex;gap:28px;overflow:auto}.workspace-nav a{white-space:nowrap;padding:0 0 14px;border-bottom:2px solid transparent;font-size:13px}.workspace-nav a[aria-current=page]{border-bottom-color:#191919;font-weight:700}.workspace-nav a:hover{text-decoration:none;border-bottom-color:#888}.workspace-main{padding:32px;max-width:1800px;margin:auto}.toolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:20px 0}.toolbar .field{display:grid;gap:7px;min-width:170px}.toolbar .field.search{flex:1;max-width:320px}.toolbar input,.toolbar select{width:100%}.toolbar .button{display:inline-flex;align-items:center;justify-content:center}.toolbar .primary-action{margin-left:auto}.table-note{font-size:12px;margin:20px 0;color:#555}.scroll{overflow:auto;border:1px solid #aaa;max-height:70vh;background:#f7f7f7}table{width:100%;border-collapse:separate;border-spacing:0;background:#f7f7f7}th,td{padding:16px;border-bottom:1px solid #ccc;border-right:1px solid #d5d5d5;text-align:left;vertical-align:top;min-width:170px;font-size:13px}th{background:#d5d5d5;font-weight:700}th small{display:inline-block;font-size:11px;font-weight:400;margin-top:7px}th:first-child,td:first-child{position:sticky;left:0;z-index:1;background:#f7f7f7;min-width:220px}th:first-child{background:#d5d5d5}td a{display:block}td small{font-size:12px}tr:last-child td{border-bottom:0}.workspace-main section{background:transparent;border:1px solid #aaa;padding:24px;margin:24px 0}.notice{border:1px solid #777;border-left:3px solid #191919;padding:14px 16px;background:#eee;margin:14px 0}.text{white-space:pre-wrap;overflow-wrap:anywhere}.pages{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;margin:20px 0}.tag{display:inline-block;border:1px solid #aaa;padding:3px 7px;font-size:10px;margin:5px 0;background:#e2e2e2}.workspace-main textarea{width:100%;min-height:110px}.workspace-main .text-field{display:grid;gap:8px}.copy-panel summary{cursor:pointer;font-weight:700;list-style-position:inside}.copy-panel .toolbar{padding-top:14px;border-top:1px solid #ccc}.copy-panel .toolbar span{min-width:220px}.empty-state{padding:36px 24px;color:#555;font-size:13px;max-width:600px}.empty-state strong{display:block;margin-bottom:10px;color:#191919;font-size:16px}
/* Django management screens use the same components and palette. */
#header{background:#e2e2e2;color:#191919;border-bottom:1px solid #aaa;padding:23px 32px;min-height:83px;gap:18px}#branding .brand img{width:126px}#branding .brand-caption{font-size:12px;line-height:1.5}#header a:link,#header a:visited{color:#191919}#user-tools{font-size:10px;color:#444;letter-spacing:.035em}#user-tools a,#logout-form button{color:#191919;border-bottom-color:#888}#user-tools button{background:none;border:0;color:#191919;padding:0;min-height:0;font-weight:400;font-size:10px}.theme-toggle{display:none!important}.admin-progress-link{font-size:12px;white-space:nowrap}div.breadcrumbs{padding:14px 32px;border-bottom:1px solid #bbb;font-size:12px}#content{padding:30px 32px}#content h1{font-size:25px}.module{border:1px solid #aaa;background:#f7f7f7;margin-bottom:24px}.module h2,.module caption,.inline-group h2{background:#d5d5d5!important;color:#191919!important;font-size:12px;font-weight:700;padding:13px 16px;border-bottom:1px solid #aaa}.module table{background:#f7f7f7}body .module caption a{color:#191919}.module th,.module td{min-width:0;position:static;background:transparent;padding:12px 14px;font-size:12px}#content-related{background:#d5d5d5;border:1px solid #aaa}.object-tools{margin-top:0;float:none;margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap;padding:0}.object-tools li{float:none;height:auto;padding:0}.object-tools a{background:#191919;color:white!important;border:1px solid #191919;padding:10px 15px;font-size:11px;text-transform:none}.object-tools a:hover{background:#444}.object-tools a.addlink{padding-right:28px}#changelist{background:transparent}#changelist .actions{padding:12px 15px;background:#eee;border:1px solid #aaa}#changelist .actions select{height:auto;min-height:38px;padding:7px 10px}#changelist .actions .button{background:#191919;border-color:#191919;color:white;border-radius:0;min-height:38px;padding:7px 12px}#changelist #toolbar{padding:16px;border:1px solid #aaa;background:#d5d5d5}#changelist #toolbar form input[type=submit]{border-radius:0;background:#191919;color:white;padding:9px 14px}#changelist #toolbar form #searchbar{height:40px;min-height:40px}#changelist #toolbar form label{display:inline}#changelist-filter{background:#eee;border:1px solid #aaa}#changelist-filter h2{font-size:12px;background:#d5d5d5;color:#191919;padding:14px 16px}#changelist-filter h3{font-size:12px}#changelist-filter li.selected{border-left-color:#191919}#changelist .paginator{border:1px solid #aaa;background:#eee;font-size:12px;padding:14px}#changelist .results{border:1px solid #aaa}#result_list th,#result_list td{border-bottom:1px solid #ccc;font-size:12px}.row1,.row2{background:#f7f7f7}#nav-sidebar{background:#e2e2e2;padding:18px 12px}#nav-sidebar .module{border:0}#nav-sidebar th,#nav-sidebar td{background:transparent}#nav-sidebar .current-model{background:#ccc}#nav-filter{background:#f7f7f7;border-color:#777;border-radius:0}#toggle-nav-sidebar{background:#d5d5d5;color:#191919;border-right-color:#aaa}.form-row{padding:16px;border-bottom-color:#d5d5d5}.form-row label{font-size:12px}.aligned label{padding-top:12px}.aligned .form-row input,.aligned .form-row select{margin-top:0}.submit-row{border-radius:0;border:1px solid #aaa;background:#d5d5d5;padding:16px}.submit-row a.deletelink{border-radius:0;background:#191919;color:#fff;min-height:43px;padding:12px 18px}.selector .selector-available h2,.selector .selector-chosen h2{background:#d5d5d5;color:#191919}.selector .selector-filter{background:#eee;border-color:#aaa}.selector select{background:#f7f7f7;border-color:#aaa}ul.messagelist li{background:#eee!important;border:1px solid #aaa;color:#191919;padding:14px 16px}.errornote,.errorlist{background:#eee;color:#191919;border-color:#191919}.errornote{border-left:3px solid #191919}#content .module textarea{width:min(100%,820px)}.dashboard #content{width:auto}.dashboard .module table{width:100%}.dashboard #content-main{max-width:900px}.dashboard #content-related{margin-left:24px}.dashboard .module td a{display:inline}
/* Sign-in stays compact and uses the school's own identity. */
body.login{background:#e2e2e2}body.login #container{width:min(440px,calc(100% - 40px));min-width:0;margin:clamp(45px,12vh,120px) auto 40px;border:1px solid #999;border-radius:0;background:#f7f7f7;box-shadow:none}body.login #header{background:#f7f7f7;display:block;padding:30px 32px 25px;border-bottom:1px solid #ccc}body.login #branding{float:none}body.login #branding .brand{display:flex;align-items:flex-start;gap:14px;flex-direction:column}body.login #branding .brand img{width:132px}body.login #branding .brand-caption{border:0;padding:0;font-size:12px;color:#555}body.login #content{padding:28px 32px 32px}body.login .auth-title{font-size:22px!important;margin:0 0 8px;letter-spacing:-.03em}body.login .auth-description{color:#555;font-size:12px;line-height:1.6;margin:0 0 24px}body.login .form-row{padding:0;margin:0 0 20px;float:none}body.login .form-row label{display:block;float:none;width:auto;font-size:12px;padding:0;margin:0 0 8px;color:#444}body.login .form-row #id_username,body.login .form-row #id_password{width:100%;padding:12px;background:#fff;min-height:46px;border:1px solid #777;border-radius:0;font-size:16px}body.login .submit-row{border:0;background:none;padding:4px 0 0;margin:0;text-align:left;display:block}body.login .submit-row input{width:100%;margin:0;min-height:46px;background:#191919;color:#fff;font-size:13px}body.login #content-main{width:100%;float:none}body.login .errornote{font-size:12px;padding:12px;margin:0 0 20px}
@media(max-width:900px){.brand-row{align-items:flex-start}.workspace-nav{gap:22px}.workspace-header{padding:22px 22px 0}.workspace-main{padding:26px 22px}.toolbar .primary-action{margin-left:0}.dashboard #content-related{margin:20px 0;width:100%}#header{padding:20px 22px;flex-wrap:wrap}#content{padding:24px 22px}.brand-caption{font-size:11px}.admin-progress-link{margin-left:auto}}
@media(max-width:600px){.brand img{width:108px}.brand{gap:14px}.brand-caption{padding-left:14px;max-width:125px}.workspace-header .account-link{display:none}.workspace-main{padding:24px 16px}.workspace-header{padding:22px 16px 0}.toolbar{gap:14px}.toolbar .field,.toolbar .field.search{width:100%;max-width:none}.toolbar button,.toolbar .primary-action{flex:1}.workspace-main h1{font-size:23px}.workspace-main section{padding:18px}.workspace-nav{gap:22px}.workspace-nav a{font-size:12px}#header{padding:20px 16px}#header #user-tools{width:100%;text-align:left;margin:8px 0 0;line-height:1.8}#content{padding:24px 16px}div.breadcrumbs{padding:13px 16px}body.login #container{margin-top:45px}body.login #header{padding:26px 24px 22px}body.login #content{padding:26px 24px}.aligned label{padding-top:0}#changelist .actions label{width:100%}}
.object-tools a:link,.object-tools a:visited{background:#191919;color:#fff!important}.object-tools a:hover,.object-tools a:focus{background:#444;color:#fff!important}#changelist .results{overflow-x:auto!important}#result_list{min-width:850px}#result_list th{white-space:nowrap}#result_list td{min-width:90px}#result_list .field-title{min-width:200px}#result_list .field-cohort{min-width:190px}img[src*="icon-yes"],img[src*="icon-no"],img[src*="icon-addlink"],img[src*="icon-changelink"],img[src*="icon-viewlink"]{filter:grayscale(1)}#user-tools{text-transform:none}#user-tools form{display:inline}#user-tools form button{text-transform:none}
.addlink,.changelink,.viewlink{filter:grayscale(1)}
body.login{background:#f6f6f4}body.login #container{background:#fff;border:1px solid #e1e1dc;border-radius:12px;overflow:hidden}body.login #header{background:#fff;border-color:#ecece8}body.login #content{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}body.login .auth-title{font-family:Actay,Arial,sans-serif}body.login .form-row #id_password{border-color:#ddd;border-radius:7px}body.login .submit-row input{border-radius:7px}
