:root{font-family:"Segoe UI",system-ui,sans-serif;color:#202123;background:#f6f7fa;font-size:14px}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{min-height:38px;border:1px solid #b7c8e6;border-radius:7px;background:white;color:#174ea6;padding:8px 13px;cursor:pointer}button:hover:not(:disabled){background:#edf3ff}button:disabled{opacity:.55;cursor:default}button.primary{background:#0b55e8;border-color:#0b55e8;color:white}button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #0b55e8;outline-offset:2px}input,select,textarea{width:100%;min-height:40px;padding:10px 12px;border:1px solid #bdc7d7;border-radius:7px;background:white;color:inherit}label{display:block;margin:16px 0 8px;font-weight:600}label input,label select,label textarea{display:block;margin-top:7px;font-weight:400}textarea{min-height:130px;resize:vertical}.brand{display:flex;align-items:center;gap:14px;padding:14px 24px;background:white;border-bottom:1px solid #dce0e8}.brand img{width:43px;height:43px;object-fit:contain}.brand strong{font-size:22px}.brand small{display:block;color:#667085}.brand #identity{margin-left:auto}.testNotice{margin:0;padding:8px 20px;text-align:center;background:#fff4ce;color:#70530a;font-size:12px}.loginPanel{max-width:470px;margin:50px auto;padding:30px;background:white;border:1px solid #dce0e8;border-radius:12px;box-shadow:0 8px 24px #173b6410}.loginPanel h1{margin-top:0;color:#173b64}.loginPanel p{line-height:1.6;color:#667085}.loginPanel button{width:100%;margin-top:12px}[role=alert]{color:#b42318}#workspace{display:grid;grid-template-columns:300px minmax(0,1fr);height:calc(100vh - 106px)}aside{padding:18px;background:#f0f1f5;border-right:1px solid #dce0e8;overflow:auto}aside h2{font-size:17px;margin:0}#studentCount{color:#667085;font-size:12px}#students{display:grid;gap:6px}#students button{text-align:left;background:transparent;border-color:transparent;color:#202123}#students button.active{background:#dce8ff;border-right:4px solid #0b55e8}#students small{display:block;color:#667085;margin-top:4px}#record{padding:24px;overflow:auto;background:white}.recordHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.recordHeader h1{margin:0;color:#173b64;font-size:24px}.recordHeader p{color:#667085}#saveStatus{font-size:12px;white-space:normal;text-align:right;color:#18794e}.alert{padding:15px;border:1px solid #dfb289;background:#fff4e6;border-radius:8px;margin:12px 0}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0;border-bottom:1px solid #dce0e8;padding-bottom:8px}.tabs button{border-color:transparent;color:#667085}.tabs button.active{color:#0b55e8;border-bottom:2px solid #0b55e8;border-radius:0}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px;padding:16px 0;border-top:1px solid #dce0e8}.actions small{color:#667085}.pdfButton{background:#df1020;color:white;border-color:#df1020}.pdfButton:hover:not(:disabled){background:#bd0d19}.pdfSheet{max-width:900px;border:1px solid #d5ddeb;padding:25px;margin:0 auto}.pdfSheet h2{color:#173b64}.recapItem{border-top:1px solid #dce0e8;padding:12px 0}.recapItem p{margin:6px 0}fieldset{border:1px solid #c9d6ec;border-radius:8px;background:#f5f8ff;padding:10px 14px}legend{color:#174ea6}#projects label{display:inline-flex;align-items:center;gap:7px;margin:6px 18px 6px 0}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:#0b55e8;padding:0;margin:0}.amenity{border-bottom:1px solid #e0e5ed;padding:13px 0}.amenity>label{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:0;line-height:1.5}.amenity>label input{flex:none;margin:2px 0}.amenity .precision{margin:10px 0 0 28px;width:calc(100% - 28px)}#attachments a{display:block;border:1px solid #c9d6ec;border-radius:8px;padding:15px;color:#174ea6;margin:10px 0;overflow-wrap:anywhere}@media(max-width:800px){#workspace{grid-template-columns:220px minmax(0,1fr)}#record{padding:16px}.brand{padding:12px}.recordHeader{flex-wrap:wrap}.pdfSheet{padding:15px}}@media(max-width:560px){#workspace{display:block;height:auto}aside{max-height:300px;border-bottom:1px solid #dce0e8}.brand #identity{font-size:12px}.loginPanel{margin:24px 12px}.brand small{font-size:10px}}@media print{body{background:white}.brand,.testNotice,aside,.recordHeader,#projects,.tabs,.actions,#conflictPanel,#recordError,#empty,[data-view]:not([data-view=recap]){display:none!important}#workspace,#record,#pupilPanel,[data-view=recap]{display:block!important;height:auto;overflow:visible;padding:0}.pdfSheet{border:0;max-width:none}.recapItem{break-inside:avoid}@page{size:A4;margin:15mm}}
/* Keep the support/copyright footer visible without covering the pupil record. */
body{height:100dvh;min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
body #workspace{height:auto;min-height:0;flex:1}
.siteFooter{flex:none;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;padding:10px 24px;border-top:1px solid #dce0e8;background:#fff;color:#536480;font-size:12px;line-height:1.5}
.siteFooter a{color:#174ea6;overflow-wrap:anywhere;text-underline-offset:3px}
.siteFooter a:focus-visible{outline:2px solid #0b55e8;outline-offset:3px}
.siteFooter small{font-size:11px}
@media(max-width:560px){body{height:auto}.siteFooter{padding:12px;display:block}.siteFooter>*{display:block;margin:3px 0}body>main{overflow:visible}body #workspace{flex:none}}
@media print{body{display:block;height:auto;min-height:0}body>main{display:block;overflow:visible}.siteFooter{display:block;margin-top:12px;padding:8px 0;font-size:9px;break-inside:avoid}.siteFooter>*{display:block}.siteFooter small{display:none}.siteFooter a{color:inherit;text-decoration:none}}
