body{-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-ivory:#f4eee3;--color-warm-white:#faf5ec;--color-champagne:#c9a84c;--color-soft-gold:#d7be73;--color-near-black:#0d0b0b;--color-charcoal:#2a2926;--color-bg:var(--color-warm-white);--color-surface:#fff;--color-primary:var(--color-soft-gold);--color-primary-dark:var(--color-champagne);--color-secondary:var(--color-ivory);--color-accent:var(--color-champagne);--color-text:var(--color-near-black);--color-muted:var(--color-charcoal);--color-border:var(--color-soft-gold);--color-border-subtle:#c9a84c59;--color-error:#9b3b30;--color-success:#3d6b4f;--radius:2px;--shadow:none;--font-serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--font-sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#faf5ec;background:var(--color-bg);color:#0d0b0b;color:var(--color-text);font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-weight:400;line-height:1.65;margin:0}h1,h2,h3,h4{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-weight:500;line-height:1.2}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:960px;padding:2.5rem 1.5rem;width:100%}.footer{background:#f4eee3;background:var(--color-ivory);color:#2a2926;color:var(--color-muted);font-size:.8rem;letter-spacing:.06em;padding:1.5rem;text-align:center;text-transform:uppercase}.golden-thread{background:linear-gradient(90deg,#0000,#d7be73 15%,#c9a84c 50%,#d7be73 85%,#0000);background:linear-gradient(90deg,#0000,var(--color-soft-gold) 15%,var(--color-champagne) 50%,var(--color-soft-gold) 85%,#0000);height:1px;margin:0 auto 2.5rem;max-width:720px}.golden-thread-footer{margin:0 auto 1.25rem;max-width:200px}.navbar{align-items:center;background:#fff;background:var(--color-surface);border-bottom:1px solid #c9a84c59;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:1.25rem 2rem}.navbar-brand{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.65rem;font-weight:600;letter-spacing:.02em;text-decoration:none}.navbar-links{align-items:center;display:flex;gap:1.5rem}.nav-link{color:#2a2926;color:var(--color-charcoal);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:color .2s}.nav-link:hover,.navbar-links a:not(.btn):hover{color:#c9a84c;color:var(--color-champagne)}.btn{border:1px solid #0000;border-radius:2px;border-radius:var(--radius);cursor:pointer;display:inline-block;font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.14em;padding:.75rem 1.5rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s,opacity .2s}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:#d7be73;background:var(--color-soft-gold);border-color:#d7be73;border-color:var(--color-soft-gold);color:#fff}.btn-primary:hover:not(:disabled){background:#c9a84c;background:var(--color-champagne);border-color:#c9a84c;border-color:var(--color-champagne)}.btn-secondary{background:#0000;border-color:#d7be73;border-color:var(--color-soft-gold);color:#c9a84c;color:var(--color-champagne)}.btn-secondary:hover:not(:disabled){background:#d7be731f;border-color:#c9a84c;border-color:var(--color-champagne);color:#c9a84c;color:var(--color-champagne)}.btn-on-dark{border-color:#d7be73;border-color:var(--color-soft-gold);color:#d7be73;color:var(--color-soft-gold)}.btn-on-dark:hover:not(:disabled){background:#d7be7326;color:#faf5ec;color:var(--color-warm-white)}.btn-sm{font-size:.7rem;padding:.5rem 1rem}.btn-lg{font-size:.78rem;padding:.9rem 2rem}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.hero{padding:3.5rem 1.5rem;text-align:center}.hero-dark{background:#0d0b0b;background:var(--color-near-black);margin:-2.5rem -1.5rem 0;padding:4.5rem 1.5rem 4rem;position:relative}.hero-dark:after{background:linear-gradient(90deg,#0000,#d7be73,#0000);background:linear-gradient(90deg,#0000,var(--color-soft-gold),#0000);bottom:0;content:"";height:1px;left:10%;position:absolute;right:10%}.hero-eyebrow{color:#d7be73;color:var(--color-soft-gold);font-size:.72rem;letter-spacing:.2em;margin:0 0 1rem;text-transform:uppercase}.hero h1{color:#faf5ec;color:var(--color-warm-white);font-size:clamp(2.25rem,6vw,3.25rem);font-weight:500;margin:0 0 1.25rem}.hero p,.hero-subtitle{color:#faf5ecd1;font-size:1.05rem;font-weight:300;line-height:1.7;margin:0 auto 2.25rem;max-width:520px}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.home-page .features{margin-top:0}.features{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:2rem}.feature-card{background:#fff;background:var(--color-surface);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);padding:2rem 1.75rem;text-align:center}.feature-icon{color:#c9a84c;color:var(--color-champagne);display:block;font-size:1.25rem;line-height:1;margin-bottom:1rem}.feature-card h3{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.35rem;margin:0 0 .75rem}.feature-card p{color:#2a2926;color:var(--color-charcoal);font-size:.95rem;font-weight:300;line-height:1.65;margin:0}.form{background:#fff;background:var(--color-surface);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);max-width:560px;padding:2.25rem}.form h1,.form h3,.form h4{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);margin-top:0}.form h1{font-size:2rem;margin-bottom:.5rem}.form h3{font-size:1.5rem}.form-hint{color:#2a2926;color:var(--color-charcoal);font-size:.9rem;font-weight:300;margin-bottom:1.25rem}.field-error{color:#9b3b30;color:var(--color-error);font-size:.85rem;margin:.35rem 0 0}.form-group{margin-bottom:1.35rem}.form-group label{color:#2a2926;color:var(--color-charcoal);display:block;font-size:.72rem;font-weight:500;letter-spacing:.1em;margin-bottom:.45rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#faf5ec;background:var(--color-warm-white);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);color:#0d0b0b;color:var(--color-near-black);font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.95rem;font-weight:400;padding:.75rem .875rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;background:var(--color-surface);border-color:#d7be73;border-color:var(--color-soft-gold);outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.checkbox-group label{align-items:flex-start;color:#0d0b0b;color:var(--color-near-black);cursor:pointer;display:flex;font-size:.95rem;font-weight:400;gap:.625rem;letter-spacing:normal;text-transform:none}.checkbox-group input[type=checkbox]{accent-color:#c9a84c;accent-color:var(--color-champagne);margin-top:.2rem;width:auto}.wedding-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.wedding-card{background:#fff;background:var(--color-surface);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);color:inherit;padding:1.75rem;text-decoration:none;transition:border-color .2s}a.wedding-card:hover{border-color:#d7be73;border-color:var(--color-soft-gold)}.wedding-card h3{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.4rem;margin:0 0 .5rem}.wedding-date{color:#c9a84c;color:var(--color-champagne);font-size:.85rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.wedding-location,.wedding-price{color:#2a2926;color:var(--color-charcoal);font-size:.9rem;font-weight:300}.page h1{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif)}.wedding-header{border-bottom:1px solid #c9a84c59;border-bottom:1px solid var(--color-border-subtle);margin-bottom:2.5rem;padding-bottom:2rem;text-align:center}.wedding-header h1{color:#0d0b0b;color:var(--color-near-black);font-size:clamp(2rem,5vw,2.75rem);margin-bottom:.75rem}.wedding-description{color:#2a2926;color:var(--color-charcoal);font-weight:300;margin:1rem auto;max-width:600px}.wedding-price-badge{background:#f4eee3;background:var(--color-ivory);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);color:#c9a84c;color:var(--color-champagne);display:inline-block;font-size:.72rem;font-weight:500;letter-spacing:.12em;padding:.4rem 1.1rem;text-transform:uppercase}.tabs{border-bottom:1px solid #c9a84c59;border-bottom:1px solid var(--color-border-subtle);display:flex;gap:0;margin-bottom:1.75rem}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#2a2926;color:var(--color-charcoal);cursor:pointer;font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.12em;margin-bottom:-1px;padding:.875rem 1.5rem;text-transform:uppercase;transition:color .2s,border-color .2s}.tab:hover{color:#c9a84c;color:var(--color-champagne)}.tab.active{border-bottom-color:#d7be73;border-bottom-color:var(--color-soft-gold);color:#0d0b0b;color:var(--color-near-black)}.tab-content{margin-top:1rem}.request-list h3{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.5rem}.request-card{align-items:flex-start;background:#fff;background:var(--color-surface);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);display:flex;gap:1rem;justify-content:space-between;margin-bottom:.75rem;padding:1.25rem 1.5rem}.request-message{color:#2a2926;color:var(--color-charcoal);font-size:.9rem;font-weight:300;margin:.5rem 0 0}.request-actions{display:flex;flex-shrink:0;gap:.5rem}.text-muted{color:#2a2926;color:var(--color-charcoal);font-size:.9rem}.error-message{background:#faf0ee;border:1px solid #9b3b3040;border-radius:2px;border-radius:var(--radius);color:#9b3b30;color:var(--color-error);font-size:.9rem;padding:1rem 1.25rem}.error-message.inline{margin-bottom:1rem}.success-message{background:#f4eee3;background:var(--color-ivory);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);color:#3d6b4f;color:var(--color-success);padding:2rem;text-align:center}.success-message h3{color:#0d0b0b;color:var(--color-near-black);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);margin-top:0}.error-message.centered,.success-message.centered{margin:3rem auto;max-width:480px;text-align:center}.empty-state{font-weight:300;padding:2.5rem}.empty-state,.loading{color:#2a2926;color:var(--color-charcoal);text-align:center}.loading{padding:3rem}.spinner{animation:spin .8s linear infinite;border:2px solid #c9a84c59;border-top-color:#c9a84c;border:2px solid var(--color-border-subtle);border-radius:50%;border-top-color:var(--color-champagne);height:36px;margin:0 auto 1rem;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.auth-page{display:flex;justify-content:center}.auth-page .form{width:100%}.auth-switch{color:#2a2926;color:var(--color-charcoal);font-size:.9rem;font-weight:300;margin-top:1.5rem;text-align:center}.auth-switch a{color:#c9a84c;color:var(--color-champagne);font-weight:500;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.profile-page h1,.wedding-manage h1{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:2.25rem;margin-bottom:.35rem}.profile-section{margin-top:2.5rem}.section-header{align-items:center;border-bottom:1px solid #c9a84c59;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.profile-section-title{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.75rem;margin:0 0 1.5rem}.wedding-header-compact{border-bottom:none;margin-bottom:1.5rem;padding-bottom:0;text-align:left}.wedding-header-compact h1{margin-bottom:.35rem;text-align:left}.manage-section-title{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.5rem;font-weight:500;margin:0 0 1.25rem}.tabs-compact{margin-bottom:1.25rem}.wedding-card-meta{gap:.5rem .75rem;margin:.5rem 0 .35rem}.wedding-card-meta,.wedding-card-tags{align-items:center;display:flex;flex-wrap:wrap}.wedding-card-tags{gap:.5rem;margin-bottom:1rem}.wedding-card-location{color:#2a2926;color:var(--color-charcoal);font-size:.9rem;font-weight:300}.wedding-card-meta .wedding-date{font-size:.85rem}.wedding-card-tags .badge{margin:0}.section-header h2{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.75rem;margin:0}.wedding-cards{grid-gap:1.25rem;display:grid;gap:1.25rem}.wedding-cards .wedding-card{text-decoration:none}.card-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.badge{background:#f4eee3;background:var(--color-ivory);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);color:#c9a84c;color:var(--color-champagne);display:inline-block;font-size:.65rem;font-weight:500;letter-spacing:.1em;padding:.25rem .65rem;text-transform:uppercase}.tier-badge{color:#2a2926;color:var(--color-charcoal);font-size:.8rem}.back-link{color:#c9a84c;color:var(--color-champagne);display:inline-block;font-size:.72rem;font-weight:500;letter-spacing:.1em;margin-bottom:1.25rem;text-decoration:none;text-transform:uppercase}.back-link:hover{color:#0d0b0b;color:var(--color-near-black)}.guest-manager h3,.guest-manager h4{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif)}.guest-add-form{border-bottom:none;border-top:1px solid #c9a84c59;border-top:1px solid var(--color-border-subtle);margin-top:2rem;padding-top:2rem}.guest-table-wrap{border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);overflow-x:auto}.guest-table{background:#fff;background:var(--color-surface);border-collapse:collapse;font-size:.9rem;width:100%}.guest-table td,.guest-table th{border-bottom:1px solid #c9a84c59;border-bottom:1px solid var(--color-border-subtle);padding:.875rem 1rem;text-align:left}.guest-table th{background:#f4eee3;background:var(--color-ivory);color:#2a2926;color:var(--color-charcoal);font-family:Jost,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.guest-table tr:last-child td{border-bottom:none}.status-badge{border-radius:2px;border-radius:var(--radius);display:inline-block;font-size:.68rem;font-weight:500;letter-spacing:.06em;padding:.25rem .55rem;text-transform:uppercase}.status-pending{background:#f4eee3;background:var(--color-ivory);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);color:#c9a84c;color:var(--color-champagne)}.status-confirmed{background:#3d6b4f1a;color:#3d6b4f;color:var(--color-success)}.status-declined{background:#9b3b3014;color:#9b3b30;color:var(--color-error)}.plus-one-row{background:#f4eee3;background:var(--color-ivory);border:1px solid #c9a84c59;border:1px solid var(--color-border-subtle);border-radius:2px;border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.plus-one-row h4{font-size:1.15rem;margin:0 0 .875rem}.page>h1,.plus-one-row h4{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif)}.page>h1{font-size:clamp(2rem,4vw,2.5rem);font-weight:500;margin:0 0 1.25rem;text-align:center}.page>h1+.golden-thread{margin-bottom:2rem}.confirm-section h3{font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:1.5rem}@media (max-width:600px){.navbar{flex-direction:column;gap:1rem;padding:1rem 1.25rem}.navbar-links{flex-wrap:wrap;gap:.75rem 1rem;justify-content:center}.hero-dark{margin-left:-1.5rem;margin-right:-1.5rem;padding:3rem 1.25rem}.form-row{grid-template-columns:1fr}.request-card{flex-direction:column}}
/*# sourceMappingURL=main.daedecd0.css.map*/