*{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:12px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar-container{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between}.navbar-logo{color:#ec4899;font-size:1.5rem;font-weight:700;gap:8px;text-decoration:none}.navbar-logo,.navbar-menu{align-items:center;display:flex;flex-shrink:0}.navbar-menu{gap:16px}.navbar-user{color:#6b7280;font-weight:500;white-space:nowrap}.nav-link{border-radius:6px;color:#ec4899;font-weight:500;padding:8px 16px;text-decoration:none;transition:background-color .3s}.nav-link:hover{background-color:#f0f9ff}.navbar-admin-link{align-items:center;background:#fce7f3;border-radius:6px;color:#db2777!important;display:inline-flex;font-size:.8rem;font-weight:600;gap:5px;padding:6px 12px;text-decoration:none;transition:background .2s}.navbar-admin-link:hover{background:#fbcfe8}.navbar-logout-icon,.navbar-user-avatar{display:none}@media (max-width:480px){.navbar{padding:10px 0}.navbar-logo{font-size:1.2rem;gap:6px}.navbar-logout-full,.navbar-user{display:none}.navbar-user-avatar{background-color:#ec4899;border-radius:50%;color:#fff;font-size:.8rem;font-weight:700;height:32px;width:32px}.navbar-logout-icon,.navbar-user-avatar{align-items:center;display:flex;flex-shrink:0;justify-content:center}.navbar-logout-icon{-webkit-tap-highlight-color:transparent;background-color:#f9fafb;border:1.5px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;height:34px;padding:0;transition:background-color .2s,color .2s,border-color .2s;width:34px}.navbar-logout-icon:active,.navbar-logout-icon:hover{background-color:#fee2e2;border-color:#fca5a5;color:#dc2626}.navbar-menu{gap:8px}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;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}.single-line-header{align-items:center;display:flex;white-space:nowrap}.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;box-sizing:border-box;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;box-sizing:border-box;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;box-sizing:border-box;flex:1 1;font-size:.875rem;min-width:0;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;min-width:0;outline:none;padding:10px 52px 10px 12px;transition:border-color .3s;width:100%}.password-input-wrapper input:focus{border-color:#ec4899}.password-toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;bottom:0;color:#374151;cursor:pointer;display:flex;justify-content:center;position:absolute;right:0;top:0;transition:color .3s;width:48px;z-index:10}.password-toggle:hover{color:#ec4899}.password-toggle svg{display:block;flex-shrink:0;height:28px;width:28px}.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;flex-shrink:0;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{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;appearance:none;font-size:16px}.heart-icon{height:50px;width:50px}.auth-card h1{font-size:1.1rem}.form-group{margin-bottom:14px}.terms-checkbox{margin-bottom:16px}.user-type-chips{flex-direction:column}.user-type-chip{flex-direction:row;justify-content:center;padding:10px}}@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;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}}.wedding-detail-layout{display:flex;min-height:100vh;position:relative}.wd-sidebar{background:#fff;border-right:1px solid #f3f4f6;display:flex;flex-direction:column;flex-shrink:0;height:100vh;min-height:100vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;transition:width .25s ease;width:220px;z-index:10}.wd-sidebar.collapsed{width:60px}.sidebar-collapse-btn{align-items:center;align-self:flex-end;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:28px;justify-content:center;margin:12px 10px 4px;transition:background .2s;width:28px}.sidebar-collapse-btn:hover{background:#fce7f3;border-color:#f9a8d4;color:#db2777}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px 0 24px}.sidebar-group{margin-bottom:4px}.sidebar-group-label{color:#9ca3af;display:block;font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:10px 16px 4px;text-transform:uppercase}.sidebar-item{align-items:center;background:none;border:none;border-left:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;font-size:.875rem;gap:10px;overflow:hidden;padding:9px 16px;text-align:left;transition:all .18s ease;white-space:nowrap;width:100%}.sidebar-item:hover{background:#fdf2f8;color:#db2777}.sidebar-item.active{background:#fce7f3;border-left-color:#db2777;color:#db2777;font-weight:600}.wd-sidebar.collapsed .sidebar-item{border-left:none;border-radius:8px;justify-content:center;margin:0 6px;padding:10px 0}.wd-sidebar.collapsed .sidebar-item.active{background:#fce7f3;border-left:none}.sidebar-icon{flex-shrink:0;font-size:1rem}.sidebar-label{overflow:hidden;text-overflow:ellipsis}.wd-main{flex:1 1;min-width:0;padding:28px 32px 40px}.wd-content{margin-top:0}.wedding-banner{background:linear-gradient(135deg,#db2777,#764ba2);border-radius:12px;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px;padding:20px 28px}.banner-left h1,.wedding-banner{align-items:center;color:#fff;display:flex}.banner-left h1{font-size:1.4rem;font-weight:700;margin:0 0 8px}.banner-status{border-radius:20px;display:inline-block;font-size:.78rem;padding:3px 12px}.banner-status.past{background:#ffffff26;opacity:.85}.banner-status.today{background:#ffffff4d;font-weight:600}.banner-status.upcoming{background:#fff3}.banner-stats{flex-wrap:wrap;gap:20px}.banner-stat,.banner-stats{align-items:center;display:flex}.banner-stat{flex-direction:column;text-align:center}.banner-stat-value{font-size:1rem;font-weight:700}.banner-stat-label{font-size:.68rem;letter-spacing:.05em;margin-top:2px;opacity:.75;text-transform:uppercase}.banner-divider{background:#ffffff40;height:32px;width:1px}.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}.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}.bottom-nav,.more-drawer{display:none}@media (max-width:768px){.wd-sidebar{display:none}.wd-main{padding:16px 16px 80px}.wedding-banner{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.banner-stats{gap:8px;justify-content:space-between;width:100%}.banner-divider{display:none}.bottom-nav{background:#fff;border-top:1px solid #f3f4f6;bottom:0;box-shadow:0 -2px 12px #0000000f;display:flex;height:64px;left:0;position:fixed;right:0;z-index:100}.bottom-nav-item{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:3px;justify-content:center;padding:8px 4px;transition:color .18s}.bottom-nav-item.active,.bottom-nav-item:hover{color:#db2777}.bottom-nav-icon{font-size:1.2rem;line-height:1}.bottom-nav-label{font-size:.65rem;font-weight:500}.more-drawer{background:#fff;border-radius:16px 16px 0 0;border-top:1px solid #f3f4f6;bottom:64px;box-shadow:0 -4px 24px #0000001a;display:block;left:0;padding:12px 16px 20px;position:fixed;right:0;z-index:99}.more-drawer-handle{background:#e5e7eb;border-radius:2px;height:4px;margin:0 auto 12px;width:36px}.more-drawer-title{color:#9ca3af;font-size:.75rem;font-weight:700;letter-spacing:.07em;margin:0 0 12px;text-transform:uppercase}.more-drawer-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.more-drawer-item{align-items:center;background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:12px 8px;transition:all .18s}.more-drawer-item.active{border-color:#f9a8d4}.more-drawer-item.active,.more-drawer-item:hover{background:#fce7f3;color:#db2777}.more-drawer-icon{font-size:1.3rem}.more-drawer-label{font-size:.7rem;font-weight:500;text-align:center}.page-header{gap:15px;margin-bottom:20px}.page-header h1{font-size:1.5rem;width:100%}.wedding-grid{gap:15px;grid-template-columns:1fr;margin-bottom:20px}.wedding-card h2{font-size:1.1rem}.form-container{margin:20px auto;padding:0 15px}.form-container h1{font-size:1.5rem;margin-bottom:20px}.form-row{gap:0;grid-template-columns:1fr}.form-row .form-group{margin-bottom:16px}.form-actions{flex-direction:column;gap:10px}.form-actions button{width:100%}.wedding-card-actions{flex-direction:column;gap:8px}.wedding-card-actions .button{width:100%}.empty-state{padding:40px 15px}.empty-state p{font-size:1rem}}@media (max-width:480px){.page-header h1{font-size:1.25rem}.banner-left h1{font-size:1.15rem}.status-badge{font-size:.75rem;padding:4px 10px}.more-drawer-grid{grid-template-columns:repeat(3,1fr)}}.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}.view-toggle{border:1px solid #e5e7eb;border-radius:6px}.view-toggle-btn{background:#fff;padding:8px 14px}.view-toggle-btn.active{background:#fce7f3}.guest-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden;width:100%}.guest-table thead{background:linear-gradient(135deg,#fce7f3,#ede9fe)}.guest-table th{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.guest-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:.875rem;padding:12px 16px;vertical-align:middle}.guest-table tbody tr:last-child td{border-bottom:none}.guest-table tbody tr:hover{background:#fdf2f8}.guest-table td:first-child,.guest-table th:first-child{color:#9ca3af;font-size:.8rem;padding-right:8px;text-align:center;width:48px}.guest-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.guest-header-actions{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;padding:4px}.guest-header-actions .primary{border-radius:5px;font-size:.875rem;padding:6px 16px}.guest-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.guest-search-wrap{flex:1 1;min-width:150px;position:relative}.guest-search-icon{font-size:.85rem;left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.guest-search{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#374151;font-size:.875rem;outline:none;padding:8px 36px 8px 32px;transition:border-color .2s;width:100%}.guest-search:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.guest-search-clear{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.75rem;line-height:1;padding:2px 4px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.guest-search-clear:hover{color:#6b7280}.guest-filter-select,.guest-sort-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;min-width:130px;outline:none;padding:8px 12px;transition:border-color .2s}.guest-filter-select:focus,.guest-sort-select:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.guest-filter-count{color:#6b7280;font-size:.8rem;margin-bottom:12px}.guest-filter-count strong{color:#db2777}.guest-table-num{color:#9ca3af;font-size:.8rem;text-align:center;width:44px}.guest-table-name{color:#1f2937;font-weight:600;text-transform:capitalize}.guest-table-center{text-align:center}.contact-line{color:#6b7280;font-size:.8rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-table-actions{display:flex;gap:4px}.guest-action-btn{align-items:center;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:30px;justify-content:center;padding:0;transition:background .18s;width:30px}.guest-action-btn:hover{background:#e5e7eb}.guest-action-btn.edit:hover{background:#fce7f3}.guest-action-btn.pledge:hover{background:#ede9fe}.guest-action-btn.del:hover{background:#fee2e2}.input-readonly{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280;cursor:not-allowed;font-weight:600}.pledge-btn{background-color:#7c3aed;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 12px;transition:background-color .2s}.pledge-btn:hover{background-color:#6d28d9}@media (max-width:768px){.guest-table{display:block;overflow-x:auto}.guest-management-header{flex-wrap:wrap;gap:10px}.gs-grid{grid-template-columns:repeat(2,1fr)}.guest-list{grid-template-columns:1fr}.guest-filter-select,.guest-sort-select{flex:1 1;min-width:0}}@media (max-width:480px){.gs-grid{grid-template-columns:1fr 1fr}.guest-filters{gap:8px}.contact-line{max-width:130px}}.modal-overlay{animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;left:0;padding:20px;right:0;top:0}.modal-content{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-width:700px;overflow:hidden}@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;flex-shrink:0;padding:24px 28px}.modal-header h2{color:#fff;font-size:1.5rem;letter-spacing:-.5px;margin:0}.modal-close{background:#fff3;border:none;border-radius:50%;color:#fff;font-size:28px;font-weight:300;height:36px;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)}}.pg-bar{align-items:center;background:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 1px 4px #0000000d;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:20px;padding:12px 18px}.pg-info{color:#6b7280;font-size:.82rem}.pg-info b{color:#374151;font-weight:600}.pg-controls{align-items:center;display:flex;gap:8px}.pg-nav{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.82rem;font-weight:500;padding:7px 16px;transition:background .18s,color .18s,border-color .18s;white-space:nowrap;width:auto}.pg-nav:hover:not(:disabled){background:#fce7f3;border-color:#f9a8d4;color:#db2777}.pg-nav:disabled{cursor:not-allowed;opacity:.38}.pg-numbers{gap:4px}.pg-num,.pg-numbers{align-items:center;display:flex}.pg-num{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.82rem;font-weight:500;height:34px;justify-content:center;min-width:34px;padding:0;transition:background .18s,color .18s,border-color .18s;width:34px;width:auto}.pg-num:hover{background:#fce7f3;border-color:#f9a8d4;color:#db2777}.pg-num--active{background:#db2777;border-color:#db2777;color:#fff;font-weight:700}.pg-num--active:hover{background:#be185d;border-color:#be185d;color:#fff}.pg-gap{color:#9ca3af;font-size:.85rem;letter-spacing:1px;padding:0 2px;-webkit-user-select:none;user-select:none}@media (max-width:600px){.pg-bar{align-items:center;flex-direction:column;gap:10px;padding:12px}.pg-nav{padding:7px 14px}.pg-nav,.pg-num{font-size:.78rem}.pg-num{height:30px;min-width:30px}}.gum-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.gum-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000002e;display:flex;flex-direction:column;max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.gum-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;flex-shrink:0;justify-content:space-between;padding:22px 24px 16px}.gum-title{color:#111827;font-size:1.05rem;font-weight:700;margin:0}.gum-close{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;font-size:1rem;line-height:1;padding:4px 8px;transition:all .15s}.gum-close:hover{background:#f3f4f6;color:#374151}.gum-steps-bar{background:#f9fafb;border-bottom:1px solid #f3f4f6;padding:14px 24px}.gum-step,.gum-steps-bar{align-items:center;display:flex;flex-shrink:0}.gum-step{gap:8px}.gum-step-circle{align-items:center;background:#e5e7eb;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:26px;justify-content:center;transition:all .2s;width:26px}.gum-step-label{color:#9ca3af;font-size:.78rem;font-weight:500;white-space:nowrap}.gum-step.active .gum-step-circle{background:#db2777;color:#fff}.gum-step.active .gum-step-label{color:#db2777;font-weight:700}.gum-step.done .gum-step-circle{background:#d1fae5;color:#059669}.gum-step.done .gum-step-label{color:#6b7280}.gum-steps-line{background:#e5e7eb;flex:1 1;height:2px;margin:0 8px}.gum-body{display:flex;flex-direction:column;gap:18px;padding:22px 24px}.gum-sub{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.gum-alert{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:.825rem;margin:0 24px;padding:10px 14px}.gum-info-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:16px 18px}.gum-info-title{color:#166534;font-size:.875rem;font-weight:700;margin:0 0 8px}.gum-info-list{color:#15803d;font-size:.825rem;line-height:1.7;margin:0;padding-left:18px}.gum-template-preview{border:1px solid #f3f4f6;border-radius:10px;overflow:hidden}.gum-col-header{background:#f9fafb;border-bottom:1px solid #f3f4f6;color:#9ca3af;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:8px 14px;text-transform:uppercase}.gum-col-grid{display:flex;flex-direction:column}.gum-col-item{align-items:baseline;border-bottom:1px solid #f9fafb;display:flex;gap:10px;padding:9px 14px;transition:background .1s}.gum-col-item:last-child{border-bottom:none}.gum-col-item:hover{background:#fdf2f8}.gum-col-name{color:#374151;flex-shrink:0;font-size:.825rem;font-weight:600;min-width:150px}.gum-required{color:#db2777;margin-left:2px}.gum-col-note{color:#9ca3af;font-size:.78rem}.gum-col-pledge{background:#f0fdfa}.gum-col-pledge:hover{background:#ccfbf1}.gum-pledge-tag{background:#0d9488;border-radius:20px;color:#fff;display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.04em;margin-left:6px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.gum-dropzone{align-items:center;background:#fafafa;border:2px dashed #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:36px 24px;text-align:center;transition:all .15s}.gum-dropzone.dragging,.gum-dropzone:hover{background:#fdf2f8;border-color:#f9a8d4}.gum-dropzone.has-file{background:#f0fdf4;border-color:#a7f3d0;cursor:default;padding:16px 20px}.gum-dropzone-icon{font-size:2rem}.gum-dropzone-text{color:#6b7280;font-size:.875rem;margin:0}.gum-dropzone-hint{color:#9ca3af;font-size:.75rem;margin:0}.gum-file-chosen{align-items:center;display:flex;gap:12px;width:100%}.gum-file-icon{flex-shrink:0;font-size:1.8rem}.gum-file-info{flex:1 1;min-width:0;text-align:left}.gum-file-name{color:#111827;display:block;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gum-file-size{color:#9ca3af;font-size:.75rem}.gum-file-remove{background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:.9rem;padding:4px 8px;transition:all .12s}.gum-file-remove:hover{background:#fee2e2;color:#dc2626}.gum-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.gum-btn-primary{align-items:center;background:#db2777;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:6px;padding:10px 20px;transition:background .15s}.gum-btn-primary:hover:not(:disabled){background:#be185d}.gum-btn-primary:disabled{cursor:not-allowed;opacity:.55}.gum-btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:6px;padding:9px 18px;transition:all .15s}.gum-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.gum-btn-template{align-items:center;background:#fff;border:1.5px solid #a7f3d0;border-radius:8px;color:#059669;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:6px;padding:10px 18px;transition:all .15s}.gum-btn-template:hover{background:#f0fdf4;border-color:#6ee7b7}.gum-result-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.gum-result-card{align-items:center;border:1px solid;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:16px 12px}.gum-result-card.green{background:#f0fdf4;border-color:#bbf7d0}.gum-result-card.yellow{background:#fffbeb;border-color:#fde68a}.gum-result-card.red{background:#fff1f2;border-color:#fecdd3}.gum-result-count{font-size:2rem;font-weight:800;line-height:1}.gum-result-card.green .gum-result-count{color:#059669}.gum-result-card.yellow .gum-result-count{color:#d97706}.gum-result-card.red .gum-result-count{color:#e11d48}.gum-result-label{font-size:.72rem;font-weight:600;text-align:center}.gum-result-card.green .gum-result-label{color:#065f46}.gum-result-card.yellow .gum-result-label{color:#92400e}.gum-result-card.red .gum-result-label{color:#9f1239}.gum-result-message{color:#6b7280;font-size:.875rem;margin:0;text-align:center}.gum-details{border:1px solid #f3f4f6;border-radius:10px;overflow:hidden}.gum-details-summary{background:#f9fafb;color:#374151;cursor:pointer;font-size:.825rem;font-weight:600;list-style:none;padding:10px 14px;-webkit-user-select:none;user-select:none}.gum-details-summary::-webkit-details-marker{display:none}.gum-details-summary.yellow{background:#fffbeb;color:#92400e}.gum-details-summary.red{background:#fff1f2;color:#9f1239}.gum-detail-table-wrap{max-height:200px;overflow-x:auto;overflow-y:auto}.gum-detail-table{border-collapse:collapse;font-size:.8rem;width:100%}.gum-detail-table th{background:#f9fafb;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:8px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.gum-detail-table td{border-bottom:1px solid #f9fafb;color:#374151;padding:8px 12px;vertical-align:top}.gum-detail-table tr:last-child td{border-bottom:none}@media (max-width:480px){.gum-modal{border-radius:12px}.gum-body{padding:18px 16px}.gum-header{padding:16px}.gum-step-label{display:none}.gum-steps-bar{justify-content:center}.gum-result-summary{gap:8px;grid-template-columns:repeat(3,1fr)}.gum-result-count{font-size:1.5rem}.gum-actions{flex-wrap:wrap}.gum-btn-primary,.gum-btn-secondary,.gum-btn-template{flex:1 1;justify-content:center}}.budget-management-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.budget-management-header h2{color:#111827;font-size:1.4rem;font-weight:700;margin:0 0 2px}.budget-management-header p{color:#6b7280;font-size:.85rem;margin:0}.budget-header-actions{align-items:center;display:flex;gap:8px}.budget-summary-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(5,1fr);margin-bottom:24px}.budget-kpi-card{background:#fff;border-radius:8px;border-top:3px solid #0000;box-shadow:0 1px 3px #0000001a;padding:18px 16px;position:relative}.budget-kpi-card.kpi-estimated{border-top-color:#3b82f6}.budget-kpi-card.kpi-actual{border-top-color:#8b5cf6}.budget-kpi-card.kpi-paid{border-top-color:#22c55e}.budget-kpi-card.kpi-balance{border-top-color:#f59e0b}.budget-kpi-card.kpi-progress{border-top-color:#3b82f6}.budget-kpi-icon{font-size:1.3rem;margin-bottom:10px}.budget-kpi-label{color:#6b7280;font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 4px;text-transform:uppercase}.budget-kpi-value{color:#111827;font-size:1.15rem;font-weight:700;margin:0 0 2px;word-break:break-word}.budget-kpi-sub{color:#9ca3af;font-size:.72rem;margin:0}.budget-kpi-progress{margin-top:10px}.budget-progress-track{background:#e5e7eb;border-radius:99px;height:6px;overflow:hidden}.budget-progress-fill{background:#3b82f6;border-radius:99px;height:100%;transition:width .5s ease}.budget-progress-fill.fill-success{background:#22c55e}.budget-progress-fill.fill-warning{background:#f59e0b}.budget-progress-fill.fill-danger{background:#ef4444}.budget-progress-pct{color:#6b7280;font-size:.7rem;margin:3px 0 0;text-align:right}.budget-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.budget-search-wrap{flex:1 1;min-width:200px;position:relative}.budget-search-icon{color:#9ca3af;font-size:.85rem;left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.budget-search-input{box-sizing:border-box;padding:9px 12px 9px 32px;width:100%}.budget-filter-select,.budget-search-input{border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;margin-bottom:0}.budget-filter-select{background:#fff;color:#374151;cursor:pointer;flex-shrink:0;min-width:140px;padding:9px 12px;width:auto}.budget-toolbar-count{color:#6b7280;font-size:.8rem;margin-left:auto;white-space:nowrap}.budget-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.budget-table{border-collapse:collapse;font-size:.875rem;min-width:860px;width:100%}.budget-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.budget-table th{color:#6b7280;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:11px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.budget-table th.col-num{text-align:center;width:36px}.budget-table th.col-right{text-align:right}.budget-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:13px 14px;vertical-align:middle}.budget-table td.col-num{color:#9ca3af;font-size:.78rem;text-align:center}.budget-table td.col-right{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.budget-table tbody tr.budget-main-row{cursor:pointer;transition:background .12s}.budget-table tbody tr.budget-main-row:hover{background:#f9fafb}.budget-table tbody tr.budget-main-row.row-expanded{background:#eff6ff;border-bottom:none}.budget-table tbody tr:last-child td{border-bottom:none}.budget-table tfoot tr{background:#f9fafb;border-top:2px solid #e5e7eb}.budget-table tfoot td{color:#111827;font-weight:700;padding:12px 14px}.budget-category-chip{align-items:center;background:#f3f4f6;border-radius:99px;color:#374151;display:inline-flex;font-size:.72rem;font-weight:600;gap:5px;padding:3px 8px;text-transform:capitalize}.budget-item-name{color:#111827;font-weight:600}.budget-item-date{color:#9ca3af;font-size:.72rem;margin-top:2px}.budget-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.budget-amount.amount-actual{color:#6d28d9}.budget-amount.amount-muted{color:#9ca3af;font-weight:400}.budget-variance{align-items:center;border-radius:4px;display:inline-flex;font-size:.78rem;font-weight:600;gap:3px;padding:2px 7px}.budget-variance.var-under{background:#dcfce7;color:#166534}.budget-variance.var-over{background:#fee2e2;color:#991b1b}.budget-variance.var-none{color:#9ca3af;font-weight:400}.budget-pay-cell{min-width:90px}.budget-pay-bar-track{background:#e5e7eb;border-radius:99px;height:5px;margin-bottom:3px;overflow:hidden}.budget-pay-bar-fill{border-radius:99px;height:100%;transition:width .4s ease}.budget-pay-bar-fill.pay-none{background:#d1d5db}.budget-pay-bar-fill.pay-partial{background:#f59e0b}.budget-pay-bar-fill.pay-full{background:#22c55e}.budget-pay-bar-fill.pay-over{background:#ef4444}.budget-pay-pct{color:#6b7280;font-size:.7rem;font-weight:600}.budget-status-badge{align-items:center;border-radius:99px;display:inline-flex;font-size:.7rem;font-weight:700;gap:4px;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase;white-space:nowrap}.budget-status-badge.status-planning{background:#f3f4f6;color:#6b7280}.budget-status-badge.status-not-started{background:#dbeafe;color:#1d4ed8}.budget-status-badge.status-partial{background:#fef3c7;color:#92400e}.budget-status-badge.status-paid{background:#dcfce7;color:#166534}.budget-status-badge.status-overpaid{background:#fee2e2;color:#991b1b}.budget-expand-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:.75rem;line-height:1;padding:4px 6px;transition:all .15s}.budget-expand-btn:hover{background:#f3f4f6;color:#374151}.budget-expand-btn.chevron-open{color:#3b82f6}.budget-actions{align-items:center;display:flex;gap:4px}.budget-action-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:5px;color:#6b7280;cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;padding:0;transition:all .15s;width:28px}.budget-action-btn:hover{background:#f3f4f6;color:#111827}.budget-action-btn.btn-actual:hover{background:#ede9fe;border-color:#ddd6fe;color:#6d28d9}.budget-action-btn.btn-payment:hover{background:#dcfce7;border-color:#bbf7d0;color:#166534}.budget-action-btn.btn-delete:hover{background:#fee2e2;border-color:#fecaca;color:#991b1b}.budget-action-btn:disabled{background:#fff;color:#9ca3af;cursor:not-allowed;opacity:.35}.budget-row-expanded{background:#eff6ff;border-bottom:2px solid #bfdbfe}.budget-expanded-inner{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 2fr;padding:20px}.budget-detail-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px}.budget-detail-title{color:#9ca3af;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.budget-detail-row{align-items:baseline;border-bottom:1px solid #f9fafb;display:flex;gap:8px;justify-content:space-between;padding:5px 0}.budget-detail-row:last-child{border-bottom:none}.budget-detail-label{color:#6b7280;flex-shrink:0;font-size:.8rem}.budget-detail-value{font-feature-settings:"tnum";color:#111827;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.budget-detail-notes{color:#6b7280;font-size:.78rem;font-style:italic;font-weight:400;max-width:160px;text-align:right;word-break:break-word}.budget-no-actual{align-items:flex-start;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#075985;display:flex;font-size:.8rem;gap:7px;line-height:1.4;padding:10px 12px}.budget-pay-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:14px}.budget-pay-panel-header{align-items:center;display:flex;justify-content:space-between}.budget-pay-table{border-collapse:collapse;font-size:.8rem;width:100%}.budget-pay-table th{border-bottom:1px solid #f3f4f6;color:#9ca3af;font-size:.67rem;font-weight:700;letter-spacing:.05em;padding:5px 8px;text-align:left;text-transform:uppercase}.budget-pay-table td{border-bottom:1px solid #f9fafb;color:#374151;padding:7px 8px;vertical-align:middle}.budget-pay-table tr:last-child td{border-bottom:none}.budget-method-badge{background:#f3f4f6;border-radius:4px;color:#374151;display:inline-block;font-size:.68rem;font-weight:600;padding:2px 6px;text-transform:capitalize}.budget-pay-del-btn{background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;font-size:.75rem;padding:3px 5px;transition:all .15s}.budget-pay-del-btn:hover{background:#fee2e2;color:#991b1b}.budget-pay-summary{align-items:center;background:#f9fafb;border:1px solid #f3f4f6;border-radius:6px;display:flex;gap:14px;padding:10px 12px}.budget-pay-stat{flex-shrink:0;text-align:center}.budget-pay-stat-value{font-feature-settings:"tnum";color:#111827;display:block;font-size:.85rem;font-variant-numeric:tabular-nums;font-weight:700}.budget-pay-stat-label{color:#9ca3af;font-size:.67rem;letter-spacing:.04em;text-transform:uppercase}.budget-pay-bar-wrap{flex:1 1}.budget-pay-bar-big{background:#e5e7eb;border-radius:99px;height:8px;overflow:hidden}.budget-pay-bar-big-fill{border-radius:99px;height:100%;transition:width .5s ease}.budget-pay-bar-big-fill.pay-partial{background:#f59e0b}.budget-pay-bar-big-fill.pay-full{background:#22c55e}.budget-pay-bar-big-fill.pay-over{background:#ef4444}.budget-pay-bar-label{color:#6b7280;font-size:.7rem;margin-top:3px;text-align:center}.budget-empty{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:60px 24px;text-align:center}.budget-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.budget-empty h3{color:#374151;font-size:1rem;font-weight:600;margin:0 0 6px}.budget-empty p{color:#6b7280;font-size:.875rem;margin:0 0 18px}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.modal-content{animation:modal-appear .18s ease;background:#fff;border-radius:8px;box-shadow:0 20px 50px #0003;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}@keyframes modal-appear{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:20px 20px 16px}.modal-header h2{color:#111827;font-size:1.05rem;font-weight:700;margin:0 0 2px}.modal-header p{color:#6b7280;font-size:.8rem;margin:0}.modal-close{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;height:30px;justify-content:center;transition:all .15s;width:30px}.modal-close:hover{background:#fee2e2;border-color:#fecaca;color:#991b1b}.modal-body{padding:20px}.modal-footer{border-top:1px solid #f3f4f6;display:flex;gap:8px;justify-content:flex-end;padding:14px 20px 18px}.form-row{grid-gap:16px;gap:16px}.budget-workflow{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:0;margin-bottom:20px;padding:14px}.budget-workflow-step{align-items:center;display:flex;flex:1 1;font-size:.78rem;gap:8px}.budget-workflow-step:not(:last-child):after{color:#d1d5db;content:"→";flex-shrink:0;margin-left:auto;margin-right:4px}.budget-workflow-dot{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:22px;justify-content:center;width:22px}.budget-workflow-dot.dot-done{background:#22c55e;border-color:#22c55e;color:#fff}.budget-workflow-dot.dot-active{background:#3b82f6;border-color:#3b82f6;color:#fff}.budget-workflow-text{color:#6b7280;font-weight:500}.budget-workflow-text.wf-done{color:#166534}.budget-workflow-text.wf-active{color:#1d4ed8;font-weight:600}.budget-variance-preview{align-items:center;border-radius:6px;display:flex;font-size:.82rem;font-weight:600;justify-content:space-between;margin-bottom:12px;margin-top:-8px;padding:10px 14px}.budget-variance-preview.var-under{background:#dcfce7;color:#166534}.budget-variance-preview.var-over{background:#fee2e2;color:#991b1b}.budget-variance-preview.var-zero{background:#f3f4f6;color:#6b7280}.budget-pay-balance-box{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.budget-pay-balance-label{color:#1d4ed8;font-size:.8rem;font-weight:500}.budget-pay-balance-value{font-feature-settings:"tnum";color:#1d4ed8;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700}@media (max-width:1200px){.budget-summary-cards{grid-template-columns:repeat(3,1fr)}.budget-expanded-inner{grid-template-columns:1fr 1fr}}@media (max-width:900px){.budget-summary-cards{grid-template-columns:repeat(3,1fr)}.budget-expanded-inner{grid-template-columns:1fr}}@media (max-width:700px){.budget-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.budget-toolbar{align-items:stretch;flex-direction:column}.budget-toolbar-count{margin-left:0;text-align:right}.budget-filter-select{flex-shrink:1;width:100%}.budget-filter-select,.budget-search-wrap{min-width:0;min-width:auto}.budget-management-header{align-items:flex-start;flex-direction:column}.budget-header-actions,.budget-header-actions .primary{width:100%}.form-row{grid-template-columns:1fr}.budget-workflow{flex-direction:column;gap:6px}.budget-workflow-step:not(:last-child):after{content:"↓";margin:0}.budget-kpi-value{font-size:1rem}.budget-kpi-card{padding:14px 12px}}@media (max-width:360px){.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{box-shadow:0 2px 8px #0000001a;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{border-radius:24px;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}}.vendor-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filter-btn{background-color:#e5e7eb;border-radius:20px;color:#1f2937;padding:10px 15px;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{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}.ar-wrap{padding:4px 0 24px}.ar-error,.ar-loading{color:#6b7280;font-size:.875rem;padding:24px;text-align:center}.ar-error{color:#dc2626}.ar-summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:16px}.ar-card{border:1px solid #0000;border-radius:10px;padding:14px 12px 10px;text-align:center}.ar-card-num{font-size:1.7rem;font-weight:900;line-height:1;margin-bottom:4px}.ar-card-lbl{color:#6b7280;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.ar-card-blue{background:#eff6ff;border-color:#bfdbfe}.ar-card-blue .ar-card-num{color:#2563eb}.ar-card-indigo{background:#eef2ff;border-color:#c7d2fe}.ar-card-indigo .ar-card-num{color:#4f46e5}.ar-card-green{background:#f0fdf4;border-color:#bbf7d0}.ar-card-green .ar-card-num{color:#16a34a}.ar-card-amber{background:#fffbeb;border-color:#fde68a}.ar-card-amber .ar-card-num{color:#d97706}.ar-card-red{background:#fff1f2;border-color:#fecdd3}.ar-card-red .ar-card-num{color:#e11d48}.ar-progress-track{background:#dcfce7;border-radius:4px;height:6px;margin-top:8px;overflow:hidden}.ar-progress-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:4px;height:100%;min-width:2px;transition:width .5s ease}.ar-downloads{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.ar-dl-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:6px;padding:8px 18px;transition:opacity .2s}.ar-dl-btn:hover{opacity:.85}.ar-dl-pdf{background:#ef4444;color:#fff}.ar-dl-excel{background:#16a34a;color:#fff}.ar-tabs{border-bottom:2px solid #f3f4f6;display:flex;gap:4px;margin-bottom:16px}.ar-tab{background:none;border:none;border-bottom:2px solid #0000;color:#9ca3af;cursor:pointer;font-size:.875rem;font-weight:600;margin-bottom:-2px;padding:8px 16px;transition:all .15s}.ar-tab.active{border-bottom-color:#7c3aed;color:#7c3aed}.ar-tab:hover:not(.active){color:#374151}.ar-empty{color:#6b7280;font-size:.875rem;padding:24px 0;text-align:center}.ar-empty-good{color:#16a34a;font-weight:600}.ar-table-wrap{border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.ar-table{border-collapse:collapse;font-size:.875rem;width:100%}.ar-table thead tr{background:#1d4ed8;color:#fff}.ar-table th{font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.ar-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:10px 12px;vertical-align:middle}.ar-table tbody tr:last-child td{border-bottom:none}.ar-table tbody tr:hover{background:#f9fafb}.ar-td-center{text-align:center}.ar-td-name{color:#111827;font-weight:600}.ar-td-scanner{color:#6b7280;font-size:.8rem}.ar-entry-badge{background:#dcfce7;border-radius:20px;color:#166534;display:inline-block;font-size:.8rem;font-weight:700;padding:2px 10px}.ar-row-noshow td{color:#92400e}.ar-row-noshow:hover{background:#fffbeb!important}@media (max-width:600px){.ar-summary-grid{grid-template-columns:repeat(2,1fr)}}.reports-section{padding:0}.reports-header{margin-bottom:20px}.reports-header h2{color:#111827;font-size:1.4rem;font-weight:700;margin:0 0 4px}.reports-header p{color:#6b7280;font-size:.875rem;margin:0}.reports-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.report-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;display:flex;flex-direction:column;padding:20px;transition:box-shadow .15s ease,border-color .15s ease}.report-card:hover{border-color:#bfdbfe;box-shadow:0 4px 12px #0000001a}.report-card-icon{font-size:2rem;line-height:1;margin-bottom:12px}.report-card-body{flex:1 1;margin-bottom:16px}.report-card-title{color:#111827;font-size:1rem;font-weight:700;margin:0 0 6px}.report-card-desc{color:#6b7280;font-size:.8rem;line-height:1.5;margin:0}.report-card-error{color:#ef4444;font-size:.78rem;margin:8px 0 0}.report-card-actions{display:flex;gap:8px}.report-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;flex:1 1;font-size:.82rem;font-weight:600;gap:6px;justify-content:center;padding:8px 14px;transition:background .15s ease,opacity .15s ease;white-space:nowrap}.report-btn:disabled{cursor:not-allowed;opacity:.6}.report-btn-pdf{background:#3b82f6;color:#fff}.report-btn-pdf:hover:not(:disabled){background:#2563eb}.report-btn-excel{background:#16a34a;color:#fff}.report-btn-excel:hover:not(:disabled){background:#15803d}.report-btn-icon,.report-btn-spinner{flex-shrink:0;height:14px;width:14px}.report-btn-spinner{animation:report-spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block}@keyframes report-spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.reports-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.reports-grid{grid-template-columns:1fr}.report-card{padding:16px}.report-btn{flex:1 1}}.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{border-radius:15px;height:30px;position:relative}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);font-size:.875rem}.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-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.pledge-header-actions{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;padding:4px}.pledge-header-actions .primary{border-radius:5px;font-size:.875rem;padding:6px 16px}.view-toggle{border:none;border-radius:4px;display:flex;overflow:hidden}.view-toggle-btn{background:#0000;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.875rem;padding:6px 12px}.view-toggle-btn.active{background:#fff;box-shadow:0 1px 3px #00000014;color:#db2777;font-weight:600}.pledge-summary-cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{align-items:flex-start;border-radius:14px;display:flex;gap:12px;padding:16px;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{transform:translateY(-2px)}.summary-card--purple{background:linear-gradient(135deg,#f3e8ff,#ede9fe);box-shadow:0 2px 12px #8b5cf61f}.summary-card--purple .summary-amount{color:#7c3aed}.summary-card--green{background:linear-gradient(135deg,#d1fae5,#ecfdf5);box-shadow:0 2px 12px #10b9811f}.summary-card--green .summary-amount{color:#059669}.summary-card--yellow{background:linear-gradient(135deg,#fef9c3,#fefce8);box-shadow:0 2px 12px #eab3081f}.summary-card--yellow .summary-amount{color:#b45309}.summary-card--pink{background:linear-gradient(135deg,#fce7f3,#fdf2f8);box-shadow:0 2px 12px #ec48991f}.summary-card--pink .summary-amount{color:#db2777}.summary-icon{flex-shrink:0;font-size:1.4rem;line-height:1;margin-top:2px}.summary-body{flex:1 1;min-width:0}.summary-body h4{color:#6b7280;font-size:.72rem;font-weight:600;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.summary-amount{font-size:1.3rem;font-weight:700;line-height:1;margin:0}.summary-progress-bar{background:#00000014;border-radius:99px;height:5px;margin-top:8px;overflow:hidden}.summary-progress-fill{background:#db2777;border-radius:99px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.pledge-search-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.pledge-search-wrap{flex:1 1;min-width:160px;position:relative}.pledge-search-icon{font-size:.85rem;left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.pledge-search{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#374151;font-size:.875rem;margin-bottom:0;outline:none;padding:8px 36px 8px 32px;transition:border-color .2s;width:100%}.pledge-search:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.pledge-search-clear{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.75rem;line-height:1;padding:2px 4px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:auto}.pledge-search-clear:hover{color:#6b7280}.pledge-sort-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;margin-bottom:0;min-width:140px;outline:none;padding:8px 12px;transition:border-color .2s}.pledge-sort-select:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.pledge-filter-info{color:#6b7280;font-size:.8rem;margin-bottom:12px}.pledge-filter-info strong{color:#db2777}.pledge-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:4px;margin-bottom:20px;padding:4px}.filter-btn{background:#0000;border:none;border-radius:7px;color:#6b7280;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:600;padding:8px 10px;text-align:center;transition:all .18s;white-space:nowrap;width:auto}.filter-count{font-weight:400;opacity:.8}.filter-btn:hover:not(.active){background:#fce7f3;color:#db2777}.filter-btn.active{background:#db2777;box-shadow:0 1px 4px #db277740;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;text-transform:capitalize}.pledge-type{color:#6b7280;font-size:.875rem;margin:5px 0 0;text-transform:capitalize}.guest-phone{color:#9ca3af;font-size:.8rem;margin-top:4px}.pledge-amounts{background-color:#f9fafb;border-radius:8px;margin-bottom:15px;padding:14px}.amount-item{display:flex;justify-content:space-between;margin-bottom:8px}.amount-item:last-child{margin-bottom:0}.amount-item .label{color:#6b7280;font-size:.875rem;font-weight:500}.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:12px;height:22px;overflow:hidden;width:100%}.progress-bar-fill{align-items:center;background:linear-gradient(90deg,#10b981,#059669);color:#fff;display:flex;font-size:.78rem;font-weight:700;height:100%;justify-content:center;min-width:36px;transition:width .3s ease}.deadline{color:#f59e0b;font-weight:600}.deadline,.pledge-notes{font-size:.875rem;margin:10px 0}.pledge-notes{color:#6b7280;font-style:italic}.pledge-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.pledge-actions button{flex:1 1;font-size:.8rem;padding:7px 10px}.pledge-table{background:#fff;border-collapse:collapse;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden;width:100%}.pledge-table thead{background:linear-gradient(135deg,#fce7f3,#ede9fe)}.pledge-table th{color:#6b7280;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:12px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.pledge-table td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:.875rem;padding:12px 14px;vertical-align:middle}.pledge-table tbody tr:last-child td{border-bottom:none}.pledge-table tbody tr:hover{background:#fdf2f8}.pledge-table-num{color:#9ca3af;font-size:.8rem;text-align:center;width:40px}.pledge-table-guest{display:flex;flex-direction:column;gap:2px}.pledge-table-name{color:#1f2937;font-weight:600;text-transform:capitalize}.pledge-table-phone{color:#9ca3af;font-size:.75rem}.pledge-table-method{color:#6b7280;font-size:.82rem;text-transform:capitalize}.pledge-table-amount{font-weight:600;white-space:nowrap}.pledge-table-amount.paid{color:#10b981}.pledge-table-amount.balance{color:#f59e0b}.pledge-mini-bar{background:#f3f4f6;border-radius:99px;height:6px;margin-bottom:3px;overflow:hidden;width:80px}.pledge-mini-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:99px;height:100%;transition:width .4s ease}.pledge-mini-pct{color:#6b7280;font-size:.72rem}.pledge-table-actions{display:flex;gap:4px}.pledge-action-btn{align-items:center;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.85rem;height:30px;justify-content:center;transition:background .18s;width:30px}.pledge-action-btn:hover{background:#e5e7eb}.pledge-action-btn.pay:hover{background:#dcfce7}.pledge-action-btn.wa:hover{background:#d1fae5}.pledge-action-btn.edit:hover{background:#fce7f3}.pledge-action-btn.del:hover{background:#fee2e2}.pledge-action-btn.disabled{cursor:not-allowed;opacity:.4}.status-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:4px 10px}.status-badge.pledged{background-color:#fef08a;color:#713f12}.status-badge.partial{background-color:#dbeafe;color:#1e40af}.status-badge.paid{background-color:#dcfce7;color:#166534}.status-badge.cancelled{background-color:#fee2e2;color:#991b1b}.whatsapp-btn{background-color:#25d366;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;transition:background-color .2s}.whatsapp-btn:hover:not(.disabled){background-color:#20ba5a}.whatsapp-btn.disabled{background-color:#d1d5db;cursor:not-allowed;opacity:.6}.whatsapp-modal{padding:4px 0}.whatsapp-modal .form-group{margin-bottom:16px}.whatsapp-modal label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.whatsapp-modal input[type=tel],.whatsapp-modal input[type=text],.whatsapp-modal textarea{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;padding:10px;width:100%}.whatsapp-modal input:disabled{background:#f9fafb;color:#6b7280}.whatsapp-modal textarea{font-family:inherit;resize:vertical}.whatsapp-modal small{color:#9ca3af;display:block;font-size:.75rem;margin-top:4px}.whatsapp-send-btn{background-color:#25d366;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 20px;transition:background-color .2s}.whatsapp-send-btn:hover{background-color:#20ba5a}.modal-actions{border-top:1px solid #f3f4f6;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.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;box-sizing:border-box;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-picker{position:relative}.guest-picker-input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:.875rem;outline:none;padding:10px;transition:border-color .2s;width:100%}.guest-picker-input:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.guest-picker-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001a;left:0;max-height:220px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:50}.guest-picker-option{align-items:center;border-bottom:1px solid #f9fafb;cursor:pointer;display:flex;justify-content:space-between;padding:10px 14px;transition:background .15s}.guest-picker-option:last-child{border-bottom:none}.guest-picker-option.selected,.guest-picker-option:hover{background:#fce7f3}.guest-picker-name{color:#1f2937;font-size:.875rem;font-weight:500;text-transform:capitalize}.guest-picker-rel{color:#9ca3af;font-size:.75rem;text-transform:capitalize}.guest-picker-empty{color:#9ca3af;font-size:.875rem;padding:14px;text-align:center}.pledge-existing-notice{background:#fef9c3;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.825rem;margin-bottom:16px;padding:10px 14px}@media (max-width:768px){.pledges-grid{grid-template-columns:1fr}.pledge-summary-cards{grid-template-columns:1fr 1fr}.pledge-table{display:block;overflow-x:auto}.pledge-management-header{flex-wrap:wrap;gap:10px}.pledge-sort-select{flex:1 1;min-width:0}.filter-btn{font-size:.75rem;padding:7px 6px}}@media (max-width:480px){.pledge-summary-cards{grid-template-columns:1fr}.filter-btn{font-size:.7rem;padding:6px 4px}.filter-count{display:none}}.inv-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.inv-title{color:#1f2937;font-size:1.4rem;font-weight:700;margin:0}.inv-actions{display:flex;flex-wrap:wrap;gap:8px}.inv-stats-bar{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin-bottom:24px}.inv-stat{background:#fff;border:1px solid #f3f4f6;border-radius:10px;box-shadow:0 1px 3px #0000000d;padding:14px 12px;text-align:center}.inv-stat-value{color:#db2777;font-size:1.6rem;font-weight:700;line-height:1}.inv-stat-label{color:#6b7280;font-size:.72rem;letter-spacing:.05em;margin-top:4px;text-transform:uppercase}.inv-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.inv-search{border:1px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:.875rem;min-width:200px;outline:none;padding:8px 12px}.inv-search:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.inv-filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.875rem;outline:none;padding:8px 12px}.inv-filter-select:focus{border-color:#db2777}.inv-table-wrap{background:#fff;border:1px solid #f3f4f6;border-radius:10px;overflow-x:auto}.inv-table{border-collapse:collapse;font-size:.875rem;width:100%}.inv-table th{background:#fdf2f8;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.inv-table td{border-bottom:1px solid #f9fafb;color:#374151;padding:12px 14px;vertical-align:middle}.inv-table tr:last-child td{border-bottom:none}.inv-table tr:hover td{background:#fdf2f8}.inv-check{accent-color:#db2777;cursor:pointer;height:16px;width:16px}.badge-confirmed{background:#dcfce7;color:#166534}.badge-pending{background:#fef9c3;color:#713f12}.badge-declined{background:#fee2e2;color:#991b1b}.badge-sent{background:#dbeafe;color:#1e40af}.badge-draft{background:#f3f4f6;color:#4b5563}.badge-single{background:#ede9fe;color:#6d28d9}.badge-double{background:#fce7f3;color:#9d174d}.badge-qr{background:#d1fae5;color:#065f46}.badge-no-qr{background:#f3f4f6;color:#6b7280}.inv-row-actions{align-items:center;display:flex;gap:6px}.btn-icon{border-radius:6px;font-size:.8rem;padding:5px 8px;white-space:nowrap}.btn-icon:hover{background:#fdf2f8}.btn-icon.green:hover{background:#dcfce7;border-color:#86efac;color:#166534}.btn-icon.blue:hover{background:#dbeafe;border-color:#93c5fd;color:#1d4ed8}.btn-icon.red:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.bulk-bar{align-items:center;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:1px solid #f9a8d4;border-radius:8px;display:flex;flex-wrap:wrap;font-size:.875rem;gap:12px;margin-bottom:12px;padding:10px 16px}.bulk-bar-label{color:#9d174d;font-weight:600}.inv-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.inv-form-grid .full-span{grid-column:1/-1}.form-field label{color:#374151;display:block;font-size:.8rem;font-weight:600;margin-bottom:4px}.form-field input,.form-field select{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:.875rem;outline:none;padding:8px 10px;width:100%}.form-field input:focus,.form-field select:focus{border-color:#db2777;box-shadow:0 0 0 3px #db277714}.inv-preview-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.inv-preview-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040;max-height:90vh;max-width:520px;overflow-y:auto;width:100%}.inv-preview-actions{border-top:1px solid #f3f4f6;display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px}.va-section{margin-top:30px}.va-section-title{color:#1f2937;font-size:1rem;font-weight:700;margin-bottom:12px}.va-list{display:flex;flex-direction:column;gap:10px}.va-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.va-label{color:#1f2937;font-size:.875rem;font-weight:600}.va-url{background:#f9fafb;border-radius:4px;font-family:monospace;padding:3px 8px;word-break:break-all}.va-copy-btn,.va-url{color:#6b7280;font-size:.75rem}.va-copy-btn{background:none;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;padding:4px 10px;transition:all .15s}.va-copy-btn:hover{background:#fdf2f8;border-color:#f9a8d4;color:#db2777}.inv-empty{color:#9ca3af;padding:48px 20px;text-align:center}.inv-empty-icon{font-size:3rem;margin-bottom:12px}.inv-empty-text{font-size:.9rem}@media (max-width:640px){.inv-form-grid{grid-template-columns:1fr}.inv-table td:nth-child(n+5),.inv-table th:nth-child(n+5){display:none}}.rsvp-page{align-items:center;background:linear-gradient(160deg,#fff0f7,#f5f3ff 50%,#fff);display:flex;flex-direction:column;min-height:100vh;padding:32px 16px 60px}.rsvp-logo{color:#9ca3af;font-size:.85rem;font-weight:600;letter-spacing:.12em;margin-bottom:28px;text-transform:uppercase}.rsvp-logo span{color:#db2777}.rsvp-card{background:#fff;border:1px solid #f3e8ff;border-radius:20px;box-shadow:0 8px 40px #db27771f;max-width:440px;overflow:hidden;width:100%}.rsvp-card-header{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;padding:28px 24px 20px;position:relative;text-align:center}.rsvp-card-header:after{background:#fff;border-radius:24px 24px 0 0;bottom:-1px;content:"";height:24px;left:0;position:absolute;right:0}.rsvp-header-ornament{font-size:.75rem;letter-spacing:10px;margin-bottom:12px;opacity:.7}.rsvp-couple-names{font-family:Georgia,serif;font-size:1.7rem;font-weight:800;letter-spacing:.02em;line-height:1.2}.rsvp-couple-amp{display:block;font-size:1rem;font-style:italic;margin:3px 0;opacity:.8}.rsvp-card-body{padding:24px}.rsvp-guest-label{color:#9ca3af;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.rsvp-guest-label,.rsvp-guest-name{margin-bottom:4px;text-align:center}.rsvp-guest-name{color:#1a0a2e;font-family:Georgia,serif;font-size:1.4rem;font-weight:700}.rsvp-plus-one{color:#7c3aed;font-size:.85rem;font-style:italic;margin-bottom:20px;text-align:center}.rsvp-divider{align-items:center;display:flex;gap:10px;margin:16px 0}.rsvp-divider-line{background:linear-gradient(90deg,#0000,#f9a8d4,#0000);flex:1 1;height:1px}.rsvp-divider-icon{font-size:1rem}.rsvp-details{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.rsvp-detail-row{align-items:flex-start;background:#fdf2f8;border-radius:8px;display:flex;gap:10px;padding:10px 12px}.rsvp-detail-icon{flex-shrink:0;font-size:1rem;margin-top:1px}.rsvp-detail-text{display:flex;flex-direction:column;gap:1px}.rsvp-detail-label{color:#9ca3af;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.rsvp-detail-value{color:#1f2937;font-size:.9rem;font-weight:600}.rsvp-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.rsvp-btn{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.02em;padding:14px;transition:all .2s;width:100%}.rsvp-btn-confirm{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 14px #22c55e4d;color:#fff}.rsvp-btn-confirm:hover{opacity:.92;transform:translateY(-1px)}.rsvp-btn-decline{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280}.rsvp-btn-decline:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.rsvp-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.rsvp-status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.875rem;font-weight:700;gap:6px;margin-bottom:16px;padding:8px 16px}.rsvp-status-confirmed{background:#dcfce7;color:#166534}.rsvp-status-declined{background:#fee2e2;color:#991b1b}.rsvp-status-pending{background:#fef9c3;color:#713f12}.rsvp-qr-section{background:linear-gradient(135deg,#fdf2f8,#f5f3ff);border:1px solid #f9a8d4;border-radius:12px;margin-bottom:12px;padding:16px;text-align:center}.rsvp-qr-title{color:#9d174d;font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.rsvp-qr-frame{background:#fff;border-radius:12px;box-shadow:0 4px 16px #db27771f;display:inline-block;margin-bottom:10px;padding:10px}.rsvp-qr-img{display:block;height:150px;width:150px}.rsvp-qr-caption{color:#6b7280;font-size:.75rem;margin:0}.rsvp-whatsapp-btn{align-items:center;background:#25d366;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:8px;justify-content:center;margin-top:8px;padding:12px;transition:opacity .2s;width:100%}.rsvp-whatsapp-btn:hover{opacity:.9}.rsvp-error,.rsvp-loading{color:#6b7280;max-width:340px;padding:60px 20px;text-align:center}.rsvp-error{color:#dc2626}.rsvp-footer{color:#d1d5db;font-size:.72rem;letter-spacing:.05em;margin-top:24px;text-align:center}.verify-page{align-items:center;background:#0f172a;color:#f1f5f9;display:flex;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;min-height:100vh;padding:24px 16px 60px}.verify-header{margin-bottom:28px;text-align:center}.verify-logo{color:#64748b;font-size:.75rem;letter-spacing:.14em;margin-bottom:6px;text-transform:uppercase}.verify-logo span{color:#ec4899}.verify-title{color:#f1f5f9;font-size:1.4rem;font-weight:800;margin:0 0 4px}.verify-subtitle{color:#64748b;font-size:.8rem;margin:0}.verify-wedding-name{color:#94a3b8;font-size:.85rem;font-style:italic;margin-top:6px}.verify-wedding-select{background:#1e293b;border:1px solid #334155;border-radius:8px;color:#f1f5f9;cursor:pointer;display:block;font-size:.875rem;margin:10px auto 0;min-width:240px;padding:8px 12px}.verify-stats-bar{grid-gap:4px;background:#1e293b;border:1px solid #334155;border-radius:14px;display:grid;gap:4px;grid-template-columns:repeat(4,1fr);margin-bottom:20px;max-width:480px;padding:14px 16px;width:100%}.verify-stat-item{border-radius:10px;padding:8px 4px;text-align:center}.verify-stat-number{font-size:1.6rem;font-weight:900;line-height:1;margin-bottom:4px}.verify-stat-label{color:#64748b;font-size:.62rem;font-weight:600;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.verify-stat-in .verify-stat-number{color:#22c55e}.verify-stat-remaining .verify-stat-number{color:#f59e0b}.verify-stat-expected .verify-stat-number{color:#818cf8}.verify-stat-rejected .verify-stat-number{color:#ef4444}.verify-progress-wrap{background:#0f172a;border-radius:6px;grid-column:1/-1;height:8px;margin-top:10px;overflow:hidden;position:relative}.verify-progress-bar{background:linear-gradient(90deg,#22c55e,#10b981);border-radius:6px;bottom:0;left:0;min-width:2px;position:absolute;top:0;transition:width .6s ease}.verify-progress-label{color:#64748b;font-size:.65rem;font-weight:700;position:absolute;right:4px;top:-18px}.verify-tabs{background:#1e293b;border-radius:10px;display:flex;gap:4px;margin-bottom:24px;max-width:400px;padding:4px;width:100%}.verify-tab{background:none;border:none;border-radius:7px;color:#64748b;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:9px 0;transition:all .2s}.verify-tab.active{background:#334155;color:#f1f5f9}.verify-scanner-wrap{display:flex;flex-direction:column;gap:16px;max-width:400px;width:100%}.scanner-box{background:#1e293b;border:2px solid #334155;border-radius:16px;min-height:280px;overflow:hidden;position:relative}.scanner-viewfinder{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:2}.scanner-corners{height:200px;position:relative;width:200px}.scanner-corner{border-color:#ec4899;border-style:solid;height:28px;opacity:.9;position:absolute;width:28px}.scanner-corner.tl{border-radius:4px 0 0 0;border-width:3px 0 0 3px;left:0;top:0}.scanner-corner.tr{border-radius:0 4px 0 0;border-width:3px 3px 0 0;right:0;top:0}.scanner-corner.bl{border-radius:0 0 0 4px;border-width:0 0 3px 3px;bottom:0;left:0}.scanner-corner.br{border-radius:0 0 4px 0;border-width:0 3px 3px 0;bottom:0;right:0}.scanner-line{animation:scan-line 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ec4899,#0000);height:2px;left:10px;position:absolute;right:10px;top:50%}@keyframes scan-line{0%{opacity:1;top:20%}50%{opacity:.6;top:80%}to{opacity:1;top:20%}}.scanner-placeholder{align-items:center;color:#475569;display:flex;flex-direction:column;gap:12px;height:280px;justify-content:center}.scanner-placeholder-icon{font-size:3rem}.scanner-placeholder-text{font-size:.85rem;text-align:center}.manual-input-section{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px}.manual-input-label{color:#64748b;display:block;font-size:.75rem;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.manual-input-row{display:flex;gap:8px}.manual-input{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;flex:1 1;font-family:monospace;font-size:.875rem;outline:none;padding:10px 12px;transition:border-color .2s}.manual-input:focus{border-color:#ec4899}.manual-input::placeholder{color:#475569}.scan-btn{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:10px 18px;transition:opacity .2s;white-space:nowrap}.scan-btn:hover{opacity:.9}.scan-btn:disabled{cursor:not-allowed;opacity:.5}.result-card{animation:result-pop .3s cubic-bezier(.34,1.56,.64,1);border:2px solid #0000;border-radius:16px;max-width:400px;padding:24px;text-align:center;width:100%}@keyframes result-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.result-card.green{background:#052e16;border-color:#22c55e}.result-card.red{background:#450a0a;border-color:#ef4444}.result-card.yellow{background:#431407;border-color:#f59e0b}.result-icon{display:block;font-size:3rem;margin-bottom:12px}.result-label{font-size:1.3rem;font-weight:800;letter-spacing:.03em;margin-bottom:6px}.result-card.green .result-label{color:#22c55e}.result-card.red .result-label{color:#ef4444}.result-card.yellow .result-label{color:#f59e0b}.result-message{color:#cbd5e1;font-size:1rem;margin-bottom:16px}.result-detail-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:16px;text-align:left}.result-detail{background:#ffffff0d;border-radius:8px;padding:10px 12px}.result-detail-key{color:#64748b;font-size:.68rem;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.result-detail-value{color:#f1f5f9;font-size:.875rem;font-weight:600}.result-entry-counter{color:#22c55e;font-size:2rem;font-weight:800;margin-bottom:4px}.result-entry-label{color:#64748b;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.result-scan-again-btn{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;color:#94a3b8;cursor:pointer;font-size:.875rem;font-weight:600;margin-top:16px;padding:10px 24px;transition:all .2s}.result-scan-again-btn:hover{background:#ffffff24;color:#f1f5f9}.history-wrap{max-width:500px;width:100%}.history-header-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.history-stat{background:#1e293b;border-radius:10px;padding:14px 10px;text-align:center}.history-stat-value{color:#ec4899;font-size:1.5rem;font-weight:800}.history-stat-label{color:#64748b;font-size:.7rem;letter-spacing:.05em;margin-top:3px;text-transform:uppercase}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{align-items:center;background:#1e293b;border-left:3px solid #0000;border-radius:10px;display:flex;gap:12px;padding:12px 14px}.history-item.valid{border-left-color:#22c55e}.history-item.already_checked_in,.history-item.capacity_exceeded{border-left-color:#f59e0b}.history-item.declined,.history-item.expired,.history-item.invalid{border-left-color:#ef4444}.history-item-name{color:#f1f5f9;flex:1 1;font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-result{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.history-item.valid .history-item-result{color:#22c55e}.history-item.already_checked_in .history-item-result,.history-item.capacity_exceeded .history-item-result{color:#f59e0b}.history-item.declined .history-item-result,.history-item.expired .history-item-result,.history-item.invalid .history-item-result{color:#ef4444}.history-item-time{color:#475569;font-size:.72rem;white-space:nowrap}.verify-access-screen{max-width:360px;padding:20px;text-align:center}.verify-access-icon{font-size:3.5rem;margin-bottom:16px}.verify-access-title{color:#f1f5f9;font-size:1.2rem;font-weight:700;margin-bottom:8px}.verify-access-desc{color:#64748b;font-size:.85rem;line-height:1.5;margin-bottom:20px}.verify-access-input{background:#1e293b;border:1px solid #334155;border-radius:10px;box-sizing:border-box;color:#f1f5f9;font-size:.875rem;margin-bottom:10px;outline:none;padding:12px 14px;width:100%}.verify-access-input:focus{border-color:#ec4899}.verify-access-btn{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:12px;transition:opacity .2s;width:100%}.verify-access-btn:hover{opacity:.9}.verify-access-btn:disabled{cursor:not-allowed;opacity:.5}.verify-access-error{color:#ef4444;font-size:.8rem;margin-top:8px}.camera-toggle-btn{align-items:center;background:#1e293b;border:1px solid #334155;border-radius:10px;color:#94a3b8;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s;width:100%}.camera-toggle-btn.active{background:#1e1028;border-color:#ec4899;color:#ec4899}.camera-toggle-btn:hover{border-color:#475569;color:#f1f5f9}#html5-qrcode-anchor-scan-type-change{display:none!important}#qr-reader{background:#0000!important;border:none!important}#qr-reader video{border-radius:12px!important}#qr-reader__scan_region{background:#0000!important}#qr-reader__dashboard{background:#1e293b!important;padding:12px!important}#qr-reader__dashboard_section_csr button{background:#ec4899!important;border:none!important;border-radius:8px!important;color:#fff!important;cursor:pointer!important;font-weight:600!important;padding:8px 16px!important}.al-root{background:#f9fafb;position:relative}.al-root,.al-sidebar{display:flex;min-height:100vh}.al-sidebar{background:#fff;border-right:1px solid #f3f4f6;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;transition:transform .25s ease;width:256px;z-index:50}.al-sidebar-header{border-bottom:1px solid #f3f4f6;flex-shrink:0;justify-content:space-between;padding:20px 20px 16px}.al-logo,.al-sidebar-header{align-items:center;display:flex}.al-logo{color:#db2777;font-size:1.1rem;font-weight:700;gap:8px;text-decoration:none}.al-logo-icon{color:#ec4899}.al-close-btn{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:none;padding:4px}.al-close-btn:hover{background:#f3f4f6}.al-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 0}.al-nav-item{align-items:center;border-left:3px solid #0000;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:10px;padding:10px 20px;position:relative;text-decoration:none;transition:all .15s ease}.al-nav-item:hover{background:#fdf2f8;color:#db2777}.al-nav-item.active{background:#fce7f3;border-left-color:#db2777;color:#db2777;font-weight:600}.al-nav-icon{flex-shrink:0}.al-nav-arrow{margin-left:auto;opacity:0;transition:opacity .15s}.al-nav-item.active .al-nav-arrow,.al-nav-item:hover .al-nav-arrow{opacity:1}.al-sidebar-footer{border-top:1px solid #f3f4f6;flex-shrink:0;padding:16px 20px}.al-admin-info{align-items:center;display:flex;gap:10px;margin-bottom:12px}.al-admin-avatar{align-items:center;background:linear-gradient(135deg,#db2777,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:36px;justify-content:center;width:36px}.al-admin-text{display:flex;flex-direction:column;min-width:0}.al-admin-name{color:#111827;font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-admin-role{color:#9ca3af;font-size:.7rem}.al-logout-btn{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:8px;padding:8px 12px;transition:all .15s ease;width:100%}.al-logout-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.al-main{display:flex;flex:1 1;flex-direction:column;min-height:100vh;min-width:0}.al-topbar{align-items:center;background:#fff;border-bottom:1px solid #f3f4f6;display:flex;flex-shrink:0;gap:16px;height:60px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.al-menu-btn{background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:none;padding:6px}.al-menu-btn:hover{background:#f3f4f6}.al-topbar-title{color:#111827;font-size:1rem;font-weight:700}.al-topbar-right{gap:12px;margin-left:auto}.al-notif-btn,.al-topbar-right{align-items:center;display:flex}.al-notif-btn{border-radius:50%;color:#6b7280;height:36px;justify-content:center;text-decoration:none;transition:all .15s;width:36px}.al-notif-btn:hover{background:#fce7f3;color:#db2777}.al-app-link{border:1px solid #fce7f3;border-radius:20px;color:#db2777;font-size:.8rem;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .15s;white-space:nowrap}.al-app-link:hover{background:#fce7f3}.al-content{flex:1 1;min-width:0;padding:28px 32px 48px}.al-overlay{background:#0006;display:none;inset:0;position:fixed;z-index:45}.admin-card{background:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 1px 3px #0000000a}.admin-page-header{margin-bottom:24px}.admin-page-title{color:#111827;font-size:1.4rem;font-weight:700;margin:0 0 4px}.admin-page-subtitle{color:#6b7280;font-size:.875rem;margin:0}.stat-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:28px}.stat-card{background:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:8px;padding:20px;transition:box-shadow .15s}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.stat-card-value{color:#111827;font-size:1.8rem;font-weight:800;line-height:1}.stat-card-label{color:#6b7280;font-size:.78rem;font-weight:500}.icon-pink{background:#fce7f3;color:#db2777}.icon-purple{background:#ede9fe;color:#7c3aed}.icon-blue{background:#dbeafe;color:#2563eb}.icon-green{background:#d1fae5;color:#059669}.icon-yellow{background:#fef3c7;color:#d97706}.icon-red{background:#fee2e2;color:#dc2626}.icon-teal{background:#ccfbf1;color:#0d9488}.icon-indigo{background:#e0e7ff;color:#4338ca}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.72rem;font-weight:600;padding:3px 10px;white-space:nowrap}.badge-green{background:#d1fae5;color:#065f46}.badge-yellow{background:#fef3c7;color:#92400e}.badge-red{background:#fee2e2;color:#991b1b}.badge-gray{background:#f3f4f6;color:#374151}.badge-blue{background:#dbeafe;color:#1e40af}.badge-purple{background:#ede9fe;color:#5b21b6}.badge-pink{background:#fce7f3;color:#9d174d}.admin-table-wrap{border:1px solid #f3f4f6;border-radius:12px;overflow-x:auto}.admin-table{background:#fff;border-collapse:collapse;font-size:.875rem;width:100%}.admin-table th{background:#f9fafb;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.admin-table td{border-bottom:1px solid #f9fafb;color:#374151;padding:14px 16px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#fdfcff}.btn-primary{align-items:center;background:#db2777;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:6px;padding:9px 18px;text-decoration:none;transition:background .15s}.btn-primary:hover{background:#be185d}.btn-secondary{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .15s}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-danger{align-items:center;background:#fff;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;padding:7px 14px;transition:all .15s}.btn-danger:hover{background:#fee2e2}.btn-icon{align-items:center;background:none;border:1px solid #e5e7eb;border-radius:7px;color:#6b7280;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:all .15s;width:32px}.btn-icon:hover{background:#fce7f3;border-color:#f9a8d4;color:#db2777}.admin-loading{align-items:center;color:#9ca3af;display:flex;font-size:.9rem;gap:12px;justify-content:center;padding:60px}.admin-empty{color:#9ca3af;padding:60px 24px;text-align:center}.admin-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.admin-empty p{font-size:.9rem;margin:0}.admin-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.admin-search-wrap{flex:1 1;max-width:380px;min-width:200px;position:relative}.admin-search-wrap svg{color:#9ca3af;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.admin-search{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#111827;font-size:.875rem;outline:none;padding:9px 12px 9px 38px;transition:border-color .15s;width:100%}.admin-search:focus{border-color:#f9a8d4;box-shadow:0 0 0 3px #ec489914}.admin-filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s}.admin-filter-select:focus{border-color:#f9a8d4}.admin-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.admin-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000002e;max-height:90vh;max-width:520px;overflow-y:auto;padding:28px;width:100%}.admin-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.admin-modal-title{color:#111827;font-size:1.1rem;font-weight:700;margin:0}.admin-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;padding:4px}.admin-modal-close:hover{background:#f3f4f6;color:#374151}.admin-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.admin-form-group{display:flex;flex-direction:column;gap:6px}.admin-form-group.full-width{grid-column:1/-1}.admin-form-group label{color:#374151;font-size:.8rem;font-weight:600}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;font-family:inherit;font-size:.875rem;outline:none;padding:9px 12px;transition:border-color .15s}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{border-color:#f9a8d4;box-shadow:0 0 0 3px #ec489914}.admin-form-group textarea{min-height:80px;resize:vertical}.admin-form-actions{border-top:1px solid #f3f4f6;display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.admin-alert{border-radius:10px;font-size:.875rem;margin-bottom:16px;padding:12px 16px}.admin-alert-success{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.admin-alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.admin-alert-info{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}@media (max-width:768px){.al-sidebar{box-shadow:4px 0 24px #0000001f;height:100%;left:0;position:fixed;top:0;transform:translateX(-100%)}.al-sidebar.open{transform:translateX(0)}.al-close-btn{align-items:center;display:flex;justify-content:center}.al-menu-btn{display:flex}.al-overlay{display:block}.al-content{padding:20px 16px 40px}.stat-grid{grid-template-columns:repeat(2,1fr)}.admin-form-grid{grid-template-columns:1fr}.admin-modal{padding:20px}.al-app-link{display:none}}@media (max-width:480px){.stat-grid{grid-template-columns:1fr 1fr}.al-content{padding:16px 12px 40px}}.dash-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{border-color:#f9a8d4;box-shadow:0 4px 14px #db27771a}.dash-charts-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.dash-chart-card{padding:24px}.dash-bottom-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.dash-list-card{overflow:hidden;padding:0}.dash-list-header{align-items:center;border-bottom:1px solid #f9fafb;display:flex;justify-content:space-between;padding:20px 20px 12px}.dash-section-title{color:#111827;font-size:.95rem;font-weight:700;margin:0}.dash-view-all{align-items:center;background:none;border:none;border-radius:6px;color:#db2777;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:4px;padding:4px 8px}.dash-view-all:hover{background:#fce7f3}.dash-upcoming-list{display:flex;flex-direction:column}.dash-upcoming-item{align-items:center;border-bottom:1px solid #f9fafb;display:flex;gap:12px;padding:12px 20px;transition:background .12s}.dash-upcoming-item:last-child{border-bottom:none}.dash-upcoming-item:hover{background:#fdf2f8}.dash-upcoming-icon{align-items:center;background:#fce7f3;border-radius:50%;color:#db2777;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.dash-upcoming-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.dash-upcoming-couple{color:#111827;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-upcoming-meta{color:#9ca3af;font-size:.75rem}.dash-days-badge{border-radius:20px;flex-shrink:0;font-size:.75rem;font-weight:700;padding:3px 9px}.dash-days-badge.urgent{background:#fee2e2;color:#dc2626}.dash-days-badge.soon{background:#fef3c7;color:#92400e}.dash-activity-list{display:flex;flex-direction:column;max-height:380px;overflow-y:auto}.dash-activity-item{align-items:flex-start;border-bottom:1px solid #f9fafb;display:flex;gap:12px;padding:10px 20px}.dash-activity-item:last-child{border-bottom:none}.dash-activity-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:1px;width:28px}.dash-dot-green{background:#d1fae5;color:#059669}.dash-dot-yellow{background:#fef3c7;color:#d97706}.dash-dot-red{background:#fee2e2;color:#dc2626}.dash-dot-blue{background:#dbeafe;color:#2563eb}.dash-dot-gray{background:#f3f4f6;color:#6b7280}.dash-activity-body{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.dash-activity-label{color:#374151;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-activity-time{color:#9ca3af;font-size:.72rem}.dash-error{color:#6b7280;padding:60px 24px;text-align:center}.dash-error svg{color:#fca5a5;margin-bottom:12px}.dash-error p{margin:0 0 16px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:900px){.dash-bottom-row,.dash-charts-row{grid-template-columns:1fr}}.rte-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.rte-wrapper:focus-within{border-color:#f9a8d4;box-shadow:0 0 0 3px #ec489914}.rte-toolbar{background:#f9fafb;border-bottom:1px solid #f3f4f6;display:flex;flex-direction:column;gap:5px;padding:6px 10px}.rte-row{align-items:center;display:flex;flex-wrap:wrap;gap:3px;row-gap:3px}.rte-select-group{align-items:stretch;background:#fff;border:1px solid #e5e7eb;border-radius:7px;display:inline-flex;flex-shrink:0;height:30px;transition:border-color .15s,box-shadow .15s}.rte-select-group:focus-within{border-color:#f9a8d4;box-shadow:0 0 0 2px #ec48991a}.rte-select-label{align-items:center;background:#f3f4f6;border-radius:6px 0 0 6px;border-right:1px solid #e5e7eb;color:#9ca3af;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:0 7px;text-transform:uppercase;-webkit-user-select:none;user-select:none;white-space:nowrap}.rte-select{-webkit-appearance:auto;appearance:auto;background:#0000;border:none;border-radius:0 6px 6px 0;color:#374151;cursor:pointer;font-size:.78rem;height:100%;outline:none;padding:0 6px}.rte-select:focus{background:#fdf2f8}.rte-select-font{width:130px}.rte-select-size{width:96px}.rte-btn{align-items:center;background:none;border:1px solid #0000;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:30px;justify-content:center;padding:0;transition:all .12s;width:30px}.rte-btn:hover{background:#fce7f3;border-color:#f9a8d4;color:#db2777}.rte-divider{align-self:center;background:#e5e7eb;flex-shrink:0;height:18px;margin:0 4px;width:1px}.rte-color-wrap{align-items:center;display:flex;gap:4px}.rte-color-icon{color:#6b7280;flex-shrink:0;font-size:.72rem;font-weight:700;text-align:center;width:14px}.rte-color-swatches{display:flex;flex-wrap:wrap;gap:3px;max-width:130px}.rte-color-swatch{border:1.5px solid #00000014;border-radius:4px;cursor:pointer;flex-shrink:0;height:16px;outline:none;padding:0;transition:transform .12s,box-shadow .12s;width:16px}.rte-color-swatch:hover{box-shadow:0 0 0 2px #db277766;transform:scale(1.3)}.rte-body{color:#111827;font-size:.9rem;line-height:1.7;max-height:400px;outline:none;overflow-y:auto;padding:14px 16px;position:relative;word-break:break-word}.rte-body.rte-empty:before{color:#9ca3af;content:attr(data-placeholder);font-size:.9rem;left:16px;pointer-events:none;position:absolute;top:14px}.rte-body b,.rte-body strong{font-weight:700}.rte-body em,.rte-body i{font-style:italic}.rte-body u{text-decoration:underline}.rte-body s,.rte-body strike{text-decoration:line-through}.rte-body ul{list-style:disc}.rte-body ol,.rte-body ul{margin:6px 0;padding-left:22px}.rte-body ol{list-style:decimal}.rte-body li{margin:3px 0}.rte-body a{color:#db2777;text-decoration:underline}.rte-body hr{border:none;border-top:1px solid #e5e7eb;margin:14px 0}.rte-body::-webkit-scrollbar{width:6px}.rte-body::-webkit-scrollbar-track{background:#0000}.rte-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}@media (max-width:540px){.rte-toolbar{padding:5px 8px}.rte-select-font{width:100px}.rte-select-size{width:82px}.rte-color-swatches{max-width:90px}}.um-layout{align-items:flex-start;display:flex;gap:20px}.um-user-cell{gap:10px}.um-mini-avatar,.um-user-cell{align-items:center;display:flex}.um-mini-avatar{background:linear-gradient(135deg,#db2777,#764ba2);border-radius:50%;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:700;height:34px;justify-content:center;width:34px}.um-user-name{color:#111827;font-size:.875rem;font-weight:600;white-space:nowrap}.um-user-uname{color:#9ca3af;font-size:.72rem}.um-contact-cell{color:#374151;display:flex;flex-direction:column;font-size:.8rem;gap:2px}.um-phone{color:#9ca3af}.um-wedding-title{color:#374151;font-size:.8rem;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.um-wedding-date{color:#9ca3af;font-size:.72rem}.um-no-wedding{color:#d1d5db}.um-stats-cell{display:flex;flex-direction:column;gap:2px}.um-date,.um-stats-cell{color:#6b7280;font-size:.78rem}.um-date{white-space:nowrap}.um-actions{align-items:center;display:flex;gap:4px}.um-row-selected td{background:#fdf2f8}.um-steps{align-items:center;background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;display:flex;gap:0;margin-bottom:20px;overflow:hidden}.um-step{background:#f9fafb;color:#9ca3af;flex:1 1;font-size:.78rem;font-weight:500;padding:10px;text-align:center}.um-step.active{background:#fce7f3;color:#db2777;font-weight:700}.um-step-divider{background:#e5e7eb;height:36px;width:1px}.um-step-hint{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;color:#6b7280;font-size:.825rem;margin:0 0 16px;padding:10px 14px}.um-hint{color:#9ca3af;font-size:.72rem;font-weight:400}.um-success{padding:8px 0;text-align:center}.um-success-icon{align-items:center;background:#d1fae5;border-radius:50%;color:#059669;display:flex;font-size:1.8rem;font-weight:700;height:56px;justify-content:center;margin:0 auto 12px;width:56px}.um-success h3{color:#111827;font-size:1.05rem;margin:0 0 4px}.um-success p{color:#6b7280;font-size:.85rem;margin:0 0 16px}.um-creds{background:#f9fafb;border:1px solid #f3f4f6;border-radius:10px;margin-bottom:12px;padding:14px 16px;text-align:left}.um-cred-row{align-items:center;display:flex;gap:10px;padding:6px 0}.um-cred-row+.um-cred-row{border-top:1px solid #f3f4f6}.um-cred-label{color:#9ca3af;flex-shrink:0;font-size:.75rem;font-weight:600;width:120px}.um-cred-value{color:#111827;flex:1 1;font-size:.875rem;font-weight:600}.um-mono{color:#db2777;font-family:Courier New,monospace;letter-spacing:.05em}.um-note{color:#9ca3af;font-size:.78rem;margin:0 0 16px}.um-detail-panel{background:#fff;border:1px solid #f3f4f6;border-radius:12px;display:flex;flex-direction:column;flex-shrink:0;gap:16px;max-height:calc(100vh - 120px);overflow-y:auto;padding:20px;position:-webkit-sticky;position:sticky;top:80px;width:300px}.um-detail-header{align-items:flex-start;display:flex;gap:12px}.um-detail-avatar{align-items:center;background:linear-gradient(135deg,#db2777,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:48px;justify-content:center;width:48px}.um-detail-name{color:#111827;font-size:.95rem;font-weight:700;margin:0 0 2px}.um-detail-username{color:#9ca3af;display:block;font-size:.75rem;margin-bottom:6px}.um-detail-grid{background:#f9fafb;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:14px}.um-detail-item{align-items:center;color:#374151;display:flex;font-size:.8rem;gap:8px}.um-detail-item svg{color:#9ca3af;flex-shrink:0}.um-wedding-card{align-items:flex-start;background:#fdf2f8;border:1px solid #fce7f3;border-radius:10px;display:flex;gap:10px;padding:12px}.um-wedding-name{color:#111827;font-size:.85rem;font-weight:600;margin-bottom:3px}.um-wedding-meta{align-items:center;color:#9ca3af;display:flex;flex-wrap:wrap;font-size:.75rem;gap:4px}.um-notes{background:#f9fafb;border-radius:8px;padding:12px}.um-notes-label{color:#9ca3af;display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.um-notes p{color:#374151;font-size:.8rem;margin:0;white-space:pre-wrap}@media (max-width:1024px){.um-detail-panel{display:none}}.ecm-modal{max-height:92vh;max-width:680px!important;overflow-y:auto}.ecm-to-group{margin-bottom:16px}.ecm-to-box{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;display:flex;flex-wrap:wrap;font-size:.875rem;gap:8px;padding:9px 12px}.ecm-to-emails{color:#9ca3af;font-size:.72rem;margin-left:auto;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecm-warn{color:#d97706;display:block;font-size:.72rem;margin-top:4px}.ecm-attach-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.ecm-attach-total{color:#6b7280;font-size:.72rem;font-weight:500}.ecm-drop-zone{align-items:center;background:#fafafa;border:2px dashed #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;flex-direction:column;font-size:.825rem;gap:4px;justify-content:center;padding:20px;text-align:center;transition:all .15s}.ecm-drop-zone:hover{background:#fdf2f8;border-color:#f9a8d4;color:#db2777}.ecm-drop-hint{color:#9ca3af;font-size:.7rem}.ecm-file-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:8px 0 0;padding:0}.ecm-file-chip{align-items:center;background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;display:flex;font-size:.8rem;gap:8px;padding:7px 10px}.ecm-file-name{color:#374151;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecm-file-size{color:#9ca3af;flex-shrink:0;font-size:.72rem}.ecm-file-remove{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;padding:0;transition:all .12s;width:20px}.ecm-file-remove:hover{background:#fee2e2;color:#dc2626}.sc-layout{align-items:flex-start;display:flex;gap:20px}.sc-ticket-list{display:flex;flex:1 1;flex-direction:column;gap:10px;min-width:0}.sc-ticket-row{background:#fff;border:1px solid #f3f4f6;border-radius:10px;cursor:pointer;padding:14px 16px;transition:all .15s}.sc-ticket-row:hover{border-color:#f9a8d4;box-shadow:0 2px 8px #db27770f}.sc-ticket-row.selected{background:#fdf2f8;border-color:#db2777}.sc-ticket-top{align-items:center;display:flex;gap:8px;margin-bottom:6px}.sc-ticket-time{color:#9ca3af;font-size:.72rem;margin-left:auto}.sc-ticket-subject{color:#111827;font-size:.875rem;font-weight:600;margin-bottom:4px}.sc-ticket-meta{color:#9ca3af;font-size:.75rem}.sc-detail-panel{background:#fff;border:1px solid #f3f4f6;border-radius:12px;display:flex;flex-direction:column;flex-shrink:0;gap:0;max-height:calc(100vh - 120px);overflow-y:auto;position:-webkit-sticky;position:sticky;top:80px;width:380px}.sc-detail-header{border-bottom:1px solid #f9fafb;padding:18px 18px 12px}.sc-detail-title-row{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.sc-detail-title{color:#111827;font-size:.95rem;font-weight:700;margin:0}.sc-detail-meta{color:#6b7280;display:flex;flex-direction:column;font-size:.75rem;gap:2px}.sc-description{background:#f9fafb;border-bottom:1px solid #f9fafb;padding:14px 18px}.sc-description p{color:#374151;font-size:.85rem;margin:0;white-space:pre-wrap}.sc-status-bar{align-items:center;border-bottom:1px solid #f9fafb;display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px}.sc-status-btn{background:#fff;border:1px solid #e5e7eb;border-radius:20px;color:#6b7280;cursor:pointer;font-size:.72rem;font-weight:600;padding:4px 10px;text-transform:capitalize;transition:all .15s}.sc-status-btn.active,.sc-status-btn:hover:not(:disabled){background:#fce7f3;border-color:#f9a8d4;color:#db2777}.sc-status-btn:disabled{cursor:default;opacity:.6}.sc-replies{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:14px 18px}.sc-reply{border-radius:10px;max-width:90%;padding:10px 14px}.sc-reply.admin{align-self:flex-end;background:#fce7f3}.sc-reply.user{align-self:flex-start;background:#f9fafb}.sc-reply-author{color:#9ca3af;font-size:.68rem;font-weight:700;margin-bottom:4px}.sc-reply-message{color:#374151;font-size:.8rem;white-space:pre-wrap}.sc-reply-time{color:#9ca3af;font-size:.65rem;margin-top:4px;text-align:right}.sc-reply-box{border-top:1px solid #f3f4f6;padding:14px 18px}.sc-reply-input{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.875rem;outline:none;padding:10px 12px;resize:none;transition:border-color .15s;width:100%}.sc-reply-input:focus{border-color:#f9a8d4;box-shadow:0 0 0 3px #ec489914}@media (max-width:900px){.sc-detail-panel{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.93d1a659.css.map*/