:root{--cream:#faf5e9;--navy:#173d4e;--red:#bc2e18;--gold:#e9ae27;--border:#ded7c9;color:var(--navy);background:var(--cream)}
body{background:var(--cream);color:var(--navy)}
header{display:flex;align-items:center;gap:24px;background:var(--cream);color:var(--navy);border-bottom:1px solid var(--border);padding:20px 32px}
.brand-logo{display:block;width:104px;height:104px;object-fit:contain;flex:none;border-radius:4px}
header h1{font-family:Georgia,'Times New Roman',serif;font-size:36px;letter-spacing:-1px}
header p{margin:8px 0 0;font-size:14px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--red)}
main{padding-top:28px;gap:24px}
.panel{border:1px solid var(--border);border-radius:12px;box-shadow:0 3px 12px #173d4e05;padding:24px}
#entry>.panel:first-child{border-top:5px solid var(--gold)}
.panel h2{font-family:Georgia,'Times New Roman',serif;font-size:26px;color:var(--navy);letter-spacing:-.4px}
button{background:var(--red);border:1px solid var(--red);border-radius:7px;font-weight:700;padding:11px 15px;transition:background .15s}
button:hover:not(:disabled){background:#9c2514;border-color:#9c2514;color:white}
button.secondary{background:transparent;border:1px solid var(--navy);color:var(--navy)}
button.secondary:hover:not(:disabled){background:#edf1ef;border-color:var(--navy);color:var(--navy)}
input,select,textarea{border-color:#b6b9b3;border-radius:6px;color:var(--navy)}
input:focus,select:focus,textarea:focus,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.upload-zone{background:var(--cream);border:2px dashed #caaa72;border-radius:10px}
.toolbar{border-color:var(--border)}
.meal{border-color:var(--border)}
.notice{background:#fff4d8;border-color:var(--gold)}
.error,.missing{background:#fff0ed;border-color:var(--red)}
#message:not(:empty){background:#fff4d8;border-color:var(--gold);color:var(--navy)}
#message.error{background:#fff0ed;color:#9d2414}
small,.muted,.screen-status{color:#54646a;font-size:14px;line-height:1.5}
#printout{border-radius:8px}
.ready{background:#fff0c8;border-left:4px solid var(--gold);color:var(--navy)}
.print-section h3,th{background:#edf1ef;color:var(--navy)}
.auth-body{padding:28px 16px}
.auth-body main{display:block;max-width:420px;margin:3vh auto;padding:30px 34px;background:#fffdf8;border:1px solid var(--border);border-top:5px solid var(--gold);border-radius:16px;box-shadow:10px 10px 0 #edb32b26}
.auth-body .brand-logo{width:174px;height:174px;margin:0 auto 16px}
.auth-body h1{font:700 32px/1.15 Georgia,'Times New Roman',serif;text-align:center;color:var(--navy);letter-spacing:-.7px;margin:16px 0 26px}
.auth-body label{font-size:16px;font-weight:700;line-height:1.5}
.auth-body input,.auth-body select{background:white}
.auth-body input[type=password]{font-size:24px;letter-spacing:7px}
.auth-body button{background:var(--red);border-color:var(--red);min-height:50px}
.auth-body a{color:var(--navy);text-underline-offset:3px}
.auth-body #message{background:transparent;color:#a32323;padding:0;border:0}
@media(max-width:600px){header{padding:14px 18px;gap:14px}.brand-logo{width:76px;height:76px}header h1{font-size:28px}header p{font-size:12px;letter-spacing:.7px}main{padding:14px}.panel{padding:18px}.auth-body main{padding:24px;box-sizing:border-box;width:100%}.auth-body .brand-logo{width:145px;height:145px}.auth-body h1{font-size:28px}}
@media print{body{background:white;color:black}header{display:none}.panel{box-shadow:none;border:0;border-radius:0}.ready{background:#eee;border-color:#333;color:black}.print-section h3,th{color:black;background:#eee}.panel h2{font-family:Arial,sans-serif}main{padding:0}}
.review-checklist{border-top:5px solid var(--red)}
.review-checklist ul{list-style:none;padding:0;margin:12px 0 0}
.review-checklist li{margin:8px 0}
.review-checklist button{display:block;width:100%;text-align:left;white-space:normal;line-height:1.45;background:#fff8f4;border-color:#b83220;color:#8c2416}
.field-error{color:#9f2518;font-size:14px;font-weight:600;line-height:1.5;margin:6px 0 12px}
input.missing,select.missing,textarea.missing{border:2px solid #b83220;background:#fff4ef}
.staff-assignment{padding:16px;border:1px solid var(--border);border-radius:8px;margin:18px 0;background:#faf5e9}
.staff-assignment small,#readyTimeHint{display:block;line-height:1.5;margin-top:8px}
input,select,textarea,.meal,#buffetPanel,#reviewChecklist{scroll-margin-block:28px}
.review-highlight{animation:review-focus 1.5s ease-out}
@keyframes review-focus{from{box-shadow:0 0 0 5px #e9ae2780}to{box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.review-highlight{animation:none}}
#timingPlan{padding:16px;border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:8px;margin:18px 0}
#timingPlan small{display:block;line-height:1.5;margin:10px 0}
#timingPlan a{display:inline-block;padding:10px 0;font-weight:bold;color:var(--navy);text-decoration:underline}
#sourceReview button{white-space:normal}
