:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#172238;background:#f4f6fa}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column}a{color:inherit}.top{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #e6eaf0}.brand{font-size:25px;font-weight:900;color:#a20f2b;text-decoration:none;letter-spacing:-.05em}.brand span{color:#172238}.top nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:700;color:#425169}.top nav>a{text-decoration:none}.top nav>a:hover{color:#a20f2b}.top nav form{margin:0}.user{color:#9c1730}.link-button{border:0;background:none;font:inherit;color:#59677a;cursor:pointer}.link-button:hover{text-decoration:underline}.wrap{width:min(1180px,100%);margin:0 auto;padding:38px 24px 80px;flex:1}.hero{border-radius:22px;padding:42px 48px;background:linear-gradient(120deg,#861126,#b41839 62%,#cf344e);color:white;box-shadow:0 19px 42px #7e17333b}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;color:#ffdce4}.hero h1{font-size:clamp(32px,4vw,52px);margin:13px 0 8px}.hero p{color:#fff0f3;font-size:17px;margin:0}.panel{background:white;border:1px solid #e1e6ee;border-radius:17px;padding:27px;box-shadow:0 10px 27px #19253c0b}.wrap>.panel{margin-top:28px}.heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.heading h2,.manager h2{margin:0 0 20px;font-size:27px}.heading span{color:#67768a;font-size:14px}.file-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:16px}.file-card{display:flex;flex-direction:column;min-height:245px;padding:22px;border:1px solid #e2e7ee;border-radius:14px;background:#fafbfe}.file-type{align-self:flex-start;padding:7px 10px;background:#fce9ee;border-radius:7px;color:#9f1730;font-size:11px;font-weight:900}.file-card h3{font-size:19px;margin:16px 0 8px}.file-card p{color:#59697c;line-height:1.5;font-size:14px;margin:0 0 16px;flex:1}.file-meta{font-size:12px;color:#718096;margin-bottom:14px}.download,.primary{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:11px 17px;border:0;border-radius:9px;background:#13885e;color:white;text-decoration:none;font:800 14px system-ui;cursor:pointer}.download:hover,.primary:hover{background:#0c6d49}.primary{background:#a20f2b}.primary:hover{background:#810c22}.manager{margin-top:55px}.manager>.eyebrow{color:#9f1730}.manager>p{color:#647286}.manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:22px 0}.manager .panel h3{margin:0 0 16px;font-size:19px}.auth{width:min(460px,100%);margin:65px auto;padding:36px;background:#fff;border:1px solid #e1e6ee;border-radius:19px;box-shadow:0 20px 55px #19253c14}.auth .eyebrow{color:#a20f2b}.auth h1{font-size:33px;margin:11px 0}.auth p{color:#627084;line-height:1.55}form label{display:block;margin:15px 0 0;color:#334257;font-size:14px;font-weight:750}input,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd3df;border-radius:9px;background:#fff;color:#172238;font:inherit;font-size:15px}input:focus,textarea:focus{outline:2px solid #b74059;outline-offset:1px}form .primary{margin-top:19px}.auth .primary{width:100%}.manager small{display:block;margin-top:10px;color:#758296}.users{display:grid;gap:12px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px;border:1px solid #e4e8ef;border-radius:10px}.user-row small{margin-top:3px}.user-row form{display:flex;align-items:center;gap:8px}.user-row input{max-width:210px;margin:0}.outline{padding:11px 14px;border:1px solid #a20f2b;border-radius:9px;background:#fff;color:#97132b;font-weight:800;cursor:pointer}.outline:hover{background:#fcecf0}.alert,.success{padding:13px 16px;border-radius:9px}.alert{color:#892019;background:#fff0ec}.success{color:#126344;background:#e8f7ef}footer{text-align:center;background:#172238;color:#cbd4e1;padding:25px;font-size:13px}@media(max-width:720px){.top{padding:15px 20px}.top nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.user{display:none}.wrap{padding:24px 15px 60px}.hero{padding:30px 25px}.manager-grid{grid-template-columns:1fr}.panel{padding:20px}.auth{margin:25px auto;padding:25px}.user-row{display:block}.user-row form{margin-top:12px}.user-row input{max-width:none}}
.file-permissions{margin:18px 0 4px;padding:14px;border:1px solid #dce3eb;border-radius:10px}.file-permissions legend{font-size:14px;font-weight:800;color:#334257}.check{display:flex;align-items:center;gap:9px;margin:8px 0;font-size:14px;font-weight:650}.check input{width:17px;height:17px;margin:0;accent-color:#a20f2b;flex:none}.permission-form{padding:15px;border:1px solid #e4e8ef;border-radius:10px;background:#fafbfd}.permission-form>strong{font-size:14px}.checks{display:flex;flex-wrap:wrap;gap:6px 20px;margin:9px 0}.permission-actions{display:flex;gap:10px;align-items:center}.permission-actions input{max-width:240px;margin:0}@media(max-width:720px){.permission-actions{display:block}.permission-actions input{max-width:none}.permission-actions button{margin-top:9px;width:100%}}
select{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd3df;border-radius:9px;background:#fff;color:#172238;font:inherit;font-size:15px}.upload-panel{margin-top:28px}.upload-panel h2{margin:0 0 8px}.upload-panel p{color:#627084}.upload-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.upload-options input{font-size:13px}.upload-toggle{margin:15px 0!important}.manager-grid{grid-template-columns:1fr}@media(max-width:720px){.upload-options{grid-template-columns:1fr}}
.edit-user{padding:15px;border:1px solid #e4e8ef;border-radius:10px;background:#fafbfd}.edit-user summary{cursor:pointer;color:#9b1730;font-size:14px;font-weight:800}.edit-user form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.edit-user button{grid-column:1/-1;justify-self:start;margin-top:18px}@media(max-width:720px){.edit-user form{grid-template-columns:1fr}.edit-user button{width:100%}}
.delete-user{display:flex;align-items:end;gap:14px;padding:15px;border:1px solid #f0d5da;border-radius:10px;background:#fff7f8}.delete-user label{flex:1;margin:0}.delete-user button{flex:none}.danger{padding:11px 14px;border:1px solid #ac1731;border-radius:9px;background:#ac1731;color:#fff;font-weight:800;cursor:pointer}.danger:hover{background:#8f1026}@media(max-width:720px){.delete-user{display:block}.delete-user button{width:100%;margin-top:12px}}
.create-user-panel>summary{cursor:pointer;font-size:19px;font-weight:850;color:#97132b;list-style-position:inside}.create-user-panel form{padding-top:10px}.user-search{position:relative;display:flex;align-items:center;margin:4px 0 18px}.user-search span{position:absolute;left:14px;font-size:21px;pointer-events:none}.user-search input{padding-left:47px;margin:0}.member-card{border:1px solid #dfe5ee;border-radius:12px;background:#fff;overflow:hidden}.member-card[hidden],.member-details[hidden],[data-empty-search][hidden]{display:none!important}.member-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px}.member-summary strong{display:block;font-size:16px}.member-summary small{display:block;margin-top:4px;color:#65758a}.member-actions{display:flex;gap:9px;flex:none}.member-details{display:grid;gap:14px;padding:0 17px 17px;border-top:1px solid #e5eaf1;background:#fbfcfe}.member-details>.edit-user{margin-top:16px}.member-details .edit-user p{grid-column:1/-1;color:#627084;margin:12px 0 0;font-size:13px}.status-form{padding:15px;border:1px solid #e4e8ef;border-radius:10px;background:#fafbfd;display:flex;align-items:end;gap:12px}.status-form label{flex:1;margin:0}.status-form button{flex:none}.heading h3{margin:0 0 16px!important}@media(max-width:720px){.member-summary,.status-form{display:block}.member-actions{margin-top:14px}.member-actions button{flex:1}.status-form button{width:100%;margin-top:12px}}

.upload-progress{margin-top:20px;padding:18px;background:#f0f8f5;border:1px solid #b5d9c8;border-radius:12px}.upload-progress[hidden]{display:none}.upload-progress progress{display:block;width:100%;height:22px;accent-color:#14815e}.upload-progress progress[hidden]{display:none}.upload-progress p{font-weight:700;margin:10px 0}button:disabled{opacity:.65;cursor:wait}
.portal-nav{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.portal-nav form{margin:0}.ead-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.lesson{min-width:0}.lesson iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#071b35}.lesson p{white-space:normal;overflow-wrap:anywhere}.lesson details{margin:20px 0}.lesson-form{display:grid;gap:16px;margin-top:20px}.lesson-form input,.lesson-form textarea{width:100%;box-sizing:border-box}.lesson summary{cursor:pointer;font-weight:700}@media(max-width:800px){.ead-grid{grid-template-columns:1fr}}
