:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223545;background:#f2f4f5;font-size:16px;line-height:1.55;--navy:#152b3c;--red:#a62435;--muted:#647381;--line:#dce3e8;--gold:#b59a51;--focus:#709abc}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin-top:0}a{color:#294f70}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{outline:3px solid #86adcc;outline-offset:3px}.skip-link{position:absolute;left:16px;top:-80px;z-index:20;background:white;color:var(--navy);padding:12px 20px;border-radius:6px}.skip-link:focus{top:12px}.site-header{background:var(--navy);color:white;border-top:4px solid var(--red);border-bottom:1px solid #0a1c2a}.header-inner{max-width:1220px;margin:auto;min-height:112px;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:17px;align-items:center;min-width:0;color:white;text-decoration:none;font-size:.88rem;font-weight:800;letter-spacing:.075em}.brand-logo{display:block;width:64px;height:70px;object-fit:contain;flex-shrink:0}.brand-text{display:block}.brand-text>span{display:block;color:#c8d3dc;font-size:.7rem;letter-spacing:.22em;margin-top:4px}.header-link{display:inline-flex;align-items:center;gap:13px;border:1px solid #ffffff35;border-radius:6px;color:#f4f6f8;text-decoration:none;padding:9px 13px;font-size:.8rem;font-weight:550;white-space:nowrap;transition:background .15s}.header-link:hover{background:#ffffff12}.header-link>span{color:#bbcad6;font-size:1rem}.header-actions{display:flex;align-items:center;gap:12px}.form-layout{max-width:1080px;margin:0 auto;padding:0 36px}.page-intro{padding:46px 0 30px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:.66rem;font-weight:800;letter-spacing:.16em;color:var(--red);margin-bottom:15px}.eyebrow-line{display:inline-block;width:24px;height:2px;background:var(--red)}h1{font-size:clamp(2rem,3.3vw,2.85rem);font-weight:750;letter-spacing:-.04em;line-height:1.13;margin-bottom:15px;color:var(--navy)}.page-intro>p{font-size:.97rem;line-height:1.65;color:var(--muted);margin:0}.card{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px #203b5010;padding:30px}.nomination-card{padding:0;overflow:hidden;box-shadow:0 10px 35px #233b4d0a;border-top:3px solid var(--red)}.form-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 36px 26px;border-bottom:1px solid var(--line)}.form-heading .eyebrow{font-size:.62rem;margin-bottom:6px;letter-spacing:.12em}h2{font-size:1.55rem;font-weight:700;letter-spacing:-.025em;line-height:1.25;margin-bottom:18px}.form-heading h2{margin:0}.required-note{font-size:.75rem;color:var(--muted);white-space:nowrap}.form-section{margin:0;padding:26px 36px 8px;min-width:0;border:0;border-bottom:1px solid var(--line)}.form-section legend{float:left;width:100%;display:flex;gap:10px;align-items:center;padding:0;margin:0 0 20px;font-size:.9rem;font-weight:750;letter-spacing:-.01em;color:#2b4051}.form-section legend+*{clear:both}.section-number{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border:1px solid #e1e6ea;border-radius:50%;font-size:.65rem;color:#7d8b96;background:#fafbfc;font-weight:650;font-variant-numeric:tabular-nums}.field-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:26px;align-items:start}.full-width{grid-column:1/-1}label{display:block;margin-bottom:20px;color:#304657;font-size:.79rem;font-weight:650}.required{color:var(--red);margin-left:2px}input,textarea,select{display:block;width:100%;border:1px solid #c6d1d9;border-radius:6px;padding:11px 12px;color:#223b4e;background:#fff;margin-top:7px;font-size:.88rem;font-weight:400;line-height:1.5;transition:border-color .15s,box-shadow .15s}input:hover,textarea:hover,select:hover{border-color:#94a9b9}input:focus,textarea:focus,select:focus{outline:2px solid #a8c0d3;outline-offset:1px;border-color:#668ba8}input::placeholder,textarea::placeholder{color:#8996a1;font-size:.82rem;opacity:1}textarea{resize:vertical;min-height:76px}.narrative-label textarea{min-height:180px}small{display:block;font-size:.72rem;font-weight:400;line-height:1.5;color:var(--muted);margin-top:6px}.optional{margin-left:auto;font-size:.69rem;color:#7a8791;font-weight:500;letter-spacing:0}.documents-section{border-bottom:0;padding-bottom:25px}.upload-panel{border:1px dashed #bfccd5;border-radius:8px;background:#f9fbfc;padding:21px;display:grid;grid-template-columns:32px 1fr;column-gap:15px;align-items:center}.upload-icon{color:#6d8495}.upload-panel label{margin:0;font-size:.84rem}.upload-panel label small{margin-top:3px}.upload-panel input{grid-column:1/-1;margin-top:18px;border:0;padding:0;font-size:.76rem;background:transparent}.upload-panel input::file-selector-button{font:inherit;font-weight:650;color:#304b60;border:1px solid #c6d1d9;background:white;border-radius:5px;padding:8px 13px;margin-right:12px;cursor:pointer}.upload-panel p{grid-column:1/-1;font-size:.7rem;color:var(--muted);margin:10px 0 0}.notice{margin:0 36px 26px;padding:13px 15px;border:1px solid #e8e1d1;background:#fcfaf5;color:#6f6247;display:flex;align-items:center;gap:11px;border-radius:6px;font-size:.74rem}.notice p{margin:0}.notice-mark{display:inline-flex;width:17px;height:17px;flex-shrink:0;border:1px solid #ad9b6f;border-radius:50%;align-items:center;justify-content:center;font:600 .65rem Georgia,serif}.submit-section{padding:25px 36px 20px;background:#fafbfc;border-top:1px solid var(--line)}.submit-row{display:flex;justify-content:space-between;align-items:center;gap:25px}.submit-row>p{font-size:.76rem;line-height:1.65;color:var(--muted);margin:0}button,.button{border:1px solid transparent;border-radius:6px;background:var(--red);color:white;padding:12px 19px;cursor:pointer;font-size:.82rem;font-weight:650;line-height:1.4;text-decoration:none;display:inline-block;transition:background .15s,box-shadow .15s}button:hover,.button:hover{background:#8d1e2d}button:disabled{opacity:.5;cursor:default}#submit{white-space:nowrap;box-shadow:0 3px 8px #a6243518;padding:13px 21px}#submit>span{margin-left:22px;font-size:1rem}.secondary{background:white;color:#304b60;border-color:#c8d3dc}.secondary:hover{background:#eef3f6}.header-actions .secondary{background:#ffffff0b;border-color:#ffffff35;color:white;font-size:.76rem;padding:10px 13px}.muted{color:var(--muted)}.fine{font-size:.68rem;margin:12px 0 0}.error{color:#a11d32;white-space:pre-line;font-size:.82rem;line-height:1.6}.error:empty{display:none}.submit-section #challenge:not(:empty){margin-bottom:18px}#receipt{padding:38px 36px}#receipt h2{color:#254e3b}#receipt>p{font-size:.9rem;max-width:680px}.reference{font-weight:750;padding:13px 15px;background:#edf5f0;border:1px solid #d3e6d9;border-radius:6px;color:#28553b;overflow-wrap:anywhere;letter-spacing:.03em}footer{padding:25px 0 30px;display:flex;justify-content:space-between;gap:20px;color:#7c8994;font-size:.66rem}footer>span:first-child{letter-spacing:.1em;font-weight:650}footer>span:last-child{font-size:.7rem}.admin-main{max-width:1390px;margin:34px auto;padding:0 36px}.admin-main>.eyebrow{margin-bottom:10px}.admin-main>h1{font-size:2.2rem;margin-bottom:8px}.admin-description{color:var(--muted);font-size:.9rem;margin-bottom:27px}.login{max-width:440px;margin:40px auto 80px;padding:32px}.login>p{font-size:.88rem;color:var(--muted)}.login button{width:100%}.counts{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.count{background:white;border:1px solid var(--line);border-radius:9px;padding:19px 22px;position:relative;overflow:hidden;box-shadow:0 3px 10px #223b4e04}.count:before{content:'';display:block;position:absolute;top:20px;bottom:20px;left:0;width:3px;background:#9eafbc}.count:nth-child(2):before{background:#b49b52}.count:nth-child(3):before{background:#53836a}.count:nth-child(4):before{background:#ad5b66}.count strong{display:block;font-size:1.85rem;font-weight:700;line-height:1.15;color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.count span{display:block;color:var(--muted);font-size:.75rem;margin-top:6px}.toolbar{display:flex;align-items:end;gap:13px;margin-bottom:21px}.toolbar label{margin:0}.toolbar label:first-child{flex:1}.toolbar label:nth-child(2){min-width:175px}.toolbar input,.toolbar select{background:white}.toolbar button{min-height:45px}.review-layout{display:grid;grid-template-columns:minmax(290px,.78fr) minmax(430px,1.22fr);gap:23px;align-items:start}.list-card{padding:0;overflow:hidden}.nomination-row{border:0;border-bottom:1px solid var(--line);background:white;color:#223545;width:100%;text-align:left;border-radius:0;padding:21px 23px;line-height:1.5}.nomination-row:hover{background:#f7f9fa}.nomination-row.selected{box-shadow:inset 3px 0 var(--red);background:#fbf4f5}.nomination-row strong{display:block;font-size:.98rem;font-weight:700;margin-bottom:4px}.nomination-row>span{color:var(--muted);font-size:.78rem}.row-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;font-size:.68rem;color:#758491}.badge{display:inline-block;border:1px solid #ecdfbd;border-radius:4px;background:#fbf4e2;color:#8c6d22;font-size:.66rem;font-weight:650;padding:3px 8px}.badge.Approved{background:#edf6ef;border-color:#d0e4d6;color:#3a7452}.badge.Rejected{background:#fbf0f2;border-color:#efd1d6;color:#a14150}.pager{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;gap:8px;font-size:.69rem;color:var(--muted);background:#fafbfc}.pager button{font-size:.7rem;padding:8px 11px}.detail{padding:28px;overflow:hidden}.detail h2{overflow-wrap:anywhere;margin-bottom:23px;font-size:1.6rem}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.detail-actions button{font-size:.72rem;padding:9px 13px}.detail dl{display:grid;grid-template-columns:112px 1fr;font-size:.8rem;gap:11px 15px;background:#f7f9fa;border:1px solid #e9edf0;padding:17px;border-radius:7px;margin:0}.detail dt{font-weight:550;color:var(--muted)}.detail dd{margin:0;overflow-wrap:anywhere;font-weight:500}.narrative{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;font-size:.87rem}.detail-section{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.detail-section h3{font-size:.78rem;font-weight:750;letter-spacing:.02em;margin:0 0 15px;color:#314b5e}.detail .detail-section:first-of-type{border-top:0}.attachments a{display:block;margin:8px 0;font-size:.8rem;color:#294f70}.attachments>.muted{font-size:.8rem}.decision>p{font-size:.73rem;margin-bottom:18px}.decision{background:#f8fafb;border:1px solid var(--line);padding:19px;border-radius:8px}.decision label{margin-bottom:16px}.decision form>button{width:100%}.history-entry{border-left:2px solid #c7d4de;padding:3px 0 3px 14px;margin-bottom:18px;font-size:.77rem}.history-entry>strong{font-weight:650}.history-entry>.muted{font-size:.69rem;margin-top:3px}.history-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0}.email-status{font-size:.72rem;padding:11px 0;border-bottom:1px solid #edf0f3;overflow-wrap:anywhere}.email-status:last-child{border-bottom:0}.email-status>strong{font-weight:600}.email-status>div{color:var(--muted);margin-top:4px}[hidden]{display:none!important}@media(min-width:1250px){.desktop-break{display:none}}@media(max-width:900px){.review-layout{grid-template-columns:1fr}.admin-main{padding:0 24px}.header-inner{padding-right:28px;padding-left:28px}.form-layout{padding:0 28px}.counts{gap:12px}.count{padding:17px}.toolbar{flex-wrap:wrap}}@media(max-width:640px){.header-inner{min-height:92px;padding:14px 18px;gap:12px}.brand{gap:11px;font-size:.68rem;letter-spacing:.045em}.brand-logo{width:45px;height:50px}.brand-text>span{font-size:.55rem;letter-spacing:.17em}.header-link{font-size:.65rem;padding:8px 10px;gap:6px}.header-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}.header-actions .secondary{font-size:.65rem;padding:7px 10px}.header-actions .header-link{border:0;padding:3px}.form-layout{padding:0 16px}.page-intro{padding:29px 4px 24px}.page-intro h1{font-size:2rem;line-height:1.12}.page-intro .eyebrow{font-size:.57rem;margin-bottom:13px;letter-spacing:.12em}.page-intro>p{font-size:.83rem;max-width:340px}.desktop-break{display:none}.nomination-card{border-radius:9px}.form-heading{padding:23px 21px 21px;gap:12px}.form-heading h2{font-size:1.3rem}.form-heading .eyebrow{font-size:.51rem;letter-spacing:.075em}.required-note{font-size:.62rem}.form-section{padding:22px 21px 3px}.field-grid{grid-template-columns:1fr;gap:0}.form-section legend{font-size:.82rem;margin-bottom:18px}.optional{font-size:.62rem}.narrative-label textarea{min-height:190px}.documents-section{padding-bottom:21px}.upload-panel{padding:16px;column-gap:11px}.upload-panel label{font-size:.79rem}.upload-panel small{font-size:.65rem}.upload-panel input{font-size:.7rem}.notice{margin:0 21px 22px;font-size:.68rem;padding:12px}.submit-section{padding:22px 21px}.submit-row{flex-direction:column-reverse;align-items:stretch;gap:16px}.submit-row>p{font-size:.73rem}#submit{width:100%;padding:14px 16px}.fine{font-size:.63rem}footer{padding:22px 4px;flex-direction:column;gap:5px;font-size:.56rem}footer>span:last-child{font-size:.65rem}#receipt{padding:28px 23px}.admin-main{padding:0 16px;margin-top:26px}.admin-main>h1{font-size:1.9rem}.admin-description{font-size:.82rem}.counts{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.count{padding:15px 18px}.count strong{font-size:1.6rem}.toolbar{gap:10px}.toolbar label:first-child{flex-basis:100%}.toolbar label:nth-child(2){flex:1;min-width:0}.toolbar input,.toolbar select{font-size:.82rem}.toolbar button{font-size:.75rem}.detail{padding:22px}.detail dl{grid-template-columns:90px 1fr;font-size:.75rem;padding:13px;gap:10px}.detail h2{font-size:1.4rem}.card.login{padding:27px 23px}.review-layout{gap:18px}.row-meta{font-size:.65rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{@page{margin:18mm}body{background:white;color:black;font-size:11pt}.site-header,.skip-link,.admin-main>.eyebrow,.admin-main>h1,.admin-description,#error,.counts,.toolbar,.list-card,.detail-actions,.decision,.notifications{display:none!important}.admin-main{padding:0;margin:0;max-width:none}.review-layout{display:block}.detail{border:0;box-shadow:none;padding:0;overflow:visible}.detail h2:before{content:'Washington Township Fire Department — Award Nomination';display:block;font-size:11pt;color:#333;letter-spacing:0;margin-bottom:18px}.detail h2{font-size:20pt}.detail dl{background:white;border:0;padding:0;font-size:10pt}.detail-section{break-inside:auto}.history-entry,dl{break-inside:avoid}.detail-section h3{font-size:11pt}a{color:black}.badge{border:1px solid #777;background:white!important;color:black!important}.narrative{font-size:11pt}.history-entry{font-size:10pt}.history-entry>.muted{font-size:9pt}footer{display:none}}

@media(max-width:640px){input:not([type="file"]),textarea,select,.toolbar input,.toolbar select{font-size:16px}}

/* Program header: shared branding and aligned navigation. */
.site-header{background:linear-gradient(110deg,#112535 0%,#193548 100%);border-top:3px solid #a62435;border-bottom:1px solid #b59a5140}
.header-inner{max-width:1200px;min-height:120px;padding:16px 36px;gap:26px}
.brand{gap:17px;flex-shrink:0;font-size:.92rem;letter-spacing:.055em}
.brand-logo{width:76px;height:84px;filter:drop-shadow(0 3px 5px #0003)}
.brand-text>span{font-size:.72rem;letter-spacing:.21em;color:#d2c18c;margin-top:5px}
.header-program{margin-right:auto;padding:3px 0 3px 26px;border-left:1px solid #ffffff26;display:flex;flex-direction:column;gap:4px;min-width:0}
.program-kicker{font-size:.53rem;font-weight:650;letter-spacing:.17em;color:#afbfca}
.program-title{font-size:1.16rem;font-weight:550;letter-spacing:-.025em;line-height:1.3;color:#fff}
.header-link{border-color:#ffffff2b;background:#ffffff05;padding:10px 14px}
.header-actions{flex-shrink:0}
@media(min-width:901px){.admin-page .header-inner{max-width:1390px}}
@media(max-width:1050px){.header-inner{gap:20px}.brand{font-size:.8rem;gap:13px}.brand-logo{width:66px;height:73px}.header-program{padding-left:20px}.program-title{font-size:1rem}.header-actions{gap:8px}.header-link{font-size:.75rem;padding:9px 11px}}
@media(max-width:800px){.header-inner{min-height:104px;padding:15px 28px;gap:16px}.header-program{display:none}.header-link,.header-actions{margin-left:auto}.brand{font-size:.84rem}.brand-logo{width:64px;height:71px}.brand-text>span{font-size:.65rem}}
@media(max-width:640px){.header-inner{padding:15px 18px;min-height:96px;gap:12px}.brand{gap:11px;font-size:.68rem;flex-shrink:1}.brand-logo{width:52px;height:58px}.brand-text>span{font-size:.55rem;letter-spacing:.17em}.header-link{font-size:.65rem;padding:8px 9px;gap:6px}.header-actions{gap:6px;max-width:120px}.header-actions .header-link{padding:3px 0}.header-actions .secondary{font-size:.65rem;padding:6px 9px}}
@media(max-width:360px){.header-inner{gap:8px;padding:14px 12px}.brand{gap:8px;font-size:.61rem}.brand-logo{width:44px;height:49px}.brand-text>span{font-size:.5rem}.header-link{font-size:.6rem;padding:8px}}
