:root{font-family:'DM Sans',system-ui,sans-serif;color:#183236;background:#f3f2ea}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Outfit,system-ui,sans-serif}a{color:inherit}.brand{font:700 .82rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.22em;color:#ca7146}.eyebrow{text-transform:uppercase;font-weight:700;letter-spacing:.19em;font-size:.75rem;color:#ac6b48}
.display-page{background:#14292d;color:#f6f1e7;overflow:hidden}.display-shell{height:100dvh;min-height:600px;padding:clamp(24px,3.3vh,52px) clamp(28px,4vw,80px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(14px,2vh,30px);background:radial-gradient(circle at 90% 10%,#285254 0%,transparent 37%),#14292d}.display-header{display:flex;align-items:end;justify-content:space-between;padding-bottom:clamp(16px,2vh,30px);border-bottom:1px solid #ffffff31}.display-header .brand{font-size:clamp(.85rem,1vw,1.2rem)}.display-header h1{font-size:clamp(2.25rem,4.2vw,5rem);font-weight:500;line-height:1.06;margin-top:.35em}.clock{font:500 clamp(2.5rem,4vw,4.8rem) Outfit,system-ui;white-space:nowrap;color:#f4d39f}.display-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(16px,2vw,32px);min-height:0}.panel{min-height:0;overflow:hidden;border:1px solid #ffffff1e;border-radius:24px;background:#f7f3e9;color:#193337;padding:clamp(24px,2.5vw,50px);box-shadow:0 16px 45px #0002}.meals-panel{background:#e7eee6}.section-heading{margin-bottom:clamp(14px,2.2vh,30px)}.section-heading h2{font-size:clamp(2rem,2.8vw,3.5rem);font-weight:500;margin-top:.08em}.event-list{display:grid;gap:clamp(14px,2.4vh,34px);overflow:hidden}.event{display:grid;grid-template-columns:clamp(105px,8.5vw,165px) 1fr;gap:16px;align-items:start;border-top:1px solid #1c3c4020;padding-top:clamp(12px,1.5vh,22px)}.event-time{font-size:clamp(1rem,1.3vw,1.6rem);font-weight:700;color:#b76842}.event-copy{display:grid;gap:5px;min-width:0}.event-copy strong{font:500 clamp(1.3rem,2vw,2.5rem) Outfit,system-ui;line-height:1.13}.event-copy small{font-size:clamp(.95rem,1.2vw,1.4rem);color:#637176}.meal-list{height:calc(100% - 85px);display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}.display-meal{border-top:1px solid #17373525;padding:clamp(12px,1.5vh,22px) 0;overflow:hidden}.display-meal h3{font:700 clamp(.9rem,1.15vw,1.35rem) 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#b26842}.display-meal p{font:500 clamp(1.45rem,2.15vw,2.7rem) Outfit,system-ui;line-height:1.15;margin:.24em 0}.display-meal small{font-size:clamp(.95rem,1.2vw,1.45rem);color:#5b706b}.tomorrow-strip{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;border:1px solid #ffffff31;border-radius:21px;padding:clamp(17px,2vh,30px) clamp(25px,2.4vw,42px);background:#ffffff12}.tomorrow-strip h2{font-size:clamp(1.5rem,2vw,2.5rem);font-weight:500}.tomorrow-events{display:flex;gap:clamp(16px,2.8vw,55px);overflow:hidden;align-items:center}.tomorrow-events span{font-size:clamp(1rem,1.35vw,1.65rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tomorrow-events b{color:#f2c88d;font-weight:700;margin-right:.3em}.empty-state{font-size:clamp(1.1rem,1.6vw,1.8rem);color:#68807c}
.manage-page{background:#f4f2eb;min-height:100dvh}.manage-shell{max-width:750px;margin:auto;padding:24px 18px 60px}.manage-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:18px 2px 28px}.manage-header h1{font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.05;margin:12px 0 7px;font-weight:600}.manage-header p{color:#68807c}.display-link{text-decoration:none;font-size:.85rem;font-weight:700;white-space:nowrap;border-bottom:1px solid #bc7047;padding-bottom:5px;margin-top:5px}.date-card,.edit-meal{background:#fffefa;border:1px solid #e5e4d9;border-radius:22px;box-shadow:0 10px 32px #1933370b}.date-card{padding:25px;margin-bottom:18px}.date-card h2{font-size:2rem;font-weight:600;margin:6px 0 22px}.date-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.date-controls a,.date-picker button{min-height:46px;display:grid;place-items:center;text-align:center;text-decoration:none;border-radius:11px;background:#edf1e9;font-weight:700;font-size:.9rem}.date-controls a:nth-child(2){background:#173b3b;color:white}.date-picker{display:flex;align-items:center;gap:10px;margin-top:19px;flex-wrap:wrap}.date-picker label{font-weight:700;font-size:.85rem;color:#5b706b}.date-picker input{height:44px;flex:1;min-width:145px;border:1px solid #cbd5cc;border-radius:10px;padding:0 12px;font:inherit;background:white}.date-picker button{border:0;padding:0 20px;cursor:pointer}.meal-form{display:grid;gap:15px}.edit-meal{padding:24px;display:grid;gap:9px}.meal-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}.meal-card-heading h2{font-size:1.65rem}.meal-number{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#e5ede6;color:#41615b;font-weight:700;font-size:.8rem}.edit-meal label{font-weight:700;font-size:.85rem;margin-top:4px}.optional{font-weight:400;color:#82918a}.edit-meal input,.edit-meal textarea{width:100%;border:1px solid #cad5cc;border-radius:11px;background:#fafbf8;color:#173b3b;padding:13px 14px;font:1rem 'DM Sans',sans-serif;outline-color:#b26842}.edit-meal input{min-height:52px}.edit-meal textarea{resize:vertical;min-height:78px}.save-button{height:59px;border:0;border-radius:13px;background:#c76f47;color:white;font:700 1.05rem 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 8px 18px #b8653c38}.save-button:hover{background:#ac5c39}.saved-message{background:#dceedd;color:#285842;border-radius:10px;padding:13px 16px;margin-bottom:16px;font-weight:700}.validation-message{color:#a53636;font-size:.9rem}.validation-message:empty{display:none}
@media(max-width:700px){.display-page{overflow:auto}.display-shell{height:auto;min-height:100dvh}.display-grid{grid-template-columns:1fr}.panel{min-height:330px}.tomorrow-strip{grid-template-columns:1fr}.tomorrow-events{flex-wrap:wrap}.display-header h1{font-size:2.1rem}.clock{font-size:2rem}}@media(max-width:430px){.manage-header{display:block}.display-link{display:inline-block;margin-top:18px}.date-card h2{font-size:1.65rem}.date-controls a{font-size:.78rem}.edit-meal{padding:19px}}
.display-shell{grid-template-rows:auto minmax(0,1fr)}
.display-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr)}
.events-panel,.meals-panel{padding:clamp(16px,2vh,34px)}
.events-panel .section-heading{margin-bottom:8px}
.events-panel .section-heading h2{font-size:clamp(1.6rem,2vw,2.5rem)}
.seven-days{height:calc(100% - 68px);display:grid;grid-template-rows:repeat(7,minmax(0,1fr));overflow:hidden}
.calendar-day{display:grid;grid-template-columns:clamp(90px,8vw,140px) minmax(0,1fr);gap:12px;border-top:1px solid #1c3c4020;min-height:0;padding:clamp(4px,.65vh,10px) 8px;overflow:hidden}
.calendar-day.is-today{background:#f4e7cf;border-radius:10px}
.day-label{font-size:clamp(1.1rem,1.4vw,1.75rem);text-transform:uppercase;color:#a25431}
.day-events{display:grid;align-content:start;gap:2px;overflow:hidden}
.day-event{font-size:clamp(.95rem,1.25vw,1.5rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-event b{color:#975733;margin-right:.35em}
.quiet-day,.more-events{color:#68807c;font-size:clamp(.85rem,1vw,1.2rem)}
@media(max-width:700px){.display-grid{grid-template-columns:1fr}.seven-days{height:auto;grid-template-rows:none}.calendar-day{min-height:75px}.display-shell{height:auto}.display-page{overflow:auto}}
