@font-face{font-family:Manrope;src:url(/fonts/manrope-400.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-600.ttf)format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-700.ttf)format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Manrope;src:url(/fonts/manrope-800.ttf)format("truetype");font-weight:800;font-display:swap}:root{color:#01293a;font-synthesis:none;--navy:#01293a;--red:#900b09;--sky:#ebf2f5;--border:#dbe5e9;--muted:#516775;background:#f4f7f9;font-family:Manrope,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #23728f}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a,button{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.1px;margin-bottom:12px;font-size:clamp(26px,2.5vw,38px);line-height:1.15}h2{letter-spacing:-.5px;font-size:22px;line-height:1.22}h3{font-size:16px}p{line-height:1.6}small,.muted{color:var(--muted);font-size:12px}.eyebrow{color:var(--red);margin-bottom:12px;font-size:12px;font-weight:700}label{flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}input,select,textarea{width:100%;color:var(--navy);background:#fff;border:1px solid #c7d6de;border-radius:4px;min-height:44px;padding:12px}textarea{resize:vertical;font-weight:400;line-height:1.5}label small{font-weight:400}.primary,.quiet,.upload-button{border:1px solid var(--border);background:#fff;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:11px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.primary,.upload-button{color:#fff;background:var(--red);border-color:var(--red)}.primary:hover:not(:disabled),.upload-button:hover{background:#b51a17}.quiet:hover:not(:disabled){background:var(--sky)}.publish{color:var(--red);border-color:#c89998}.notice{overflow-wrap:anywhere;background:#e8f2ee;border-left:3px solid #2c7253;padding:14px 18px;font-size:13px;line-height:1.5}.notice.error{border-color:var(--red);color:#850c0a;background:#faeeee}.loading{text-align:center;padding:80px 32px}.login{background:#fff;grid-template-columns:1fr 1fr;min-height:100svh;display:grid}.login-intro{background:var(--navy);color:#fff;flex-direction:column;justify-content:space-between;gap:60px;padding:48px 10%;display:flex}.login-intro img{object-fit:contain;background:#fff;border-radius:4px;width:118px;height:84px;padding:6px}.login-intro h1{max-width:600px;font-size:clamp(32px,4vw,58px)}.login-intro p{color:#c4d6de;max-width:440px}.login-intro small{color:#adc5d0}.login-form{place-self:center;width:100%;max-width:560px;padding:64px 48px}.login-form h2{font-size:32px}.login-form>p{color:var(--muted);font-size:14px}.login-form form{gap:22px;margin:30px 0;display:grid}.password{border:1px solid #c7d6de;border-radius:4px;display:flex}.password input{border:0;min-width:0}.password button{background:#fff;border:0;padding:0 12px;font-size:11px}.login-form .support{border-top:1px solid var(--border);padding-top:20px;font-size:12px}.back-link{font-size:12px;font-weight:600}.workspace{grid-template-columns:264px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{background:var(--navy);color:#fff;z-index:20;flex-direction:column;height:100svh;padding:28px 20px;display:flex;position:sticky;top:0;overflow:auto}.brand{align-items:center;gap:12px;margin-bottom:32px;text-decoration:none;display:flex}.brand img{object-fit:contain;background:#fff;border-radius:3px;width:66px;height:48px;padding:4px}.brand span{color:#c7d9e1;font-size:11px}.brand strong{color:#fff;margin-top:3px;font-size:14px;display:block}.org-select{color:#c0d2da;margin-bottom:28px;font-size:11px}.org-select select{color:#fff;background:#123e50;border-color:#315665;padding:10px 8px;font-size:12px}.sidebar nav{gap:5px;display:grid}.sidebar nav button{text-align:left;color:#c1d5de;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;padding:13px 14px;font-size:13px;display:flex}.sidebar nav button.active{color:var(--navy);background:#fff;font-weight:700}.sidebar nav button:hover:not(.active){color:#fff;background:#173f50}.sidebar nav button span{text-align:center;width:20px;font-size:18px}.sidebar-bottom{overflow-wrap:anywhere;margin-top:auto;padding:32px 8px 0}.sidebar-bottom .role{color:#aac7d4;font-size:11px}.sidebar-bottom p{margin:8px 0 14px;font-size:12px}.sidebar-bottom button{color:#fff;text-underline-offset:5px;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.work-main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:18px 40px;display:flex}.topbar>span{font-size:14px;font-weight:700}.topbar small{margin-top:5px;font-weight:400;display:block}.menu-toggle{display:none}.work-content{max-width:1520px;margin:auto;padding:40px}.page-heading{margin-bottom:30px}.page-heading>p:last-child{color:var(--muted);max-width:720px;margin-bottom:0;font-size:14px}.stats{border:1px solid var(--border);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:40px;display:grid}.stats>div{border-right:1px solid var(--border);padding:26px}.stats>div:last-child{border:0}.stats span{color:var(--muted);font-size:12px}.stats strong{letter-spacing:-1px;margin-top:12px;font-size:38px;line-height:1.1;display:block}.org-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.org-cards button{text-align:left;border:1px solid var(--border);background:#fff;border-radius:4px;flex-direction:column;gap:20px;padding:25px;font-size:17px;font-weight:700;display:flex}.org-cards button:hover{background:#fafdff;border-color:#63899b}.org-cards span{font-size:12px;font-weight:600}.org-cards .org-kind{color:var(--muted);font-size:11px;font-weight:400}.intro-panel{background:var(--sky);border-left:3px solid var(--navy);padding:30px}.intro-panel p{color:var(--muted);max-width:740px;margin:0;font-size:14px}.filters{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;display:flex}.filters .search-label{flex:1;min-width:180px}.filters label:not(.search-label){min-width:170px}.list-summary{color:var(--muted);justify-content:space-between;margin:12px 0;font-size:12px;display:flex}.table-wrap{border:1px solid var(--border);background:#fff;border-radius:4px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{background:var(--sky);color:var(--muted);font-size:11px;font-weight:700}th,td{border-bottom:1px solid var(--border);padding:17px 20px}td{max-width:300px;font-size:12px}tbody tr:last-child td{border-bottom:0}.row-link{text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.row-link:hover{color:var(--red)}.row-link small{margin-top:7px;font-size:10px;font-weight:400;display:block}.date-cell{white-space:nowrap;font-size:11px}.badge{white-space:nowrap;color:#476171;background:#edf0f2;border-radius:3px;padding:6px 9px;font-size:10px;font-weight:700;display:inline-block}.badge.submitted,.badge.new{color:var(--red);background:#f9eaea}.badge.reviewing{color:#806120;background:#f7f0df}.badge.accepted{color:#256340;background:#e4f1e9}.badge.rejected{color:#94312a;background:#f4e7e6}.pagination{justify-content:space-between;align-items:center;gap:15px;margin:20px 0;font-size:12px;display:flex}.empty{text-align:center;background:#fbfdfe;border:1px dashed #bfced6;border-radius:4px;padding:48px 30px}.empty h2{font-size:20px}.empty p{color:var(--muted);max-width:620px;margin:0 auto 15px;font-size:13px}.empty .org-cards{text-align:left;margin-top:25px}.modal-backdrop{z-index:80;background:#01212f88;justify-content:flex-end;display:flex;position:fixed;inset:0}.detail-panel{background:#fff;width:540px;max-width:100%;padding:40px;position:relative;overflow:auto;box-shadow:-10px 0 50px #00172222}.close{background:var(--sky);border:0;border-radius:4px;width:38px;height:38px;font-size:28px;position:absolute;top:15px;right:18px}.detail-panel form{gap:20px;margin-top:28px;display:grid}.details{margin:25px 0;font-size:13px;line-height:1.5}.details dt{color:var(--muted);margin-top:14px;font-size:11px}.details dd{overflow-wrap:anywhere;margin:4px 0 0}.message-body{white-space:pre-wrap;background:var(--sky);border-radius:4px;padding:20px;font-size:14px}.documents{margin-top:25px}.documents button{text-align:left;border:1px solid var(--border);overflow-wrap:anywhere;background:#f4f7f9;border-radius:4px;width:100%;margin-bottom:7px;padding:12px;font-size:12px;display:block}.documents small{margin-top:4px;display:block}summary{cursor:pointer;padding:10px 0;font-size:13px;font-weight:700}.content-layout{grid-template-columns:230px minmax(0,1fr);gap:24px;display:grid}.page-list{flex-direction:column;gap:6px;max-height:75vh;display:flex;overflow:auto}.page-list button{border:1px solid var(--border);text-align:left;overflow-wrap:anywhere;background:#fff;border-radius:4px;padding:16px}.page-list button.active{border-left:3px solid var(--red);background:#faf0ef}.page-list strong{font-size:12px;display:block}.page-list span,.page-list small{color:var(--muted);margin-top:7px;font-size:10px;display:block}.editor{min-width:0}.editor-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.editor-heading h2{margin-bottom:6px;font-size:22px}.editor-heading p{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.editor-actions{flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}.editor-actions button{padding:10px 12px;font-size:11px}.content-fields{gap:14px;display:grid}.content-field{border:1px solid var(--border);background:#fff;border-radius:4px;padding:18px}.content-field>label:first-child{color:var(--muted);margin-bottom:10px;font-size:12px}.upload-inline{margin-top:12px;font-size:11px;display:flex}.upload-inline input{font-size:11px}.upload-button{width:max-content;max-width:100%;margin-bottom:24px;position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.media-grid figure{border:1px solid var(--border);background:#fff;border-radius:4px;margin:0;overflow:hidden}.media-grid img,.image-placeholder{object-fit:cover;background:#dfe8ed;width:100%;height:180px;display:block}.image-placeholder{text-align:center;padding:40px;font-size:12px}.media-grid figcaption{overflow-wrap:anywhere;padding:16px;font-size:12px}.media-grid small{margin-top:7px;font-size:10px;display:block}.access-form{border:1px solid var(--border);background:#fff;grid-template-columns:1fr 220px auto;align-items:end;gap:18px;margin-bottom:30px;padding:26px;display:grid}.access-form h2,.access-form p{grid-column:1/-1;margin:0}.access-permissions{margin-bottom:28px}.access-permissions summary{border:1px solid var(--border);cursor:pointer;background:#fff;padding:18px 20px;font-weight:700}.access-permissions>p{color:var(--muted);font-size:13px;line-height:1.6}.access-permissions td:last-child{white-space:normal;min-width:240px}.access-role-summary{background:var(--sky);grid-column:1/-1;padding:16px;font-size:13px}.access-role-summary p{color:var(--muted);margin-top:6px}.access-permission-picker{border:1px solid var(--border);grid-column:1/-1;min-width:0;padding:20px}.access-permission-picker legend{padding:0 8px;font-size:14px;font-weight:700}.access-permission-picker>p{color:var(--muted);margin-bottom:16px;font-size:13px}.access-permission-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;margin-bottom:18px;display:grid}.access-permission-option{background:var(--sky);cursor:pointer;align-items:flex-start;gap:10px;padding:14px;display:flex}.access-permission-option input{width:18px;height:18px;min-height:18px;accent-color:var(--red);flex:0 0 18px;margin:2px 0 0}.access-permission-option small{color:var(--muted);margin-top:5px;font-weight:400;line-height:1.5;display:block}.access-assigned-permissions{white-space:normal;min-width:220px;max-width:380px;font-size:12px}.access-form>.primary{grid-column:1/-1;justify-self:start}.text-danger{color:var(--red);background:0 0;border:0;font-size:12px;text-decoration:underline}.id-detail{overflow-wrap:anywhere;max-width:220px;font-size:10px;display:block}.preview-modal{z-index:90;background:#dfe7eb;flex-direction:column;align-items:center;display:flex;position:fixed;inset:0}.preview-modal header{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:14px 24px;font-size:13px;display:flex}.preview-modal header span{color:#bdd1db;font-size:11px}.preview-modal iframe{background:#fff;border:0;flex:1;width:100%}.preview-modal iframe.mobile{width:390px;max-width:100%}@media (width<=1200px){.workspace{grid-template-columns:230px minmax(0,1fr)}.work-content{padding:28px}.topbar{padding:18px 28px}.stats>div{padding:20px}.content-layout{grid-template-columns:1fr}.page-list{flex-direction:row;max-height:none;margin-bottom:10px;overflow:auto}.page-list button{min-width:200px;max-width:230px}.access-form{grid-template-columns:1fr 1fr}.access-form>.primary{width:max-content}}@media (width<=800px){.workspace{display:block}.sidebar{width:280px;height:calc(100svh - 76px);position:fixed;top:76px;left:0;transform:translate(-100%);box-shadow:12px 0 30px #01293a33}.sidebar.open{transform:none}.topbar{z-index:25;gap:12px;min-height:76px;padding:12px 20px;position:sticky;top:0}.topbar>span{flex:1;font-size:12px}.topbar small{font-size:10px}.topbar .quiet{padding:8px;font-size:10px}.menu-toggle{background:var(--sky);border:0;border-radius:4px;width:38px;height:38px;font-size:20px;display:block}.work-content{padding:28px 20px}.stats{grid-template-columns:1fr 1fr}.stats>div{border-bottom:1px solid var(--border)}.stats>div:nth-child(2){border-right:0}.stats>div:nth-child(n+3){border-bottom:0}.stats strong{font-size:32px}.org-cards{grid-template-columns:1fr}.filters{gap:12px}.filters .search-label{flex-basis:100%}.table-wrap{margin-right:0}th,td{min-width:125px;padding:14px}.login{display:block}.login-intro{gap:24px;padding:26px 28px}.login-intro img{width:90px;height:64px}.login-intro h1{max-width:380px;font-size:32px}.login-intro>small,.login-intro div>p:last-child{display:none}.login-intro div>p:first-child{margin-bottom:10px;font-size:12px}.login-form{padding:34px 28px}.media-grid{grid-template-columns:1fr 1fr}.access-form{grid-template-columns:1fr;padding:20px}.detail-panel{padding:36px 24px}.preview-modal header{flex-wrap:wrap;padding:12px;font-size:11px}.preview-modal header span{display:none}}@media (width<=420px){.media-grid{grid-template-columns:1fr}.editor-heading{display:block}.stats span{font-size:11px}.stats>div{padding:18px}.filters label:not(.search-label){min-width:140px}.empty{padding:28px 18px}.pagination button{padding:10px;font-size:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.sidebar-bottom button{margin-top:10px;display:block}.preview-modal header .quiet{color:var(--navy)}.student-create,.credentials-receipt{border:1px solid var(--border);background:#fff;margin-bottom:28px;padding:28px}.student-create{grid-template-columns:1fr 1fr;gap:20px;display:grid}.student-create h2,.student-create>p{grid-column:1/-1;margin-bottom:0}.student-create>button{grid-column:1/-1;justify-self:start}.student-generated-login input{letter-spacing:.1em;background:#f4f7fa;font-family:ui-monospace,monospace;font-weight:700}.student-generation-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.student-generation-actions .quiet{min-height:32px;padding:6px 10px;font-size:12px}.student-password-info{border-left:3px solid var(--navy);background:#f4f7fa;grid-column:1/-1;padding:16px 20px}.student-password-info p{color:var(--muted);margin:6px 0 0;font-size:13px}.student-password-controls{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.student-password-controls input{flex:260px;width:auto;min-width:0;font-family:ui-monospace,monospace}.student-password-controls .quiet{flex:none}.credentials-receipt{border-left:3px solid var(--red)}.credentials-receipt textarea{margin-bottom:16px}.student-row-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.student-row-actions button{min-height:36px;padding:8px;font-size:11px}.student-portal .login-intro .back-link{color:#fff}.student-portal .login-form>.quiet{margin-top:18px}@media (width<=600px){.student-create{grid-template-columns:1fr;padding:20px}.credentials-receipt{padding:20px}}.portal-brandname{letter-spacing:-1px;color:#fff;font-size:36px}
