*{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;color:#fff}button.primary:hover{background-color:#2563eb}button.secondary{background-color:#e5e7eb;color:#1f2937}button.secondary:hover{background-color:#d1d5db}button.danger{background-color:#ef4444;color:#fff}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;padding:20px}.alert,.card{margin-bottom:20px}.alert{padding:15px}.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;display:block;font-size:.875rem;font-weight:600;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}.password-input-wrapper input{border:1px solid #d1d5db;border-radius:6px;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}}.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;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-row .form-group{margin-bottom:0}.form-actions{display:flex;gap:10px;margin-top:20px}.form-actions button{flex:1 1}.empty-state{background:#fff;border-radius:8px;padding:60px 20px;text-align:center}.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}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#ec4899,#764ba2);border-radius:8px;color:#fff;padding:20px;text-align:center}.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}.task-stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.stat-filter{background-color:#e5e7eb;border:none;border-radius:20px;color:#1f2937;cursor:pointer;font-weight:600;padding:10px 15px;transition:all .3s}.stat-filter.active,.stat-filter:hover{background-color:#3b82f6;color:#fff}.task-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.task-card{border-left:4px solid;border-radius:8px}.task-card.priority-urgent{background-color:#fef2f2;border-left-color:#dc2626}.task-card.priority-high{background-color:#fffbeb;border-left-color:#f59e0b}.task-card.priority-medium{background-color:#f0f9ff;border-left-color:#3b82f6}.task-card.priority-low{background-color:#f0fdf4;border-left-color:#10b981}.task-header{justify-content:space-between;margin-bottom:15px}.task-header,.task-title{align-items:flex-start;display:flex}.task-title{flex:1 1;gap:10px}.task-title h3{color:#1f2937;margin:0}.priority-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:5px 12px;text-transform:capitalize}.priority-badge.urgent{background-color:#fee2e2;color:#991b1b}.priority-badge.high{background-color:#fef3c7;color:#92400e}.priority-badge.medium{background-color:#dbeafe;color:#1e40af}.priority-badge.low{background-color:#dcfce7;color:#166534}.task-description{color:#6b7280;font-size:.9rem;margin-bottom:10px}.task-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:.875rem;gap:15px;margin-bottom:15px}.status-select{margin-bottom:15px!important;padding:8px;width:100%}.task-actions{display:flex;gap:10px}.task-actions button{flex:1 1;font-size:.875rem;padding:8px 12px}.task-form{border:2px solid #fef08a;margin-bottom:30px}.task-form h3{color:#1f2937;margin-bottom:20px}.budget-summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.budget-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;padding:25px}.budget-card h4{font-size:.875rem;margin:0 0 10px;opacity:.9;text-transform:uppercase}.budget-amount{font-size:1.75rem;font-weight:700;margin:10px 0}.budget-amount.positive{color:#4ade80}.budget-amount.negative{color:#f87171}.budget-label{font-size:.875rem;margin:10px 0 0;opacity:.8}.progress-bar{background-color:#ffffff4d;border-radius:4px;height:8px;margin:10px 0;overflow:hidden;width:100%}.progress-fill{background-color:#4ade80;border-radius:4px;height:100%;transition:width .3s ease}.budget-by-category{background:#fff;border-radius:8px;margin-bottom:30px;padding:20px}.budget-by-category h3{color:#1f2937;margin-bottom:20px}.category-row{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:15px;text-transform:capitalize}.category-row:last-child{border-bottom:none}.category-amounts{color:#6b7280;display:flex;font-size:.875rem;gap:20px}.budget-items{margin-top:30px}.budget-items h3{color:#1f2937;margin-bottom:20px}.budget-item{border:1px solid #e5e7eb;margin-bottom:15px}.budget-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.budget-item-header h4{color:#1f2937;margin:0}.budget-category{color:#6b7280;font-size:.875rem;margin:5px 0 0;text-transform:capitalize}.budget-item-amounts{display:flex;gap:20px;text-align:right}.amount{display:flex;flex-direction:column}.amount .label{color:#6b7280;font-size:.75rem;font-weight:600}.amount .value{color:#1f2937;font-size:1rem;font-weight:700}.budget-notes{color:#6b7280;font-size:.9rem;font-style:italic;margin-bottom:15px}.budget-item-actions{display:flex;gap:10px}.budget-item-actions button{flex:1 1;font-size:.875rem;padding:8px 12px}.budget-form{border:2px solid #fce7f3;margin-bottom:30px}.budget-form h3{color:#1f2937;margin-bottom:20px}.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}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.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{padding:20px 0}.timeline-form{border:2px solid #fef3c7;margin-bottom:30px}.timeline-vertical{padding:20px 0 20px 50px;position:relative}.timeline-vertical:before{background:linear-gradient(180deg,#667eea,#764ba2);bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.timeline-event{margin-bottom:30px;position:relative}.timeline-event.completed .timeline-marker{background-color:#10b981}.timeline-event.completed .timeline-content{opacity:.6}.timeline-marker{align-items:center;background:#fff;border:3px solid #667eea;border-radius:50%;cursor:pointer;display:flex;height:30px;justify-content:center;left:-45px;position:absolute;top:10px;width:30px}.timeline-marker input{cursor:pointer;height:18px;width:18px}.timeline-content{border-left:4px solid #667eea;margin:0}.timeline-content h3{color:#1f2937;margin:0 0 10px}.event-type{background-color:#f0f9ff;border-radius:20px;color:#1e40af;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:10px;padding:4px 12px;text-transform:capitalize}.event-date,.timeline-content p{color:#6b7280;font-size:.9rem;margin:8px 0}.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}.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}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background-color:#f3f4f6;color:#1f2937}.modal-body{padding:24px}.modal-body .card{border:none;box-shadow:none;margin:0;padding:0}.modal-body .card h3{display:none}.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.f7ca77bd.css.map*/