@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap";*{box-sizing:border-box}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f8f9fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #5c4a1f;--color-primary-dark: #3d3010;--color-secondary: #8b7355;--color-accent: #6b5a3a;--color-muted: #a99d80;--color-border: #c9bda0;--color-border-light: #e8e0d0;--color-bg-page: #FCFBEF;--color-bg-warm: #f5f0e0;--color-bg-off-white: #fffef5;--color-error-bg: #fff0f0;--color-error-border: #d4a5a5;--color-error-text: #8b4a4a;--color-success-bg: #f0f5e8;--color-success-border: #a5c9a5;--color-success-text: #4a6b4a;--color-footer-bg: #2e1f0a}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.input-base{font-family:Cormorant Garamond,Georgia,serif;width:100%;padding:.875rem 1rem;border:1.5px solid var(--color-border);border-radius:0;font-size:1.1rem;box-sizing:border-box;background:transparent;color:var(--color-primary);transition:border-color .2s}.input-base:focus{outline:none;border-color:var(--color-primary)}.input-base:disabled{background:var(--color-bg-warm);opacity:.6;cursor:not-allowed}.input-base::placeholder{color:var(--color-muted)}.copy-field{display:flex;align-items:stretch;border:1.5px solid var(--color-border);width:100%;box-sizing:border-box;font-family:Cormorant Garamond,Georgia,serif}.copy-field-text{flex:1;padding:.75rem 1rem;font-size:1rem;color:var(--color-primary);font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-field-button{flex-shrink:0;padding:.75rem 1rem;background:none;border:none;border-left:1.5px solid var(--color-border);cursor:pointer;font-family:inherit;font-size:.85rem;color:var(--color-secondary);letter-spacing:.05em;transition:color .2s,background .2s;white-space:nowrap}@media(hover:hover)and (pointer:fine){.copy-field-button:hover{background:var(--color-bg-warm);color:var(--color-primary)}}.copy-field-button.copied{color:#6b8c5a}.site-footer{background:var(--color-footer-bg);padding:3rem 2rem}.site-footer-content{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem}.site-footer-heading{font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:400;font-style:italic;color:var(--color-border);letter-spacing:.05em;margin:0}.site-footer-fields{display:flex;flex-direction:column;gap:.75rem}.footer-field.copy-field{border-color:#c9bda04d}.footer-field.copy-field .copy-field-text{color:var(--color-border);font-family:Cormorant Garamond,Georgia,serif}.footer-field.copy-field .copy-field-button{border-left-color:#c9bda04d;color:var(--color-secondary)}@media(hover:hover)and (pointer:fine){.footer-field.copy-field .copy-field-button:hover{background:#ffffff0f;color:var(--color-border)}}.footer-logout{font-family:Cormorant Garamond,Georgia,serif;background:none;border:1.5px solid rgba(201,189,160,.4);color:var(--color-border);font-size:.95rem;cursor:pointer;padding:.6rem 1.5rem;letter-spacing:.08em;width:fit-content;transition:all .2s}@media(hover:hover)and (pointer:fine){.footer-logout:hover{border-color:var(--color-border);color:var(--color-bg-warm)}}.app-link{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:600;color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;letter-spacing:.02em;line-height:1.4}.app-link-forward:before{content:"→ "}.app-link-back:before{content:"← "}@media(hover:hover)and (pointer:fine){.app-link:hover{color:var(--color-primary-dark)}}.alert{font-family:Cormorant Garamond,Georgia,serif;padding:1rem;margin-bottom:1.5rem;text-align:center}.alert-error{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.alert-success{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.landing-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}@media(max-width:768px){.landing-container{padding:1rem 1rem 3rem}}.landing-content{max-width:500px;width:100%;text-align:center}.landing-intro{font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--color-primary);margin:0 0 2.5rem;line-height:1.6}@media(max-width:768px){.landing-intro{font-size:1.1rem;margin-bottom:2rem}}.landing-title{font-family:Cormorant Garamond,Georgia,serif;font-size:3.5rem;font-weight:300;font-style:italic;color:var(--color-primary);margin:0 0 2.5rem;letter-spacing:.02em}@media(max-width:768px){.landing-title{font-size:2.5rem;margin-bottom:2rem}}.landing-image{max-width:100%;width:350px;height:auto;margin:0 0 2.5rem;object-fit:cover;mask-image:radial-gradient(ellipse 70% 70% at center,black 50%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 70% at center,black 50%,transparent 100%)}@media(max-width:768px){.landing-image{width:280px;margin-bottom:2rem}}.landing-info{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:400;color:var(--color-accent);margin:0 0 2rem;line-height:1.6}@media(max-width:768px){.landing-info{font-size:1rem;margin-bottom:1.5rem}}.landing-code-form{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%;max-width:300px}.landing-code-input{max-width:300px;text-align:center;text-transform:uppercase}.landing-code-input::placeholder{text-transform:none}.landing-error{max-width:300px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.4rem;text-align:left}.landing-deadline{font-family:Cormorant Garamond,Georgia,serif;font-size:.95rem;font-weight:400;color:var(--color-secondary);margin:0;font-style:italic}.landing-guest-content{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;text-align:left;width:100%}.landing-login-content{display:flex;flex-direction:column;gap:1.5rem;align-items:center;width:100%}.landing-guest-content .landing-info{margin:0}.landing-guest-content .landing-section-title{margin:.5rem 0 0}.landing-program{display:flex;flex-direction:column;gap:.5rem;width:100%}.landing-program-item{display:flex;gap:1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;color:var(--color-accent);line-height:1.6}.landing-program-time{flex-shrink:0;font-weight:500;color:var(--color-primary);min-width:3rem}.landing-buttons{display:flex;flex-direction:column;gap:.75rem;align-items:center}.landing-button{font-family:Cormorant Garamond,Georgia,serif;padding:.875rem 2.5rem;border:1.5px solid var(--color-primary);border-radius:0;font-size:1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;background:transparent;color:var(--color-primary);min-width:200px}.landing-button:disabled{border-color:var(--color-border);cursor:not-allowed;color:var(--color-muted)}.landing-button.secondary{border-color:var(--color-border);color:var(--color-secondary);font-size:.9rem;padding:.75rem 2rem}@media(hover:hover)and (pointer:fine){.landing-button:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg-off-white)}.landing-button.secondary:hover{background:var(--color-bg-warm);border-color:var(--color-secondary);color:var(--color-primary)}}.landing-code-form .landing-button{max-width:300px;width:100%}.landing-section-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.6rem;font-weight:400;font-style:italic;color:var(--color-primary);margin:2rem 0 1rem;letter-spacing:.02em}.divider{display:flex;align-items:center;justify-content:center;margin:2rem 0;color:var(--color-muted);gap:.75rem}.divider:before,.divider:after{content:"";height:1px;width:150px;background:linear-gradient(90deg,transparent,var(--color-border) 20%,var(--color-muted) 50%,var(--color-border) 80%,transparent)}.divider:before{background:linear-gradient(90deg,transparent,var(--color-border) 20%,var(--color-muted))}.divider:after{background:linear-gradient(90deg,var(--color-muted),var(--color-border) 80%,transparent)}.divider-ornament{font-size:1.25rem;color:var(--color-muted);display:flex;align-items:center;gap:.5rem}.divider-ornament:before,.divider-ornament:after{content:"·";font-size:.8rem;opacity:.8}.divider-center{font-size:1.1rem}@media(max-width:768px){.divider{margin:1.5rem 0}.divider:before,.divider:after{width:100px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}@media(max-width:768px){.login-container{padding:3rem 1rem 1rem;align-items:flex-start}}.login-content{max-width:400px;width:100%;text-align:center}.login-content p{font-family:Cormorant Garamond,Georgia,serif;margin:0 0 1.5rem;color:var(--color-primary);font-size:1.1rem;line-height:1.6;font-weight:400}.login-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.phone-input{text-align:center}.code-input{letter-spacing:.3em;font-size:1.5rem;text-align:center}.submit-button{font-family:Cormorant Garamond,Georgia,serif;width:100%;padding:.875rem 2.5rem;border:1.5px solid var(--color-primary);border-radius:0;font-size:1rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;background:transparent;color:var(--color-primary)}.submit-button:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg-off-white)}.submit-button:disabled{border-color:var(--color-border);cursor:not-allowed;color:var(--color-muted)}.back-button{font-family:Cormorant Garamond,Georgia,serif;width:100%;padding:.75rem 2rem;border:1.5px solid var(--color-border);border-radius:0;font-size:.9rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;background:transparent;color:var(--color-secondary)}.back-button:hover:not(:disabled){background:var(--color-bg-warm);border-color:var(--color-secondary);color:var(--color-primary)}.back-button:disabled{cursor:not-allowed;opacity:.6}.help-text{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:.95rem;color:var(--color-secondary)}.help-text a{color:var(--color-primary)}.help-text a:hover{color:var(--color-primary-dark)}.btn{font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;cursor:pointer;transition:all .2s;background:transparent;border-radius:0;-webkit-appearance:none;appearance:none;box-sizing:border-box}.btn:disabled{cursor:not-allowed}.btn-primary{display:block;width:100%;padding:.875rem 2.5rem;border:1.5px solid var(--color-primary);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);transition:all .3s ease;margin-top:1rem}.btn-primary:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg-off-white)}.btn-primary:disabled{border-color:var(--color-border);color:var(--color-muted)}.btn-secondary{display:block;width:100%;padding:.75rem 1rem;border:1.5px solid var(--color-border);font-weight:500;color:var(--color-secondary)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.btn-secondary:disabled{opacity:.5}.btn-danger{padding:.25rem .75rem;border:1px solid var(--color-error-border);font-size:.875rem;color:var(--color-error-text)}.btn-danger:hover:not(:disabled){background:var(--color-error-text);color:#fff;border-color:var(--color-error-text)}.btn-danger:disabled{opacity:.5}.btn-ghost{display:block;width:100%;border:none;padding:0;color:var(--color-secondary);text-align:center}.btn-ghost:hover:not(:disabled){color:var(--color-primary);text-decoration:underline}.guest-portal-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}@media(max-width:768px){.guest-portal-container{padding:2rem 1rem 3rem;align-items:flex-start}}.guest-portal-content{max-width:500px;width:100%;text-align:center}@media(max-width:768px){.guest-portal-content{padding:0}}.portal-heading{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-primary);font-size:2rem;font-weight:400;letter-spacing:.05em;margin-bottom:2rem;text-align:center}.error-text{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-error-text)}.guest-form{display:flex;flex-direction:column;gap:1.5rem;text-align:left}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-primary);font-weight:500;font-size:.95rem}.form-field input,.form-field textarea{font-family:Cormorant Garamond,Georgia,serif;padding:.875rem;border:1.5px solid var(--color-border);border-radius:0;font-size:1rem;transition:all .2s;background:transparent;color:var(--color-primary)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--color-primary)}.form-field input:disabled,.form-field textarea:disabled{background-color:var(--color-bg-warm);cursor:not-allowed;opacity:.6}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--color-muted)}.guest-item{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border:1px solid var(--color-border);background:transparent}.guest-item-header{display:flex;justify-content:space-between;align-items:center}.guest-item-title{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;color:var(--color-primary)}.add-guest-hint{font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem;color:var(--color-secondary);text-align:center;margin:0}.deadline-text{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:.95rem;color:var(--color-secondary);margin-top:2rem;text-align:center}.btn-ghost{margin-top:1.5rem;font-size:.95rem}.guest-portal-content>.app-link:last-child{margin-top:1.5rem;margin-bottom:2rem}.portal-confirmation-text{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;color:var(--color-accent);line-height:1.6;margin:1.5rem 0 2rem;text-align:center}.gift-list-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2rem}@media(max-width:768px){.gift-list-container{padding:1rem 1.25rem}}.gift-list-content{max-width:600px;width:100%;text-align:center}.gift-list-content>.app-link:first-child{display:inline-block;margin-bottom:1.5rem}.gift-list-content>.app-link:last-child{display:inline-block;margin-top:2.5rem;margin-bottom:2.5rem}.gift-list-title{font-family:Cormorant Garamond,Georgia,serif;font-size:2.5rem;font-weight:300;font-style:italic;color:var(--color-primary);margin:0 0 1.5rem;letter-spacing:.02em}@media(max-width:768px){.gift-list-title{font-size:2rem;margin-bottom:1rem}}.gift-list-intro{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-accent);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}@media(max-width:768px){.gift-list-intro{font-size:1rem;margin-bottom:1.5rem}}.gift-section{margin-bottom:2rem;text-align:left}.gift-section-title{font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:500;color:var(--color-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.gift-grid{display:flex;flex-direction:column;gap:1rem}@media(max-width:768px){.gift-grid{gap:.625rem}}.gift-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;border:1px solid var(--color-border);background:transparent;transition:all .2s}@media(max-width:768px){.gift-card{padding:.875rem;gap:.75rem;align-items:center}}.gift-card.available:hover{border-color:var(--color-primary)}.gift-card.booked-by-me{background-color:#f8f5ec;border-color:var(--color-success-border)}.gift-card.booked{opacity:.6;background-color:#f5f3ee}.gift-info{flex:1;min-width:0}.gift-name{font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:500;color:var(--color-primary);margin:0 0 .25rem}@media(max-width:768px){.gift-name{font-size:1rem;margin:0 0 .125rem}}.gift-description{font-family:Cormorant Garamond,Georgia,serif;font-size:.95rem;color:var(--color-secondary);margin:0 0 .5rem;line-height:1.4}@media(max-width:768px){.gift-description{font-size:.85rem;margin:0 0 .25rem;line-height:1.3}}.gift-link{font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem;color:var(--color-primary);text-decoration:underline}@media(max-width:768px){.gift-link{font-size:.8rem}}.gift-link:hover{color:var(--color-secondary)}.gift-action-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 1rem;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;white-space:nowrap;flex-shrink:0}@media(max-width:768px){.gift-action-btn{padding:.4rem .75rem;font-size:.8rem}}.gift-action-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg-off-white)}.gift-action-btn:disabled{border-color:var(--color-border);cursor:not-allowed;color:var(--color-muted)}.gift-action-btn.unbook{border-color:var(--color-error-border);color:var(--color-error-text)}.gift-action-btn.unbook:hover:not(:disabled){background:var(--color-error-text);border-color:var(--color-error-text);color:#fff}.booked-label{font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem;font-style:italic;color:var(--color-muted);flex-shrink:0}@media(max-width:768px){.booked-label{font-size:.8rem}}.no-gifts{font-family:Cormorant Garamond,Georgia,serif;color:var(--color-secondary);font-style:italic;margin:2rem 0}.back-link{font-family:Cormorant Garamond,Georgia,serif;margin-top:2rem;background:none;border:none;color:var(--color-secondary);font-size:.95rem;cursor:pointer;padding:0;text-align:center;width:100%}.app:has(.admin-container){padding:0}.admin-container{max-width:1400px;width:100%;margin:0 auto;padding:0 2rem 2rem;font-family:Cormorant Garamond,Georgia,serif;color:var(--color-primary)}@media(max-width:768px){.admin-container{padding:0}}.tabs{display:flex;gap:0;margin:0;padding:1rem .5rem 0;border-bottom:1.5px solid var(--color-border);position:relative}@media(max-width:768px){.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:0}}.tab{font-family:Cormorant Garamond,Georgia,serif;padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1.5px;cursor:pointer;font-size:1rem;font-weight:500;letter-spacing:.05em;color:var(--color-muted);transition:all .2s;white-space:nowrap;flex-shrink:0;position:relative}@media(max-width:768px){.tab{padding:.625rem 1rem;font-size:.9rem}.tab[data-tab=admins],.tab[data-tab=magic-links]{display:none}}.tab:hover{color:var(--color-secondary)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.no-access{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--color-secondary);font-size:1.125rem}.loading-container,.error-container{padding:2rem;text-align:center}@media(max-width:768px){.loading-container,.error-container{padding:1rem}}.error-text{color:var(--color-error-text)}.table-wrapper{overflow-x:auto;background:var(--color-bg-page);border:1.5px solid var(--color-border);-webkit-overflow-scrolling:touch;margin:1rem 0}@media(max-width:768px){.table-wrapper{border:none;background:transparent;margin:.5rem 0}}.admin-table{width:100%;border-collapse:collapse;font-family:Cormorant Garamond,Georgia,serif}@media(max-width:768px){.admin-table{border:0}.admin-table thead{display:none}.admin-table tbody{display:block}}.admin-table thead{background:var(--color-bg-warm)}.admin-table th{padding:.875rem 1rem;text-align:left;font-weight:500;font-size:.8rem;color:var(--color-secondary);border-bottom:1.5px solid var(--color-border);letter-spacing:.08em;text-transform:uppercase}.admin-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);color:var(--color-primary);font-size:.95rem}@media(max-width:768px){.admin-table td{padding:.5rem .75rem;font-size:.875rem}}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--color-bg-warm)}.registration-row{background:var(--color-bg-warm);font-weight:500}.registration-row:hover{background:#ede5d5!important}@media(max-width:768px){.admin-table tbody .registration-row{display:block;margin-bottom:.5rem;border:1.5px solid var(--color-border);background:var(--color-bg-page);padding:.75rem;cursor:pointer}.registration-row td{display:none}.registration-row td[data-label=Email],.registration-row td[data-label=Guests]{display:block;border:none;padding:.25rem 0}.registration-row td[data-label=Email]{font-weight:500;color:var(--color-primary)}.registration-row td[data-label=Guests]{color:var(--color-secondary);font-size:.875rem}.registration-row td:before{display:none}}.guest-row td{padding-left:2rem;background:var(--color-bg-page)}.guest-row:hover{background:#f8f5ec!important}@media(max-width:768px){.admin-table tbody .guest-row{display:none}}.guest-count{font-style:italic;color:var(--color-secondary)}.no-guests-row{text-align:center;font-style:italic;color:var(--color-secondary);padding-left:1rem!important}.monospace{font-family:Courier New,monospace;font-size:.8rem;word-break:break-all}@media(max-width:768px){.monospace{font-size:.7rem}}@media(max-width:768px){.admin-table tbody tr:not(.registration-row):not(.guest-row){display:block;margin-bottom:.5rem;border:1.5px solid var(--color-border);background:var(--color-bg-page);padding:.75rem;cursor:pointer}.admin-table tbody tr:not(.registration-row):not(.guest-row) td{display:block;border:none;padding:.35rem 0}.admin-table tbody tr:not(.registration-row):not(.guest-row) td:before{content:attr(data-label);font-weight:500;color:var(--color-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:.15rem}}.delete-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.3rem .75rem;border:1px solid var(--color-error-border);background:transparent;color:var(--color-error-text);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}@media(max-width:768px){.delete-btn{padding:.35rem .75rem;font-size:.8rem;margin-top:.25rem}}.delete-btn:hover:not(:disabled){background:var(--color-error-text);color:var(--color-bg-off-white);border-color:var(--color-error-text)}.generate-btn,.create-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 1rem;border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.05em;transition:all .2s;white-space:nowrap}.generate-btn:hover,.create-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg-off-white)}.create-btn:disabled{border-color:var(--color-border);color:var(--color-muted);cursor:not-allowed}.add-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 1.25rem;border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.05em;transition:all .2s}.add-btn:hover{background:var(--color-primary);color:var(--color-bg-off-white)}.save-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 1rem;border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.05em;transition:all .2s}.save-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-bg-off-white)}.save-btn:disabled{border-color:var(--color-border);color:var(--color-muted);cursor:not-allowed}.edit-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 1rem;border:1.5px solid var(--color-secondary);background:transparent;color:var(--color-secondary);cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.05em;transition:all .2s}.edit-btn:hover{background:var(--color-secondary);color:var(--color-bg-off-white)}.cancel-btn{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 1rem;border:1.5px solid var(--color-border);background:transparent;color:var(--color-secondary);cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.05em;transition:all .2s}.cancel-btn:hover{background:var(--color-bg-warm);border-color:var(--color-secondary);color:var(--color-primary)}.back-link{font-family:Cormorant Garamond,Georgia,serif;display:block;margin:2rem auto;background:none;border:none;color:var(--color-secondary);font-size:.95rem;cursor:pointer;padding:0}.back-link:hover{color:var(--color-primary);text-decoration:underline}.inline-form{display:flex;gap:.5rem;padding:1rem;border-bottom:1px solid var(--color-border-light);flex-wrap:wrap}.inline-form input{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem .75rem;border:1.5px solid var(--color-border);background:transparent;font-size:.95rem;color:var(--color-primary);flex:1;min-width:120px;transition:border-color .2s}.inline-form input:focus{outline:none;border-color:var(--color-primary)}.inline-form input::placeholder{color:var(--color-muted)}.search-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light)}.search-bar input{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem .75rem;border:1.5px solid var(--color-border);background:transparent;font-size:.95rem;color:var(--color-primary);flex:1;min-width:120px;transition:border-color .2s}.search-bar input:focus{outline:none;border-color:var(--color-primary)}.search-bar input::placeholder{color:var(--color-muted)}.count-label{font-family:Cormorant Garamond,Georgia,serif;font-size:.875rem;color:var(--color-secondary);white-space:nowrap;flex-shrink:0}.table-actions{display:flex;justify-content:flex-end;padding:.5rem 0;margin-bottom:0}.deleted-row{opacity:.5}.deleted-row td{text-decoration:line-through}.deleted-badge{font-family:Cormorant Garamond,Georgia,serif;display:inline-block;border:1px solid var(--color-error-border);color:var(--color-error-text);background:var(--color-error-bg);font-size:.7rem;font-weight:600;padding:.1rem .4rem;margin-left:.5rem;text-decoration:none;vertical-align:middle;letter-spacing:.05em;text-transform:uppercase}.modal-deleted-badge{margin-left:0;margin-bottom:1rem}.modal-overlay{position:fixed;inset:0;background:#5c4a1f59;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--color-bg-page);border:1.5px solid var(--color-border);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;position:relative}@media(max-width:768px){.modal-overlay{padding:0}.modal-content{max-width:100%;max-height:100vh;height:100%;border:none}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.75rem;line-height:1;cursor:pointer;color:var(--color-muted);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--color-primary)}.modal-body{padding:2rem}@media(max-width:768px){.modal-body{padding:3rem 1.5rem 1.5rem}}.modal-body h2{font-family:Cormorant Garamond,Georgia,serif;margin:0 0 1.5rem;color:var(--color-primary);font-size:1.5rem;font-weight:500}.modal-body h3{font-family:Cormorant Garamond,Georgia,serif;margin:0 0 1rem;color:var(--color-primary);font-size:1.125rem;font-weight:500}.modal-field{margin-bottom:1.25rem}.modal-field label{font-family:Cormorant Garamond,Georgia,serif;display:block;font-weight:500;color:var(--color-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.modal-field>div{color:var(--color-primary);font-size:1rem}.modal-divider{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.modal-input{font-family:Cormorant Garamond,Georgia,serif;width:100%;padding:.625rem .75rem;border:1.5px solid var(--color-border);background:transparent;font-size:1rem;color:var(--color-primary);box-sizing:border-box;transition:border-color .2s}.modal-input:focus{outline:none;border-color:var(--color-primary)}.modal-input::placeholder{color:var(--color-muted)}.modal-textarea{min-height:80px;resize:vertical}.modal-edit-row{display:flex;gap:.5rem;align-items:center}.modal-edit-input{font-family:Cormorant Garamond,Georgia,serif;flex:1;padding:.5rem .75rem;border:1.5px solid var(--color-border);background:transparent;font-size:.95rem;color:var(--color-primary);transition:border-color .2s}.modal-edit-input:focus{outline:none;border-color:var(--color-primary)}.modal-edit-input::placeholder{color:var(--color-muted)}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-delete{width:100%;margin-top:1rem;padding:.75rem}.guest-list{list-style:none;padding:0;margin:0}.guest-list li{font-family:Cormorant Garamond,Georgia,serif;padding:.5rem 0;border-bottom:1px solid var(--color-border-light);color:var(--color-primary)}.guest-list li:last-child{border-bottom:none}.diet-info{color:var(--color-secondary);font-style:italic}.no-guests-info{color:var(--color-secondary);font-style:italic;padding:.5rem 0}.booking-section{margin-bottom:1rem}.booking-status{color:var(--color-secondary);font-style:italic;margin:0 0 .75rem}.booking-form{display:flex;gap:.5rem;align-items:center}.booking-form .modal-input{flex:1}.booking-form .save-btn{flex-shrink:0}.app{min-height:100vh;display:flex;flex-direction:column}.app:has(.landing-container),.app:has(.login-container),.app:has(.guest-portal-container){background:var(--color-bg-page)}
