:root{font-family:Tahoma,Arial,sans-serif;color:#20294f;background:#faf9f6;font-size:16px;line-height:1.75;--green:#20294f;--muted:#737785;--gold:#b08c49}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer;background:var(--green);color:white;border:1px solid var(--green);border-radius:9px;padding:10px 22px}button:hover,a.button:hover{filter:brightness(1.15)}button:disabled{opacity:.6;cursor:wait}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #c9d4cd;border-radius:8px;background:white;color:#20294f}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--green)}:focus-visible{outline:3px solid #b88e38;outline-offset:3px}header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #d5ded7}.brand{font-size:27px;font-weight:bold;letter-spacing:1px}.brand span{display:block;font-size:12px;letter-spacing:0;font-weight:normal;color:var(--muted)}nav{display:flex;align-items:center;gap:25px;font-size:14px}.ghost{background:transparent;color:var(--green);padding:6px 15px}main{max-width:1140px;margin:45px auto;padding:0 24px;min-height:70vh}h1{font-size:clamp(27px,4vw,43px);line-height:1.5;margin:8px 0 16px}h2{font-size:23px;margin:0 0 14px}h3{margin:8px 0}p{margin:8px 0 20px}.muted{color:var(--muted)}.eyebrow{color:#82622c;font-size:13px;font-weight:bold}.hero{background:var(--green);color:white;border-radius:20px;padding:40px 36px;margin-bottom:28px;position:relative;overflow:hidden}.hero p{color:#dfebe2;max-width:650px}.hero .eyebrow{color:#ead4a5}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.panel{background:#fff;border:1px solid #dce3dc;border-radius:14px;padding:25px}.card{display:flex;flex-direction:column;min-height:265px}.card p{color:var(--muted);font-size:14px;flex:1}.card a{align-self:flex-start}.num{color:#a27c3e;font-size:13px;letter-spacing:2px}.bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 0}.panel{margin:20px 0}.form-head{max-width:760px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-size:14px;font-weight:bold;margin-bottom:6px}.field.wide{grid-column:1/-1}.section-label{border-right:4px solid var(--gold);padding-right:12px;margin:12px 0 25px}.check{display:flex;gap:10px;align-items:start;margin:24px 0}.check input{margin-top:8px}.error{color:#9b2d2d;background:#fff0ed;border:1px solid #e8beb6;padding:14px;border-radius:9px;white-space:pre-line}.success{border-right:5px solid #317a53;padding:24px;background:#eef9f1}.notice{background:#f9f5e9;padding:15px 20px;border-radius:9px;color:#725921;font-size:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{background:white;border:1px solid #dce3dc;border-radius:12px;padding:18px}.metric strong{display:block;font-size:32px;font-weight:normal;margin:9px 0}.metric span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px;text-align:right}th,td{padding:14px;border-bottom:1px solid #e4e9e4;white-space:nowrap}th{background:#eef2ee}.badge{display:inline-block;border-radius:20px;padding:3px 10px;font-size:12px}.green{background:#e6f4e9;color:#276443}.yellow{background:#fbefcb;color:#805d11}.red{background:#fde7e4;color:#9b3432}.unknown{background:#e9edf1;color:#5c6672}.auth{max-width:500px;margin:60px auto}.auth button{width:100%;margin-top:20px}.back{font-size:13px;color:var(--muted)}.empty{text-align:center;padding:40px}.tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tools input{width:170px}.tools input[type=search]{width:230px}details{font-size:13px;margin-top:20px}summary{cursor:pointer}footer{text-align:center;color:var(--muted);border-top:1px solid #dae2db;padding:22px;font-size:12px}.skip{position:absolute;top:-100px}.skip:focus{top:4px;background:white;padding:10px;z-index:10}[hidden]{display:none!important}@media(max-width:750px){header{padding:17px;gap:12px}nav{gap:12px;font-size:12px}.brand{font-size:22px}main{margin:28px auto;padding:0 15px}.hero{padding:27px 23px}.cards,.grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.bar{align-items:start;flex-direction:column}.card{min-height:230px}.panel{padding:19px}.tools{width:100%}.tools input{flex:1}.metric strong{font-size:27px}}@media print{header nav,.tools,button,footer{display:none}.hero{background:white;color:black}.panel,.metric{break-inside:avoid}.table-wrap{overflow:visible}main{margin:0;max-width:none}table{min-width:0}}

/* Navy, gold rules, and white space reflect the supplied regulation. */
header{border-bottom:2px solid var(--gold)}.brand{letter-spacing:0}.hero{display:grid;grid-template-columns:1fr 235px;gap:45px;align-items:center;background:white;color:var(--green);border:1px solid #e6dfd1;border-top:5px solid var(--gold);border-radius:4px;padding:36px 44px}.hero p{color:var(--muted);max-width:560px}.hero .eyebrow{color:#927137}.hero h1{font-size:clamp(30px,4vw,48px);line-height:1.6}.logo-panel img{display:block;width:100%;height:auto;max-height:310px;object-fit:contain}.privacy-note{display:inline-block;color:#665333;border-top:1px solid #d7c6a6;padding-top:14px;font-size:13px}.card,.panel{border-radius:5px;border-color:#e4dfd4}.card{border-top:3px solid var(--gold);min-height:245px}.card h2{font-size:21px}.card .num{margin-bottom:16px}.card a{margin-top:12px}button,a.button{border-radius:5px}.num{color:#94723c}.section-label{color:var(--green)}.form-head p{max-width:620px}.hero .logo-panel{border-right:1px solid #e4dfd4;padding-right:24px}.auth h1{font-size:30px}.auth label{display:block;margin-bottom:8px}
@media(max-width:750px){.hero{grid-template-columns:1fr;gap:20px;padding:24px}.hero .logo-panel{grid-row:1;border:0;padding:0;justify-self:center;width:145px}.logo-panel img{max-height:205px}.hero h1{font-size:30px}.hero h1 br{display:none}.card{min-height:200px}.card h2{font-size:20px}.privacy-note{font-size:12px}}

.school-details{background:#f5f3ed;border-right:3px solid var(--gold);padding:12px 18px}.school-details dl{display:flex;gap:40px;flex-wrap:wrap;margin:0}.school-details dt{color:var(--muted);font-size:12px}.school-details dd{margin:2px 0;font-weight:bold}

.survey-section{border:1px solid #dedfe5;border-radius:5px;padding:20px;margin:12px 0 30px;min-width:0}.survey-section legend{padding:5px 16px;background:var(--green);color:white;font-weight:bold;border-radius:4px}.survey-section:nth-of-type(even) legend{background:#087b83}.calculated{display:block;padding:11px 12px;background:#edf4f4;border:1px solid #c9d4cd;border-radius:8px;font-weight:bold}.survey-section textarea{min-height:80px}@media(max-width:750px){.survey-section{padding:14px;margin-bottom:24px}.survey-section legend{font-size:16px}}

.choices{display:flex;gap:10px 20px;flex-wrap:wrap;padding:12px;border:1px solid #c9d4cd;border-radius:8px}.choices label{display:flex;align-items:center;gap:8px;margin:0;font-weight:normal}.choices input{width:auto}

/* Operational dashboard: readable states, mobile cards, and private drill-downs. */
.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-head p{color:var(--muted)}.dash-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #ddd4c1;padding:10px 0}.dash-nav a{padding:8px 13px;background:#f0ede5;border-radius:6px}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.filter-grid label{font-size:13px;font-weight:bold}.filter-grid .tools{grid-column:1/-1}.overview-strip{display:flex;justify-content:space-between;gap:15px;background:#20294f;color:white;border-radius:8px;padding:18px 22px;margin-bottom:16px;flex-wrap:wrap}.overview-strip span{font-size:13px;color:#ece4d3}.dashboard-metrics .metric{border-top:3px solid #b08c49;min-width:0}.metric-green{border-top-color:#288651!important}.metric-yellow{border-top-color:#dbac34!important}.metric-red{border-top-color:#ba4440!important}.metric-unknown{border-top-color:#87919d!important}.dashboard-metrics .metric strong{font-size:27px}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.area-card{margin:0;padding:18px}.area-card .bar{margin:0 0 14px}.area-card h3{font-size:19px}.area-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;border-top:1px solid #ebe7de;font-size:13px}.school-card{margin:12px 0;padding:18px 20px}.school-card>summary{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.school-card summary strong{font-size:16px}.school-card summary small{display:block;color:var(--muted)}.school-numbers{display:flex;gap:25px;margin-inline-start:auto}.school-numbers span{font-size:12px;color:var(--muted)}.school-numbers b{display:block;color:#20294f;font-size:18px}.school-expanded{border-top:1px solid #dfd9cd;margin-top:18px;padding-top:15px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.detail-grid>div{border-bottom:1px solid #eee9df;padding:8px 0;min-width:0}.detail-grid dt{color:var(--muted);font-size:12px}.detail-grid dd{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.school-expanded details,.visitor details{background:#faf9f6;padding:12px}.visitor>summary{line-height:2}.visitor>summary .muted{display:block}.alert-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.alert-item{padding:15px 18px;border-radius:8px;border-right:4px solid currentColor}.alert-item p{margin:5px 0;font-size:13px}#uploads table td{white-space:normal;min-width:100px}#person-list{background:white;padding:12px;border:1px solid #e4dfd4}section[id]{scroll-margin-top:20px}
@media(max-width:750px){.dashboard-head{align-items:start;flex-direction:column}.filter-grid{grid-template-columns:1fr 1fr}.area-grid{grid-template-columns:1fr}.school-numbers{margin-inline-start:0;justify-content:space-between;width:100%;gap:10px}.detail-grid,.alert-list{grid-template-columns:1fr}.dashboard-metrics .metric strong{font-size:24px}.dash-nav{gap:5px}.dash-nav a{padding:7px 9px}}

.brand{display:flex;align-items:center;gap:14px}.brand-logo{display:block;width:64px;height:90px;object-fit:contain;background:white;border-radius:4px}header nav{flex-wrap:wrap}@media(max-width:550px){header{flex-wrap:wrap}.brand-logo{width:50px;height:71px}header nav{width:100%;justify-content:flex-start}header nav a.button{padding:8px 16px}}
/* School board: six areas on desktop, two on mobile. */
main.dashboard-page{max-width:1600px}.board-filters{margin:16px 0}.board-filters>summary{padding:12px 16px;background:#fff;border:1px solid #e4dfd4;border-radius:6px;font-size:14px}.school-board{margin:20px 0 34px}.school-board>.bar{margin-bottom:12px}.board-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.board-help{font-size:12px;color:#626c7d;margin:12px 0 18px}.school-board-regions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.board-region{min-width:0}.board-region>h3{font-size:16px;text-align:center;border-bottom:2px solid #b08c49;padding:10px 2px;margin:0 0 12px}.board-green{--board-tone:#27875d;--board-fill:#edf8f1}.board-yellow{--board-tone:#987014;--board-fill:#fff9e9}.board-red{--board-tone:#b94343;--board-fill:#fff0ef}.board-unknown{--board-tone:#64748b;--board-fill:#eef1f5}.board-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--board-tone);margin-left:5px}button.board-school{display:block;width:100%;font:inherit;text-align:right;color:#20294f;background:var(--board-fill);border:1px solid #dfe4e9;border-top:5px solid var(--board-tone);border-radius:10px;padding:13px 11px;margin-bottom:14px;min-width:0}button.board-school:hover{filter:none;box-shadow:0 3px 15px #20294f18}.board-gender{font-size:11px;color:#626c7d;display:block}.board-name{display:block;font-size:14px;line-height:1.65;min-height:70px;margin:6px 0}.board-state{display:block;font-size:12px;color:var(--board-tone);font-weight:bold;min-height:24px}.board-stale{display:block;font-size:11px;color:#626c7d;min-height:36px}.board-total{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;border-top:1px solid #dfe4e9;padding-top:12px;margin-top:10px}.board-total>b{font-size:31px;line-height:1.2}.board-total>span{font-size:11px;color:#626c7d}.board-attendance{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:12px;gap:5px;margin:8px 0 12px}.board-note{display:block;border-top:1px solid #dfe4e9;padding-top:10px;min-height:125px}.board-note small{display:block;font-size:11px;color:#626c7d;margin-bottom:5px}.board-note-text{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.board-visitors{display:flex;justify-content:space-between;align-items:center;font-size:11px;border-block:1px solid #dfe4e9;padding:8px 0;margin:10px 0}.board-visitors>b{font-size:22px}.board-report{display:block;min-height:80px;margin-top:8px;font-size:11px}.board-report>span,.board-report>small{display:block;color:#626c7d;font-size:11px}.board-report>b{display:block;font-weight:normal;font-size:12px}.board-more{display:block;text-align:left;font-size:11px;color:#626c7d;margin-top:8px}.board-dialog{width:min(1000px,95vw);max-height:90vh;overflow:auto;border:1px solid #dfe4e9;border-radius:12px;padding:24px;color:#20294f;background:#faf9f6}.board-dialog::backdrop{background:#20294f88}.board-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.board-dialog-head h2{font-size:21px}.board-dialog .school-card>summary{display:none}
@media(max-width:750px){.school-board-regions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.board-region>h3{font-size:17px}button.board-school{padding:12px 9px}.board-name{font-size:14px;min-height:70px}.board-note{min-height:125px}.board-dialog{padding:14px}.board-dialog-head h2{font-size:18px}.board-report{min-height:80px}}
@media(max-width:370px){.school-board-regions{gap:8px}button.board-school{padding:10px 7px}.board-name{font-size:12px;min-height:78px}.board-total>b{font-size:27px}.board-total>span{font-size:11px}.board-attendance{font-size:11px}.board-visitors{flex-wrap:wrap}.board-state{font-size:11px}}
/* Keep all three entry choices together and near the top on phones. */
main.home-page{margin-top:22px}.home-page .hero{grid-template-columns:1fr 95px;gap:18px;padding:18px 24px;margin-bottom:14px}.home-page .hero h1{font-size:26px;line-height:1.5;margin:4px 0 8px}.home-page .hero h1 br{display:none}.home-page .hero p{margin:4px 0 10px;font-size:13px}.home-page .hero .logo-panel{padding-right:12px}.home-page .logo-panel img{max-height:120px}.home-page .privacy-note{padding-top:7px;font-size:11px}.home-page .bar{margin:14px 0}.home-page .bar h2{font-size:20px}.home-page .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-page .card{min-height:175px;padding:20px 16px;text-align:center;align-items:center}.home-page .card .num{display:none}.home-page .card h2{font-size:19px;line-height:1.6;margin-bottom:9px}.home-page .card p{font-size:12px}.home-page .card a.button{align-self:stretch;text-align:center;margin-top:auto}
@media(max-width:750px){main.home-page{margin-top:14px}.home-page .hero{grid-template-columns:1fr 62px;gap:10px;padding:12px}.home-page .hero .logo-panel{grid-row:auto;width:auto;justify-self:stretch;padding:0}.home-page .logo-panel img{max-height:88px}.home-page .hero h1{font-size:21px}.home-page .hero .eyebrow{font-size:11px}.home-page .hero p{display:none}.home-page .privacy-note{font-size:10px;line-height:1.6}.home-page .bar{margin:12px 0}.home-page .bar h2{font-size:18px}.home-page .bar>span{display:none}.home-page .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-page .card{min-height:154px;padding:12px 7px}.home-page .card h2{font-size:14px;line-height:1.6;min-height:68px;margin:0 0 10px;display:flex;align-items:center;justify-content:center}.home-page .card p{display:none}.home-page .card a.button{padding:10px 3px;font-size:12px;min-height:44px;display:flex;align-items:center;justify-content:center}.home-page .site-visitors{margin-top:18px}.home-page .site-visitors h2{font-size:18px}}
