*{box-sizing:border-box}body{margin:0;font:16px/1.6 Arial,sans-serif;background:#f3f7fa;color:#19364d}aside{position:fixed;inset:0 auto 0 0;width:250px;background:#102c46;color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:14px;font-weight:bold;letter-spacing:2px}.brand b{background:#25b7ae;color:#102c46;border-radius:13px;padding:4px 16px;font-size:30px}small{display:block;font-size:12px;letter-spacing:0;color:#bdcddd}.year{margin-top:auto;font-size:21px;padding:18px 10px}nav{margin-top:40px}nav button{width:100%;text-align:left;background:transparent;color:#dbe7f1;border:0;margin-bottom:8px}nav button.active{background:#1a646e;color:white;border-left:3px solid #58d6c4}main{margin-left:250px;padding:25px 40px;max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #dce5ed;font-size:14px}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 18px}h2{font-size:21px;margin:10px 0}button{font:600 14px/1.5 Arial;padding:11px 17px;border:1px solid #d5e1e9;border-radius:11px;background:white;color:#28465c;cursor:pointer}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}.primary{background:#087f83;color:white;border-color:#087f83}.panel,.card{padding:28px;border:1px solid #dce5ed;border-radius:20px;background:white;margin:22px 0}.panel{max-width:760px}.eyebrow{font-size:12px;color:#527286;letter-spacing:1px;font-weight:bold}.muted{color:#64798b;font-size:14px}.toolbar,.filters,.actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar{margin:24px 0}.filters{justify-content:flex-start;margin:24px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{margin:0;overflow-wrap:anywhere}.card p.details{white-space:pre-wrap}.chip{display:inline-block;background:#e5f3f0;color:#26776b;border-radius:8px;padding:4px 10px;font-size:13px}.actions{justify-content:flex-start;flex-wrap:wrap;margin-top:20px}.score{font-size:40px;color:#087f83;font-weight:bold}input,select,textarea{font:16px Arial;padding:11px;border:1px solid #cbd9e3;border-radius:9px;width:100%;background:white;color:#173c54}label{display:grid;gap:7px;margin:14px 0;font-size:14px}dialog{border:0;border-radius:20px;padding:26px;width:min(600px,95vw);max-height:90vh;overflow:auto;color:#19364d}dialog::backdrop{background:#102c4699}#notice{margin-top:18px;white-space:pre-wrap;color:#925014}progress{width:100%;accent-color:#087f83}.numeric{display:flex;gap:20px}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:12px;border-bottom:1px solid #e1e8ef;font-size:14px}.scroll{overflow:auto}[hidden]{display:none!important}:focus-visible{outline:3px solid #42bdb7;outline-offset:3px}@media(max-width:850px){aside{position:static;width:auto;padding:18px}nav{display:flex;overflow:auto;margin-top:18px}nav button{white-space:nowrap;width:auto}.year{display:none}main{margin:0;padding:20px}.grid{grid-template-columns:1fr}.toolbar,.filters{flex-wrap:wrap}h1{font-size:28px}}
input[type=checkbox]{width:18px;height:18px;accent-color:#087f83}td label{display:flex;align-items:center;gap:8px;white-space:nowrap}#notice:not(:empty){padding:14px 18px;background:#fff5e5;border:1px solid #efd9b5;border-radius:12px}
.wide-panel{background:white;border:1px solid #dce5ed;border-radius:16px;padding:22px;margin:20px 0;max-width:none}.directory-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.file-button{display:inline-block;margin:0;padding:10px 17px;border:1px solid #cbd9e3;border-radius:11px;background:white;font-weight:600;cursor:pointer}.check{display:flex;align-items:center;gap:10px}fieldset{border:1px solid #dbe5ed;border-radius:12px;margin:16px 0;padding:14px}.grade-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px}.grade-mark{max-width:120px}.form-error{color:#a52a32}#import-preview li{color:#9c4930}.wide-panel small{max-width:260px;overflow-wrap:anywhere}.grade-meta input{min-width:0}@media(max-width:700px){.grade-meta{grid-template-columns:1fr}.wide-panel{padding:12px}}
/* Etehaad visual refresh — shared, lightweight, no external font requests. */
:root{--ink:#173c48;--teal:#14796f;--line:#e1e9e6;--muted:#687f83}body{font-family:'Segoe UI',Arial,sans-serif;background:#f5f8f7;color:var(--ink)}button,input,select,textarea{font-family:inherit}button{border-radius:14px;padding:12px 19px;transition:background .15s,box-shadow .15s}button:hover{filter:none;background:#edf5f2;box-shadow:0 3px 12px #173c480c}.primary{background:var(--teal);border-color:var(--teal)}.primary:hover{background:#10675e;color:white}aside{background:#153b42;padding:32px 20px;width:260px;border-radius:0 26px 26px 0}.brand{letter-spacing:1.4px}.brand b{background:#d7eae0;color:#174b46;border-radius:16px}.year{font-size:16px;border-top:1px solid #ffffff20;margin-top:auto}.year small{margin-top:6px;font-size:11px}nav button{padding:14px 18px;margin-bottom:7px;font-weight:500;border-radius:13px}nav button:hover{background:#ffffff0e}nav button.active{background:#d9eee5;color:#17483f;border-left:0;font-weight:700;box-shadow:0 4px 14px #0000000a}main{margin-left:260px;padding:28px 42px;max-width:none}header{border-color:var(--line);padding-bottom:23px}header strong{font-weight:600}.header-location{color:var(--muted);margin-top:4px}h1{font-size:34px;font-weight:650;letter-spacing:-1.2px}h2{font-weight:650}.toolbar{margin:30px 0 25px}.eyebrow{color:#728889;font-size:11px;letter-spacing:1.4px}.panel,.card,.wide-panel{border:1px solid var(--line);border-radius:23px;box-shadow:0 5px 22px #183c4204;padding:28px}.panel{max-width:1000px}.filters{background:#eaf2ee;border:1px solid #e0eae5;padding:4px 20px;border-radius:18px}.filters label{min-width:240px}.muted{color:var(--muted)}input,select,textarea{border-color:#dce5e0;border-radius:12px;padding:12px 14px;background:#fcfdfc}input:hover,select:hover,textarea:hover{border-color:#a4bfb3}input:focus,select:focus,textarea:focus{border-color:#14796f}td,th{padding:16px;border-color:#e8eeeb}th{background:#f3f7f4;color:#59716c;font-size:12px;font-weight:650}tbody tr:hover{background:#f8fbf9}.scroll{border:1px solid var(--line);border-radius:14px}.chip{border-radius:20px;background:#eaf3eb;color:#346e54;padding:5px 12px}.score{color:var(--teal)}dialog{border-radius:24px;box-shadow:0 24px 90px #0b2f4233;padding:30px}dialog::backdrop{background:#143d467d}.file-button{border-radius:14px}.wide-panel small{color:#687f83}.welcome-mode>aside,.welcome-mode main>header{display:none}.welcome-mode main{margin:0;padding:0;max-width:none}.welcome-mode #notice:empty{display:none}.welcome-mode #notice:not(:empty){position:fixed;top:12px;left:50%;transform:translateX(-50%);width:min(90%,650px);z-index:10;box-shadow:0 6px 30px #0002}#login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100svh;background:#fafbf8}.welcome-story{background:radial-gradient(ellipse at 100% 85%,#4a8475 0,transparent 65%),linear-gradient(145deg,#143d47,#20534e);color:#fff;padding:52px 62px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden}.welcome-brand{display:flex;align-items:center;gap:15px;font-weight:650;letter-spacing:2px;font-size:19px}.welcome-brand small{font-size:10px;letter-spacing:2.4px;color:#bfd6cd}.school-emblem{display:grid;place-items:center;width:55px;height:60px;border:1px solid #b9d6c275;border-radius:18px 18px 24px 24px;background:#ffffff0b;font:600 30px Georgia,serif;color:#e5eecf}.welcome-message{margin:auto 0;padding:65px 0}.location{font-size:11px;letter-spacing:2px;color:#c1d7ca}.welcome-message h1{font-size:clamp(45px,5.5vw,84px);font-weight:500;line-height:1.09;letter-spacing:-3px;margin:28px 0}.welcome-message em{font-family:Georgia,serif;color:#d5e6bb;font-weight:400}.welcome-message p{color:#d0e0d9;max-width:350px;font-size:17px;line-height:1.8}.welcome-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.welcome-tags span{font-size:11px;border:1px solid #ffffff30;border-radius:25px;padding:8px 13px;color:#e2ede7}.story-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff25;padding-top:22px;font-size:11px;color:#c6d8ce}.welcome-access{padding:55px 12% 30px;display:flex;flex-direction:column}.portal-label{font-size:10px;letter-spacing:2px;color:#698179}.access-content{margin:auto 0;padding:60px 0}.welcome-wave{font-size:38px;color:#609284}.access-content h2{font-size:clamp(35px,3.6vw,52px);line-height:1.16;letter-spacing:-1.7px;font-weight:600;margin:20px 0}.access-description{font-size:15px;line-height:1.8;color:#70827d;margin-bottom:30px;max-width:360px}.google-signin{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-radius:16px;box-shadow:0 6px 15px #14796f15}.google-letter{background:white;color:#4285f4;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:17px}.account-hint{font-size:11px;text-align:center;color:#73847f;margin:17px 0 28px}.account-hint strong{font-weight:600}.access-features{border-top:1px solid var(--line);padding-top:22px;display:grid;gap:12px;color:#536e63;font-size:13px}.access-features span:before{content:'✓';color:#529078;margin-right:12px}.approval-note{font-size:11px;color:#7b8c85;line-height:1.7;margin-top:24px}.access-footer{font-size:10px;color:#84918a;display:flex;justify-content:space-between;gap:12px}:focus-visible{outline:3px solid #74ac95;outline-offset:3px}@media(min-width:1600px){.welcome-access{padding-left:16%;padding-right:16%}}@media(max-width:1000px){main{padding:24px}.welcome-story{padding:35px}.welcome-access{padding:35px}.welcome-message h1{letter-spacing:-2px}.access-footer{flex-direction:column}}@media(max-width:850px){aside{position:static;width:auto;border-radius:0;padding:20px}.brand{font-size:15px}nav{margin-top:20px}nav button{width:auto}.year{display:none}main{margin:0;padding:20px}.grid{grid-template-columns:1fr}.filters label{min-width:0;flex:1}.panel,.card,.wide-panel{padding:20px}}@media(max-width:650px){#login{grid-template-columns:1fr}.welcome-story{padding:28px}.welcome-message{padding:35px 0 15px}.welcome-message h1{font-size:46px}.welcome-message h1 br:nth-child(2){display:none}.welcome-message p{font-size:14px}.welcome-tags,.story-footer{display:none}.welcome-access{padding:30px 28px}.access-content{padding:15px 0 30px}.welcome-wave{display:none}.access-content h2{font-size:34px}.access-content h2 br{display:none}.access-footer{flex-direction:row}.numeric{flex-direction:column;gap:0}.toolbar{gap:10px}h1{font-size:28px}}@media(prefers-reduced-motion:reduce){button{transition:none}}

.sidebar-logo{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:15px;padding:5px;flex-shrink:0}.welcome-logo{width:105px;height:90px;object-fit:contain;background:#fff;border-radius:18px;padding:9px;flex-shrink:0}.welcome-brand small{letter-spacing:.2px;font-size:12px;max-width:230px;line-height:1.5;margin-top:5px}.welcome-brand{letter-spacing:2px;font-size:26px}@media(max-width:650px){.welcome-logo{width:85px;height:76px}.welcome-brand{font-size:23px}}
/* EIS interior: the welcome screen palette and typography. */
body:not(.welcome-mode){background:#fafbf8}
body:not(.welcome-mode) aside{background:radial-gradient(ellipse at 100% 85%,#3b7466 0,transparent 65%),linear-gradient(145deg,#143d47,#20534e);border-radius:0 28px 28px 0;box-shadow:8px 0 35px #153b4208}
body:not(.welcome-mode) .brand{padding:0 0 27px;border-bottom:1px solid #ffffff20}
body:not(.welcome-mode) nav{margin-top:28px}
body:not(.welcome-mode) nav button{color:#d5e4dc;padding:15px 17px}
body:not(.welcome-mode) nav button.active{background:#d5e6bb;color:#234e43;box-shadow:0 6px 18px #082d4220}
body:not(.welcome-mode) main>header{color:#305b50;border-color:#e4e9dc;padding-bottom:22px}
#workspace>.toolbar{background:radial-gradient(ellipse at 100% 85%,#4a8475 0,transparent 65%),linear-gradient(145deg,#143d47,#20534e);color:white;border-radius:25px;padding:30px 34px;margin:26px 0;min-height:164px;box-shadow:0 8px 25px #153b4209}
#workspace>.toolbar>div{min-width:0}
#workspace #identity{color:#c1d7ca;letter-spacing:.5px;overflow-wrap:anywhere}
#workspace #heading{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:400;letter-spacing:-1px;line-height:1.2;margin:12px 0 10px;color:#f9fbef}
.workspace-caption{color:#d0e0d9;font-size:13px;margin:0}
#refresh{background:#ffffff0c;color:#eef5e8;border:1px solid #ffffff40;border-radius:24px;flex-shrink:0}
#refresh:hover{background:#ffffff20}
#workspace .panel,#workspace .wide-panel,#workspace .card{border-color:#e5e9de;box-shadow:0 6px 24px #244b3d05;border-radius:23px}
#workspace h2{color:#294e42;font-size:21px;letter-spacing:-.4px}
#workspace .filters{background:#eff3e8;border-color:#e2e8d8;border-radius:18px;padding:5px 22px}
#workspace .panel{max-width:none}
#workspace input,#workspace select,#workspace textarea,dialog input,dialog select,dialog textarea{background:#fdfefb;border-color:#dfe6d8;border-radius:13px}
#workspace th{background:#eff3e8;color:#46644f}
#workspace td{border-color:#e9eddf}
#workspace tbody tr:hover{background:#fafcf5}
#workspace button,dialog button{border-radius:18px}
#workspace .primary,dialog .primary{background:#205b4f;border-color:#205b4f;box-shadow:0 4px 12px #205b4f0a}
#workspace .primary:hover,dialog .primary:hover{background:#17493f}
#workspace .chip{background:#eef3de;color:#466437;border:1px solid #e2eacd}
#workspace .card{border-top:3px solid #d5e6bb}
#workspace .score{color:#205b4f}
#workspace .muted{color:#708076}
#workspace .actions{padding-top:18px;border-top:1px solid #edf0e6}
#workspace progress{accent-color:#477a55;height:9px;border-radius:20px;overflow:hidden}
dialog{background:#fafbf8;border:1px solid #e1e8da}
dialog h2{font-family:Georgia,serif;font-size:26px;font-weight:400;color:#294e42}
button[data-action=delete]{color:#a03f3f;border-color:#e6cccc}
@media(max-width:850px){body:not(.welcome-mode) aside{border-radius:0 0 23px 23px}body:not(.welcome-mode) .brand{padding-bottom:14px}body:not(.welcome-mode) nav{margin-top:14px}#workspace>.toolbar{padding:24px;min-height:145px}#workspace #heading{font-size:32px}}
@media(max-width:500px){#workspace>.toolbar{padding:22px;align-items:flex-start}#workspace #heading{font-size:29px}#workspace .filters{padding:10px 15px}.workspace-caption{font-size:12px}#refresh{padding:8px 14px}}
/* Refined workspace banner */
#workspace>.toolbar{position:relative;isolation:isolate;overflow:hidden;padding:32px 36px;min-height:204px;align-items:center;border:1px solid #ffffff22;border-radius:26px;background:radial-gradient(ellipse at 95% 100%,#497c66 0,transparent 60%),linear-gradient(120deg,#153c45,#24574c);box-shadow:0 10px 28px #173c4810}
#workspace>.toolbar:after{content:'';position:absolute;z-index:-1;inset:20px 20px 20px auto;width:28%;border:1px solid #ffffff0c;border-radius:18px;pointer-events:none}
.workspace-kicker{display:block;font-size:10px;font-weight:600;letter-spacing:2.2px;color:#cedfc5}
#workspace #heading{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(28px,3vw,39px);font-weight:600;letter-spacing:-1.1px;line-height:1.2;margin:12px 0 7px;color:#fbfcf5}
#workspace .workspace-caption{color:#c7d9cf;font-size:13px;line-height:1.6}
#workspace #identity{display:inline-block;margin-top:19px;padding:6px 12px;border:1px solid #ffffff23;background:#ffffff09;border-radius:10px;font:400 11px/1.6 'Segoe UI',Arial,sans-serif;letter-spacing:.2px;color:#edf4e8;max-width:100%;overflow-wrap:anywhere}
#workspace #refresh{display:inline-flex;align-items:center;gap:9px;background:#edf3e4;color:#285247;border:1px solid #edf3e4;box-shadow:0 4px 14px #082d4212;border-radius:13px;padding:11px 17px;font-weight:600;font-size:12px}
#workspace #refresh:before{content:'↻';font-size:19px;line-height:1}
#workspace #refresh:hover{background:#fff;border-color:#fff}
@media(max-width:650px){#workspace>.toolbar{padding:24px;min-height:0;gap:18px;align-items:flex-start}#workspace>.toolbar:after{display:none}#workspace #heading{font-size:28px}#workspace #identity{margin-top:16px}.workspace-kicker{font-size:9px;letter-spacing:1.5px}#workspace #refresh{padding:9px 13px}}
.dashboard-intro{padding:6px 3px 20px}.dashboard-intro h2{font-family:Georgia,serif!important;font-weight:400!important;font-size:29px!important}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-stats strong{display:block;font-size:38px;color:#285b48;font-weight:600;margin-top:14px}.dashboard-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:20px}.dashboard-links button{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:#f4f7ec;padding:22px!important;border-color:#e1e8d6}.dashboard-update{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0;border-bottom:1px solid #edf0e5}.dashboard-update small{color:#708076;margin-top:5px}.dashboard-update strong{font-size:14px}@media(max-width:700px){.dashboard-stats,.dashboard-links{grid-template-columns:1fr}.dashboard-update{flex-wrap:wrap}}
.pdf-attachment{display:inline-flex;align-items:center;border:1px solid #d3e0c7;border-radius:13px;padding:12px 17px;background:#f0f5e7;color:#235443;text-decoration:none;font-size:14px;font-weight:600;margin:8px 0}.pdf-attachment:hover{background:#e5eed8}#staff-result{white-space:pre-wrap}#staff-preview{margin-top:20px}#staff-plan small{color:#6e8074}#agenda-attachment a{color:#205b4f}
@media(min-width:851px){body:not(.welcome-mode) aside nav{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#82a697 transparent}body:not(.welcome-mode) aside .brand,body:not(.welcome-mode) aside .year{flex-shrink:0}body:not(.welcome-mode) aside .year{font-size:14px;padding-top:12px;padding-bottom:0}}#staff-editor fieldset{max-height:300px;overflow:auto}#staff-table td:last-child{min-width:205px}#staff-table td:last-child button{margin:3px 0}#staff-editor input[readonly]{background:#edf2eb;color:#687e72}
#nav details{margin:10px 0;border-top:1px solid #ffffff16;padding-top:8px}#nav summary{cursor:pointer;padding:10px 15px;font-size:12px;color:#bcd1bd;letter-spacing:.6px}#nav details button{padding-left:23px;font-size:12px}#nav>button{padding-top:10px!important;padding-bottom:10px!important;font-size:13px}.school-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.school-stats .card{padding:22px!important}.school-stats strong{display:block;font-size:34px;color:#295b49;margin-top:12px;font-weight:600}.school-stats .muted{font-size:12px}.period-bar{display:flex;gap:15px;flex-wrap:wrap}.period-bar label{min-width:200px;flex:1}#student-profile{width:min(900px,95vw)}#student-profile .details{white-space:pre-wrap}#restore-status{white-space:pre-wrap}@media(max-width:1100px){.school-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){#nav{flex-wrap:wrap}#nav details[open]{width:100%}#nav details button{width:auto}.school-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.school-stats{grid-template-columns:1fr 1fr;gap:9px}.school-stats .card{padding:15px!important}.school-stats strong{font-size:27px}.period-bar label{min-width:0;width:100%}}
/* Directory management actions */
.danger-button{color:#a83245;border-color:#ebcad0;background:#fff7f8}
.danger-button:hover{background:#fce9ed;border-color:#cb8793}
#catalog-table table{min-width:660px;width:100%}
#catalog-table td small{display:block;margin-top:6px;color:var(--muted,#62736b)}
#catalog-editor{width:min(760px,94vw)}
#catalog-editor form{padding:8px}
