@charset "UTF-8";
:root{--forest:#183f34;--ink:#253c34;--muted:#738079;--lime:#d9edb4;--line:#dde4de;--paper:#fafbf8;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #699c50;outline-offset:4px}input:focus{outline:3px solid #d9edb4;border-color:#668b65}svg{width:22px;height:22px;flex-shrink:0}.skip-link{position:fixed;top:-80px;left:12px;background:white;padding:12px;z-index:20}.skip-link:focus{top:12px}.login-shell{min-height:100svh;display:grid;grid-template-columns:46% 54%}.story-panel{background:var(--forest);color:#fff;padding:45px 58px 30px;display:flex;flex-direction:column;position:relative;overflow:hidden}.story-panel:after{content:"";position:absolute;width:480px;height:480px;border:1px solid #ffffff09;border-radius:50%;bottom:-300px;left:-110px;box-shadow:0 0 0 70px #ffffff03,0 0 0 140px #ffffff02;pointer-events:none}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:15px;letter-spacing:2px;font-weight:700}.brand-sub{display:block;font-size:10px;letter-spacing:3.5px;font-weight:400;margin-top:6px;opacity:.72}.story-content{max-width:490px;margin:auto 0;padding:60px 0 42px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px}.story-content>.eyebrow{color:#bbd1b7}.story-content h1{font-size:clamp(36px,3.4vw,53px);line-height:1.13;letter-spacing:-1.8px;font-weight:450;margin:24px 0}.story-content h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lime);letter-spacing:-1.5px}.story-content>p{font-size:14px;line-height:1.85;color:#bdcfc5;max-width:350px}.record-illustration{margin-top:34px;border:1px solid #ffffff26;background:#ffffff07;border-radius:13px;padding:22px 24px;transform:rotate(-1deg);box-shadow:0 15px 40px #001f1617}.illustration-top{display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff19;padding-bottom:18px}.mini-seal{background:#e1edce;color:#2d5042;border-radius:9px;padding:9px 12px;font-family:Georgia,serif;font-size:20px}.illustration-top b{font-size:12px;font-weight:550}.illustration-top div>span{display:block;color:#a4bdb0;font-size:9px;margin-top:5px}.illustration-dots{margin-left:auto;letter-spacing:2px;color:#8ca899}.process-step{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #ffffff10}.process-step.last{border:0;padding-bottom:0}.step-number{border:1px solid #ffffff26;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:10px;color:#d2e4bd}.process-step b{font-size:11px;font-weight:500}.process-step div>span{display:block;color:#9fbaaa;font-size:10px;margin-top:5px}.step-arrow{margin-left:auto;color:#b5cca1;font-size:16px}.school-meta{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#a3bfb0;position:relative;z-index:1}.school-meta span+span{font-size:9px;color:#a3bfb0}.login-panel{display:flex;flex-direction:column;padding:40px 50px 26px;min-width:0}.login-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-label{font-size:9px;font-weight:600;letter-spacing:1.7px;color:#68766a;display:flex;align-items:center;gap:8px}.small-dot{height:6px;width:6px;background:#658c60;border-radius:50%}.staff-badge{padding:7px 12px;border:1px solid var(--line);border-radius:20px;font-size:10px;color:#627066;background:#fff}.login-main{width:100%;max-width:374px;margin:auto;padding:57px 0}.welcome-icon{width:48px;height:48px;border-radius:14px;border:1px solid #dce4d8;background:#f0f4ea;display:grid;place-items:center;margin-bottom:28px;color:#426746}.welcome-icon svg{width:25px;height:25px}.form-eyebrow{font-size:9px;color:#62775f;letter-spacing:1.6px}.login-main h2{font-size:34px;letter-spacing:-1.2px;margin:13px 0 10px;font-weight:550}.login-description{font-size:13px;color:#647269;line-height:1.6;margin:0 0 31px}.field{margin-bottom:21px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.field input{width:100%;height:49px;padding:0 14px;border:1px solid #d7dfd6;border-radius:7px;background:#fff;color:var(--ink);font-size:13px;transition:border-color .15s,outline-color .15s}.field input::placeholder{color:#758076}.password-field{position:relative}.password-field input{padding-right:67px}.password-toggle{position:absolute;right:6px;top:6px;height:37px;width:53px;font-size:11px;font-weight:600;background:transparent;border:0;color:#5f7665;border-radius:4px}.session-note{display:flex;align-items:center;gap:7px;color:#647167;font-size:10px;margin:0 0 23px}.session-note svg{width:15px;height:15px}.primary-button{width:100%;height:49px;border:1px solid var(--forest);background:var(--forest);color:white;border-radius:7px;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:15px;transition:background .15s}.primary-button:hover{background:#285b49}.primary-button span{font-size:20px;font-weight:400}.help{font-size:11px;color:#5a7060;text-align:center;margin-top:23px}.help summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:3px;display:inline-block}.help summary::-webkit-details-marker{display:none}.help p{text-align:left;background:#eef2e9;padding:13px;border-radius:6px;line-height:1.7}.access-note{display:flex;align-items:center;gap:13px;margin-top:41px;color:#6d7969;font-size:9px;white-space:nowrap}.note-line{height:1px;background:#e2e6dd;flex:1}.login-footer{display:flex;justify-content:space-between;gap:12px;color:#6f7b71;font-size:9px}.validation-summary-valid,.field-validation-valid{display:none}.validation-summary-errors{background:#fff1f0;border:1px solid #eccac8;border-radius:6px;color:#a72c35;padding:12px;font-size:12px;line-height:1.6;margin-bottom:20px}.validation-summary ul{margin:0;padding-left:18px}.field-error{display:block;color:#a72c35;font-size:11px;margin-top:7px}.input-validation-error{border-color:#a72c35!important}.workspace{max-width:1250px;margin:auto;padding:30px 45px}.workspace-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:25px}.secondary-button{padding:10px 18px;border:1px solid var(--line);background:white;border-radius:6px;color:var(--ink);font-size:12px}.workspace-main{padding:70px 0}.workspace-main h1{font-size:36px;letter-spacing:-1px}.workspace-intro{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.ready-panel{display:flex;gap:20px;align-items:center;background:#edf3e6;border:1px solid #d9e4ce;border-radius:12px;padding:25px;margin:35px 0 45px}.ready-icon{display:grid;place-items:center;background:var(--forest);color:white;width:38px;height:38px;border-radius:50%;flex-shrink:0}.ready-panel h2{margin:0 0 8px;font-size:17px}.ready-panel p{margin:0;color:#62715f;font-size:13px;line-height:1.7}.section-title{font-size:18px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.module-grid article{border:1px solid var(--line);background:white;padding:25px;border-radius:10px}.module-number{font-size:10px;letter-spacing:1.5px;color:#728569}.module-grid h3{font-size:17px;font-weight:550;margin:22px 0 12px}.module-grid p{font-size:13px;color:var(--muted);line-height:1.8}.planned{display:inline-block;font-size:10px;border:1px solid var(--line);padding:5px 9px;border-radius:20px;margin-top:12px}.message-page{max-width:600px;margin:15vh auto;padding:30px;line-height:1.7}
@media(min-width:1500px){.story-panel{padding-left:90px;padding-right:90px}.story-content{max-width:510px}.login-main{max-width:400px}.login-main h2{font-size:38px}}
@media(max-width:1050px){.story-panel{padding:35px}.login-panel{padding:35px}.story-content h1{font-size:39px}.record-illustration{padding:17px}.login-footer{flex-direction:column;gap:5px}.portal-label{letter-spacing:1px;font-size:8px}}
@media(max-width:760px){.login-shell{display:block}.story-panel{padding:22px 25px}.story-content,.school-meta{display:none}.brand{font-size:12px}.brand img{width:38px;height:38px}.brand-sub{font-size:9px}.login-panel{padding:22px 25px 25px;min-height:calc(100svh - 82px)}.login-main{padding:40px 0}.login-top{max-width:374px;width:100%;margin:0 auto}.login-main h2{font-size:32px}.login-footer{align-items:center;gap:7px}.welcome-icon{margin-bottom:22px}.access-note{margin-top:30px}.workspace{padding:24px}.workspace-main{padding:40px 0}.workspace-main h1{font-size:28px}.module-grid{grid-template-columns:1fr}.ready-panel{align-items:flex-start;padding:20px}.workspace-header .brand-sub{letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.import-main{padding-top:45px}.upload-panel,.save-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;margin:28px 0}.import-fields{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px}.field select{width:100%;height:49px;padding:0 12px;background:white;border:1px solid #d7dfd6;border-radius:7px;font:inherit;color:var(--ink)}.file-field input{padding:10px;height:auto;min-height:49px}.field small{display:block;margin-top:8px;line-height:1.5;color:#627066;font-size:11px}.upload-footer{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:24px}.upload-footer p{max-width:580px;font-size:13px;line-height:1.7;color:#627066;margin:0}.compact-button{width:auto;min-width:205px;padding:0 20px;text-decoration:none}.import-notice{background:#fff6de;border:1px solid #e8d8a6;padding:18px;border-radius:8px;line-height:1.7;font-size:13px;margin:20px 0}.error-notice{background:#fff1f0;border-color:#eccac8;color:#92323b}.import-results{margin-top:45px}.import-stats{display:flex;gap:55px;margin:25px 0;padding:24px;background:#edf3e6;border-radius:10px}.import-stats strong{display:block;font-size:30px;font-weight:550}.import-stats span{display:block;font-size:12px;margin-top:7px;color:#566951}.table-note{font-size:13px;line-height:1.7;color:#566951}.table-scroll{max-height:620px;overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{position:sticky;top:0;background:#eaf0e5;z-index:1;font-size:11px;white-space:nowrap}th,td{padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:top}td{line-height:1.6;min-width:75px}td.cell-value{max-width:200px;overflow-wrap:anywhere;white-space:pre-wrap}td details{min-width:125px}summary{cursor:pointer}td dl{min-width:200px}dt{font-weight:600;font-size:10px;color:#627066}dd{margin:0 0 10px;overflow-wrap:anywhere}.confirmation{display:flex;gap:12px;font-size:14px;line-height:1.7;align-items:flex-start}.confirmation input{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:var(--forest)}.fingerprint{display:block;max-width:220px;overflow-wrap:anywhere;font-size:10px;margin-top:9px}.history-nav{display:flex;gap:25px;justify-content:center;margin:25px 0;font-size:13px}
@media(max-width:760px){.import-fields{grid-template-columns:1fr}.upload-panel,.save-panel{padding:18px}.upload-footer{flex-direction:column;align-items:stretch}.import-stats{gap:20px;justify-content:space-between;padding:18px}.import-stats strong{font-size:25px}.import-stats span{font-size:10px}.compact-button{width:100%;min-width:0}.workspace-header{gap:15px}.table-scroll{max-height:520px}}
