

:root{--pine:#164e48;--teal:#086e73;--coral:#b83c34;--gold:#e9b85e;--cream:#faf7ef;--ink:#243532;--muted:#50605b;--border:#cbd7d1;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--ink);background:var(--cream);font-size:17px;line-height:1.5}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid #e8a929;outline-offset:3px}button:hover{filter:brightness(.95)}
header{background:linear-gradient(90deg,rgba(8,33,39,.84) 0%,rgba(8,33,39,.64) 40%,rgba(8,33,39,.06) 76%,rgba(8,33,39,.02) 100%),url("beach-christmas.png") center 49%/cover no-repeat;background-color:#164e48;color:white;padding:32px 20px 72px;min-height:460px;display:flex;align-items:center}
header:before,header:after{display:none}.wrap{max-width:1100px;margin:auto;width:100%;position:relative}.topline{display:flex;align-items:center;gap:14px;margin:0 0 32px;flex-wrap:wrap}.eyebrow{font-size:14px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#fff}.badge{border:1px solid #ffffff90;padding:4px 11px;border-radius:4px;font-size:13px;font-weight:700;background:#183d3a80}.hero{display:block}.hero>div:first-child{max-width:750px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,5.7vw,72px);letter-spacing:-.032em;line-height:1.06;margin:10px 0 22px;text-shadow:0 2px 8px #0925244d}.hero h1 span{color:#f6dca0!important}.hero p{font-size:20px;line-height:1.48;max-width:620px;margin:0;color:white;font-weight:500}.parrot{display:none}
.shell{max-width:1100px;margin:-36px auto 70px;padding:0 22px;position:relative}.event{background:white;border:1px solid var(--border);box-shadow:0 6px 20px #14292014;border-radius:10px;padding:21px 25px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.event strong{font-size:17px;display:block}.event small{display:block;color:var(--muted);font-size:15px}.eventline{display:flex;gap:13px;align-items:center}.eventicon{background:#ecf5f1;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:21px;flex:none}
.mainhead{display:flex;justify-content:space-between;align-items:center;gap:28px;margin:48px 0 24px}.mainhead h2{font-size:clamp(25px,3vw,34px);line-height:1.2;letter-spacing:-.025em;margin:0 0 9px;font-family:Georgia,'Times New Roman',serif}.mainhead p{font-size:17px;color:var(--muted);margin:0}.decor{display:none}
.primary{background:#b2372e;border:2px solid #b2372e;color:white;font-weight:800;border-radius:7px;padding:15px 23px;min-height:56px;font-size:17px;box-shadow:none;white-space:normal}.primary:hover{background:#912c25}.primary:active{transform:none}.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0 34px}.stat{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px}.stat .n{font-size:32px;line-height:1.15;color:var(--pine);font-weight:800}.stat .l{font-size:15px;color:var(--muted);margin-top:3px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:0 0 21px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{background:#fff;color:var(--ink);border:1.5px solid #b6c8bf;border-radius:6px;padding:11px 14px;min-height:46px;font-weight:700;font-size:15px}.filter.active{background:var(--pine);color:white;border-color:var(--pine)}.search{width:245px;max-width:100%;background:white;color:var(--ink);border:1.5px solid #9caea7;border-radius:6px;padding:12px 14px;min-height:48px;font-size:16px}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dish{background:white;border:1px solid var(--border);border-radius:9px;padding:22px;min-height:155px}.dishtop{display:flex;gap:10px;justify-content:space-between}.cat{font-size:13px;text-transform:uppercase;letter-spacing:.045em;font-weight:800;color:var(--teal)}.dish h3{font-size:23px;line-height:1.25;margin:9px 0 8px}.dish p{font-size:15px;color:var(--muted);margin:6px 0}.dishbottom{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #e4eae6;padding-top:14px;margin-top:17px}.person{font-size:16px;font-weight:700;color:var(--ink)}.tinybtn{background:#edf4f2;border:1px solid #abc3b9;color:var(--pine);font-size:15px;font-weight:800;padding:10px 15px;border-radius:6px;min-height:44px}
.empty{grid-column:1/-1;text-align:center;background:#fff;border:1px solid var(--border);padding:38px 22px;border-radius:9px}.empty span{font-size:28px}.empty h3{margin:9px 0;font-size:23px}.empty p{font-size:17px;color:var(--muted);margin:0 0 22px}
.tools{margin-top:38px;border:1px solid var(--border);border-radius:8px;padding:20px 23px;background:#f2f4ef}.tools h3{font-size:18px;margin:0 0 8px}.tools p{font-size:15px;color:var(--muted);line-height:1.5;margin:0 0 14px}.toolbuttons{display:flex;flex-wrap:wrap;gap:10px}.secondary{border:1px solid #a4b7ae;border-radius:6px;background:#fff;color:#164e48;padding:12px 18px;min-height:48px;font-weight:800;font-size:16px}.footer{text-align:center;color:var(--muted);font-size:14px;margin:32px 0}.smallnote{color:var(--muted);font-size:14px}.link{border:0;background:none;color:var(--teal);text-decoration:underline}
.modalshade{position:fixed;inset:0;background:#061e1ad9;display:none;align-items:center;justify-content:center;padding:15px;z-index:10}.modalshade.show{display:flex}.modal{max-width:560px;width:100%;max-height:94vh;overflow:auto;background:white;border-radius:10px;padding:30px;box-shadow:0 24px 80px #0006}.modal h2{font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1.2;margin:0 0 8px}.modal .intro{font-size:16px;color:var(--muted);margin:0 0 24px}.field{display:block;margin-bottom:18px;font-size:17px;font-weight:800}.field input,.field select,.field textarea{display:block;margin-top:8px;width:100%;min-height:51px;padding:11px 13px;border:1.5px solid #9cafaa;border-radius:6px;background:white;color:var(--ink);font-size:17px;font-weight:400}.field textarea{height:95px;resize:vertical}.formcols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.warning{background:#fff4d9;padding:13px;border-radius:6px}.error{color:#a02720;font-size:15px;min-height:18px;margin:7px 0;font-weight:700}
@media(max-width:780px){.statrow{grid-template-columns:repeat(2,1fr)}.mainhead{display:block}.mainhead .primary{margin-top:23px}.toolbar{display:block}.filters{margin-bottom:16px}.search{width:100%}}
@media(max-width:620px){body{font-size:16px}header{min-height:380px;padding:23px 20px 58px;background-position:62% center}.topline{margin-bottom:25px}.hero h1{font-size:42px}.hero p{font-size:18px}.shell{margin:-24px auto 55px;padding:0 15px}.event{grid-template-columns:1fr;gap:19px;padding:20px}.mainhead{margin:35px 0 21px}.mainhead .primary{width:100%}.statrow{gap:8px;margin:18px 0 29px}.stat{padding:15px}.stat .n{font-size:29px}.stat .l{font-size:14px}.cards{grid-template-columns:1fr}.filter{flex:1 1 auto}.formcols{grid-template-columns:1fr;gap:0}.modal{padding:23px 19px}.actions{flex-direction:column-reverse}.actions button{width:100%}.toolbuttons{display:grid}.toolbuttons button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header{background:#fff;color:#000;padding:10px;min-height:0}.hero h1,.hero h1 span,.hero p,.eyebrow{color:#000!important;text-shadow:none}.modalshade,.mainhead button,.filters,.search,.tools,.tinybtn{display:none!important}.shell{margin:0}.cards{display:block}.dish{break-inside:avoid;margin-bottom:10px}.event{box-shadow:none}}
.santa{display:flex;align-items:flex-start;gap:20px;background:#fff7e7;border:2px solid #c9a66a;border-radius:10px;padding:22px 24px;margin:26px 0 10px;color:#293e39}.santa-icon{font-size:34px;line-height:1.2}.santa h2{font-size:24px;margin:0 0 7px;color:#164e48}.santa p{margin:0;font-size:17px;line-height:1.55}.emailnote{font-size:14px;color:#50605b;margin:-7px 0 16px}@media(max-width:600px){.santa{padding:18px 16px;gap:12px}.santa h2{font-size:21px}.santa-icon{font-size:27px}}

.notice{padding:13px 15px;background:#e8f5ee;border-left:5px solid #237657;margin:14px 0;border-radius:4px}.notice.error{background:#fff0ee;border-color:#b2372e}.hidden{display:none!important}.admin{margin-top:38px;border:1px solid var(--border);border-radius:8px;padding:20px 23px;background:#f2f4ef}.admin h3{margin:0 0 10px}.admin-actions{display:flex;flex-wrap:wrap;gap:10px}.mini{min-height:42px}.admin .field{max-width:400px}.admin p{font-size:15px}.dishbottom button{max-width:130px}.card-edit{display:inline-flex;gap:5px}.status{font-weight:700;color:var(--pine)}.help{color:var(--muted);font-size:15px}.admin-delete{border-color:#a02924;color:#a02924}.topnotice{margin-top:20px}@media(max-width:620px){.admin-actions button{width:100%}}