@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Playfair+Display:wght@400;700&display=swap);@import url(https://fonts.cdnfonts.com/css/snell-roundhand);body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.purchase-popup-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#2d3931cc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.purchase-popup-overlay.fade-out{animation:fadeOut .3s ease-in forwards}.purchase-popup{animation:slideIn .4s ease-out;background:#2d3931;border:2px solid #8b8e8b;border-radius:12px;box-shadow:0 20px 40px #0006;max-height:90vh;max-width:500px;overflow:hidden;position:relative;width:90%}.purchase-popup.slide-out{animation:slideOut .3s ease-in forwards}.purchase-popup:before{border:1px solid #bfc2be;border-radius:8px;bottom:8px;content:"";left:8px;pointer-events:none;position:absolute;right:8px;top:8px}.purchase-popup-header{border-bottom:1px solid #8b8e8b4d;padding:28px 28px 0;position:relative}.purchase-popup-title{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif;font-size:1.5rem;font-weight:400;letter-spacing:.5px;line-height:1.4;margin:0;text-align:center}.purchase-popup-body{padding:24px 28px}.purchase-popup-message{color:#bfc2be;font-family:Inter,sans-serif;font-size:1rem;line-height:1.7;margin:0 0 20px;text-align:center}.purchase-popup-message strong{color:#d3d6d3;font-weight:600}.form-group{margin-bottom:20px}.form-group label{font-family:Inter,sans-serif;font-size:.95rem;margin-bottom:8px}.form-group .required{color:#c17a7a}.form-group input,.form-group textarea{background:#ffffff0d;border:2px solid #8b8e8b;border-radius:8px;box-sizing:border-box;color:#d3d6d3;font-family:Inter,sans-serif;font-size:1rem;padding:12px 16px;transition:border-color .3s,background-color .3s;width:100%}.form-group input:focus,.form-group textarea:focus{background:#ffffff14;border-color:#bfc2be;outline:none}.form-group input.error{border-color:#c17a7a}.form-group input::placeholder,.form-group textarea::placeholder{color:#8b8e8b;opacity:.7}.form-group textarea{min-height:80px}.error-message{color:#c17a7a;font-size:.85rem}.char-count,.error-message{display:block;font-family:Inter,sans-serif;margin-top:6px}.char-count{color:#8b8e8b;font-size:.8rem;text-align:right}.purchase-popup-footer{display:flex;gap:16px;justify-content:center;padding:0 28px 28px}.purchase-popup-btn{align-items:center;border:none;border-radius:25px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;justify-content:center;letter-spacing:.5px;min-width:120px;overflow:hidden;padding:12px 24px;position:relative;text-transform:uppercase;transition:all .3s ease}.purchase-popup-btn:focus{outline:2px solid #bfc2be;outline-offset:2px}.purchase-popup-btn-cancel{background:#0000;border:2px solid #8b8e8b;color:#8b8e8b}.purchase-popup-btn-cancel:hover{background:#8b8e8b;box-shadow:0 4px 12px #8b8e8b4d;color:#2d3931;transform:translateY(-2px)}.purchase-popup-btn-cancel:active{transform:translateY(0)}.purchase-popup-btn-confirm{background:linear-gradient(135deg,#bfc2be,#d3d6d3);border:2px solid #0000;color:#2d3931;font-weight:600}.purchase-popup-btn-confirm:hover{background:linear-gradient(135deg,#d3d6d3,#e6e9e6);box-shadow:0 4px 12px #bfc2be4d;transform:translateY(-2px)}.purchase-popup-btn-confirm:active{transform:translateY(0)}@media (max-width:480px){.purchase-popup{margin:20px;width:95%}.purchase-popup-body,.purchase-popup-footer,.purchase-popup-header{padding-left:24px;padding-right:24px}.purchase-popup-title{font-size:1.3rem}.purchase-popup-footer{flex-direction:column-reverse;gap:12px}.purchase-popup-btn{justify-content:center;padding:14px 24px;width:100%}}@media (prefers-contrast:high){.purchase-popup{border:3px solid #d3d6d3}.purchase-popup-btn{border:2px solid}}@media (prefers-reduced-motion:reduce){.purchase-popup,.purchase-popup-overlay{animation:none}.purchase-popup-btn{transition:none}}.confirmation-dialog-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#2d3931cc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-dialog-overlay.fade-out{animation:fadeOut .3s ease-in forwards}.confirmation-dialog{animation:slideIn .4s ease-out;background:#2d3931;border:2px solid #8b8e8b;border-radius:12px;box-shadow:0 20px 40px #0006;max-height:90vh;max-width:450px;overflow:hidden;position:relative;width:90%}.confirmation-dialog.slide-out{animation:slideOut .3s ease-in forwards}.confirmation-dialog:before{border:1px solid #bfc2be;border-radius:8px;bottom:8px;content:"";left:8px;pointer-events:none;position:absolute;right:8px;top:8px}.confirmation-dialog-header{border-bottom:1px solid #8b8e8b4d;padding:28px 28px 0;position:relative}.confirmation-dialog-title{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif;font-size:1.5rem;font-weight:400;letter-spacing:.5px;line-height:1.4;margin:0;text-align:center}.confirmation-dialog-body{padding:24px 28px}.confirmation-dialog-message{color:#bfc2be;font-family:Inter,sans-serif;font-size:1rem;line-height:1.7;margin:0;text-align:center}.confirmation-dialog-footer{display:flex;gap:16px;justify-content:center;padding:0 28px 28px}.confirmation-dialog-btn{align-items:center;border:none;border-radius:25px;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;justify-content:center;letter-spacing:.5px;min-width:100px;overflow:hidden;padding:12px 24px;position:relative;text-transform:uppercase;transition:all .3s ease}.confirmation-dialog-btn:focus{outline:2px solid #bfc2be;outline-offset:2px}.confirmation-dialog-btn-cancel{background:#0000;border:2px solid #8b8e8b;color:#8b8e8b}.confirmation-dialog-btn-cancel:hover{background:#8b8e8b;box-shadow:0 4px 12px #8b8e8b4d;color:#2d3931;transform:translateY(-2px)}.confirmation-dialog-btn-cancel:active{transform:translateY(0)}.confirmation-dialog-btn-confirm{border:2px solid #0000;color:#2d3931;font-weight:600}.confirmation-dialog-btn-confirm.info{background:linear-gradient(135deg,#8b8e8b,#bfc2be)}.confirmation-dialog-btn-confirm.info:hover{background:linear-gradient(135deg,#bfc2be,#d3d6d3);box-shadow:0 4px 12px #8b8e8b4d;transform:translateY(-2px)}.confirmation-dialog-btn-confirm.warning{background:linear-gradient(135deg,#d4a574,#e6c088);color:#2d3931}.confirmation-dialog-btn-confirm.warning:hover{background:linear-gradient(135deg,#e6c088,#f0d4a0);box-shadow:0 4px 12px #d4a5744d;transform:translateY(-2px)}.confirmation-dialog-btn-confirm.danger{background:linear-gradient(135deg,#c17a7a,#d4a5a5);color:#2d3931}.confirmation-dialog-btn-confirm.danger:hover{background:linear-gradient(135deg,#d4a5a5,#e6c0c0);box-shadow:0 4px 12px #c17a7a4d;transform:translateY(-2px)}.confirmation-dialog-btn-confirm:active{transform:translateY(0)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.9)}}@media (max-width:480px){.confirmation-dialog{margin:20px;width:95%}.confirmation-dialog-body,.confirmation-dialog-footer,.confirmation-dialog-header{padding-left:24px;padding-right:24px}.confirmation-dialog-title{font-size:1.3rem}.confirmation-dialog-footer{flex-direction:column-reverse;gap:12px}.confirmation-dialog-btn{justify-content:center;padding:14px 24px;width:100%}}@media (prefers-contrast:high){.confirmation-dialog{border:3px solid #d3d6d3}.confirmation-dialog-btn{border:2px solid}}@media (prefers-reduced-motion:reduce){.confirmation-dialog,.confirmation-dialog-overlay{animation:none}.confirmation-dialog-btn{transition:none}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.container{flex:1 1;margin:0 auto;max-width:1200px;padding:20px;width:100%}body{background-color:#2d3931!important;color:#d3d6d3!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.date-bar,.framed-section,.nav-link,.wedding-serif,h1,h2,h3{color:#d3d6d3!important;font-family:Cormorant Garamond,Playfair Display,serif!important;font-weight:400}.container{background:#0000!important;box-shadow:none!important}.arial-font{font-family:Arial,Helvetica,sans-serif!important}.navigation{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem 0}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.nav-brand a{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none}.nav-menu{align-items:center;display:flex;gap:2rem}.nav-link{border-radius:4px;color:#fff;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.nav-link:hover{background-color:#ffffff1a}.nav-user{align-items:center;display:flex;gap:1rem}.sign-out-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .3s}.sign-out-btn:hover{background:#ffffff4d}.wedding-nav{background:#2d3931;display:flex;gap:4rem;justify-content:center;margin-bottom:1.5rem;padding:1rem 0;position:sticky;text-align:center;top:0;z-index:1000}.wedding-nav-link{color:#bfc2be;cursor:pointer;font-family:Snell Roundhand,Cormorant Garamond,serif;font-size:2rem;font-style:italic;font-weight:400;letter-spacing:1px;padding:.5rem 1rem;text-decoration:none;transition:color .2s;white-space:nowrap}.wedding-nav-link:hover{color:#fff}.wedding-nav-link.active{color:#fff;font-weight:600;text-shadow:0 0 10px #ffffff4d}.wedding-nav .wedding-nav-link{font-size:1.8rem;gap:3rem}@media (max-width:768px){.nav-menu{flex-direction:column;gap:1rem}.wedding-nav-link{font-size:1.5rem}.wedding-nav{gap:2rem}.wedding-nav .wedding-nav-link{font-size:1.3rem}}@media (max-width:480px){.wedding-nav{gap:1rem}.wedding-nav-link{font-size:1.2rem;padding:.25rem .5rem}.wedding-nav .wedding-nav-link{font-size:1.1rem}}.form-group label{font-family:Cormorant Garamond,Playfair Display,serif;font-size:1.1rem;letter-spacing:.5px;margin-bottom:.75rem}.form-group label .required{color:#ff6b6b;font-weight:700}.form-group input,.form-group textarea,.form-input{background:#ffffff0d;border:2px solid #8b8e8b;border-radius:8px;color:#d3d6d3;font-family:Inter,sans-serif;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder,.form-input::placeholder{color:#8b8e8b;font-style:italic}.form-group input:focus,.form-group textarea:focus,.form-input:focus{background:#ffffff14;border-color:#bfc2be;box-shadow:0 0 0 3px #bfc2be33;outline:none;transform:translateY(-1px)}.form-group textarea{min-height:100px;resize:vertical}.toggle-auth{background:none;border:none;color:#667eea;cursor:pointer;margin-top:1rem;text-decoration:underline}.toggle-auth:hover{transform:none}.error{background:#f8d7da;background:#3a2323;border:1px solid #f5c6cb;border-radius:4px;border-radius:6px;color:#dc3545;color:#ffb3b3;margin-bottom:1rem;margin:1rem 0;padding:.75rem;padding:1rem}.form-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #8b8e8b4d;display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem}.cancel-btn,.submit-btn{border:none;border-radius:25px;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.5px;min-height:50px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.submit-btn{background:linear-gradient(135deg,#8b8e8b,#bfc2be);color:#2d3931}.submit-btn:hover{background:linear-gradient(135deg,#bfc2be,#d3d6d3);box-shadow:0 4px 12px #8b8e8b4d;transform:translateY(-2px)}.cancel-btn{background:#0000;border:2px solid #8b8e8b;color:#8b8e8b}.cancel-btn:hover{background:#8b8e8b;box-shadow:0 4px 12px #8b8e8b4d;color:#2d3931;transform:translateY(-2px)}.add-item-form{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:2.5rem}.add-item-form:before{border-radius:8px}.add-item-form h3{font-size:1.8rem;font-weight:400;letter-spacing:1px}.add-item-form h3,.form-help{margin-bottom:2rem;text-align:center}.form-help{background:#8b8e8b1a;border:1px solid #8b8e8b33;border-radius:8px;padding:1rem}.form-help p{color:#bfc2be;font-size:.9rem;line-height:1.4;margin:0}.form-help p,.url-help{font-family:Inter,sans-serif}.url-help{font-size:.85rem;margin-top:.5rem}.scraping-indicator{animation:pulse 1.5s ease-in-out infinite;color:#8b8e8b;font-style:italic}.scraping-error{color:#e74c3c;font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.checkbox-group{margin-bottom:1rem}.checkbox-label{font-family:Inter,sans-serif;min-height:1.5rem;padding-left:2.5rem;transition:all .3s ease}.checkbox-label:hover{color:#bfc2be}.checkmark{background:#ffffff0d;border:2px solid #8b8e8b;border-radius:4px;height:1.25rem;top:50%;transform:translateY(-50%);width:1.25rem}.checkbox-label:hover .checkmark{background:#ffffff14;border-color:#bfc2be}.checkbox-label input:checked~.checkmark{border-color:#bfc2be}.checkmark:after{border:solid #2d3931;left:4px}@media (max-width:768px){.form-row{gap:1rem;grid-template-columns:1fr}.form-actions{flex-direction:column}.add-item-form{padding:1.5rem}.form-group input,.form-group textarea,.form-input{padding:.875rem}.checkbox-label{font-size:.9rem;padding-left:2rem}.checkmark{height:1.1rem;width:1.1rem}.checkmark:after{height:6px;left:3px;top:.5px;width:3px}}.login-container{align-items:center;display:flex;justify-content:center;min-height:80vh}.login-card{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;padding:2rem;width:100%}.login-card h2{color:#333;margin-bottom:2rem;text-align:center}.guest-header{align-items:flex-start;border-bottom:2px solid #8b8e8b;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.guest-info h1{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif;margin-bottom:.5rem}.invitation-details{margin-top:1rem}.welcome-message{color:#bfc2be;font-size:1.1rem;margin-bottom:1rem}.event-details{display:flex;flex-wrap:wrap;gap:.5rem}.event-badge{border-radius:20px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.event-badge.ceremony,.event-badge.plus-one,.event-badge.reception{background:#2d3931;border:1px solid #8b8e8b;color:#d3d6d3}.logout-btn{background:#8b8e8b;border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .3s}.logout-btn:hover{background:#bfc2be}.guest-registry h1{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif;margin-bottom:2rem;text-align:center}.registry-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.registry-item{background:#2d3931;border:2px solid #8b8e8b;border-radius:8px;overflow:hidden;position:relative;transition:transform .2s,border-color .2s}.registry-item:before{border:1px solid #bfc2be;border-radius:4px;bottom:8px;content:"";left:8px;pointer-events:none;position:absolute;right:8px;top:8px}.registry-item:hover{border-color:#bfc2be;transform:translateY(-2px)}.registry-item.purchased{opacity:.6}.registry-item.external-link{border-color:#bfc2be}.registry-item.external-link:before{border-color:#8b8e8b}.external-link-badge{background:#8b8e8b;border-radius:12px;color:#2d3931;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;padding:.25rem .5rem;text-transform:uppercase}.item-image-container{border-radius:4px;padding:1.5rem}.item-image{border-radius:4px;height:200px;object-fit:cover;width:100%}.item-details{background:#2d3931;padding:1.5rem}.item-details h3{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif;font-size:1.3rem;margin-bottom:.5rem}.item-details p{color:#bfc2be;line-height:1.5;margin-bottom:1rem}.price{color:#d3d6d3!important;font-family:Cormorant Garamond,Playfair Display,serif;font-size:1.25rem;font-weight:700}.category{color:#8b8e8b;font-size:.9rem;font-style:italic}.item-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.registry-link{background:#8b8e8b;border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.purchase-btn,.registry-link:hover{background:#bfc2be}.purchase-btn{border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:background-color .3s}.purchase-btn:hover{background:#d3d6d3}.purchased-badge{background:#8b8e8b;border-radius:4px;color:#2d3931;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.purchased-badge .invite-code{font-size:.8rem;font-style:italic;opacity:.8}.purchase-info{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.purchase-note{background:#8b8e8b1a;border-left:3px solid #8b8e8b;border-radius:4px;color:#bfc2be;font-size:.85rem;font-style:italic;line-height:1.4;margin:0;padding:.5rem}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.admin-actions{display:flex;gap:1rem}.tab-btn{background:#8b8e8b;border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s}.tab-btn.active{color:#2d3931}.tab-btn.active,.tab-btn:hover{background:#bfc2be}.tab-btn.active:hover{background:#d3d6d3}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.section-header h2{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif;margin:0}.add-item-btn{background:#8b8e8b;border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-weight:500;padding:.5rem 1rem}.add-item-form{background:#2d3931;border:2px solid #8b8e8b;border-radius:8px;margin-bottom:2rem;padding:2rem;position:relative}.add-item-form:before{border:1px solid #bfc2be;border-radius:4px;bottom:8px;content:"";left:8px;pointer-events:none;position:absolute;right:8px;top:8px}.add-item-form h3{margin-bottom:1.5rem}.add-item-form h3,.admin-items h3{color:#d3d6d3;font-family:Cormorant Garamond,Playfair Display,serif}.admin-items h3{margin-bottom:1rem}.items-table{background:#2d3931;border:2px solid #8b8e8b;border-radius:8px;overflow:hidden}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #8b8e8b;padding:1rem;text-align:left}td,th{color:#d3d6d3}th{background:#1a211b;font-family:Cormorant Garamond,Playfair Display,serif;font-weight:600}.status{border-radius:4px;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.status.available{background:#2d3931;border:1px solid #8b8e8b;color:#d3d6d3}.status.purchased{background:#8b8e8b;color:#2d3931}.type-badge{border-radius:4px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.type-badge.item{background:#2d3931;border:1px solid #8b8e8b;color:#d3d6d3}.type-badge.external_link{background:#8b8e8b;border:1px solid #bfc2be;color:#2d3931}.delete-btn{background:#8b8e8b;border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background-color .3s}.delete-btn:hover{background:#bfc2be}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.edit-btn{background:#bfc2be;border:none;border-radius:4px;color:#2d3931;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:background-color .3s}.edit-btn:hover{background:#8b8e8b}.printed-code-checkbox{accent-color:#bfc2be;background:#2d3931;border:1px solid #8b8e8b;border-radius:3px;cursor:pointer;height:18px;width:18px}.printed-code-checkbox:checked{background:#bfc2be;border-color:#bfc2be}.finalized-checkbox{accent-color:#bfc2be;background:#2d3931;border:1px solid #8b8e8b;border-radius:3px;cursor:pointer;height:18px;width:18px}.finalized-checkbox:checked{background:#bfc2be;border-color:#bfc2be}.sent-checkbox{accent-color:#bfc2be;background:#2d3931;border:1px solid #8b8e8b;border-radius:3px;cursor:pointer;height:18px;width:18px}.sent-checkbox:checked{background:#bfc2be;border-color:#bfc2be}.editing-row{background:#bfc2be0d;border:2px solid #bfc2be;border-radius:8px;margin:8px 0}.editing-row td{border:none;max-width:none;overflow:visible;padding:25px}.editing-row .add-item-form{background:#2d3931cc;border:1px solid #8b8e8b;border-radius:6px;margin:0;min-width:0;padding:20px;position:relative;width:100%}.editing-row .add-item-form:before{border:1px solid #bfc2be;border-radius:3px;bottom:4px;content:"";left:4px;pointer-events:none;position:absolute;right:4px;top:4px}.editing-row .add-item-form h3{color:#bfc2be;font-size:1.2rem;margin-bottom:20px;margin-top:0;text-align:center}.editing-row .form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.editing-row .form-group{flex:1 1;min-width:180px}.editing-row .form-group label{color:#d3d6d3;display:block;font-size:.95rem;font-weight:500;margin-bottom:.75rem}.editing-row .form-input{background:#2d3931;border:1px solid #8b8e8b;border-radius:4px;color:#d3d6d3;font-size:.95rem;padding:.75rem;transition:border-color .3s;width:100%}.editing-row .form-input:focus{border-color:#bfc2be;box-shadow:0 0 0 2px #bfc2be33;outline:none}.editing-row .checkbox-group{align-items:center;display:flex;gap:.75rem;margin-top:.5rem}.editing-row .checkbox-label{align-items:center;color:#d3d6d3;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.75rem}.editing-row .checkbox-label input[type=checkbox]{accent-color:#bfc2be;background:#2d3931;border:1px solid #8b8e8b;border-radius:3px;cursor:pointer;height:18px;width:18px}.editing-row .form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.editing-row .cancel-btn,.editing-row .submit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.5px;min-width:140px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s}.editing-row .submit-btn{background:#bfc2be;border:2px solid #bfc2be;color:#2d3931}.editing-row .submit-btn:hover{background:#d3d6d3;border-color:#d3d6d3;box-shadow:0 4px 8px #0003;transform:translateY(-1px)}.editing-row .cancel-btn{background:#0000;border:2px solid #8b8e8b;color:#bfc2be}.editing-row .cancel-btn:hover{background:#8b8e8b;border-color:#bfc2be;box-shadow:0 4px 8px #0003;color:#2d3931;transform:translateY(-1px)}.event-badges{display:flex;flex-wrap:wrap;gap:.25rem}.registry-page{width:100%}@media (max-width:768px){.registry-grid{grid-template-columns:1fr}.admin-header,.guest-header,.section-header{align-items:stretch;flex-direction:column;gap:1rem}.admin-actions{justify-content:center}.item-actions{flex-direction:column}table{font-size:.9rem}td,th{padding:.5rem}.event-details{justify-content:center}.editing-row .form-row{flex-direction:column}.editing-row .form-group{min-width:0}.editing-row .form-actions{flex-direction:column}.editing-row .cancel-btn,.editing-row .submit-btn{width:100%}}.collapse-btn{align-items:center;background:#1a211b;border:1px solid #8b8e8b;border-radius:4px;color:#d3d6d3;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:30px;justify-content:center;transition:all .3s ease;width:30px}.collapse-btn:hover{background:#2d3931;border-color:#bfc2be;color:#bfc2be}.admin-controls-expanded{display:flex;flex-direction:column;gap:.25rem;min-width:50px}.admin-controls-collapsed{align-items:center;display:flex;justify-content:center;min-width:40px}.checkbox-group,.checkbox-group label{align-items:center;display:flex;gap:.25rem}.checkbox-group label{color:#d3d6d3;cursor:pointer;font-size:.75rem}.checkbox-group span{font-size:.7rem;font-weight:500}.status-indicators{align-items:center;display:flex;flex-direction:column;gap:2px}.status-dot{background:#8b8e8b;border:1px solid #0000;border-radius:50%;cursor:pointer;height:8px;transition:all .3s ease;width:8px}.status-dot:hover{border-color:#bfc2be;transform:scale(1.2)}.status-dot.active{background:#bfc2be;box-shadow:0 0 4px #bfc2be80}.status-dot.active:hover{background:#d3d6d3}.rsvp-status{font-weight:500}.family-info,.rsvp-status{color:#d3d6d3;font-size:.85rem}.status.unavailable{background:#8b8e8b;color:#2d3931}.status.pending{background:#d4a853;color:#2d3931}.status.empty{color:#8b8e8b;font-size:.8rem;font-style:italic}.dietary-restrictions{max-width:200px}.dietary-text{color:#d3d6d3;display:block;font-size:.85rem;line-height:1.3}.event-badge.luncheon{background:#2d3931;border:1px solid #8b8e8b;color:#d3d6d3}@media (max-width:1200px){.dietary-restrictions{max-width:150px}.dietary-text{font-size:.8rem}td,th{font-size:.9rem;padding:.75rem .5rem}}@media (max-width:768px){.items-table{overflow-x:auto}table{min-width:1000px}.dietary-restrictions{max-width:120px}.action-buttons{flex-direction:column;gap:.25rem}.delete-btn,.edit-btn{font-size:.75rem;padding:.2rem .4rem}}.date-bar{background:#2d3931;color:#bfc2be;font-family:Snell Roundhand,Cormorant Garamond,serif!important;font-size:2rem;font-style:italic;letter-spacing:1px;margin-bottom:1rem;padding:2rem 0 1rem;text-align:center}.photo-section{align-items:center;aspect-ratio:1.6;background:#1a211b;border-radius:8px;display:flex;justify-content:center;margin-bottom:2rem;max-width:1000px;overflow:hidden}.photo-section,.photo-section img{margin-left:auto;margin-right:auto;width:100%}.photo-section img{display:block;height:100%;object-fit:cover;object-position:center}.framed-section{background:#2d3931;border:8px solid #8b8e8b;box-sizing:border-box;margin:2rem auto;max-width:900px;min-height:400px;padding:2rem;position:relative}.framed-section:before{border:4px solid #bfc2be;bottom:18px;content:"";left:18px;pointer-events:none;position:absolute;right:18px;top:18px}.framed-section .registry-grid{background:#0000;box-shadow:none;padding:0}@media (max-width:700px){.date-bar{font-size:1.2rem}.photo-section{aspect-ratio:1.2;height:auto;min-height:180px}.framed-section{padding:.5rem}.wedding-container{padding:0 .5rem}}.rsvp-page{margin:0 auto;max-width:800px}.wedding-announcement{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:3rem;text-align:center}.announcement-header{margin-bottom:2rem}.couple-names{color:#d3d6d3;font-family:Playfair Display,serif;font-size:3rem;font-weight:300;margin-bottom:.5rem}.wedding-date{color:#bfc2be;font-size:1.5rem;font-style:italic}.announcement-body{line-height:1.8}.invitation-text{color:#d3d6d3;font-size:1.2rem;margin-bottom:2rem}.event-details{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr 1fr;margin:2rem 0;text-align:left}.event-section{background:#ffffff0d;border-left:4px solid #8b8e8b;border-radius:8px;cursor:pointer;padding:1.5rem;position:relative;transition:all .3s ease;-webkit-user-select:none;user-select:none}.event-section:hover{background:#ffffff14;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.event-section.selected{background:#2c3a2d;border-left-color:#2c3a2d;box-shadow:0 4px 12px #2c3a2d4d}.event-section h3{color:#8b8e8b;font-size:1.3rem;margin-bottom:1rem}.event-section p{color:#d3d6d3;margin-bottom:.5rem}.selection-indicator{border-radius:4px;font-size:.9rem;font-weight:500;margin-top:1rem;padding:.5rem;text-align:center;transition:all .3s ease}.event-section:not(.selected) .selection-indicator{background:#ff6b6b1a;border:1px solid #ff6b6b4d;color:#ff6b6b}.event-section.selected .selection-indicator{background:#28a74533;border:1px solid #28a74566;color:#28a745}.family-section{background:#ffffff0d;border-left:4px solid #8b8e8b;border-radius:8px;margin:2rem 0;padding:1.5rem;text-align:left}.family-section h3{color:#8b8e8b;font-size:1.3rem;margin-bottom:1rem}.family-input{display:flex;flex-direction:column;gap:.5rem}.family-input label{color:#d3d6d3;font-size:1rem;font-weight:500}.family-input-field{background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#d3d6d3;font-size:1rem;max-width:120px;padding:.75rem;transition:all .3s ease;width:100%}.family-input-field:focus{background:#ffffff1f;border-color:#8b8e8b;box-shadow:0 0 0 2px #8b8e8b33;outline:none}.family-input-field:hover{background:#ffffff1f;border-color:#ffffff4d}.family-input-field::-webkit-inner-spin-button,.family-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.family-input-field[type=number]{-moz-appearance:textfield}.plus-one-section{background:#ffffff0d;border-left:4px solid #8b8e8b;border-radius:8px;margin:2rem 0;padding:1.5rem;text-align:left}.plus-one-section h3{color:#8b8e8b;font-size:1.3rem;margin-bottom:1rem}.plus-one-checkbox{margin-bottom:1rem}.checkbox-label{align-items:center;color:#d3d6d3;cursor:pointer;display:flex;font-size:1rem;font-weight:500;padding-left:2rem;position:relative;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background:#ffffff14;border:2px solid #fff3;border-radius:3px;height:18px;left:0;position:absolute;transition:all .3s ease;width:18px}.checkbox-label:hover .checkmark{background:#ffffff1f;border-color:#ffffff4d}.checkbox-label input:checked~.checkmark{background:#8b8e8b;border-color:#8b8e8b}.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:8px;left:5px;position:absolute;top:1px;transform:rotate(45deg);width:4px}.checkbox-label input:checked~.checkmark:after{display:block}.plus-one-name-section{border-top:1px solid #ffffff1a;margin-top:1rem;padding-top:1rem}.plus-one-instruction{color:#bfc2be;font-size:.95rem;font-style:italic;margin-bottom:1rem}.plus-one-input{display:flex;flex-direction:column;gap:.5rem}.plus-one-input label{color:#d3d6d3;font-size:1rem;font-weight:500}.plus-one-input-field{background:#ffffff14;border:1px solid #fff3;border-radius:6px;color:#d3d6d3;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.plus-one-input-field:focus{background:#ffffff1f;border-color:#8b8e8b;box-shadow:0 0 0 2px #8b8e8b33;outline:none}.plus-one-input-field:hover{background:#ffffff1f;border-color:#ffffff4d}.plus-one-input-field::placeholder{color:#8b8e8b;opacity:.7}.rsvp-section{border-top:1px solid #fff3;margin-top:2rem;padding-top:2rem}.rsvp-section h3{color:#d3d6d3;margin-bottom:1rem}.rsvp-section p{color:#bfc2be;margin-bottom:1rem}.rsvp-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.rsvp-btn{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;min-width:150px;padding:1rem 2rem;transition:all .3s ease}.rsvp-btn.accept{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.rsvp-btn.accept:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.rsvp-btn.accept:disabled{background:#8b8e8b;box-shadow:none;color:#2d3931;cursor:not-allowed;transform:none}.rsvp-btn.decline{background:#0000;border:2px solid #ff6b6b;color:#ff6b6b}.rsvp-btn.decline:hover{background:#ff6b6b;color:#fff;transform:translateY(-2px)}.success-message{animation:fadeIn .3s ease-in;background:#28a74533;border:1px solid #28a74566;border-radius:6px;color:#28a745;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.75rem;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.event-details{gap:1rem;grid-template-columns:1fr}.rsvp-buttons{align-items:center;flex-direction:column}.rsvp-btn{max-width:250px;width:100%}.couple-names{font-size:2rem}.wedding-announcement{padding:2rem 1rem}}.faqs-page{margin:0 auto;max-width:800px}.faqs-container{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:2rem}.faqs-container h2{color:#d3d6d3;font-size:2rem;margin-bottom:2rem;text-align:center}.faqs-list{display:flex;flex-direction:column;gap:1rem}.faq-item{border:1px solid #fff3;border-radius:8px;overflow:hidden}.faq-question{align-items:center;background:#ffffff0d;border:none;color:#d3d6d3;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;justify-content:space-between;padding:1.5rem;text-align:left;transition:background-color .3s ease;width:100%}.faq-question:hover{background:#ffffff1a}.faq-question.open{background:#8b8e8b4d;color:#fff}.faq-toggle{color:inherit;font-size:1.5rem;font-weight:700;transition:transform .3s ease}.faq-answer{background:#ffffff05;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-answer.open{max-height:200px;padding:1.5rem}.faq-answer p{color:#bfc2be;line-height:1.6;margin:0}@media (max-width:768px){.faqs-container{padding:1rem}.faq-question{font-size:1rem;padding:1rem}.faq-answer.open{padding:1rem}}.invitation-code-container{margin:0 auto;max-width:500px;padding:2rem}.code-header{margin-bottom:2rem;text-align:center}.code-header h3{color:#d3d6d3;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:300;margin-bottom:.5rem}.code-header p{color:#bfc2be;font-size:1rem;line-height:1.6}.code-form{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #0000004d;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#d3d6d3;display:block;font-size:1rem;font-weight:500;margin-bottom:.5rem}.code-input{border:2px solid;border-radius:8px;font-size:1.1rem;font-weight:500;letter-spacing:1px;outline:none;padding:1rem;text-align:center;transition:all .3s ease;width:100%}.code-input:focus{border-color:#2c3a2d;box-shadow:0 0 0 3px #2c3a2d33;transform:translateY(-1px)}.code-input::placeholder{color:#8b8e8b;font-weight:400;letter-spacing:normal}.error-message{background:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:6px;color:#ff6b6b;font-size:.9rem;margin-bottom:1rem;padding:.75rem;text-align:center}.submit-btn{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #2c3a2d4d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.invitation-code-container{padding:1rem}.code-form{padding:1.5rem}.code-header h3{font-size:1.5rem}.code-input{font-size:1rem;padding:.875rem}}
/*# sourceMappingURL=main.9bd5a356.css.map*/