:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.landing-page *{-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}.landing-page{min-height:100vh;background:var(--light);overflow-x:hidden;width:100%;position:relative}.landing-page button,.landing-page a{-webkit-appearance:none;-moz-appearance:none;appearance:none}.landing-page{text-rendering:optimizeLegibility}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:100;animation:fadeIn .3s ease}.navbar{background:#fff;box-shadow:0 2px 8px #0000000d;position:sticky;top:0;z-index:100;padding:16px 0}.nav-container{display:flex;justify-content:space-between;align-items:center;position:relative}.logo{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;color:var(--dark);z-index:102}.logo-icon{font-size:2rem}.hamburger-menu{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:8px;margin:-8px;z-index:102;border-radius:4px;transition:background-color .2s}.hamburger-menu:active{background-color:#0000000d}.hamburger-line{width:100%;height:3px;background-color:var(--dark);border-radius:3px;transition:all .3s ease}.hamburger-line.open:nth-child(1){transform:translateY(10.5px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}.nav-links{display:flex;align-items:center;gap:16px}.nav-link{background:none;border:none;color:var(--dark);font-size:1rem;font-weight:600;cursor:pointer;padding:8px 16px;transition:color .3s;white-space:nowrap}.nav-link:hover{color:var(--primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.hero-section{padding:100px 20px;background:linear-gradient(135deg,#fff8e1 0%,#ffe5b4 50%,var(--accent) 100%);position:relative;overflow:hidden}.hero-content{max-width:700px;text-align:center;margin:0 auto 60px}.hero-title{font-size:4rem;font-weight:800;color:var(--dark);line-height:1.2;margin-bottom:24px}.gradient-text{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.4rem;color:var(--secondary);line-height:1.6;margin-bottom:40px}.hero-cta{display:flex;flex-direction:column;align-items:center;gap:16px}.btn-large{padding:18px 48px;font-size:1.2rem;min-height:56px;display:inline-flex;align-items:center;justify-content:center}.cta-note{color:var(--secondary);font-size:.95rem}.hero-visual{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;position:relative;margin-top:60px}.floating-card{background:#fff;padding:20px 32px;border-radius:12px;box-shadow:0 8px 24px #0000001a;display:flex;align-items:center;gap:12px;animation:float 3s ease-in-out infinite}.card-1{animation-delay:0s}.card-2{animation-delay:.5s}.card-3{animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.card-icon{font-size:2rem}.card-text{font-weight:600;color:var(--dark)}.problem-section{padding:80px 20px;background:#fff}.section-title{text-align:center;font-size:3rem;font-weight:700;color:var(--dark);margin-bottom:16px;word-wrap:break-word}.section-subtitle{text-align:center;font-size:1.2rem;color:var(--secondary);margin-bottom:60px;max-width:600px;margin-left:auto;margin-right:auto;word-wrap:break-word}.problems-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;max-width:1000px;margin:0 auto;width:100%}.problem-card{text-align:center;padding:32px 24px}.problem-icon{font-size:3rem;margin-bottom:16px}.problem-card h3{font-size:1.5rem;color:var(--dark);margin-bottom:12px}.problem-card p{color:var(--secondary);line-height:1.6}.features-section{padding:80px 20px;background:var(--light)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:60px;width:100%}.feature-card{padding:32px;text-align:center;transition:transform .3s,box-shadow .3s}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #00000026}.feature-icon{font-size:3.5rem;margin-bottom:20px}.feature-title{font-size:1.5rem;color:var(--dark);margin-bottom:12px;font-weight:700}.feature-description{color:var(--secondary);line-height:1.7}.how-it-works-section{padding:80px 20px;background:#fff}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-top:60px;width:100%}.step-card{text-align:center;padding:32px}.step-number{width:80px;height:80px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;margin:0 auto 24px}.step-title{font-size:1.5rem;color:var(--dark);margin-bottom:12px;font-weight:700}.step-description{color:var(--secondary);line-height:1.6}.social-proof-section{padding:80px 20px;background:var(--light)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:60px;width:100%}.testimonial-card{padding:32px}.stars{font-size:1.2rem;margin-bottom:16px}.testimonial-text{color:var(--dark);font-size:1.1rem;line-height:1.7;margin-bottom:24px;font-style:italic}.testimonial-author strong{display:block;color:var(--dark);font-weight:700;margin-bottom:4px}.testimonial-author span{color:var(--secondary);font-size:.95rem}.final-cta-section{padding:100px 20px;background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);text-align:center;color:#fff}.cta-title{font-size:3rem;font-weight:700;margin-bottom:16px;color:#fff}.cta-subtitle{font-size:1.3rem;margin-bottom:40px;opacity:.95}.final-cta-section .btn-primary{background:#fff;color:var(--primary)}.final-cta-section .btn-primary:hover{background:var(--light);transform:translateY(-4px)}.final-cta-section .cta-note{color:#fff;opacity:.9}.footer{background:var(--dark);color:#fff;padding:60px 20px 20px}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:40px}.footer-brand{max-width:300px}.footer-brand p{margin-top:16px;opacity:.8;line-height:1.6}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-column h4{margin-bottom:16px;font-weight:700}.footer-column a{display:block;color:#fff;opacity:.8;text-decoration:none;margin-bottom:12px;transition:opacity .3s}.footer-column a:hover{opacity:1}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;text-align:center;opacity:.7}@media(min-width:1440px){.hero-title{font-size:4.5rem}.hero-subtitle{font-size:1.6rem}.section-title{font-size:3.5rem}.features-grid{grid-template-columns:repeat(3,1fr)}.steps-container{grid-template-columns:repeat(4,1fr)}.testimonials-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px)and (max-width:1439px){.hero-title{font-size:4rem}.hero-subtitle{font-size:1.4rem}.features-grid{grid-template-columns:repeat(3,1fr)}.steps-container{grid-template-columns:repeat(4,1fr)}.testimonials-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px)and (max-width:1023px){.hero-title{font-size:3rem}.hero-subtitle{font-size:1.3rem}.section-title{font-size:2.5rem}.features-grid,.steps-container,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr 1.5fr}}@media(max-width:767px){.landing-page .mobile-menu-overlay{display:block}.landing-page .hamburger-menu{display:flex}.landing-page .navbar{padding:12px 0}.landing-page .nav-links{position:fixed;top:0;right:-100%;height:100vh;width:75%;max-width:300px;background:#fff;flex-direction:column;justify-content:flex-start;padding:80px 24px 24px;gap:16px;box-shadow:-4px 0 20px #0000001a;transition:right .3s ease;z-index:101}.landing-page .nav-links.mobile-open{right:0}.landing-page .nav-link,.landing-page .nav-links .btn{width:100%!important;text-align:center;padding:14px 20px!important;font-size:1.1rem;min-height:48px;display:flex!important;align-items:center;justify-content:center}.landing-page .container{padding:0 16px}.landing-page .hero-section{padding:50px 16px}.landing-page .hero-content{max-width:100%;padding:0}.landing-page .hero-title{font-size:2rem;line-height:1.2;margin-bottom:16px}.landing-page .hero-subtitle{font-size:1rem;line-height:1.5;margin-bottom:28px}.landing-page .hero-cta{gap:12px}.landing-page .btn-large{padding:14px 32px!important;font-size:1rem!important;width:100%!important;max-width:320px;min-height:50px}.landing-page .cta-note{font-size:.85rem}.landing-page .hero-visual{display:none}.landing-page .section-title{font-size:1.75rem;line-height:1.2;margin-bottom:16px;padding:0 8px}.landing-page .section-subtitle{font-size:1rem;margin-bottom:32px;line-height:1.5;padding:0 8px}.landing-page .problem-section{padding:50px 16px}.landing-page .problems-grid{grid-template-columns:1fr!important;gap:20px;width:100%}.landing-page .problem-card{padding:28px 20px}.landing-page .problem-icon{font-size:2.5rem;margin-bottom:12px}.landing-page .problem-card h3{font-size:1.25rem;margin-bottom:8px}.landing-page .problem-card p{font-size:.95rem;line-height:1.5}.landing-page .features-section{padding:50px 16px}.landing-page .features-grid{grid-template-columns:1fr!important;gap:16px;margin-top:32px;width:100%}.landing-page .feature-card{padding:28px 20px}.landing-page .feature-icon{font-size:2.8rem;margin-bottom:16px}.landing-page .feature-title{font-size:1.25rem;margin-bottom:10px}.landing-page .feature-description{font-size:.95rem;line-height:1.6}.landing-page .how-it-works-section{padding:50px 16px}.landing-page .steps-container{grid-template-columns:1fr!important;gap:20px;margin-top:32px;width:100%}.landing-page .step-card{padding:28px 20px}.landing-page .step-number{width:64px;height:64px;font-size:2rem;margin-bottom:16px}.landing-page .step-title{font-size:1.25rem;margin-bottom:8px}.landing-page .step-description{font-size:.95rem;line-height:1.5}.landing-page .social-proof-section{padding:50px 16px}.landing-page .testimonials-grid{grid-template-columns:1fr!important;gap:16px;margin-top:32px;width:100%}.landing-page .testimonial-card{padding:24px 20px}.landing-page .stars{font-size:1.1rem;margin-bottom:12px}.landing-page .testimonial-text{font-size:.95rem;line-height:1.6;margin-bottom:16px}.landing-page .testimonial-author strong{font-size:1rem}.landing-page .testimonial-author span{font-size:.85rem}.landing-page .final-cta-section{padding:50px 16px}.landing-page .cta-title{font-size:1.75rem;line-height:1.2;margin-bottom:12px}.landing-page .cta-subtitle{font-size:1rem;margin-bottom:28px;line-height:1.5}.landing-page .final-cta-section .btn-large{width:100%!important;max-width:320px!important}.landing-page .final-cta-section .cta-note{font-size:.85rem;margin-top:12px}.landing-page .footer{padding:40px 16px 20px}.landing-page .footer-content{grid-template-columns:1fr;gap:28px;margin-bottom:28px}.landing-page .footer-brand{max-width:100%}.landing-page .footer-brand .logo{margin-bottom:12px}.landing-page .footer-links{grid-template-columns:1fr;gap:20px}.landing-page .footer-column{text-align:left}.landing-page .footer-column h4{font-size:1.1rem;margin-bottom:10px}.landing-page .footer-column a{font-size:.95rem;margin-bottom:8px}.landing-page .footer-bottom{padding-top:16px;font-size:.85rem}.landing-page .logo-text{font-size:1.25rem}.landing-page .logo-icon{font-size:1.75rem}}@media(max-width:375px){.landing-page .hero-title{font-size:1.75rem!important}.landing-page .hero-subtitle{font-size:.95rem!important}.landing-page .section-title{font-size:1.5rem!important}.landing-page .btn-large{padding:12px 24px!important;font-size:.95rem!important;max-width:280px!important}.landing-page .feature-card,.landing-page .step-card,.landing-page .testimonial-card{padding:20px!important}.landing-page .logo-text{font-size:1.1rem!important}.landing-page .logo-icon{font-size:1.75rem!important}.landing-page .nav-links{width:85%!important}.landing-page .problem-card h3,.landing-page .feature-title,.landing-page .step-title{font-size:1.15rem!important}.landing-page .problem-card,.landing-page .feature-card{padding:24px 16px!important}}@media(min-width:768px)and (max-width:1023px){.landing-page .hero-section{padding:80px 20px}.landing-page .hero-title{font-size:3.2rem}.landing-page .btn-large{padding:16px 40px;font-size:1.1rem}.landing-page .problems-grid{grid-template-columns:repeat(2,1fr)}.landing-page .features-grid,.landing-page .testimonials-grid{gap:24px}}@media(min-width:1024px){.landing-page .feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #00000026}.landing-page .testimonial-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.landing-page .step-card:hover{transform:translateY(-4px)}.landing-page .problem-card:hover{transform:scale(1.02)}}@media(hover:none){.landing-page .feature-card:hover,.landing-page .testimonial-card:hover,.landing-page .step-card:hover,.landing-page .problem-card:hover{transform:none}}.couple-auth-page{min-height:100vh;background:linear-gradient(135deg,#fff8e1 0%,#ffe5b4 50%,var(--accent) 100%);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-container{max-width:480px;width:100%}.auth-header{text-align:center;margin-bottom:32px}.auth-header .logo{display:inline-flex;align-items:center;gap:12px;font-size:1.8rem;font-weight:700;color:var(--dark);cursor:pointer;transition:opacity .3s}.auth-header .logo:hover{opacity:.8}.auth-box{padding:40px;margin-bottom:24px;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-box h1{font-size:2rem;color:var(--dark);margin-bottom:8px;text-align:center}.auth-subtitle{text-align:center;color:var(--secondary);font-size:1.1rem;margin-bottom:32px}.auth-form{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark)}.form-group input{width:100%;padding:14px 16px;border:2px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--primary)}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.btn-full{width:100%;padding:14px}.auth-footer{text-align:center;padding-top:24px;border-top:2px solid var(--accent)}.auth-footer p{color:var(--secondary);font-size:.95rem}.link-button{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit}.link-button:hover{color:var(--secondary)}.auth-benefits{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.auth-benefits h3{font-size:1.2rem;color:var(--dark);margin-bottom:16px;font-weight:700}.auth-benefits ul{list-style:none;padding:0}.auth-benefits li{color:var(--secondary);padding:8px 0;font-size:.95rem;line-height:1.6}@media(min-width:1024px){.auth-container{max-width:550px}.auth-box{padding:48px}.auth-box h1{font-size:2.5rem}.auth-subtitle{font-size:1.2rem}.form-group input:hover{border-color:var(--secondary)}.btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.link-button:hover{text-decoration:none;color:var(--secondary)}.auth-benefits{transition:transform .3s}.auth-benefits:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}}@media(min-width:768px)and (max-width:1023px){.auth-container{max-width:520px}.auth-box{padding:40px}}@media(max-width:767px){.auth-box{padding:32px 24px}.auth-box h1{font-size:1.8rem}.auth-subtitle{font-size:1rem}}.couple-dashboard{min-height:100vh;background:var(--light)}.dashboard-header{background:#fff;box-shadow:0 2px 8px #0000000d;padding:20px 0;position:sticky;top:0;z-index:100}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.header-right{display:flex;align-items:center;gap:16px}.user-email{color:var(--secondary);font-weight:600}.dashboard-content{padding:40px 20px}.welcome-section{max-width:700px;margin:60px auto;text-align:center}.welcome-card{padding:60px 40px}.welcome-card h1{font-size:2.5rem;color:var(--dark);margin-bottom:20px}.welcome-text{font-size:1.2rem;color:var(--secondary);margin-bottom:40px;line-height:1.6}.create-wedding-section{max-width:700px;margin:40px auto}.create-wedding-card{padding:40px}.create-wedding-card h2{font-size:2rem;color:var(--dark);margin-bottom:12px}.card-subtitle{color:var(--secondary);margin-bottom:32px;font-size:1.1rem}.wedding-form .form-group{margin-bottom:24px}.wedding-form small{display:block;margin-top:8px;color:var(--secondary);font-size:.9rem}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:32px}.wedding-dashboard{max-width:1200px;margin:0 auto}.wedding-info-card{margin-bottom:24px;padding:32px}.wedding-info-card h2{font-size:2rem;color:var(--dark);margin-bottom:24px}.wedding-details{display:flex;flex-direction:column;gap:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--accent)}.detail-item:last-child{border-bottom:none}.detail-item strong{color:var(--secondary);font-weight:600}.detail-item span,.detail-item a{color:var(--dark);font-weight:500}.detail-item a{color:var(--primary);text-decoration:underline}.guest-portal-card{padding:32px;margin-bottom:24px;text-align:center}.guest-portal-card h2{font-size:1.8rem;color:var(--dark);margin-bottom:16px}.guest-portal-card>p{color:var(--secondary);margin-bottom:24px;font-size:1.1rem}.url-box{display:flex;gap:12px;margin-bottom:16px}.url-input{flex:1;padding:14px 16px;border:2px solid var(--primary);border-radius:8px;font-size:16px;background:var(--accent);color:var(--dark);font-weight:600}.qr-code-card{padding:32px;margin-bottom:24px;text-align:center}.qr-code-card h2{font-size:1.8rem;color:var(--dark);margin-bottom:16px}.qr-code-card>p{color:var(--secondary);margin-bottom:24px}.qr-code-display{background:#fff;border:4px solid var(--accent);border-radius:12px;padding:24px;display:inline-block;margin-bottom:24px}.qr-code-image{width:300px;height:300px;display:block}.management-sections{margin-top:48px}.management-sections h2{font-size:2rem;color:var(--dark);margin-bottom:32px;text-align:center}.management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.management-card{padding:32px 24px;text-align:center;transition:transform .3s,box-shadow .3s}.management-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.management-icon{font-size:3rem;margin-bottom:16px}.management-card h3{font-size:1.5rem;color:var(--dark);margin-bottom:12px}.management-card p{color:var(--secondary);margin-bottom:20px;line-height:1.6}.admin-link-card{padding:32px;text-align:center;background:linear-gradient(135deg,var(--accent) 0%,#fff8e1 100%)}.admin-link-card h3{font-size:1.5rem;color:var(--dark);margin-bottom:12px}.admin-link-card p{color:var(--secondary);margin-bottom:24px}@media(min-width:1440px){.wedding-dashboard{max-width:1400px}.management-grid{grid-template-columns:repeat(4,1fr)}.qr-code-image{width:350px;height:350px}.welcome-card h1{font-size:3rem}}@media(min-width:1024px)and (max-width:1439px){.management-grid{grid-template-columns:repeat(4,1fr)}.qr-code-image{width:300px;height:300px}}@media(min-width:768px)and (max-width:1023px){.management-grid{grid-template-columns:repeat(2,1fr)}.qr-code-image{width:280px;height:280px}.url-box{flex-direction:row}}@media(max-width:767px){.header-content{flex-direction:column;align-items:flex-start}.header-right{width:100%;justify-content:space-between}.welcome-card{padding:40px 24px}.welcome-card h1{font-size:2rem}.url-box{flex-direction:column}.qr-code-image{width:250px;height:250px}.management-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.detail-item{flex-direction:column;align-items:flex-start;gap:8px}}@media(min-width:1024px){.management-card{transition:all .3s ease}.management-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #00000026}.url-input{-webkit-user-select:all;user-select:all}.btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}}.card-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.card-header-with-action h2{margin:0}.images-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:32px;padding-top:24px;border-top:2px solid var(--accent)}.image-preview-item{display:flex;flex-direction:column;gap:12px}.image-preview-item strong{color:var(--dark);font-size:.9rem}.preview-thumb{width:100%;height:150px;object-fit:cover;border-radius:8px;border:2px solid var(--accent)}.no-image{display:flex;align-items:center;justify-content:center;width:100%;height:150px;background:var(--light);border:2px dashed var(--accent);border-radius:8px;color:var(--secondary);font-style:italic}.form-divider{font-weight:600;color:var(--primary);text-transform:uppercase;font-size:.9rem;letter-spacing:1px;margin:32px 0 24px;padding-bottom:12px;border-bottom:2px solid var(--accent)}.edit-wedding-card{padding:40px;margin-bottom:32px}.current-image-indicator{padding:8px 12px;background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;color:#2e7d32;font-size:.9rem;margin-bottom:8px;display:inline-block}@media(max-width:768px){.card-header-with-action{flex-direction:column;align-items:flex-start}.card-header-with-action .btn{width:100%}.images-preview{grid-template-columns:1fr}.edit-wedding-card{padding:24px}}.guest-wedding-home{min-height:100vh;position:relative}.wedding-card-wrapper{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:9999;perspective:2000px;pointer-events:none;transition:opacity .5s ease 2s}.wedding-card-wrapper.opened{opacity:0}.wedding-card-left,.wedding-card-right{position:absolute;top:0;width:50%;height:100%;background:linear-gradient(135deg,#d4af37,#f4e4c1,#fff);transform-origin:center center;transition:all 2s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 0 40px #d4af3766,inset 0 0 60px #ffffff4d;overflow:hidden;border:1px solid rgba(212,175,55,.5)}.wedding-card-left{left:0;transform:translate(0) rotateY(0);border-right:2px solid rgba(212,175,55,.3);transform-origin:right center}.wedding-card-right{right:0;transform:translate(0) rotateY(0);border-left:2px solid rgba(212,175,55,.3);transform-origin:left center}.wedding-card-wrapper.opened .wedding-card-left{transform:translate(-100%) rotateY(-25deg) scale(.9);opacity:0}.wedding-card-wrapper.opened .wedding-card-right{transform:translate(100%) rotateY(25deg) scale(.9);opacity:0}.card-inner-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.card-decorative-pattern{width:200px;height:200px;border:3px solid rgba(139,115,85,.3);border-radius:50%;position:relative;animation:pulse 2s ease-in-out infinite}.card-decorative-pattern:before,.card-decorative-pattern:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid rgba(139,115,85,.2);border-radius:50%}.card-decorative-pattern:before{width:140px;height:140px}.card-decorative-pattern:after{width:80px;height:80px}@keyframes pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.wedding-content{opacity:0;transform:scale(.95);transition:opacity 1s ease,transform 1s ease}.wedding-content.visible{opacity:1;transform:scale(1)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4e4c1,#fff);padding:60px 20px;text-align:center;overflow:hidden}.hero-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.hero-image{width:100%;height:100%;object-fit:cover;filter:brightness(1.1) contrast(.9);animation:slowZoom 20s ease-in-out infinite alternate}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.05)}}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#f4e4c1d9,#ffffffbf,#f4e4c1d9);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2}.hero-content{position:relative;z-index:3;max-width:900px;width:100%;padding:0 20px;animation:fadeInUp 1.2s ease-out .3s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-text-wrapper{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:24px;flex-wrap:wrap}.decorative-line{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);position:relative;animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.decorative-line:before{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--primary);font-size:.8rem}.couple-names{font-size:4rem;font-weight:700;color:var(--dark);margin:0;text-shadow:2px 2px 8px rgba(0,0,0,.15);letter-spacing:2px;line-height:1.2;animation:fadeIn 1.5s ease-out .5s both}.wedding-date{font-size:1.5rem;color:var(--secondary);margin-bottom:40px;font-weight:500;text-shadow:1px 1px 3px rgba(0,0,0,.1);animation:fadeIn 1.5s ease-out .7s both}.btn-hero{font-size:1.1rem;padding:16px 48px;animation:fadeInUp 1.5s ease-out .9s both;box-shadow:0 8px 24px #d4af374d;transition:all .3s ease}.btn-hero:hover{transform:translateY(-3px);box-shadow:0 12px 32px #d4af3766}.hero-quick-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:24px;animation:fadeInUp 1.5s ease-out 1.1s both}.btn-hero-action{font-size:1rem;padding:12px 32px;background:#fffffff2;color:var(--dark);border:2px solid var(--primary);box-shadow:0 4px 16px #0000001a;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-hero-action:hover{transform:translateY(-3px);box-shadow:0 8px 24px #d4af374d;background:#fff;border-color:var(--secondary)}.timeline-section,.venue-section,.transport-section{padding:80px 20px}.section-title{font-size:2.5rem;color:var(--dark);text-align:center;margin-bottom:50px;font-weight:700;position:relative;padding-bottom:20px}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100px;height:3px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}.timeline{max-width:900px;margin:0 auto;padding:0 20px}.timeline-item{display:flex;gap:32px;margin-bottom:40px;padding:32px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;transition:all .3s ease;border-left:4px solid var(--primary)}.timeline-item:hover{transform:translate(8px);box-shadow:0 6px 24px #0000001f}.timeline-item:last-child{margin-bottom:0}.timeline-time{font-size:1.3rem;font-weight:700;color:var(--primary);min-width:140px;background:linear-gradient(135deg,#f4e4c1,#fff);padding:12px 20px;border-radius:8px;text-align:center;align-self:flex-start}.timeline-content{flex:1}.timeline-content h3{font-size:1.6rem;color:var(--dark);margin-bottom:12px;font-weight:600}.timeline-content p{color:var(--secondary);line-height:1.8;font-size:1.05rem}.venue-section .card{text-align:center;max-width:700px;margin:0 auto;padding:48px;box-shadow:0 8px 32px #0000001a}.buses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.bus-card{text-align:center}.bus-image{width:100%;height:200px;object-fit:cover;border-radius:8px;margin-bottom:16px}.bus-card h3{font-size:1.5rem;color:var(--dark);margin-bottom:12px}.bus-capacity{font-size:1.1rem;color:var(--secondary);font-weight:600;margin-bottom:16px}.bus-stops{text-align:left;margin-top:20px;padding-top:20px;border-top:2px solid var(--accent)}.bus-stops strong{display:block;margin-bottom:12px;color:var(--dark)}.bus-stops ul{list-style:none;padding:0}.bus-stops li{padding:8px 0;color:var(--secondary);display:flex;align-items:center}.bus-stops li:before{content:"📍";margin-right:8px}.cta-section{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);padding:100px 20px;text-align:center;color:#fff;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');opacity:.3}.cta-section>*{position:relative;z-index:1}.cta-section h2{font-size:3rem;margin-bottom:20px;font-weight:700;text-shadow:2px 2px 8px rgba(0,0,0,.2)}.cta-section p{font-size:1.3rem;margin-bottom:40px;opacity:.95;max-width:600px;margin-left:auto;margin-right:auto}.guest-auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,var(--light) 100%);padding:20px}.guest-auth-page .auth-container{width:100%;max-width:480px}.guest-auth-page .auth-card{animation:slideIn .4s ease-out}.guest-auth-page .auth-header{text-align:center;margin-bottom:32px}.guest-auth-page .auth-header h1{font-size:2.5rem;color:var(--dark);margin-bottom:12px}.guest-auth-page .auth-header p{font-size:1.1rem;color:var(--secondary)}.guest-auth-page .auth-form{margin-bottom:24px}.guest-auth-page .auth-info{margin-top:24px;padding-top:24px;border-top:2px solid var(--accent)}.guest-auth-page .auth-info p{font-size:.95rem;color:var(--secondary);margin-bottom:12px;line-height:1.5}.guest-auth-page .auth-info strong{color:var(--dark)}.guest-auth-page .auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:2px solid var(--accent)}.guest-dashboard-page{min-height:100vh;background:var(--light)}.guest-dashboard-page .dashboard-header{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);padding:32px 0;color:#fff;box-shadow:0 4px 12px #0000001a}.guest-dashboard-page .header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.guest-dashboard-page .dashboard-header h1{font-size:2rem;margin-bottom:4px;color:#fff}.phone-display{font-size:1rem;opacity:.9}.guest-dashboard-page .dashboard-content{padding:40px 20px}.booking-status-card{text-align:center;margin-bottom:32px}.booking-status-card h2{font-size:1.8rem;margin-bottom:24px;color:var(--dark)}.status-confirmed,.status-pending{padding:32px 24px}.status-icon{width:80px;height:80px;background:var(--success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 24px;animation:scaleIn .5s ease-out}.status-icon-pending{width:80px;height:80px;background:#ffc107;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 24px}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.status-confirmed h3{color:var(--success);font-size:1.8rem;margin-bottom:24px}.status-pending h3{color:var(--secondary);font-size:1.5rem;margin-bottom:16px}.booking-details{background:var(--light);padding:20px;border-radius:8px;margin:24px 0;text-align:left}.booking-details p{font-size:1.1rem;margin-bottom:12px;color:var(--dark)}.booking-details strong{color:var(--secondary);display:inline-block;min-width:150px}.info-text{color:var(--secondary);font-size:1rem;margin-top:16px}.booking-form-card{margin-bottom:32px}.booking-form-card h2{font-size:1.8rem;margin-bottom:24px;color:var(--dark)}.booking-form .form-group{margin-bottom:24px}.map-link{display:inline-block;margin-top:8px;color:var(--primary);text-decoration:underline;font-size:.95rem}.map-link:hover{color:var(--secondary)}.info-card h2{font-size:1.8rem;margin-bottom:24px;color:var(--dark)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.info-item strong{display:block;color:var(--secondary);margin-bottom:8px;font-size:1rem}.info-item p{color:var(--dark);font-size:1.1rem}.btn-small{padding:8px 16px;font-size:14px}.timeline-section{background:#fafafa}.venue-section{background:#fff}.transport-section{background:#fafafa}.transport-summary{max-width:1000px;margin:0 auto;padding:40px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a}.transport-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;margin-bottom:40px;padding-bottom:40px;border-bottom:2px solid var(--accent)}.transport-stat{display:flex;align-items:center;gap:20px;justify-content:center}.stat-icon{font-size:3rem;line-height:1}.stat-info{text-align:left}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary);line-height:1;margin-bottom:8px}.stat-label{font-size:1rem;color:var(--secondary);font-weight:500}.pickup-points-section h3{font-size:1.8rem;color:var(--dark);margin-bottom:24px;text-align:center}.pickup-points-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.pickup-point-card{display:flex;align-items:flex-start;gap:20px;padding:28px;background:linear-gradient(135deg,#fff,#f9f9f9);border-radius:12px;border-left:5px solid var(--primary);transition:all .3s ease;box-shadow:0 4px 12px #00000014}.pickup-point-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-left-color:var(--secondary)}.pickup-icon{font-size:2rem;line-height:1}.pickup-info{flex:1}.pickup-name{font-size:1.3rem;font-weight:600;color:var(--dark);margin-bottom:8px}.pickup-time{font-size:1.1rem;color:var(--secondary);margin-bottom:8px}.pickup-info .map-link{margin-top:12px;font-weight:500}@media(min-width:1440px){.couple-names{font-size:5.5rem}.wedding-date{font-size:2rem}.decorative-line{width:150px}.section-title{font-size:3.5rem}.section-title:after{width:120px;height:4px}.timeline-section,.venue-section,.transport-section{padding:100px 40px}.timeline{max-width:1100px}.timeline-item{padding:40px;gap:40px}.timeline-time{min-width:160px;font-size:1.4rem;padding:16px 24px}.timeline-content h3{font-size:1.8rem}.timeline-content p{font-size:1.1rem}.transport-summary{max-width:1200px;padding:50px}.pickup-points-list{grid-template-columns:repeat(2,1fr)}.cta-section{padding:120px 40px}.cta-section h2{font-size:3.5rem}.buses-grid{grid-template-columns:repeat(3,1fr)}.status-icon,.status-icon-pending{width:100px;height:100px;font-size:4rem}.hero-quick-actions{gap:24px}.btn-hero-action{padding:14px 40px;font-size:1.05rem}}@media(min-width:1024px)and (max-width:1439px){.couple-names{font-size:4.5rem}.wedding-date{font-size:1.7rem}.decorative-line{width:100px}.section-title{font-size:3rem}.timeline-section,.venue-section,.transport-section{padding:90px 30px}.timeline{max-width:950px}.timeline-item{padding:36px}.transport-summary{max-width:1000px;padding:45px}.cta-section{padding:100px 30px}.cta-section h2{font-size:3rem}.buses-grid{grid-template-columns:repeat(2,1fr)}.status-icon,.status-icon-pending{width:90px;height:90px;font-size:3.5rem}.info-grid{grid-template-columns:repeat(2,1fr)}.hero-quick-actions{gap:20px}}@media(min-width:768px)and (max-width:1023px){.couple-names{font-size:3.5rem}.wedding-date{font-size:1.4rem}.section-title{font-size:2.5rem}.buses-grid{grid-template-columns:repeat(2,1fr)}.timeline-item,.guest-dashboard-page .header-content{flex-direction:row}.info-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.couple-names{font-size:2.5rem;letter-spacing:1px}.wedding-date{font-size:1.2rem}.section-title{font-size:1.8rem}.section-title:after{width:60px;height:2px}.decorative-line{width:50px}.hero-text-wrapper{gap:16px}.btn-hero{font-size:1rem;padding:14px 36px}.hero-quick-actions{flex-direction:column;gap:12px;width:100%;padding:0 20px}.btn-hero-action{width:100%;justify-content:center;font-size:.95rem;padding:12px 24px}.card-decorative-pattern{width:150px;height:150px}.card-decorative-pattern:before{width:100px;height:100px}.card-decorative-pattern:after{width:50px;height:50px}.timeline-section,.venue-section,.transport-section{padding:40px 16px}.timeline{padding:0}.timeline-item{flex-direction:column;gap:16px;padding:20px;margin-bottom:20px}.timeline-time{min-width:auto;width:100%;font-size:1.1rem;padding:10px 16px}.timeline-content h3{font-size:1.3rem}.timeline-content p{font-size:.95rem;line-height:1.6}.transport-summary{padding:24px 20px}.transport-stats{grid-template-columns:1fr;gap:20px;margin-bottom:32px;padding-bottom:32px}.transport-stat{flex-direction:column;text-align:center;gap:12px}.stat-info{text-align:center}.stat-icon{font-size:2.5rem}.stat-value{font-size:2rem}.stat-label{font-size:.9rem}.pickup-points-list{grid-template-columns:1fr}.pickup-point-card{flex-direction:column;align-items:center;text-align:center;padding:20px}.pickup-points-section h3{font-size:1.4rem}.pickup-name{font-size:1.1rem}.pickup-time{font-size:1rem}.pickup-icon{font-size:1.8rem}.venue-section .card{padding:28px 20px}.cta-section{padding:60px 20px}.cta-section h2{font-size:1.8rem;margin-bottom:16px}.cta-section p{font-size:1.1rem;margin-bottom:32px}.buses-grid{grid-template-columns:1fr}.guest-dashboard-page .header-content{flex-direction:column;align-items:flex-start}.guest-dashboard-page .dashboard-header .btn-secondary{width:100%}.status-icon,.status-icon-pending{width:60px;height:60px;font-size:2rem}.booking-details strong{min-width:auto;display:block;margin-bottom:4px}.info-grid{grid-template-columns:1fr}}@media(min-width:1024px){.bus-card{transition:all .3s ease}.bus-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #00000026}.booking-form-card:hover,.booking-status-card:hover,.info-card:hover{box-shadow:0 8px 24px #0000001f}.btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.map-link:hover{transform:translate(3px);transition:transform .3s}}.manage-guests{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.actions-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;flex-wrap:wrap}.search-box{flex:1;max-width:400px}.search-input{width:100%;padding:12px 16px;border:2px solid #d4af37;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease}.search-input:focus{border-color:#8b7355;box-shadow:0 0 0 3px #d4af371a}.guests-table{width:100%;border-collapse:collapse}.guests-table thead{background:linear-gradient(135deg,#d4af37,#c09b2d);color:#fff}.guests-table th{padding:16px;text-align:left;font-weight:600;font-size:.9rem;white-space:nowrap}.guests-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:.95rem}.guests-table tbody tr{transition:background-color .2s ease}.guests-table tbody tr:hover{background-color:#faf8f3}.badge-secondary{background:#e2e3e5;color:#383d41}.checkbox{width:18px;height:18px;cursor:pointer;accent-color:#d4af37}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:30px}.guest-form{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=number],.form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}@media(max-width:768px){.manage-guests{padding:15px}.manage-header{flex-direction:column;align-items:flex-start;gap:15px}.manage-header h1{font-size:1.5rem}.actions-bar{flex-direction:column;align-items:stretch}.search-box{max-width:100%}.form-row{grid-template-columns:1fr}.table-container{border-radius:8px}.guests-table{font-size:.85rem}.guests-table th,.guests-table td{padding:10px 8px}.summary-stats{grid-template-columns:1fr;gap:15px}.stat-card{padding:20px}.stat-value{font-size:2rem}.modal-content{margin:10px;max-height:95vh}.modal-header,.guest-form{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.guests-table th,.guests-table td{font-size:.8rem;padding:8px 6px}.btn-icon{font-size:1rem}.stat-value{font-size:1.75rem}.stat-label{font-size:.85rem}}.manage-buses{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.section{margin-bottom:50px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.buses-summary{display:flex;flex-direction:column;gap:20px}.summary-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.summary-stat{text-align:center;padding:20px;background:linear-gradient(135deg,#f4e4c1,#fff);border-radius:10px;border-left:4px solid #d4af37}.stat-number{font-size:3rem;font-weight:700;color:#8b7355;margin-bottom:8px}.buses-list{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.buses-list h3{margin:0 0 20px;color:#8b7355;font-size:1.2rem}.simple-table{width:100%;border-collapse:collapse}.simple-table thead{background:linear-gradient(135deg,#d4af37,#c09b2d);color:#fff}.simple-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:.9rem}.simple-table td{padding:12px 16px;border-bottom:1px solid #f0f0f0;font-size:.95rem}.simple-table tbody tr{transition:background-color .2s ease}.simple-table tbody tr:hover{background-color:#faf8f3}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow-x:auto}.locations-table{width:100%;border-collapse:collapse}.locations-table thead{background:linear-gradient(135deg,#d4af37,#c09b2d);color:#fff}.locations-table th{padding:16px;text-align:left;font-weight:600;font-size:.9rem;white-space:nowrap}.locations-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:.95rem}.locations-table tbody tr{transition:background-color .2s ease}.locations-table tbody tr:hover{background-color:#faf8f3}.map-link{color:#d4af37;text-decoration:none;font-weight:500;transition:color .2s ease}.map-link:hover{color:#8b7355;text-decoration:underline}.empty-state{text-align:center;padding:60px 20px;color:#999;font-style:italic;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.modal-content{background:#fff;border-radius:16px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.bus-form,.location-form{padding:24px}@media(max-width:768px){.manage-buses{padding:15px}.manage-header{flex-direction:column;align-items:flex-start;gap:15px}.manage-header h1{font-size:1.5rem}.section-header{flex-direction:column;align-items:flex-start;gap:15px}.section-header button{width:100%}.summary-card{grid-template-columns:1fr}.stat-number{font-size:2.5rem}.buses-list{padding:20px}.simple-table{font-size:.85rem}.simple-table th,.simple-table td{padding:10px 8px}.table-container{border-radius:8px}.locations-table{font-size:.85rem}.locations-table th,.locations-table td{padding:10px 8px}.modal-content{margin:10px;max-height:95vh}.modal-header,.bus-form,.location-form{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.stat-number{font-size:2rem}.stat-label{font-size:.85rem}.simple-table th,.simple-table td,.locations-table th,.locations-table td{font-size:.8rem;padding:8px 6px}.btn-icon{font-size:1rem}}.manage-timeline{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.actions-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:40px;flex-wrap:wrap}.info-text p{margin:0;color:#666;font-size:.95rem}.timeline-container{max-width:900px;margin:0 auto 40px}.timeline{position:relative}.timeline-item{display:flex;gap:30px;margin-bottom:40px}.timeline-marker{position:relative;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline-dot{width:20px;height:20px;background:linear-gradient(135deg,#d4af37,#c09b2d);border:4px solid white;border-radius:50%;box-shadow:0 0 0 4px #d4af3733;z-index:2}.timeline-line{width:3px;flex:1;min-height:60px;background:linear-gradient(180deg,#d4af37,#d4af374d);margin-top:8px}.timeline-content{flex:1;padding-bottom:20px}.timeline-time{color:#d4af37;font-weight:700;font-size:1.2rem;margin-bottom:12px;letter-spacing:.5px}.timeline-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:20px;transition:all .3s ease;border-left:4px solid #d4af37}.timeline-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.timeline-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.timeline-card-header h3{margin:0;color:#333;font-size:1.3rem;flex:1}.timeline-actions{display:flex;gap:8px}.timeline-description{color:#666;line-height:1.6;margin:0 0 12px;font-size:.95rem}.timeline-order-badge{display:inline-block;background:#f8f9fa;color:#8b7355;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500}.empty-state{text-align:center;padding:80px 20px;color:#999;font-style:italic;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;max-width:900px;margin:0 auto}.stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center;border-top:4px solid #d4af37}.timeline-form{padding:24px}.form-group textarea{resize:vertical;min-height:100px}@media(max-width:768px){.manage-timeline{padding:15px}.manage-header{flex-direction:column;align-items:flex-start;gap:15px}.manage-header h1{font-size:1.5rem}.actions-bar{flex-direction:column;align-items:stretch}.actions-bar button{width:100%}.timeline-item{gap:20px}.timeline-time{font-size:1rem}.timeline-card{padding:16px}.timeline-card-header h3{font-size:1.1rem}.summary-stats{grid-template-columns:1fr}.stat-card{padding:20px}.stat-value{font-size:2rem}.modal-content{margin:10px;max-height:95vh}.modal-header,.timeline-form{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.timeline-item{gap:15px}.timeline-dot{width:16px;height:16px;border-width:3px}.timeline-card{padding:14px}.timeline-card-header{flex-direction:column;align-items:flex-start}.timeline-actions{width:100%;justify-content:flex-end}.btn-icon{font-size:1rem}.stat-value{font-size:1.75rem}.stat-label{font-size:.85rem}}.manage-expenses{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.financial-overview{margin-bottom:30px}.overview-card{background:linear-gradient(135deg,#fff,#f8f9fa);padding:30px;border-radius:16px;box-shadow:0 6px 20px #00000026;text-align:center;border:3px solid #d4af37}.overview-label{font-size:1.1rem;color:#666;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;font-weight:600}.overview-value{font-size:3rem;font-weight:700;margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.overview-value.positive{color:#28a745}.overview-value.negative{color:#dc3545}.overview-formula{font-size:.95rem;color:#777;margin-top:10px;font-style:italic}.stat-card.stat-info{border-top-color:#17a2b8}.actions-bar{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-bottom:25px;flex-wrap:wrap}.expenses-table{width:100%;border-collapse:collapse}.expenses-table thead{background:linear-gradient(135deg,#d4af37,#c09b2d);color:#fff}.expenses-table th{padding:16px;text-align:left;font-weight:600;font-size:.9rem;white-space:nowrap}.expenses-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:.95rem}.expenses-table tbody tr{transition:background-color .2s ease}.expenses-table tbody tr:hover{background-color:#faf8f3}.amount{font-weight:600;color:#8b7355}.balance{color:#dc3545}.category-badge{display:inline-block;padding:4px 12px;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.85rem;font-weight:500}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.modal-content.modal-small{max-width:450px}.expense-form,.category-form{padding:24px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a}@media(max-width:768px){.manage-expenses{padding:15px}.manage-header{flex-direction:column;align-items:flex-start;gap:15px}.manage-header h1{font-size:1.5rem}.overview-card{padding:20px}.overview-value{font-size:2.25rem}.overview-label{font-size:1rem}.overview-formula{font-size:.85rem}.summary-stats{grid-template-columns:1fr;gap:15px}.stat-card{padding:20px}.stat-value{font-size:1.75rem}.actions-bar{flex-direction:column;align-items:stretch}.actions-bar button{width:100%}.form-row{grid-template-columns:1fr}.table-container{border-radius:8px}.expenses-table{font-size:.85rem}.expenses-table th,.expenses-table td{padding:10px 8px}.modal-content{margin:10px;max-height:95vh}.modal-header,.expense-form,.category-form{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.overview-value{font-size:1.75rem}.overview-label{font-size:.9rem}.overview-formula{font-size:.75rem}.expenses-table th,.expenses-table td{font-size:.8rem;padding:8px 6px}.btn-icon{font-size:1rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.85rem}.category-badge,.badge{font-size:.75rem;padding:3px 8px}}.manage-gifts{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.stat-value{font-size:2.5rem;font-weight:700;color:#8b7355;margin-bottom:8px}.gifts-table{width:100%;border-collapse:collapse}.gifts-table thead{background:linear-gradient(135deg,#d4af37,#c09b2d);color:#fff}.gifts-table th{padding:16px;text-align:left;font-weight:600;font-size:.9rem;white-space:nowrap}.gifts-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:.95rem}.gifts-table tbody tr{transition:background-color .2s ease}.gifts-table tbody tr:hover{background-color:#faf8f3}.guest-name{font-weight:600;color:#333}.amount{font-weight:600;color:#28a745;font-size:1.1rem}.gift-form{padding:24px}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a}.form-group small{display:block;margin-top:6px;font-size:.85rem;color:#666}@media(max-width:768px){.manage-gifts{padding:15px}.manage-header{flex-direction:column;align-items:flex-start;gap:15px}.manage-header h1{font-size:1.5rem}.summary-stats{grid-template-columns:1fr;gap:15px}.stat-card{padding:20px}.stat-value{font-size:2rem}.actions-bar{justify-content:stretch}.actions-bar button{width:100%}.form-row{grid-template-columns:1fr}.table-container{border-radius:8px}.gifts-table{font-size:.85rem}.gifts-table th,.gifts-table td{padding:10px 8px}.modal-content{margin:10px;max-height:95vh}.modal-header,.gift-form{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.gifts-table th,.gifts-table td{font-size:.8rem;padding:8px 6px}.btn-icon{font-size:1rem}.stat-value{font-size:1.75rem}.stat-label{font-size:.85rem}.amount{font-size:1rem}}.manage-debts{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.manage-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.manage-header h1{color:#8b7355;font-size:2rem;margin:0}.back-btn{padding:10px 20px;font-size:.9rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 12px #0000001a;text-align:center;border-top:4px solid #d4af37;transition:transform .2s ease}.stat-card:hover{transform:translateY(-4px)}.stat-card.stat-success{border-top-color:#28a745}.stat-card.stat-warning{border-top-color:#ffc107}.stat-card.stat-danger{border-top-color:#dc3545}.stat-value{font-size:2rem;font-weight:700;color:#8b7355;margin-bottom:8px}.stat-label{font-size:.95rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.actions-bar{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-bottom:25px}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow-x:auto;margin-bottom:30px}.debts-table{width:100%;border-collapse:collapse}.debts-table thead{background:linear-gradient(135deg,#d4af37,#c09b2d);color:#fff}.debts-table th{padding:16px;text-align:left;font-weight:600;font-size:.9rem;white-space:nowrap}.debts-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:.95rem}.debts-table tbody tr{transition:background-color .2s ease}.debts-table tbody tr:hover{background-color:#faf8f3}.debts-table tbody tr.repaid-row{opacity:.7;background-color:#f0f9ff}.lender-name{font-weight:600;color:#333}.amount{font-weight:600;color:#dc3545;font-size:1.1rem}.notes{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666;font-size:.9rem}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.actions-cell{display:flex;gap:8px}.btn-icon{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:5px;border-radius:4px;transition:all .2s ease}.btn-icon:hover{background:#f0f0f0;transform:scale(1.1)}.btn-edit:hover{background:#fff3cd}.btn-delete:hover{background:#f8d7da}.empty-state{text-align:center;padding:60px 20px;color:#999;font-style:italic}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;max-width:550px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #f0f0f0}.modal-header h2{margin:0;color:#8b7355;font-size:1.5rem}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#f0f0f0;color:#333}.debt-form{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a}.form-group textarea{resize:vertical;min-height:80px}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;margin-bottom:0;font-weight:400}.checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#d4af37}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:2px solid #f0f0f0}@media(max-width:768px){.manage-debts{padding:15px}.manage-header{flex-direction:column;align-items:flex-start;gap:15px}.manage-header h1{font-size:1.5rem}.summary-stats{grid-template-columns:1fr;gap:15px}.stat-card{padding:20px}.stat-value{font-size:1.75rem}.actions-bar{justify-content:stretch}.actions-bar button{width:100%}.form-row{grid-template-columns:1fr}.table-container{border-radius:8px}.debts-table{font-size:.85rem}.debts-table th,.debts-table td{padding:10px 8px}.notes{max-width:150px}.modal-content{margin:10px;max-height:95vh}.modal-header,.debt-form{padding:20px}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.debts-table th,.debts-table td{font-size:.8rem;padding:8px 6px}.btn-icon{font-size:1rem}.stat-value{font-size:1.5rem}.stat-label{font-size:.85rem}.amount{font-size:1rem}.notes{max-width:100px;font-size:.8rem}.badge{font-size:.75rem;padding:3px 8px}}.spinner{border:4px solid #f3f3f3;border-top:4px solid #d4af37;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:100px auto}.manage-quotes-container{min-height:100vh;background:linear-gradient(135deg,#f4e4c1,#fff);padding:20px}.manage-quotes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.manage-quotes-header h1{color:#8b7355;font-size:2rem;margin:0}.btn-back{padding:10px 20px;background:#8b7355;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s}.btn-back:hover{background:#6d5a42;transform:translateY(-2px)}.manage-quotes-loading{text-align:center;padding:50px;font-size:1.2rem;color:#8b7355}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #f5c6cb}.quotes-layout{display:grid;grid-template-columns:300px 1fr;gap:20px}@media(max-width:968px){.quotes-layout{grid-template-columns:1fr}}.categories-sidebar{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000001a;height:fit-content;position:sticky;top:20px}.sidebar-header{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.sidebar-header h2{color:#8b7355;font-size:1.3rem;margin:0}.categories-list{display:flex;flex-direction:column;gap:10px}.category-card{background:#f8f9fa;padding:15px;border-radius:8px;cursor:pointer;transition:all .3s;border:2px solid transparent}.category-card:hover{background:#e9ecef;transform:translate(5px)}.category-card.active{background:#d4af37;color:#fff;border-color:#b8941f}.category-card h3{margin:0 0 8px;font-size:1.1rem}.category-stats{font-size:.9rem;opacity:.8;margin-bottom:10px}.category-actions{display:flex;gap:8px;margin-top:10px}.main-content{display:flex;flex-direction:column;gap:30px}.no-category-selected{background:#fff;padding:60px;border-radius:12px;text-align:center;box-shadow:0 4px 12px #0000001a}.no-category-selected p{font-size:1.2rem;color:#666}.section{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{color:#8b7355;font-size:1.5rem;margin:0}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.item-card{background:#f8f9fa;padding:20px;border-radius:8px;border:2px solid #e9ecef;transition:all .3s}.item-card:hover{border-color:#d4af37;transform:translateY(-3px);box-shadow:0 4px 12px #d4af3733}.item-card h3{margin:0 0 10px;color:#8b7355;font-size:1.1rem}.item-description{font-size:.9rem;color:#666;margin-bottom:15px;line-height:1.4}.item-actions{display:flex;gap:8px}.quotes-table-container{overflow-x:auto}.quotes-table{width:100%;border-collapse:collapse}.quotes-table thead{background:#f8f9fa}.quotes-table th{padding:12px;text-align:left;font-weight:600;color:#8b7355;border-bottom:2px solid #d4af37}.quotes-table td{padding:12px;border-bottom:1px solid #e9ecef}.quotes-table tbody tr:hover{background:#f8f9fa}.quote-items{display:flex;flex-wrap:wrap;gap:5px}.item-tag{background:#d4af37;color:#fff;padding:4px 8px;border-radius:4px;font-size:.85rem;white-space:nowrap}.amount-cell{font-weight:600;color:#28a745;font-size:1.1rem}.notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;color:#666}.action-buttons{display:flex;gap:8px}.btn-add{padding:10px 20px;background:#d4af37;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s}.btn-add:hover:not(:disabled){background:#b8941f;transform:translateY(-2px)}.btn-add:disabled{background:#ccc;cursor:not-allowed}.btn-edit-small,.btn-delete-small{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s}.btn-edit-small{background:#17a2b8;color:#fff}.btn-edit-small:hover{background:#138496}.btn-delete-small{background:#dc3545;color:#fff}.btn-delete-small:hover{background:#c82333}.empty-message{text-align:center;padding:40px;color:#999;font-size:1rem}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;padding:30px;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.modal-large{max-width:700px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e9ecef}.modal-header h2{color:#8b7355;font-size:1.5rem;margin:0}.close-button{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;line-height:1;transition:color .3s}.close-button:hover{color:#333}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group label{display:block;margin-bottom:8px;color:#8b7355;font-weight:600}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=number],.form-group textarea{width:100%;padding:10px;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#d4af37}.form-group textarea{resize:vertical}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.btn-add-item-inline{padding:6px 12px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s}.btn-add-item-inline:hover{background:#218838;transform:translateY(-1px)}.quick-add-item-form{margin-bottom:15px;padding:15px;background:#e8f5e9;border-radius:8px;border:2px solid #28a745}.quick-add-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}.quick-add-fields input{padding:8px 12px;border:2px solid #c3e6cb;border-radius:6px;font-size:.9rem}.quick-add-fields input:focus{outline:none;border-color:#28a745}.btn-quick-add{padding:8px 20px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;white-space:nowrap;transition:all .3s}.btn-quick-add:hover:not(:disabled){background:#218838}.btn-quick-add:disabled{background:#6c757d;cursor:not-allowed}.select-all-container{margin-bottom:15px;padding:12px;background:#e8f4f8;border-radius:8px;border:2px solid #17a2b8}.select-all-label{margin:0!important;padding:0!important;font-weight:600;color:#17a2b8}.select-all-label:hover{background:transparent!important}.items-selection{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:15px;background:#f8f9fa;border-radius:8px;border:2px solid #e9ecef;max-height:none}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px;border-radius:4px;transition:background .3s}.checkbox-label:hover{background:#fff}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{font-size:.95rem;color:#333}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;padding-top:20px;border-top:1px solid #e9ecef}.btn-cancel,.btn-submit{padding:10px 25px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .3s}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-submit{background:#d4af37;color:#fff}.btn-submit:hover:not(:disabled){background:#b8941f;transform:translateY(-2px)}.btn-submit:disabled{background:#ccc;cursor:not-allowed}@media(max-width:768px){.manage-quotes-header{flex-direction:column;align-items:flex-start;gap:15px}.form-row{grid-template-columns:1fr}.quotes-table{font-size:.85rem}.quotes-table th,.quotes-table td{padding:8px}.items-header{flex-direction:column;align-items:flex-start;gap:10px}.btn-add-item-inline{width:100%}.quick-add-fields,.items-selection{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #d4af37;--secondary: #8b7355;--accent: #f4e4c1;--dark: #2c2416;--light: #faf8f3;--error: #dc3545;--success: #28a745}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--light);color:var(--dark);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:12px 30px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-block;text-decoration:none;text-align:center}.btn-primary{background:var(--primary);color:var(--dark)}.btn-primary:hover{background:var(--secondary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--primary);color:var(--dark)}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}input,select,textarea{width:100%;padding:12px 16px;border:2px solid #ddd;border-radius:8px;font-size:16px;margin-bottom:16px;transition:border-color .3s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark)}.spinner{border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--primary);width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px}.alert-error{background:#f8d7da;color:var(--error);border:1px solid var(--error)}.alert-success{background:#d4edda;color:var(--success);border:1px solid var(--success)}@media(min-width:1024px){.container{max-width:1400px}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}}@media(min-width:768px)and (max-width:1023px){.container{max-width:900px}}@media(max-width:767px){.container{padding:0 16px}.btn{width:100%;padding:14px}}
