@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=DM+Sans:wght@300;400;500;600&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Source Sans Pro,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:10px 20px;transition:all .3s ease}button.primary{background-color:#3b82f6}button.primary:hover{background-color:#2563eb}button.secondary{background-color:#e5e7eb;color:#1f2937}button.secondary:hover{background-color:#d1d5db}button.danger{background-color:#ef4444}button.danger:hover{background-color:#dc2626}input,select,textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:1rem;margin-bottom:15px;padding:10px;width:100%}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:20px}.alert.error{border-left:4px solid #dc2626}.alert.success{background-color:#dcfce7;border-left:4px solid #22c55e;color:#166534}.navbar{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:15px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;justify-content:space-between}.navbar-logo{color:#ec4899;font-size:1.5rem;font-weight:700;text-decoration:none}.navbar-menu{align-items:center;display:flex;gap:20px}.navbar-user{color:#6b7280;font-weight:500}.nav-link{border-radius:6px;color:#ec4899;font-weight:500;padding:10px 20px;text-decoration:none;transition:background-color .3s}.nav-link:hover{background-color:#f0f9ff}.navbar-logo{gap:8px}.auth-container,.navbar-logo{align-items:center;display:flex}.auth-container{background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;min-height:calc(100vh - 70px);padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:30px;width:100%}.register-card{max-width:450px}.auth-header{align-items:center;display:flex;flex-direction:column;margin-bottom:20px}.heart-icon{fill:#ec4899;color:#ec4899;height:60px;margin-bottom:12px;width:60px}.auth-card h1{color:#1f2937;font-size:1.25rem;font-weight:700;margin-bottom:6px;text-align:center}.auth-card p{color:#6b7280;font-size:.875rem;margin-bottom:0;text-align:center}.form-group{margin-bottom:16px}.form-group label{color:#374151;font-size:.875rem;margin-bottom:6px}.form-group input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;outline:none;padding:10px 12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#ec4899}.user-type-chips{display:flex;gap:10px;margin-top:8px}.user-type-chip{align-items:center;background-color:#f3f4f6;border:1.5px solid #d1d5db;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.75rem;font-weight:500;gap:6px;padding:12px 8px;transition:all .3s}.user-type-chip svg{color:#6b7280}.user-type-chip.selected{background-color:#ec4899;border-color:#ec4899;color:#fff;font-weight:600}.user-type-chip.selected svg{color:#fff}.user-type-chip:hover:not(.selected){background-color:#e5e7eb;border-color:#9ca3af}.phone-input-group{display:flex;gap:8px}.country-code-select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;flex:0 0 110px;font-size:.875rem;outline:none;padding:10px;transition:border-color .3s}.country-code-select:focus{border-color:#ec4899}.phone-number-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:.875rem;outline:none;padding:10px 12px;transition:border-color .3s}.phone-number-input:focus{border-color:#ec4899}.password-input-wrapper{align-items:center;display:flex;position:relative;width:100%}.password-input-wrapper input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;outline:none;padding:10px 40px 10px 12px;transition:border-color .3s;width:100%}.password-input-wrapper input:focus{border-color:#ec4899}.password-toggle{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:10px;transition:color .3s}.password-toggle:hover{color:#ec4899}.terms-checkbox{align-items:flex-start;display:flex;font-size:.875rem;gap:8px;margin-bottom:20px}.terms-checkbox input[type=checkbox]{accent-color:#ec4899;cursor:pointer;height:18px;margin-top:2px;width:18px}.terms-checkbox label{color:#4b5563;cursor:pointer;line-height:1.4}.terms-link{color:#ec4899;cursor:pointer;font-weight:600}.terms-link:hover{text-decoration:underline}.forgot-password{margin-bottom:16px;margin-top:6px;text-align:right}.forgot-password a{color:#ec4899;font-size:.875rem;font-weight:500;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.auth-card button.primary{background-color:#ec4899;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:10px;transition:background-color .3s;width:100%}.auth-card button.primary:hover:not(:disabled){background-color:#db2777}.auth-card button.primary:disabled{cursor:not-allowed;opacity:.6}.auth-link{color:#6b7280;font-size:.875rem;margin-top:16px;text-align:center}.auth-link a{color:#ec4899;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.alert{border-radius:6px;font-size:.875rem;margin-bottom:16px;padding:12px}.alert.error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.alert.success{background-color:#d1fae5;border:1px solid #6ee7b7;color:#065f46}.alert.info{background-color:#dbeafe;border:1px solid #93c5fd;color:#1e40af}@media (max-width:640px){.auth-container{padding:10px}.auth-card{padding:20px}.user-type-chips{flex-direction:column}.user-type-chip{flex-direction:row;justify-content:center;padding:10px}.heart-icon{height:50px;width:50px}.auth-card h1{font-size:1.1rem}.auth-container{min-height:100vh;padding:10px}.auth-card{padding:20px}.auth-card,.register-card{max-width:100%}.country-code-select,.form-group input,.password-input-wrapper input,.phone-number-input{-webkit-appearance:none;font-size:16px}.password-input-wrapper{width:100%}.password-input-wrapper input{padding-right:40px;width:100%}.password-toggle{padding:8px;right:10px}.user-type-chips{flex-direction:column}.user-type-chip{flex-direction:row;justify-content:center;padding:10px}.heart-icon{height:50px;width:50px}.auth-card h1{font-size:1.1rem}.form-group{margin-bottom:14px}.terms-checkbox{margin-bottom:16px}}@media (max-width:375px){.auth-card{padding:16px}.phone-input-group{flex-direction:column}.country-code-select{flex:1 1;width:100%}}.coming-soon-container{align-items:center;display:flex;flex-direction:column;justify-content:center;max-width:550px;padding:1.5rem 2rem}.coming-soon-icon{animation:bounce 2s infinite;font-size:3rem;margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.coming-soon-container h2{color:#2d3748;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.coming-soon-text{color:#e91e63;font-size:1.2rem;letter-spacing:1.5px;margin-bottom:1rem;text-transform:uppercase}.coming-soon-description{color:#4a5568;font-size:.95rem;line-height:1.5;margin-bottom:1.2rem}.coming-soon-features{margin:0 0 1.2rem;text-align:left;width:100%}.coming-soon-features li{background:#f7fafc;border-left:3px solid #e91e63;border-radius:6px;color:#2d3748;font-size:.9rem;margin-bottom:.5rem;padding:.5rem .8rem;transition:all .3s ease}.coming-soon-features li:hover{background:#edf2f7;box-shadow:0 2px 8px #0000001a;transform:translateX(5px)}.coming-soon-footer{color:#718096;font-size:.9rem;margin-top:.5rem}.modal-overlay{animation:fadeIn .3s ease;background:#0009;padding:1rem}.modal-content{animation:slideUp .3s ease;max-width:600px;overflow-y:auto;padding:1.5rem;position:relative}.close-btn{background:#e91e63;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:1.5rem;padding:.65rem 2rem;transition:all .3s ease;width:100%}.close-btn:hover{background:#c2185b;box-shadow:0 4px 12px #e91e634d;transform:translateY(-2px)}@media (max-width:768px){.coming-soon-container{padding:1rem 1.5rem}.coming-soon-icon{font-size:2.5rem;margin-bottom:.8rem}.coming-soon-container h2{font-size:1.5rem}.coming-soon-text{font-size:1rem}.coming-soon-description{font-size:.85rem;margin-bottom:1rem}.coming-soon-features li{font-size:.85rem;margin-bottom:.4rem;padding:.45rem .7rem}.modal-content{max-height:85vh;padding:1.2rem}.close-btn{font-size:.9rem;padding:.6rem 1.5rem}}@media (max-width:480px){.coming-soon-icon{font-size:2rem}.coming-soon-container h2{font-size:1.3rem}}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.page-header h1{color:#1f2937;font-size:2rem}.wedding-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:40px}.wedding-card{border:1px solid #e5e7eb;transition:transform .3s,box-shadow .3s}.wedding-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.wedding-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.wedding-card h2{color:#1f2937;font-size:1.25rem;margin:0}.status-badge{font-size:.875rem}.status-badge.planning{background-color:#dbeafe;color:#db2777}.status-badge.in_progress{background-color:#fef08a;color:#713f12}.status-badge.completed{background-color:#dcfce7;color:#166534}.wedding-budget,.wedding-date,.wedding-venue{color:#6b7280;margin:8px 0}.wedding-card-actions{display:flex;gap:10px;margin-top:15px}.wedding-card-actions .button{flex:1 1;font-size:.875rem;padding:8px 12px}.form-container{margin:40px auto;max-width:600px}.form-container h1{color:#1f2937;margin-bottom:30px;text-align:center}.form-row{grid-gap:20px;gap:20px}.form-row .form-group{margin-bottom:0}.form-actions{margin-top:20px}.form-actions button{flex:1 1}.empty-state{border-radius:8px}.empty-state p{color:#6b7280;font-size:1.1rem;margin-bottom:20px}.wedding-detail{margin:40px auto;max-width:900px}.wedding-detail-header{background:linear-gradient(135deg,#db2777,#764ba2);border-radius:12px;color:#fff;margin-bottom:30px;padding:40px}.wedding-detail-header h1{font-size:2.5rem;margin-bottom:10px}.wedding-detail-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.info-item{background:#fff;border-left:4px solid #db2777;border-radius:8px;padding:15px}.info-item label{color:#6b7280;font-size:.875rem;font-weight:600}.info-item p{color:#1f2937;font-size:1.1rem;margin-top:5px}.tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:10px;margin-bottom:20px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s}.tab-button.active{border-bottom-color:#db2777;color:#db2777}.tab-button:hover{color:#db2777}.tab-content{display:none}.tab-content.active{display:block}.form-actions .primary{background-color:#db2777;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.form-actions .primary:hover:not(:disabled){background-color:#be185d}.form-actions .primary:disabled{background-color:#f3b8d3;cursor:not-allowed}.single-line-header{align-items:center;display:flex;white-space:nowrap}.stats-grid{grid-gap:15px;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{background:linear-gradient(135deg,#ec4899,#764ba2);border-radius:8px;color:#fff}.stat-number{font-size:2rem;font-weight:700;margin-bottom:5px}.stat-label{font-size:.875rem;opacity:.9}.guest-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.guest-card{border:1px solid #e5e7eb}.guest-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.guest-header h3{color:#1f2937;margin:0}.guest-meta{color:#6b7280;font-size:.875rem;margin:5px 0 0}.rsvp-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:5px 12px}.rsvp-badge.confirmed{background-color:#dcfce7;color:#166534}.rsvp-badge.pending{background-color:#fef08a;color:#713f12}.rsvp-badge.declined{background-color:#fee2e2;color:#991b1b}.guest-details{margin-bottom:15px}.guest-details p{color:#6b7280;font-size:.9rem;margin:8px 0}.guest-actions{display:flex;gap:10px}.guest-actions button{flex:1 1;font-size:.875rem;padding:8px 12px}.guest-form{border:2px solid #dbeafe;margin-bottom:30px}.guest-form h3{color:#1f2937;margin-bottom:20px}.primary{background-color:#db2777;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.primary:hover:not(:disabled){background-color:#be185d}.primary:disabled{background-color:#f3b8d3;cursor:not-allowed}.gs-wrapper{font-family:DM Sans,sans-serif;margin-bottom:32px}.gs-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:16px}.gs-card{align-items:flex-start;border-radius:14px;display:flex;gap:12px;padding:18px 16px 16px;transition:transform .2s ease,box-shadow .2s ease}.gs-card:hover{transform:translateY(-2px)}.gs-card--purple{background:linear-gradient(135deg,#f3e8ff,#ede9fe);box-shadow:0 2px 12px #8b5cf61f}.gs-card--purple .gs-value{color:#7c3aed}.gs-card--green{background:linear-gradient(135deg,#d1fae5,#ecfdf5);box-shadow:0 2px 12px #10b9811f}.gs-card--green .gs-value{color:#059669}.gs-card--yellow{background:linear-gradient(135deg,#fef9c3,#fefce8);box-shadow:0 2px 12px #eab3081f}.gs-card--yellow .gs-value{color:#b45309}.gs-card--red{background:linear-gradient(135deg,#fee2e2,#fff5f5);box-shadow:0 2px 12px #ef44441f}.gs-card--red .gs-value{color:#dc2626}.gs-card--pink{background:linear-gradient(135deg,#fce7f3,#fdf2f8);box-shadow:0 2px 12px #ec48991f}.gs-card--pink .gs-value{color:#db2777}.gs-icon{flex-shrink:0;font-size:1.4rem;line-height:1;margin-top:2px}.gs-body{flex:1 1;min-width:0}.gs-value{font-size:2rem;font-weight:700;line-height:1;margin-bottom:4px;min-height:2rem}.gs-label{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.gs-sub{color:#9ca3af;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-skeleton{animation:gs-shimmer 1.4s infinite;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%);background-size:200% 100%;border-radius:6px;display:inline-block;height:28px;vertical-align:middle;width:48px}@keyframes gs-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gs-progress-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:14px 18px}.gs-progress-bar{background:#f3f4f6;border-radius:99px;display:flex;height:8px;margin-bottom:10px;overflow:hidden}.gs-progress-fill{height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.gs-progress-fill--confirmed{background:#10b981}.gs-progress-fill--pending{background:#f59e0b}.gs-progress-fill--declined{background:#ef4444}.gs-legend{display:flex;flex-wrap:wrap;gap:16px}.gs-legend-item{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:5px}.gs-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.gs-legend-item--confirmed .gs-legend-dot{background:#10b981}.gs-legend-item--pending .gs-legend-dot{background:#f59e0b}.gs-legend-item--declined .gs-legend-dot{background:#ef4444}.gs-error{color:#dc2626;font-size:.85rem;margin-bottom:12px}:root{--budget-pink:#db2777;--budget-pink-light:#fce7f3;--budget-pink-mid:#f9a8d4;--budget-purple:#7c3aed;--budget-green:#059669;--budget-green-bg:#d1fae5;--budget-red:#dc2626;--budget-red-bg:#fee2e2;--budget-gray-50:#f9fafb;--budget-gray-100:#f3f4f6;--budget-gray-200:#e5e7eb;--budget-gray-500:#6b7280;--budget-gray-700:#374151;--budget-gray-900:#111827;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-pink:0 4px 20px #db277726;--radius:14px;--font-display:"Playfair Display",serif;--font-body:"DM Sans",sans-serif}.budget-summary-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px}.budget-card{border-radius:14px;border-radius:var(--radius);font-family:DM Sans,sans-serif;font-family:var(--font-body);overflow:hidden;padding:24px 20px 20px;position:relative;transition:transform .22s ease,box-shadow .22s ease}.budget-card:hover{transform:translateY(-3px)}.budget-card:first-child{background:linear-gradient(135deg,#1e1b4b,#312e81);box-shadow:0 4px 20px #312e8140;color:#fff}.budget-card:nth-child(2){background:linear-gradient(135deg,#7f1d1d,#dc2626);box-shadow:0 4px 20px #dc262640;color:#fff}.budget-card:nth-child(3){background:linear-gradient(135deg,#064e3b,#059669);box-shadow:0 4px 20px #05966940;color:#fff}.budget-card:nth-child(4){background:linear-gradient(135deg,#701a75,#db2777);box-shadow:0 4px 20px #db277726;box-shadow:var(--shadow-pink);color:#fff}.budget-card:after{background:#ffffff12;border-radius:50%;content:"";height:96px;pointer-events:none;position:absolute;right:-24px;top:-24px;width:96px}.budget-card h4{font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.1em;margin:0 0 12px;opacity:.75;text-transform:uppercase}.budget-amount{font-family:Playfair Display,serif;font-family:var(--font-display);font-size:1.6rem;font-weight:700;line-height:1.1;margin:0 0 6px;word-break:break-word}.budget-amount.positive{color:#86efac}.budget-amount.negative{color:#fca5a5}.budget-label{font-size:.75rem;font-weight:400;margin:0;opacity:.7}.progress-bar{background:#fff3;border-radius:99px;height:6px;margin:14px 0 8px;overflow:hidden;width:100%}.progress-fill{background:#ffffffd9;border-radius:99px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.budget-by-category{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--budget-gray-200);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);margin-bottom:28px;overflow:hidden}.budget-by-category h3{color:#111827;color:var(--budget-gray-900);font-family:Playfair Display,serif;font-family:var(--font-display);font-size:1.1rem;margin:0;padding:20px 24px 16px}.budget-by-category h3,.category-row{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--budget-gray-100)}.category-row{align-items:center;display:flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);justify-content:space-between;padding:14px 24px;transition:background .15s ease}.category-row:last-child{border-bottom:none}.category-row:hover{background:#f9fafb;background:var(--budget-gray-50)}.category-name{align-items:center;color:#111827;color:var(--budget-gray-900);display:flex;font-size:.9rem;gap:8px}.category-name:before{background:linear-gradient(135deg,#db2777,#7c3aed);background:linear-gradient(135deg,var(--budget-pink),var(--budget-purple));border-radius:50%;content:"";display:inline-block;flex-shrink:0;height:8px;width:8px}.category-amounts{display:flex;font-size:.82rem;gap:24px}.category-amounts span:first-child{color:#6b7280;color:var(--budget-gray-500)}.category-amounts span:last-child{color:#dc2626;color:var(--budget-red);font-weight:500}.budget-items{margin-top:28px}.budget-items h3{color:#111827;color:var(--budget-gray-900);font-family:Playfair Display,serif;font-family:var(--font-display);font-size:1.1rem;margin-bottom:16px}.budget-item{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--budget-gray-200);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);font-family:DM Sans,sans-serif;font-family:var(--font-body);margin-bottom:12px;overflow:hidden;padding:20px;position:relative;transition:transform .2s ease,box-shadow .2s ease}.budget-item:before{background:linear-gradient(180deg,#db2777,#7c3aed);background:linear-gradient(180deg,var(--budget-pink) 0,var(--budget-purple) 100%);border-radius:4px 0 0 4px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.budget-item:hover{box-shadow:0 4px 16px #00000014;box-shadow:var(--shadow-md);transform:translateY(-2px)}.budget-item-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.budget-item-header h4{color:#111827;color:var(--budget-gray-900);font-size:1rem;font-weight:600;margin:0 0 4px}.budget-category{background:#fce7f3;background:var(--budget-pink-light);border-radius:99px;color:#db2777;color:var(--budget-pink);display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0;padding:2px 8px;text-transform:uppercase}.budget-item-amounts{display:flex;flex-shrink:0;gap:16px;text-align:right}.amount{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.amount .label{color:#6b7280;color:var(--budget-gray-500);font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.amount .value{color:#111827;color:var(--budget-gray-900);font-size:.95rem;font-weight:700}.budget-notes{background:#f9fafb;background:var(--budget-gray-50);border-left:3px solid #e5e7eb;border-left:3px solid var(--budget-gray-200);border-radius:6px;color:#6b7280;color:var(--budget-gray-500);font-size:.82rem;font-style:italic;margin:0 0 14px;padding:8px 12px}.budget-item-actions{border-top:1px solid #f3f4f6;border-top:1px solid var(--budget-gray-100);display:flex;gap:0;margin:12px -20px -20px}.budget-item-actions button{background:#0000;border:none;cursor:pointer;flex:1 1;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.03em;padding:10px 12px;transition:background .2s ease,color .2s ease}.budget-item-actions .secondary{border-right:1px solid #f3f4f6;border-right:1px solid var(--budget-gray-100);color:#6b7280;color:var(--budget-gray-500)}.budget-item-actions .secondary:hover{background:#f9fafb;background:var(--budget-gray-50);color:#374151;color:var(--budget-gray-700)}.budget-item-actions .danger{color:#dc2626;color:var(--budget-red);font-weight:600}.budget-item-actions .danger:hover{background:#fee2e2;background:var(--budget-red-bg);color:#991b1b}.budget-form{background:#0000;border:none;box-shadow:none;font-family:DM Sans,sans-serif;font-family:var(--font-body);margin-bottom:0;padding:0}.budget-form h3{display:none}@media (max-width:640px){.budget-summary-cards{grid-template-columns:repeat(2,1fr)}.budget-amount{font-size:1.25rem}.budget-item-header{align-items:flex-start;flex-direction:column}.budget-item-amounts{text-align:left}.amount,.budget-item-amounts{align-items:flex-start}.category-amounts{flex-direction:column;gap:2px;text-align:right}}@media (max-width:400px){.budget-summary-cards{grid-template-columns:1fr}}.photo-gallery{padding:20px 0}.gallery-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.gallery-album{border:1px solid #e5e7eb;transition:transform .3s}.gallery-album:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.gallery-album h3{color:#1f2937;margin-bottom:10px}.album-type{color:#6b7280;font-size:.875rem;text-transform:capitalize}.photo-count{color:#3b82f6;font-weight:600;margin:10px 0}.album-preview{grid-gap:10px;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:15px 0;max-height:200px;overflow:hidden}.album-preview img{border-radius:4px;height:100px;object-fit:cover;width:100%}.upload-btn{background-color:#3b82f6;border-radius:6px;color:#fff;cursor:pointer;display:block;padding:10px 15px;text-align:center;transition:background-color .3s}.upload-btn:hover{background-color:#2563eb}.coming-soon-container{margin:0 auto;max-width:600px;padding:60px 20px;text-align:center}.coming-soon-icon{animation:pulse 2s ease-in-out infinite;font-size:4rem;margin-bottom:20px}.coming-soon-container h2{color:#1f2937;font-size:2rem;margin-bottom:10px}.coming-soon-text{color:#db2777;font-size:1.5rem;font-weight:600;margin-bottom:20px}.coming-soon-description{color:#6b7280;font-size:1.1rem;margin-bottom:20px}.coming-soon-features{list-style:none;margin:30px 0;padding:0}.coming-soon-features li{background:#fff;border-left:4px solid #db2777;border-radius:8px;color:#1f2937;font-size:1rem;margin:10px 0;padding:15px;text-align:left}.coming-soon-footer{color:#9ca3af;font-style:italic;margin-top:30px}.timeline-container{margin:0 auto;max-width:1400px;padding:20px}.header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.header-section h2{color:#2c3e50;font-size:28px;margin:0}.header-actions{display:flex;gap:10px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center;transition:transform .2s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card.upcoming{border-left:4px solid #3498db}.stat-card.overdue{border-left:4px solid #e74c3c}.stat-card.done{border-left:4px solid #27ae60}.stat-value{color:#2c3e50;font-size:36px;font-weight:700;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.view-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:30px}.view-mode-toggle{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;overflow:hidden}.view-mode-toggle button{background:#fff;border:none;border-right:1px solid #ecf0f1;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s}.view-mode-toggle button:last-child{border-right:none}.view-mode-toggle button:hover{background:#f8f9fa}.view-mode-toggle button.active{background:#3498db;color:#fff;font-weight:600}.filter-controls{display:flex;gap:10px}.filter-controls select{background:#fff;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 15px}.timeline-view{padding:20px 0;position:relative}.timeline-month-group{animation:fadeInUp .6s ease-out;margin-bottom:60px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.month-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#2c3e50;color:#fff;display:inline-block;font-size:28px;font-weight:700;margin-bottom:30px;overflow:hidden;padding:15px 20px;position:relative}.month-header:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.month-header:hover:before{left:100%}.timeline-vertical{padding-left:60px;position:relative}.timeline-vertical:before{background:linear-gradient(180deg,#667eea 0,#764ba2 50%,#f093fb);border-radius:2px;bottom:0;box-shadow:0 0 10px #667eea4d;content:"";left:20px;position:absolute;top:0;width:4px}.timeline-item{animation:slideInRight .5s ease-out;animation-fill-mode:both;margin-bottom:40px;position:relative}.timeline-item:first-child{animation-delay:.1s}.timeline-item:nth-child(2){animation-delay:.2s}.timeline-item:nth-child(3){animation-delay:.3s}.timeline-item:nth-child(4){animation-delay:.4s}.timeline-item:nth-child(n+5){animation-delay:.5s}@keyframes slideInRight{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.timeline-item.overdue .timeline-content{border-left:5px solid #e74c3c;box-shadow:0 4px 20px #e74c3c33}.timeline-item.overdue .timeline-marker{animation:pulse 2s infinite;background:#ffebee;border-color:#e74c3c}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #e74c3cb3;transform:scale(1)}50%{box-shadow:0 0 0 10px #e74c3c00;transform:scale(1.05)}}.timeline-item.done .timeline-content{background:linear-gradient(90deg,#f8f9fa,#fff);border-left:5px solid #27ae60}.timeline-item.done .timeline-marker{background:#d4edda;border-color:#27ae60}.timeline-item.done .item-header h3{color:#95a5a6;text-decoration:line-through}.timeline-marker{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:4px solid #fff;border-radius:50%;box-shadow:0 4px 15px #667eea66;display:flex;height:44px;justify-content:center;left:-42px;position:absolute;top:24px;transition:all .3s ease;width:44px;z-index:3}.timeline-marker:hover{box-shadow:0 6px 20px #667eea99;transform:scale(1.15) rotate(5deg)}.timeline-marker input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;width:18px}.timeline-content{background:#fff;border-left:5px solid #0000;border-radius:16px;box-shadow:0 8px 24px #00000014;overflow:hidden;padding:25px;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.timeline-content:before{background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.timeline-content:hover:before{transform:scaleX(1)}.timeline-content:hover{border-left-color:#667eea;box-shadow:0 12px 32px #667eea40;transform:translateX(8px) translateY(-4px)}.timeline-item:after{background:linear-gradient(90deg,#667eea,#0000);content:"";height:2px;left:-20px;position:absolute;top:44px;width:40px;z-index:1}.timeline-item.done:after{background:linear-gradient(90deg,#27ae60,#0000)}.timeline-item.overdue:after{background:linear-gradient(90deg,#e74c3c,#0000)}.item-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.item-header h3{color:#2c3e50;font-size:22px;font-weight:700;line-height:1.4;margin:0 0 12px;transition:color .3s ease}.timeline-content:hover .item-header h3{color:#667eea}.item-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.badge{align-items:center;border-radius:24px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.8px;padding:6px 14px;text-transform:uppercase;transition:all .3s ease}.badge:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.badge-event{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.badge-task{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 2px 8px #f093fb4d;color:#fff}.badge-priority-high{background:linear-gradient(135deg,#fa709a,#fee140);box-shadow:0 2px 8px #fa709a4d;color:#fff}.badge-priority-urgent{animation:urgentPulse 2s infinite;background:linear-gradient(135deg,#ff0844,#ffb199);box-shadow:0 2px 8px #ff08444d;color:#fff}@keyframes urgentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.badge-priority-low{background:linear-gradient(135deg,#a8edea,#fed6e3);box-shadow:0 2px 8px #a8edea4d;color:#2c3e50}.item-date{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;box-shadow:inset 0 2px 4px #0000000d;min-width:140px;padding:15px;text-align:right}.item-date strong{color:#2c3e50;display:block;font-size:18px;font-weight:700;margin-bottom:6px}.item-date small{color:#7f8c8d;display:block;font-size:13px;font-weight:600;margin-top:6px}.item-date small.urgent{animation:blink 2s infinite;color:#e67e22;font-weight:700}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.6}}.overdue-label{background:#e74c3c1a;border-radius:6px;color:#e74c3c!important;display:inline-block;font-weight:800;padding:4px 8px}.item-description{background:#f8f9fa;border-left:3px solid #667eea;border-radius:10px;color:#555;font-size:15px;line-height:1.8;margin-bottom:20px;padding:15px}.item-meta{background:linear-gradient(135deg,#ffecd2,#fcb69f);border-radius:12px;box-shadow:0 2px 8px #fcb69f33;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:16px}.item-meta span{align-items:center;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;gap:6px;padding:6px 12px}.item-meta span,.status-select{background:#fff;color:#2c3e50;font-size:14px;font-weight:600}.status-select{background:linear-gradient(135deg,#ffecd2,#fcb69f);border:3px solid #ecf0f1;border-radius:10px;cursor:pointer;margin-bottom:20px;padding:10px 16px;transition:all .3s ease;width:100%}.status-select:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.status-select:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}.item-actions{border-top:2px dashed #ecf0f1;display:flex;gap:12px;margin-top:20px;padding-top:20px}.kanban-view{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.kanban-column{background:#f8f9fa;border-radius:12px;min-height:400px;padding:20px}.column-header{border-bottom:3px solid #3498db;color:#2c3e50;font-size:18px;font-weight:700;letter-spacing:.5px;margin:0 0 20px;padding-bottom:10px;text-transform:uppercase}.kanban-items{display:flex;flex-direction:column;gap:15px}.kanban-card{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;cursor:grab;padding:15px;transition:all .3s}.kanban-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.kanban-card.priority-high{border-left:4px solid #e67e22}.kanban-card.priority-urgent{border-left:4px solid #e74c3c}.kanban-card.overdue{border:2px solid #e74c3c}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.card-header input[type=checkbox]{cursor:pointer;height:18px;width:18px}.kanban-card h4{color:#2c3e50;font-size:16px;margin:0 0 10px}.card-assigned,.card-cost,.card-date{color:#555;font-size:13px;margin-bottom:8px}.overdue-badge{background:#e74c3c;border-radius:12px;color:#fff;font-size:11px;font-weight:700;margin-left:10px;padding:2px 8px}.card-actions{border-top:1px solid #ecf0f1;display:flex;gap:10px;justify-content:flex-end;margin-top:15px;padding-top:15px}.icon-btn{background:none;border:none;cursor:pointer;font-size:18px;padding:5px;transition:transform .2s}.icon-btn:hover{transform:scale(1.2)}.list-view{display:flex;flex-direction:column;gap:15px}.list-item{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:20px;transition:all .3s}.list-item:hover{box-shadow:0 4px 12px #00000026}.list-item.overdue{border-left:4px solid #e74c3c}.list-item.done{opacity:.6}.list-item-checkbox input[type=checkbox]{cursor:pointer;height:20px;width:20px}.list-item-content{flex:1 1}.list-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.list-item-header h3{color:#2c3e50;font-size:18px;margin:0}.list-item-badges{display:flex;gap:8px}.list-item-meta{color:#555;display:flex;flex-wrap:wrap;font-size:14px;gap:20px}.list-item-actions{align-items:center;display:flex;gap:10px}.status-select-inline{background:#fff;border:2px solid #ecf0f1;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 10px}.timeline-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.timeline-form h3{color:#2c3e50;font-size:22px;margin:0 0 25px}.type-selector{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.type-btn{background:#fff;border:2px solid #ecf0f1;border-radius:10px;cursor:pointer;font-size:16px;font-weight:600;padding:20px;text-align:left;transition:all .3s}.type-btn small{color:#7f8c8d;display:block;font-size:13px;font-weight:400;margin-top:5px}.type-btn:hover{background:#f8f9fa;border-color:#3498db}.type-btn.active{background:#e3f2fd;border-color:#3498db;color:#1976d2}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #ecf0f1;border-radius:8px;font-size:14px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-actions{display:flex;gap:10px;margin-top:25px}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.empty-state p{color:#7f8c8d;font-size:16px;margin:0}button.primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:14px;font-weight:700;overflow:hidden;padding:14px 28px;position:relative;transition:all .3s ease}button.primary:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}button.primary:hover:before{left:100%}button.primary:hover{box-shadow:0 6px 20px #667eea99;transform:translateY(-3px)}button.primary:active{box-shadow:0 3px 10px #667eea66;transform:translateY(-1px)}button.secondary{background:#fff;border:3px solid #667eea;border-radius:12px;color:#667eea;cursor:pointer;font-size:14px;font-weight:700;overflow:hidden;padding:11px 24px;position:relative;transition:all .3s ease}button.secondary:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s,height .4s;width:0;z-index:-1}button.secondary:hover:before{height:300px;width:300px}button.secondary:hover{border-color:#764ba2;box-shadow:0 4px 15px #667eea4d;color:#fff}button.danger{background:linear-gradient(135deg,#ff0844,#ffb199);border:none;border-radius:12px;box-shadow:0 4px 15px #ff08444d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:11px 24px;transition:all .3s ease}button.danger:hover{background:linear-gradient(135deg,#e00739,#ff9f85);box-shadow:0 6px 20px #ff084480;transform:translateY(-3px)}button:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.alert{border-radius:8px;font-size:14px;margin-bottom:20px;padding:15px}.alert.error{background:#ffebee;border-left:4px solid #c62828;color:#c62828}@media (max-width:768px){.header-section{align-items:flex-start;flex-direction:column;gap:15px}.view-controls{align-items:stretch;flex-direction:column}.view-mode-toggle{width:100%}.view-mode-toggle button{flex:1 1}.filter-controls{flex-direction:column}.form-row,.kanban-view,.type-selector{grid-template-columns:1fr}.list-item{align-items:flex-start;flex-direction:column}.list-item-actions{justify-content:space-between;width:100%}.timeline-vertical{padding-left:50px}.timeline-vertical:before{left:16px}.timeline-marker{height:36px;left:-36px;width:36px}.timeline-marker input[type=checkbox]{height:16px;width:16px}.timeline-item:after{left:-14px;width:30px}.month-header{font-size:22px;padding:12px 16px}.item-header{flex-direction:column;gap:15px}.item-date{text-align:left;width:100%}.item-meta{gap:10px}.item-actions{flex-wrap:wrap}.item-actions button{flex:1 1;min-width:120px}}@media (max-width:480px){.timeline-vertical{padding-left:40px}.timeline-vertical:before{left:12px;width:3px}.timeline-marker{height:32px;left:-32px;width:32px}.timeline-item:after{left:-10px;width:25px}.stats-grid{grid-template-columns:1fr 1fr}.item-header h3{font-size:18px}.timeline-content{padding:20px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,#ea66c0,#c61b79);border-bottom:2px solid #f0f0f0;display:flex;flex-shrink:0;justify-content:space-between;padding:24px 28px}.modal-header h2{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.5px;margin:0}.modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg) scale(1.1)}.modal-close:active{transform:rotate(90deg) scale(.95)}.modal-body{flex:1 1;overflow-y:auto;padding:28px}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:10px}.modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#ea66c0,#c61b79);border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#c61b79,#ea66c0)}.modal-body .card{background:#0000;border:none;box-shadow:none;margin:0;padding:0}.modal-body .card h3{display:none}.modal-body form{margin:0}.modal-body .form-actions{border-top:2px dashed #f0f0f0;margin-top:28px;padding-top:24px}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{border-radius:12px;max-height:95vh;max-width:95%}.modal-header{padding:20px}.modal-header h2{font-size:1.25rem}.modal-body{padding:20px}.modal-close{font-size:24px;height:32px;width:32px}}@media (max-width:480px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{animation:slideUpMobile .3s cubic-bezier(.34,1.56,.64,1);border-radius:20px 20px 0 0;max-height:95vh;max-width:100%}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:18px 20px}.modal-header h2{font-size:1.125rem}.modal-body{padding:18px 20px}.modal-close{font-size:22px;height:30px;width:30px}}.modal-overlay:focus-within .modal-content{box-shadow:0 20px 60px #0006,0 0 0 4px #667eea33}.modal-overlay.closing{animation:fadeOut .2s ease-in-out forwards}.modal-overlay.closing .modal-content{animation:slideDown .2s ease-in forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}.vendor-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filter-btn{transition:all .3s}.filter-btn.active,.filter-btn:hover{background-color:#667eea}.filter-btn:hover{color:#fff}.vendors-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.vendor-card{border-left:4px solid #667eea}.vendor-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.vendor-header h3{color:#1f2937;margin:0}.vendor-type{color:#6b7280;font-size:.875rem;margin:5px 0 0;text-transform:capitalize}.status-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:5px 12px;text-transform:capitalize}.status-badge.inquiry{background-color:#dbeafe;color:#1e40af}.status-badge.negotiating{background-color:#fef08a;color:#713f12}.status-badge.booked{background-color:#dcfce7;color:#166534}.status-badge.completed{background-color:#d1d5db;color:#374151}.vendor-contact{font-size:.9rem;margin-bottom:15px}.vendor-contact p{color:#6b7280;margin:5px 0}.vendor-contact a{color:#3b82f6;text-decoration:none}.vendor-pricing{background-color:#f0f9ff;border-radius:6px;font-size:.9rem;margin-bottom:15px;padding:10px}.vendor-pricing p{color:#1f2937;margin:5px 0}.remaining{color:#667eea;font-weight:600}.vendor-notes{color:#6b7280;font-size:.9rem;font-style:italic;margin-bottom:15px}.vendor-actions{display:flex;gap:10px}.vendor-actions button{flex:1 1;font-size:.875rem;padding:8px 12px}.vendor-form{border:2px solid #f3e8ff;margin-bottom:30px}.vendor-form h3{color:#1f2937;margin-bottom:20px}.pdf-downloads{background:linear-gradient(135deg,#f5f3ff,#f0f9ff);border:2px dashed #667eea;margin-bottom:30px}.pdf-downloads h3{color:#667eea;margin-bottom:10px}.pdf-downloads p{color:#6b7280;margin-bottom:20px}.pdf-buttons{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.pdf-buttons button{font-size:.9rem;padding:12px 16px;white-space:nowrap}.analytics-dashboard{padding:20px 0}.analytics-dashboard h2{color:#1f2937;font-size:2rem;margin-bottom:30px}.analytics-tabs{border-bottom:2px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 20px;transition:all .3s}.tab-btn.active{border-bottom-color:#3b82f6;color:#3b82f6}.tab-btn:hover{color:#3b82f6}.tab-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.health-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.health-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;transition:transform .3s,box-shadow .3s}.health-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.health-card-icon{font-size:2.5rem;margin-bottom:10px}.health-card h3{color:#1f2937;font-size:1rem;margin:10px 0}.health-score-container{gap:10px}.health-score-circle,.health-score-container{align-items:center;display:flex;flex-direction:column}.health-score-circle{border:4px solid;border-radius:50%;height:100px;justify-content:center;position:relative;width:100px}.score-number{color:#1f2937;font-size:2rem;font-weight:700}.score-percent{color:#6b7280;font-size:.8rem}.score-label{font-size:.9rem;font-weight:600;margin:0}.overall-health-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;grid-column:1/-1;padding:20px;text-align:center}.overall-health-card h3{color:#fff;margin-bottom:20px}.overall-score-circle{align-items:center;border:4px solid #fff;border-radius:50%;display:flex;height:120px;justify-content:center;margin:0 auto;width:120px}.overall-score{font-size:2.5rem;font-weight:700}.analytics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:30px}.chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.chart-container h3{color:#1f2937;font-size:1.2rem;margin-bottom:20px}.chart-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.stat{background-color:#f9fafb;border-left:4px solid #667eea;border-radius:8px;padding:15px}.stat .label{color:#6b7280;display:block;font-size:.875rem;margin-bottom:5px}.stat .value{color:#1f2937;display:block;font-size:1.5rem;font-weight:700}.stat .value.confirmed{color:#10b981}.stat .value.pending{color:#f59e0b}.stat .value.completed{color:#10b981}.stat .value.over{color:#ef4444}.stat .value.under{color:#10b981}.progress-bar-container{margin:20px 0}.progress-bar-label{color:#1f2937;font-weight:600;margin-bottom:10px}.progress-bar-bg{height:30px}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2)}.category-table{margin-bottom:20px;overflow-x:auto}.category-table table{border-collapse:collapse;width:100%}.category-table th{background-color:#f0f9ff;border-bottom:2px solid #e5e7eb;color:#1f2937;font-weight:600;padding:12px;text-align:left}.category-table td{border-bottom:1px solid #e5e7eb;padding:12px}.category-table tr:hover{background-color:#f9fafb}.category-name{color:#1f2937;font-weight:600;text-transform:capitalize}.category-table .over{color:#ef4444;font-weight:600}.category-table .under{color:#10b981;font-weight:600}.category-table .positive{color:#10b981}.category-table .negative{color:#ef4444}@media (max-width:768px){.analytics-grid{grid-template-columns:1fr}.health-cards-grid{grid-template-columns:1fr 1fr}.overall-health-card{grid-column:1/-1}.chart-stats{grid-template-columns:1fr 1fr}.analytics-tabs{flex-wrap:wrap}.tab-btn{font-size:.85rem;padding:10px 15px}}@media (max-width:480px){.chart-stats,.health-cards-grid{grid-template-columns:1fr}.category-table{font-size:.85rem}.category-table td,.category-table th{padding:8px}}.pledge-management{padding:20px 0}.pledge-summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.summary-card{background:linear-gradient(135deg,#db2777,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;padding:20px}.summary-card h4{font-size:.875rem;margin:0 0 10px;opacity:.9}.summary-amount{font-size:1.5rem;font-weight:700;margin:0}.summary-amount.collected{color:#4ade80}.summary-amount.balance{color:#fbbf24}.collection-rate{margin-top:10px}.collection-rate,.rate-circle{display:flex;justify-content:center}.rate-circle{align-items:center;border:4px solid #fff;border-radius:50%;height:80px;width:80px}.rate-circle span{font-size:1.5rem;font-weight:700}.pledge-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filter-btn{background-color:#e5e7eb;border:none;border-radius:20px;color:#1f2937;cursor:pointer;font-weight:600;padding:10px 15px}.filter-btn.active{background-color:#db2777;color:#fff}.pledges-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.pledge-card{border-left:4px solid #10b981}.pledge-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.pledge-header h3{color:#1f2937;margin:0}.pledge-type{color:#6b7280;font-size:.875rem;margin:5px 0 0;text-transform:capitalize}.status-badge.pledged{background-color:#fef08a;color:#713f12}.status-badge.partial{background-color:#dbeafe;color:#db2777}.status-badge.paid{background-color:#dcfce7;color:#166534}.status-badge.cancelled{background-color:#fee2e2;color:#991b1b}.pledge-amounts{background-color:#f0f9ff;border-radius:8px;margin-bottom:15px;padding:15px}.amount-item{display:flex;justify-content:space-between;margin-bottom:8px}.amount-item:last-child{margin-bottom:0}.amount-item .label{color:#6b7280;font-weight:600}.amount-item .value{color:#1f2937;font-weight:700}.amount-item .value.paid{color:#10b981}.amount-item .value.balance{color:#f59e0b}.progress-bar-container{margin:15px 0}.progress-bar-bg{background-color:#e5e7eb;border-radius:15px;height:25px;overflow:hidden;position:relative;width:100%}.progress-bar-fill{align-items:center;background:linear-gradient(90deg,#10b981,#059669);color:#fff;display:flex;font-size:.875rem;font-weight:700;height:100%;justify-content:center;transition:width .3s ease}.deadline{color:#f59e0b;font-size:.875rem;font-weight:600;margin:10px 0}.pledge-notes{color:#6b7280;font-size:.9rem;font-style:italic;margin:10px 0}.pledge-actions{display:flex;gap:10px;margin-top:15px}.pledge-actions button{flex:1 1;font-size:.875rem;padding:8px 12px}.pledge-form{border:2px solid #dcfce7;margin-bottom:30px}.pledge-form h3{color:#1f2937;margin-bottom:20px}@media (max-width:768px){.pledges-grid{grid-template-columns:1fr}.pledge-summary-cards{grid-template-columns:1fr 1fr}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.modal-header h3{color:#1f2937;margin:0}.modal-close{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;height:30px;padding:0;width:30px}.modal-close:hover{color:#1f2937}.modal-body{padding:20px}.payment-info{background-color:#f0f9ff;border-radius:8px;margin-bottom:20px;padding:15px}.payment-info p{color:#1f2937;margin:8px 0}.balance-highlight{color:#f59e0b;font-size:1.1rem;font-weight:700}}.payment-modal-info{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px}.payment-modal-info .info-row{border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.payment-modal-info .info-row:last-child{border-bottom:none}.payment-modal-info .info-row.highlight{background:#fef3c7;border-radius:6px;font-weight:600;margin-top:8px;padding:12px}.payment-modal-info .label{color:#6b7280;font-size:.875rem}.payment-modal-info .value{color:#1f2937;font-weight:500}.payment-modal-info .highlight .label,.payment-modal-info .highlight .value{color:#92400e}.payment-form .alert{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#991b1b;margin-bottom:16px;padding:12px}.payment-form .form-group{margin-bottom:16px}.payment-form label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.payment-form input,.payment-form select,.payment-form textarea{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;padding:10px;transition:border-color .2s;width:100%}.payment-form input:focus,.payment-form select:focus,.payment-form textarea:focus{border-color:#db2777;box-shadow:0 0 0 3px #db27771a;outline:none}.payment-form .form-actions{display:flex;gap:10px;margin-top:24px}.payment-form .form-actions button{border-radius:6px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.guest-phone{color:#666;font-size:13px;margin-top:4px}.whatsapp-btn{background-color:#25d366;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s}.whatsapp-btn:hover:not(.disabled){background-color:#20ba5a}.whatsapp-btn.disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.whatsapp-modal{padding:20px 0}.whatsapp-modal .form-group{margin-bottom:20px}.whatsapp-modal label{color:#333;display:block;font-weight:600;margin-bottom:8px}.whatsapp-modal input[type=tel],.whatsapp-modal input[type=text],.whatsapp-modal textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.whatsapp-modal input:disabled{background-color:#f5f5f5;color:#666}.whatsapp-modal textarea{font-family:inherit;resize:vertical}.whatsapp-modal small{color:#666;display:block;font-size:12px;margin-top:4px}.whatsapp-send-btn{background-color:#25d366;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .3s}.whatsapp-send-btn:hover{background-color:#20ba5a}.modal-actions{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:20px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{background-color:#f9fafb}.container{margin:0 auto;max-width:1200px;padding:0 20px}@media (max-width:768px){.form-row,.guest-list,.task-list,.wedding-grid{grid-template-columns:1fr!important}.navbar-container{flex-direction:column;gap:15px}.navbar-menu{flex-direction:column;width:100%}button{width:100%}}
/*# sourceMappingURL=main.77789f55.css.map*/