:root{--color-cream-light: #F3EFE3;--color-cream-dark: #EAE4D2;--color-green-deep: #3E5B41;--color-green: #5C7F5E;--color-green-soft: #8CA98D;--color-gold: #C88A34;--color-text: #2B332B;--color-white: #FFFDF8;--color-error: #B5442E;--color-grey-event: #6b6b5f;--color-grey-place: #9a9a8c;--color-grey-hint: #8a8a7c;--color-grey-success: #5c5c50;--color-disabled: #B9C4B4;--font-heading: "Rubik", sans-serif;--font-body: "Assistant", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-cream-light);color:var(--color-text);font-family:var(--font-body);direction:rtl;min-height:100vh}h1,h2,h3{font-family:var(--font-heading);font-weight:700;color:var(--color-green-deep);margin:0}button{font-family:var(--font-body);cursor:pointer}.wrap{width:100%;max-width:520px;margin:0 auto;padding:20px 16px 48px}.wrap.admin-wrap{max-width:900px}@media (min-width: 400px){.wrap{padding:28px 16px 60px}}.card{background:var(--color-white);border-radius:18px;padding:20px 16px 18px;box-shadow:0 6px 24px #3e5b411a;border:1px solid var(--color-cream-dark)}@media (min-width: 400px){.card{padding:26px 22px 22px}}.header{text-align:center;margin-bottom:8px}.logo{width:88px;height:auto;margin:0 auto 8px;display:block}@media (min-width: 400px){.logo{width:110px}}.header h1{font-size:1.7rem;font-weight:800;line-height:1.15}@media (min-width: 400px){.header h1{font-size:2.2rem}}.subtitle{font-family:var(--font-heading);font-weight:500;font-size:1.05rem;color:var(--color-green-deep);margin:6px 0 0}.date-line{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--color-gold);letter-spacing:.5px;margin:6px 0 0}.tagline{font-family:var(--font-heading);font-weight:700;color:var(--color-gold);font-size:1.05rem;margin:6px 0 0}.schedule{display:flex;justify-content:center;gap:8px;font-size:.8rem;color:var(--color-green-deep);margin-top:16px}@media (min-width: 400px){.schedule{gap:14px;font-size:.85rem}}.schedule div{text-align:center;flex:1;min-width:0}.schedule b{display:block;font-size:.95rem;color:var(--color-green-deep)}@media (min-width: 400px){.schedule b{font-size:1rem}}.schedule .event-title{display:block;color:var(--color-grey-event);font-size:.75rem;font-weight:600;margin-top:2px}.schedule .event-place{display:block;color:var(--color-grey-place);font-size:.7rem}@media (max-width: 340px){.schedule{flex-direction:column;gap:8px}.schedule div{display:flex;align-items:baseline;justify-content:center;gap:6px}.schedule .event-title,.schedule .event-place{margin-top:0}}.field-hint{display:flex;align-items:center;gap:10px;margin:18px 0 20px}.field-hint span{flex:1;height:1px;background:linear-gradient(to left,transparent,var(--color-gold),transparent)}.field-hint .dot{width:6px;height:6px;border-radius:50%;background:var(--color-gold);flex:none}.field{margin-bottom:16px}.field label,fieldset legend{display:block;font-weight:600;font-size:.95rem;color:var(--color-green-deep);margin:0 0 6px}.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=password],.field input:not([type]),.field select,.field textarea{width:100%;padding:12px 14px;border-radius:11px;border:1.5px solid var(--color-cream-dark);background:var(--color-cream-light);font-family:var(--font-body);font-size:1rem;color:var(--color-text)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-green);background:var(--color-white)}.field textarea{resize:vertical;min-height:60px}.total-line{font-weight:600;color:var(--color-green-deep);margin:4px 0 12px}.errors{list-style:none;margin:0 0 16px;padding:0}.errors li{color:var(--color-error);font-size:.9rem;margin-top:4px}.notice{background:var(--color-cream-light);border:1px solid var(--color-gold);border-radius:11px;padding:12px 14px;font-size:.85rem;color:var(--color-text);margin-bottom:16px;text-align:center}.welcome-line{text-align:center;color:var(--color-green-deep);font-weight:600;margin:0 0 16px}.logout-link{display:block;margin:6px auto 0;background:none;border:none;padding:4px;font-size:.8rem;color:var(--color-text);text-decoration:underline;cursor:pointer;opacity:.7}.logout-link:hover{opacity:1}.counter-group{margin-bottom:20px}.count-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}.counter-group .count-row:not(:last-child){border-bottom:1px solid var(--color-cream-dark)}.count-label{font-weight:600;font-size:.95rem}.meal-select-group{margin-bottom:20px}.meal-select-group .count-row:not(:last-child){border-bottom:1px solid var(--color-cream-dark)}.meal-select-group select{width:auto;min-width:170px;padding:8px 10px}.count-hint{display:block;color:var(--color-grey-place);font-size:.78rem;font-weight:400;margin-top:2px}.stepper{display:flex;align-items:center;background:var(--color-cream-light);border:1.5px solid var(--color-cream-dark);border-radius:11px;overflow:hidden;flex:none}.stepper button{width:38px;height:38px;border:none;background:transparent;font-size:1.2rem;color:var(--color-green-deep)}.stepper button:active{background:var(--color-cream-dark)}.stepper input{width:40px;text-align:center;border:none;background:transparent;font-size:1rem;font-weight:700;font-family:var(--font-body);color:var(--color-text);padding:0}.toggle-group{display:flex;gap:10px}.toggle-option{flex:1;text-align:center;padding:11px 10px;border-radius:11px;border:1.5px solid var(--color-cream-dark);background:var(--color-cream-light);font-weight:600;cursor:pointer;margin:0}.toggle-option input{position:absolute;opacity:0;pointer-events:none}.toggle-option.selected{background:var(--color-green-deep);border-color:var(--color-green-deep);color:var(--color-white)}.submit-btn{width:100%;padding:14px;border-radius:12px;border:none;background:var(--color-green-deep);color:var(--color-white);font-family:var(--font-heading);font-weight:700;font-size:1.05rem}.submit-btn:hover:not(:disabled){background:var(--color-green)}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{background:var(--color-disabled);cursor:not-allowed}.pay-btn{width:100%;padding:13px;border-radius:12px;border:none;background:var(--color-gold);color:var(--color-white);font-family:var(--font-heading);font-weight:700;font-size:1rem}.pay-btn:hover{opacity:.92}.pay-hint{color:var(--color-grey-hint);font-size:.8rem;text-align:center;margin:8px 0 0}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.admin-actions button{padding:9px 16px;border-radius:9px;border:1.5px solid var(--color-green-deep);background:var(--color-white);color:var(--color-green-deep);font-weight:600;font-size:.9rem}.admin-actions button:disabled{background:var(--color-green-deep);color:var(--color-white);cursor:default}.checkmark{width:60px;height:60px;border-radius:50%;background:var(--color-green-deep);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 16px}.success{text-align:center}.success h2{font-size:1.4rem}.success p{color:var(--color-grey-success);font-size:.95rem;line-height:1.5}.resident-note{background:var(--color-cream-light);border-radius:11px;padding:12px 14px;text-align:center;margin-top:16px}.payment-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-cream-dark)}.full-msg{text-align:center;color:var(--color-error)}.admin-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.stat{background:var(--color-white);border-radius:12px;padding:14px 20px;box-shadow:0 4px 14px #3e5b4114;flex:1 1 120px}.stat b{display:block;font-family:var(--font-heading);font-size:1.5rem;color:var(--color-green-deep)}.stat span{font-size:.8rem;color:var(--color-grey-hint)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}.admin-table{border-collapse:collapse;font-size:.88rem;background:var(--color-white);border-radius:12px;overflow:hidden;width:100%}.admin-table th{background:var(--color-green-deep);color:var(--color-white);white-space:nowrap}.admin-table th,.admin-table td{padding:10px 12px;text-align:right}.admin-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--color-cream-dark)}.admin-login{max-width:320px;margin:0 auto;padding:0 16px}.admin-login-icon{font-size:2.5rem;text-align:center;margin-bottom:12px}.admin-login h1{text-align:center;margin-bottom:6px;font-size:1.6rem}.admin-login-subtitle{text-align:center;font-family:var(--font-heading);font-weight:500;font-size:.95rem;color:var(--color-grey-hint);margin-bottom:24px}.admin-login .field{margin-bottom:16px}.admin-login .submit-btn{margin-top:8px}.form-fieldset{border:none;padding:0;margin:0;min-width:0}.form-fieldset.is-closed{opacity:.55;filter:grayscale(1)}.form-fieldset:disabled button,.form-fieldset:disabled select{cursor:not-allowed}.closed-banner{background:var(--color-cream-light);border:1px solid var(--color-gold);border-radius:11px;padding:14px;margin-bottom:18px;text-align:center;font-weight:600;color:var(--color-text)}.closed-banner p{margin:0 0 6px}.rsvp-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:14px;border-radius:11px;border:1px solid var(--color-gold);background:var(--color-cream-light);font-weight:600}.rsvp-toggle.is-open{border-color:var(--color-green-deep)}.rsvp-toggle button{cursor:pointer}.seating-layout{display:flex;gap:16px;align-items:flex-start;margin-top:12px}.seating-grid{flex:1;display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:6px;overflow-x:auto;direction:ltr}.seat-cell{background:var(--color-white);border:1px solid var(--color-green-soft);border-radius:8px;padding:6px;min-height:72px;font-size:13px;direction:rtl}.seat-cell-empty{border:0;background:transparent}.seat-spare{border-style:dashed;opacity:.85}.seat-over{border-color:var(--color-error);background:#f7e3de}.seat-target{cursor:pointer}.seat-target:hover{outline:2px solid var(--color-gold)}.seat-head{display:flex;justify-content:space-between;align-items:center;gap:4px;margin-bottom:4px;color:var(--color-green-deep)}.seat-family{display:block;width:100%;text-align:right;font:inherit;font-size:12px;background:var(--color-cream-light);border:1px solid var(--color-cream-dark);border-radius:6px;padding:2px 6px;margin-top:3px;cursor:pointer;color:var(--color-text)}.seat-selected{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold)}.seating-unassigned{width:220px;max-height:70vh;overflow-y:auto}.seating-unassigned h3{margin:0 0 8px}.seating-hint{color:var(--color-grey-success);margin:8px 0}@media (max-width: 800px){.seating-layout{flex-direction:column}.seating-unassigned{width:100%}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b332b8c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-box{background:var(--color-white);border-radius:16px;padding:24px;max-width:360px;width:100%;text-align:center;font-family:var(--font-body)}.modal-box h2{font-family:var(--font-heading);color:var(--color-green-deep);margin:0 0 8px}.modal-number{font-family:var(--font-heading);font-size:72px;line-height:1.1;color:var(--color-gold)}.seating-safety{margin-top:20px;display:grid;gap:16px}.seating-safety h3{margin:0 0 6px}.seating-safety ul{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.seating-safety li{padding:4px 0;border-bottom:1px solid var(--color-cream-dark);font-size:14px}.seating-safety li button{margin-inline-start:8px;font-size:12px}.seat-num{font:inherit;font-weight:700;background:none;border:1px dashed var(--color-gold);border-radius:6px;padding:0 6px;cursor:pointer;color:inherit}.seat-cell.seat-selected{background:var(--color-cream-light);outline:3px solid var(--color-gold);color:inherit}.wrap.admin-wrap:has(.seating-layout){max-width:1800px}.seating-grid{grid-template-columns:repeat(8,minmax(0,1fr))}@media (max-width: 1100px){.seating-grid{grid-template-columns:repeat(8,minmax(110px,1fr))}}@media (min-width: 1000px){.seating-safety{grid-template-columns:1fr 1fr}}.seating-unassigned{position:sticky;top:8px}.modal-box p{font-size:1.15rem;margin:8px 0 20px}.modal-box button{width:100%;padding:16px;border-radius:12px;border:none;background:var(--color-green-deep);color:var(--color-white);font-family:var(--font-heading);font-weight:700;font-size:1.3rem}.helper-page h1{text-align:center;margin:0 0 12px}.helper-search{width:100%;font-size:1.4rem;padding:14px;border-radius:12px;border:2px solid var(--color-green-soft);box-sizing:border-box;font-family:var(--font-body)}.helper-result{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:14px;background:var(--color-white);border:1px solid var(--color-green-soft);border-radius:12px}.helper-name{font-size:1.25rem;font-weight:700;color:var(--color-green-deep)}.helper-name small{font-weight:400;color:var(--color-grey-success);font-size:.9rem}.helper-table{font-family:var(--font-heading);font-size:3.2rem;line-height:1;color:var(--color-gold);text-align:center}.helper-table span{display:block;font-size:.9rem;color:var(--color-green-deep)}.helper-notable{font-size:1.1rem;color:var(--color-grey-success)}.seat-big{border-width:2px;border-color:var(--color-gold)}.seat-room{background:#e4f1e1}.seat-cell{align-self:end}.helper-list-title{font-size:1.1rem;margin:20px 0 4px;color:var(--color-green-deep)}.helper-compact{margin-top:6px;padding:8px 12px}.helper-compact .helper-name{font-size:1.05rem}.helper-compact .helper-table{font-size:1.8rem}.helper-compact .helper-table span{display:inline;font-size:.85rem;margin-inline-end:4px}@page seatprint{size:A3 portrait;margin:8mm}@media print{body *:not(:has(.seating-grid)):not(.seating-grid):not(.seating-grid *){display:none!important}html,body,.wrap,.wrap.admin-wrap:has(.seating-layout){background:#fff!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}.seating-layout{display:block;margin:0}.seating-grid{page:seatprint;zoom:.6;overflow:visible;gap:8px;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:1fr}.seat-cell{align-self:stretch;min-height:0!important;margin-top:0!important;background:#fff!important;border:1.5px solid #000!important;border-radius:6px;color:#000;font-size:17px;padding:6px;break-inside:avoid;outline:none!important}.seat-cell-empty{border:0!important}.seat-head{color:#000;font-size:21px;border-bottom:1px solid #000;padding-bottom:2px;margin-bottom:4px}.seat-head .seat-num{display:none}.seat-family{background:#fff;color:#000;border:1px solid #555;border-radius:4px;font-size:17px;padding:2px 5px}body.print-field .seating-grid{background:url(/assets/seating-field-o-bIt8iB.jpg) center / 100% 100% no-repeat;padding:8px;zoom:.56;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.print-field .seat-cell{background:#fff9!important}body.print-field .seat-cell-empty{background:none!important}body.print-field .seat-family{background:#ffffffeb}}
