*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}a{color:#4a90d9;text-decoration:none}a:hover{text-decoration:underline}.app-layout{flex-direction:column;min-height:100vh;display:flex}.top-header{z-index:100;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;height:52px;padding:0 16px;display:flex;position:fixed;top:0;left:0;right:0}.header-left{align-items:center;width:180px;display:flex}.logo{color:#7c3aed;letter-spacing:-.5px;font-size:22px;font-weight:400}.logo b{font-weight:700}.location-switcher{position:relative}.venue-selector{color:#fff;cursor:pointer;white-space:nowrap;background:#22c55e;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600;transition:background .15s}.venue-selector:hover{background:#16a34a}.location-dropdown{z-index:1000;background:#1e293b;border:1px solid #334155;border-radius:8px;min-width:280px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 8px 24px #0006}.location-dropdown-header{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;border-bottom:1px solid #334155;padding:10px 16px;font-size:11px;font-weight:700}.location-dropdown-item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:14px;transition:background .1s;display:flex}.location-dropdown-item:hover{background:#334155}.location-dropdown-item.active{background:#1e3a5f}.location-dropdown-item .location-name{flex:1;font-weight:600}.location-dropdown-item .location-address{color:#94a3b8;font-size:11px;display:none}.location-dropdown-item:hover .location-address{display:block}.location-dropdown-item .location-check{color:#22c55e;flex-shrink:0;font-size:16px;font-weight:700}.location-dropdown-divider{background:#334155;height:1px;margin:0}.location-dropdown-item.add-location{color:#22c55e;font-size:13px;font-weight:600}.location-dropdown-item.add-location:hover{background:#1e3a2f}.header-gradient{background:linear-gradient(90deg,#7c3aed,#a855f7);border-radius:6px;flex:1;height:36px;margin:0 16px}.header-right{align-items:center;gap:12px;display:flex}.revenue-badge{color:#34d399;white-space:nowrap;background:#065f46;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700}.header-avatar{color:#64748b;background:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:600;display:flex}.app-body{min-height:calc(100vh - 52px);margin-top:52px;display:flex}.sidebar{background:#fff;border-right:1px solid #e5e7eb;width:200px;padding:0;position:fixed;top:52px;bottom:0;overflow-y:auto}.sidebar-role{color:#94a3b8;letter-spacing:.5px;padding:14px 16px 8px;font-size:11px;font-weight:600}.sidebar-nav{flex-direction:column;display:flex}.nav-item{color:#374151;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#374151;background:#f3f4f6;text-decoration:none}.nav-item.active{color:#fff;background:#7c3aed}.nav-item.active .nav-icon{stroke:#fff}.nav-icon{stroke:#6b7280;flex-shrink:0;width:18px;height:18px}.nav-item:hover .nav-icon{stroke:#374151}.section-toggle{position:relative}.section-toggle .chevron{color:#94a3b8;margin-left:auto;font-size:16px}.section-toggle.open{color:#fff;background:#7c3aed}.section-toggle.open .nav-icon{stroke:#fff}.section-toggle.open .chevron{color:#ffffffb3}.sub-menu{flex-direction:column;display:flex}.nav-sub-item{color:#6b7280;padding:8px 16px 8px 44px;font-size:13px;text-decoration:none;transition:background .15s,color .15s;display:block;position:relative}.nav-sub-item:before{content:"";background:#d1d5db;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.nav-sub-item:hover{color:#374151;background:#f3f4f6;text-decoration:none}.nav-sub-item.active{color:#fff;background:#22c55e}.nav-sub-item.active:before{background:#ffffffb3}.logout-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;width:calc(100% - 32px);margin:20px auto;padding:8px;font-size:14px;display:block}.main-content{flex:1;min-height:calc(100vh - 52px);margin-left:200px;padding:24px}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{color:#1e293b;font-size:24px}.card{background:#fff;border-radius:8px;margin-bottom:20px;padding:20px;box-shadow:0 1px 3px #0000001a}.card h3{color:#1e293b;margin-bottom:12px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.stat-card .label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:13px}.stat-card .value{color:#1e293b;margin-top:4px;font-size:28px;font-weight:700}table{border-collapse:collapse;width:100%}table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:12px;font-size:13px}table td{border-bottom:1px solid #e2e8f0;padding:12px;font-size:14px}table tr:hover{background:#f8fafc}.badge{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.requested{color:#92400e;background:#fef3c7}.badge.confirmed{color:#166534;background:#dcfce7}.badge.completed{color:#1e40af;background:#dbeafe}.badge.cancelled{color:#991b1b;background:#fee2e2}.badge.birthday{color:#92400e;background:#fef3c7}.badge.field-trip{color:#3730a3;background:#e0e7ff}.badge.pending{color:#854d0e;background:#fef9c3}.badge.yes{color:#166534;background:#dcfce7}.badge.no{color:#991b1b;background:#fee2e2}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s;display:inline-block}.btn-primary{color:#fff;background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-success{color:#fff;background:#22c55e}.btn-danger{color:#fff;background:#ef4444}.btn-secondary{color:#475569;background:#e2e8f0}.btn-sm{padding:4px 10px;font-size:12px}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filters label{color:#64748b;font-size:13px}.filters input,.filters select{border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{color:#374151;margin-bottom:4px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.detail-section{margin-bottom:24px}.detail-section h3{color:#374151;border-bottom:1px solid #e5e7eb;margin-bottom:12px;padding-bottom:8px;font-size:16px}.detail-row{justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.detail-row .label{color:#6b7280;flex-shrink:0;min-width:100px}.detail-row .value{font-weight:500}.stub-section{text-align:center;color:#92400e;background:#fffbeb;border:2px dashed #f59e0b;border-radius:8px;padding:20px}.stub-section h4{margin-bottom:8px}.login-container{background:#f5f7fa;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 6px #0000001a}.login-card h1{text-align:center;color:#1e293b;margin-bottom:8px}.login-card .subtitle{text-align:center;color:#64748b;margin-bottom:24px;font-size:14px}.login-card .form-group input{width:100%}.login-card button{width:100%;margin-top:8px;padding:12px}.error-msg{color:#991b1b;background:#fee2e2;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:14px}.success-msg{color:#166534;background:#dcfce7;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:14px}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal,.modal-box{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto}.modal h2{margin-bottom:16px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.money{font-family:SF Mono,Fira Code,monospace;font-weight:600}.money.positive{color:#16a34a}.money.negative{color:#dc2626}.event-info-page{max-width:1100px}.event-info-topbar{align-items:center;gap:16px;margin-bottom:16px;display:flex}.event-info-badge{color:#fff;background:#22c55e;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600}.event-status-badge{border-radius:20px;padding:4px 12px;font-size:14px;font-weight:600}.event-status-badge.confirmed{color:#22c55e}.event-status-badge.confirmed:before{content:"●";color:#22c55e}.event-status-badge.cancelled{color:#ef4444}.event-status-badge.cancelled:before{content:"●";color:#ef4444}.event-info-layout{gap:24px;display:flex}.event-info-main{flex:1;min-width:0}.event-tabs{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:20px;display:flex}.event-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.event-tab:hover{color:#374151}.event-tab.active{color:#fff;background:#7c3aed;border-bottom-color:#7c3aed;border-radius:6px 6px 0 0}.event-tab-content{background:#fff;border-radius:0 0 8px 8px;min-height:300px;padding:20px}.tab-form-grid{flex-direction:column;gap:16px;display:flex}.tab-form-grid .form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-field{flex-direction:column;gap:4px;display:flex}.form-field.full-width{grid-column:1/-1}.form-field label{color:#6b7280;font-size:13px;font-weight:500}.form-field input,.form-field select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px}.form-field input[readonly]{color:#374151;background:#f9fafb}.package-card{background:#f0f9ff;border:1px solid #e0f2fe;border-radius:8px;gap:16px;margin-top:20px;padding:16px;display:flex}.package-image-placeholder{background:linear-gradient(135deg,#c4b5fd,#93c5fd,#fcd34d);border-radius:8px;width:100px;height:100px}.package-card-info{flex:1}.package-card-info h4{color:#1e293b;margin-bottom:12px;font-size:16px}.package-detail-grid{flex-direction:column;gap:10px;display:flex}.addons-section{margin-top:20px}.addons-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.addons-header h4{color:#1e293b;font-size:16px}.addon-add-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;display:flex}.txn-scroll-wrapper{max-width:100%;padding-bottom:2px;overflow-x:scroll}.txn-scroll-wrapper::-webkit-scrollbar{-webkit-appearance:none;height:8px;display:block}.txn-scroll-wrapper::-webkit-scrollbar-track{background:#e2e8f0;border-radius:4px}.txn-scroll-wrapper::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:4px;min-width:40px}.txn-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#64748b}@supports not selector(::-webkit-scrollbar){.txn-scroll-wrapper{scrollbar-width:thin;scrollbar-color:#94a3b8 #e2e8f0}}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:#6b7280;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:13px;font-weight:600}.data-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 12px;font-size:14px}.no-data-msg{text-align:center;color:#22c55e;padding:20px;font-size:14px;font-weight:500}.table-controls{color:#6b7280;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;display:flex}.table-controls select{border:1px solid #d1d5db;border-radius:4px;padding:2px 6px;font-size:13px}.table-footer{color:#6b7280;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;display:flex}.pagination{align-items:center;gap:8px;display:flex}.page-num{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex}.badge-pill{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-success{color:#166534;background:#dcfce7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-warning{color:#92400e;background:#fef3c7}.badge-info{color:#1e40af;background:#dbeafe}.btn-refund{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600}.btn-resend{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:4px;padding:4px 14px;font-size:12px;font-weight:600}.waiver-message{text-align:center;color:#374151;padding:40px 20px;font-size:14px}.red-text{color:#ef4444}.green-text{color:#22c55e}.link-green{color:#22c55e;font-weight:600;text-decoration:none}.link-green:hover{text-decoration:underline}.price-details-sidebar{flex-shrink:0;width:280px}.price-details-sidebar h3{color:#1e293b;margin-bottom:12px;font-size:18px}.price-section{margin-bottom:12px}.price-label{color:#374151;margin-bottom:4px;font-size:13px;font-weight:600}.price-row{color:#374151;justify-content:space-between;align-items:center;padding:3px 0;font-size:14px;display:flex}.price-row .bold{font-weight:700}.price-totals{border-top:1px solid #e5e7eb;margin-top:8px;margin-bottom:12px;padding-top:8px}.total-row{border-top:1px solid #e5e7eb;margin-top:4px;padding-top:6px;font-weight:700}.price-payments{border-top:1px solid #e5e7eb;margin-bottom:16px;padding-top:8px}.discount-input-row{gap:8px;margin-bottom:8px;display:flex}.discount-input{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:6px 10px;font-size:14px}.discount-apply-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:4px;width:32px;height:32px;font-size:16px}.balance-badge{border-radius:4px;justify-content:space-between;align-items:center;margin-top:8px;padding:6px 12px;font-size:14px;font-weight:600;display:flex}.balance-badge.unpaid{color:#ef4444;background:#fee2e2;border:1px solid #ef4444}.balance-badge.paid{color:#22c55e;background:#dcfce7;border:1px solid #22c55e}.price-actions{flex-direction:column;gap:8px;display:flex}.btn-action{cursor:pointer;text-align:center;border:none;border-radius:6px;width:100%;padding:10px;font-size:14px;font-weight:600}.btn-save{color:#fff;background:#ef4444}.btn-save-pay{color:#374151;background:#f8d7da;border:1px solid #e5e7eb}.btn-email-invoice{color:#fff;background:#7c3aed}.btn-print-invoice{color:#7c3aed;background:#fff;border:1px solid #7c3aed}.btn-complete{color:#fff;background:#22c55e}.btn-cancel-event{color:#374151;background:#fff;border:1px solid #e5e7eb}.btn-event-new{color:#fff;background:#22c55e;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600;text-decoration:none}.btn-event-new:hover{background:#16a34a;text-decoration:none}.event-filter-bar{background:#fff;border-radius:8px;align-items:flex-end;gap:20px;margin-bottom:16px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #00000014}.event-filter-bar .filter-group{flex-direction:column;flex:1;gap:4px;display:flex}.event-filter-bar .filter-group label{color:#374151;font-size:13px;font-weight:600}.filter-select,.filter-search{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.event-status-tabs{border:1px solid #e5e7eb;border-radius:6px;gap:0;margin-bottom:16px;display:flex;overflow:hidden}.status-tab{color:#374151;cursor:pointer;text-align:center;background:#fff;border:none;border-right:1px solid #e5e7eb;flex:1;padding:10px 8px;font-size:13px;font-weight:600;transition:all .15s}.status-tab:last-child{border-right:none}.status-tab:hover{background:#f9fafb}.status-tab.active-tab.active-green{color:#fff;background:#22c55e}.status-tab.active-tab.active-purple{color:#fff;background:#7c3aed}.status-tab.active-tab.active-yellow{color:#fff;background:#f59e0b}.status-tab.active-tab.active-red{color:#fff;background:#ef4444}.tab-count{color:#374151;background:#e5e7eb;border-radius:10px;margin-left:4px;padding:1px 8px;font-size:11px;display:inline-block}.tab-count.red{color:#ef4444;background:#fee2e2}.tab-count.green{color:#22c55e;background:#dcfce7}.active-tab .tab-count{color:#fff;background:#ffffff4d}.event-list-controls{color:#6b7280;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.entries-select{border:1px solid #d1d5db;border-radius:4px;margin:0 4px;padding:2px 6px;font-size:13px}.event-list-header{color:#374151;background:#fff;border-bottom:2px solid #e5e7eb;align-items:center;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.event-row{background:#fff;border-bottom:1px solid #f3f4f6;align-items:flex-start;padding:16px 12px;transition:background .1s;display:flex}.event-row:hover{background:#f9fafb}.el-check{flex-shrink:0;width:32px;padding-top:2px}.el-col{color:#374151;font-size:13px;line-height:1.7}.el-event-info,.el-host-info{flex:2.5;min-width:0}.el-price-detail{flex:1.8;min-width:0}.el-notes{color:#6b7280;flex:1;min-width:0;font-size:12px}.el-action{flex-direction:column;flex:.8;align-items:center;gap:6px;display:flex}.waiver-badge{border-radius:10px;padding:1px 10px;font-size:11px;font-weight:700;display:inline-block}.waiver-yes{color:#22c55e;background:#dcfce7}.waiver-pending{color:#d97706;background:#fef3c7}.waiver-no{color:#ef4444;background:#fee2e2}.balance-inline{border-radius:4px;margin-top:2px;padding:2px 10px;font-size:13px;display:inline-block}.balance-zero{color:#22c55e;background:#dcfce7}.balance-owed{color:#ef4444;background:#fee2e2;border:1px solid #ef4444}.action-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;text-decoration:none;display:inline-flex}.action-view{color:#22c55e}.action-edit{color:#3b82f6}.action-delete{color:#ef4444}.create-event-toggle{justify-content:center;align-items:center;gap:0;margin-bottom:20px;display:flex}.toggle-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;padding:10px 32px;font-size:14px;font-weight:600}.toggle-btn:first-child{border-radius:6px 0 0 6px}.toggle-btn:nth-child(2){border-radius:0 6px 6px 0}.toggle-active-purple{color:#fff;background:#7c3aed;border-color:#7c3aed}.toggle-active-teal{color:#fff;background:#0d9488;border-color:#0d9488}.info-icon{color:#fff;cursor:pointer;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;margin-left:8px;font-size:12px;font-weight:700;display:inline-flex}.create-event-toprow{gap:20px;margin-bottom:16px;display:flex}.ce-field{flex-direction:column;flex:1;gap:4px;display:flex}.ce-field label{color:#374151;font-size:13px;font-weight:600}.ce-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px}.ce-cta-bar{color:#fff;text-align:center;background:linear-gradient(90deg,#22c55e,#0d9488);border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px;font-weight:500}.ce-slots-grid{gap:24px;margin-top:16px;display:flex}.ce-room-column{flex:1}.ce-room-name{color:#1e293b;margin-bottom:12px;font-size:16px;font-weight:700}.ce-slot-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.ce-slot-btn{color:#fff;cursor:pointer;text-align:center;background:#7c3aed;border:none;border-radius:6px;min-width:100px;padding:8px 16px;font-size:12px;font-weight:600;line-height:1.3;transition:background .15s}.ce-slot-btn:hover{background:#6d28d9}.ce-slot-selected{background:#22c55e;box-shadow:0 0 0 3px #22c55e4d}.ce-slot-avail{color:#6b7280;font-size:13px}.ce-slot-blocked{opacity:.7;text-decoration:line-through;color:#94a3b8!important;cursor:not-allowed!important;box-shadow:none!important;background:#e2e8f0!important}.ce-slot-blocked:hover{background:#e2e8f0!important}.ce-slot-avail-blocked{color:#ef4444;font-weight:600}.back-link{color:#374151;cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:14px;font-weight:600;display:inline-block}.back-link:hover{color:#7c3aed}.create-booking-layout{gap:24px;display:flex}.create-booking-form{flex:1;min-width:0}.ce-form-card{background:#fff;border-radius:12px;margin-bottom:20px;padding:24px;box-shadow:0 1px 3px #00000014}.ce-section-title{margin-bottom:16px;font-size:18px;font-weight:700}.purple-text{color:#7c3aed}.ce-icon{margin-right:8px}.ce-section-header{justify-content:space-between;align-items:center;display:flex}.btn-add-purple{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;padding:8px 20px;font-size:14px;font-weight:600}.btn-add-purple:hover{background:#6d28d9}.selected-package-card{align-items:flex-start;gap:16px;display:flex}.sp-image{background:linear-gradient(135deg,#a7f3d0,#6ee7b7);border-radius:8px;align-items:flex-end;width:80px;height:80px;display:flex;position:relative}.sp-price-badge{color:#fff;background:#22c55e;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:700;position:absolute;bottom:0;left:0}.sp-info{flex:1}.sp-info h4{margin-bottom:8px;font-size:16px}.sp-detail-row{color:#374151;align-items:center;gap:12px;margin-bottom:4px;font-size:14px;display:flex}.sp-guests-select{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:14px}.readonly-field{color:#374151;background:#f9fafb}.no-addons-msg{text-align:center;color:#ef4444;background:#fee2e2;border-radius:6px;padding:16px;font-size:14px;font-weight:500}.btn-book-event{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:700}.btn-book-event:hover{background:#6d28d9}.addon-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px;display:grid}.addon-card{text-align:center;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:12px;transition:border-color .2s,box-shadow .2s}.addon-card:hover{border-color:#a78bfa;box-shadow:0 2px 8px #7c3aed1f}.addon-selected{background:#faf5ff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed33}.addon-image{background:#f8fafc;border-radius:8px;justify-content:center;align-items:center;width:100%;height:120px;margin-bottom:8px;display:flex;overflow:hidden}.addon-name{color:#1e293b;justify-content:center;align-items:center;min-height:36px;margin-bottom:6px;font-size:13px;font-weight:700;line-height:1.3;display:flex}.addon-qty-row{justify-content:center;align-items:center;gap:8px;margin-bottom:6px;display:flex}.addon-qty-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;font-weight:700;transition:all .15s;display:flex}.addon-qty-btn:hover{color:#fff;background:#7c3aed;border-color:#7c3aed}.addon-qty-val{color:#1e293b;text-align:center;min-width:24px;font-size:16px;font-weight:700}.addon-price{color:#22c55e;margin-left:4px;font-size:14px;font-weight:700}.addon-desc{color:#6b7280;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:30px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.payment-modal{background:#fff;border-radius:12px;width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.payment-modal-header{color:#fff;background:linear-gradient(90deg,#22c55e,#0d9488);border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:18px;font-weight:700;display:flex}.payment-modal-close{color:#ef4444;cursor:pointer;background:#fff;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;font-weight:700;display:flex}.payment-modal-body{padding:24px}.payment-tab-toggle{justify-content:center;gap:0;margin-bottom:20px;display:flex}.payment-tab-btn{cursor:pointer;color:#374151;background:#f0fdf4;border:1px solid #d1d5db;flex:1;padding:12px 24px;font-size:16px;font-weight:700}.payment-tab-btn:first-child{border-radius:6px 0 0 6px}.payment-tab-btn:last-child{border-radius:0 6px 6px 0}.payment-tab-active-green{color:#fff;background:#22c55e;border-color:#22c55e}.payment-tab-active-purple{color:#fff;background:#7c3aed;border-color:#7c3aed}.pay-form-row{gap:16px;margin-bottom:16px;display:flex}.pay-form-field{flex:1;margin-bottom:16px}.pay-form-row .pay-form-field{margin-bottom:0}.pay-form-field label{color:#1e293b;margin-bottom:6px;font-size:14px;font-weight:700;display:block}.pay-form-field input,.pay-form-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px}.pay-form-field textarea{resize:vertical}.pay-amount-input{border:1px solid #d1d5db;border-radius:6px;align-items:center;display:flex;overflow:hidden}.pay-dollar-sign{color:#374151;background:#f3f4f6;border-right:1px solid #d1d5db;padding:10px 12px;font-size:14px;font-weight:700}.pay-amount-input input{border:none;border-radius:0;flex:1}.payment-modal-actions{gap:16px;margin-top:24px;display:flex}.pay-btn-skip{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;flex:1;padding:12px;font-size:15px;font-weight:700}.pay-btn-skip:hover{background:#6d28d9}.pay-btn-confirm{color:#fff;cursor:pointer;background:linear-gradient(90deg,#22c55e,#0d9488);border:none;border-radius:8px;flex:1;padding:12px;font-size:15px;font-weight:700}.pay-btn-confirm:hover{opacity:.9}.pay-btn-skip:disabled,.pay-btn-confirm:disabled{opacity:.6;cursor:not-allowed}.cal-grid{background:#e2e8f0;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.cal-header{text-align:center;color:#64748b;background:#f1f5f9;padding:10px;font-size:13px;font-weight:600}.cal-cell{vertical-align:top;background:#fff;min-height:100px;padding:6px}.cal-empty{background:#fafafa}.cal-today{background:#f0f0ff}.cal-day-num{color:#333;margin-bottom:4px;font-size:13px;font-weight:600}.cal-today .cal-day-num{color:#7c3aed;text-align:center;background:#ede9fe;border-radius:50%;width:24px;height:24px;line-height:24px;display:inline-block}.cal-event{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;margin-bottom:2px;padding:2px 5px;font-size:11px;text-decoration:none;transition:opacity .15s;display:block;overflow:hidden}.cal-event:hover{opacity:.85}.cal-event-time{margin-right:3px;font-weight:600}.cal-event-name{font-weight:400}.rooms-info-bar{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.rooms-controls{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;display:flex}.rooms-table{border-collapse:collapse;width:100%}.rooms-table th{text-align:left;color:#64748b;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-size:12px;font-weight:600}.rooms-table td{color:#333;border-bottom:1px solid #f1f5f9;padding:14px 12px;font-size:13px}.rooms-table tbody tr:hover{background:#fafafa}.rooms-actions{gap:6px;display:flex}.room-action-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.room-duplicate{color:#22c55e}.room-duplicate:hover{background:#ecfdf5;border-color:#22c55e}.room-edit{color:#22c55e}.room-edit:hover{background:#ecfdf5;border-color:#22c55e}.room-delete{color:#ef4444}.room-delete:hover{background:#fef2f2;border-color:#ef4444}.rooms-footer{color:#64748b;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;display:flex}.addon-dropzone{cursor:pointer;background:#fafafa;border:2px dashed #cbd5e1;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:200px;height:150px;transition:all .2s;display:flex}.addon-dropzone:hover,.addon-dropzone-active{background:#f5f3ff;border-color:#7c3aed}.addon-day-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .15s}.addon-day-btn:hover{border-color:#22c55e}.addon-day-active{color:#fff;background:#22c55e;border-color:#22c55e}.page-num{text-align:center;border-radius:50%;width:28px;height:28px;margin:0 2px;font-size:13px;line-height:28px;display:inline-block}.page-num.active{color:#fff;background:#22c55e}.pkg-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:6px;padding:4px 10px 4px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.pkg-toggle-on{color:#fff;background:#22c55e}.pkg-toggle-off{color:#64748b;background:#e2e8f0}.pkg-toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;box-shadow:0 1px 3px #0003}.pkg-toggle-off .pkg-toggle-knob{order:-1}.pkg-select-header{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:8px;padding:12px 16px}.pkg-select-info{color:#1e293b;gap:24px;font-size:14px;display:flex}.pkg-select-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.pkg-select-card{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:20px;transition:all .2s;position:relative}.pkg-select-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed1f}.pkg-select-active{background:#faf5ff;border-color:#7c3aed}.pkg-select-badge{color:#fff;background:#7c3aed;border-radius:20px;margin-bottom:10px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-block}.pkg-select-name{color:#1e293b;margin-bottom:6px;font-size:16px;font-weight:700}.pkg-select-desc{color:#64748b;margin-bottom:6px;font-size:13px;line-height:1.4}.pkg-select-type{color:#94a3b8;text-transform:uppercase;font-size:12px;font-weight:600}.dash-loading{text-align:center;color:#64748b;padding:40px;font-size:16px}.dash-page{flex-direction:column;gap:20px;display:flex}.dash-top-row{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.dash-bottom-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dash-card{background:#fff;border-radius:10px;padding:0;overflow:hidden;box-shadow:0 1px 4px #00000014}.dash-card-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;padding:14px 18px;display:flex}.dash-card-header h3{color:#1e293b;flex-shrink:0;margin:0;font-size:15px;font-weight:700}.dash-card-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:700;display:flex}.dash-icon-revenue{color:#16a34a;background:#dcfce7}.dash-icon-schedule{color:#2563eb;background:#dbeafe}.dash-icon-stats{color:#d97706;background:#fef3c7}.dash-icon-messages{color:#7c3aed;background:#ede9fe}.dash-icon-upcoming{color:#0284c7;background:#e0f2fe}.dash-revenue-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.dash-revenue-item{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;flex-direction:column;padding:14px 18px;display:flex}.dash-revenue-item:nth-child(2n){border-right:none}.dash-revenue-item:nth-last-child(-n+2){border-bottom:none}.dash-revenue-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:12px;font-weight:500}.dash-revenue-value{color:#16a34a;font-family:SF Mono,Fira Code,monospace;font-size:22px;font-weight:700}.dash-schedule-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.dash-schedule-item{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;flex-direction:column;align-items:center;padding:16px 12px;display:flex}.dash-schedule-item:nth-child(2n){border-right:none}.dash-schedule-item:nth-last-child(-n+2){border-bottom:none}.dash-schedule-item.dash-schedule-total .dash-schedule-number{color:#2563eb}.dash-schedule-number{color:#1e293b;font-size:26px;font-weight:700}.dash-schedule-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:12px;font-weight:500}.dash-stats-list{padding:6px 0}.dash-stats-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.dash-stats-row:last-child{border-bottom:none}.dash-stats-label{color:#64748b;font-size:14px;font-weight:500}.dash-stats-value{color:#1e293b;font-family:SF Mono,Fira Code,monospace;font-size:16px;font-weight:700}.dash-messages-card{flex-direction:column;display:flex}.dash-msg-count{color:#94a3b8;margin-left:auto;font-size:12px;font-weight:500}.dash-messages-scroll{flex:1;max-height:440px;padding:0;overflow-y:auto}.dash-message-item{border-bottom:1px solid #f1f5f9}.dash-msg-date-header{color:#fff;background:linear-gradient(90deg,#7c3aed,#a855f7);padding:8px 18px;font-size:12px;font-weight:600}.dash-msg-body{padding:12px 18px}.dash-msg-title{color:#1e293b;margin-bottom:6px;font-size:14px}.dash-msg-detail{color:#64748b;padding:1px 0;font-size:13px}.dash-msg-detail-label{color:#94a3b8;font-weight:500}.dash-msg-event-name{color:#7c3aed;font-weight:700}.dash-msg-event-name:hover{text-decoration:underline}.dash-no-data{text-align:center;color:#94a3b8;padding:30px 18px;font-size:14px}.dash-upcoming-card{flex-direction:column;display:flex}.dash-create-btn{margin-left:auto;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none}.dash-create-btn:hover{text-decoration:none}.dash-upcoming-list{flex:1;max-height:440px;overflow-y:auto}.dash-upcoming-item{color:inherit;border-bottom:1px solid #f1f5f9;align-items:center;gap:16px;padding:12px 18px;text-decoration:none;transition:background .15s;display:flex}.dash-upcoming-item:hover{background:#f8fafc;text-decoration:none}.dash-up-date-col{flex-shrink:0;width:110px}.dash-up-date{color:#1e293b;font-size:14px;font-weight:600}.dash-up-time{color:#94a3b8;margin-top:2px;font-size:12px}.dash-up-info-col{flex:1;min-width:0}.dash-up-event-name{color:#7c3aed;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.dash-up-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.dash-up-type{font-weight:500}.dash-up-sep{color:#d1d5db}.dash-up-status-col{flex-shrink:0}.dash-pagination{border-top:1px solid #f1f5f9;justify-content:center;align-items:center;gap:4px;padding:12px 18px;display:flex}.dash-page-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:13px;transition:all .15s}.dash-page-btn:hover:not(:disabled){color:#374151;background:#f1f5f9}.dash-page-btn:disabled{opacity:.4;cursor:default}.dash-page-num{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.dash-page-num:hover{background:#f1f5f9}.dash-page-num.active{color:#fff;background:#7c3aed}.dash-page-ellipsis{color:#94a3b8;padding:0 2px;font-size:13px}@media (width<=1100px){.dash-top-row{grid-template-columns:1fr 1fr}.dash-top-row .dash-stats-card{grid-column:1/-1}}@media (width<=800px){.dash-top-row,.dash-bottom-row{grid-template-columns:1fr}.dash-top-row .dash-stats-card{grid-column:auto}}.users-invite-card{margin-bottom:20px}.users-invite-card h3{margin-bottom:12px}.users-alert{border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:13px}.users-alert-success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.users-alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.users-multiselect-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:space-between;align-items:center;min-height:38px;padding:8px 12px;font-size:14px;display:flex}.users-multiselect-trigger:hover{border-color:#9ca3af}.users-multiselect-label{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.users-multiselect-arrow{color:#6b7280;margin-left:8px;font-size:10px}.users-multiselect-dropdown{z-index:50;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 4px 12px #0000001a}.users-multiselect-option{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:14px;transition:background .1s;display:flex}.users-multiselect-option:hover{background:#f3f4f6}.users-multiselect-option input[type=checkbox]{cursor:pointer;width:16px;height:16px}.users-multiselect-divider{border-top:1px solid #e5e7eb;margin:2px 0}.location-multiselect,.edit-location-multiselect{position:relative}.users-toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.users-toggle-switch .users-toggle-knob{background:#d1d5db;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.users-toggle-switch .users-toggle-knob:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.users-toggle-on .users-toggle-knob{background:#22c55e}.users-toggle-on .users-toggle-knob:after{transform:translate(20px)}.users-toggle-label{color:#64748b;font-size:12px;font-weight:500}.users-toggle-on .users-toggle-label{color:#166534}.users-badge-pending{color:#854d0e;background:#fef9c3}.users-badge-accepted{color:#166534;background:#dcfce7}.users-pagination{align-items:center;gap:4px;display:flex}.users-page-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 12px;font-size:13px;transition:all .15s}.users-page-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.users-page-btn:disabled{opacity:.5;cursor:not-allowed}.users-page-active{color:#fff;background:#3b82f6;border-color:#3b82f6}.users-page-active:hover{background:#2563eb}.users-page-ellipsis{color:#9ca3af;padding:0 4px}.users-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.users-modal{background:#fff;border-radius:10px;width:480px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0000004d}.users-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.users-modal-header h3{margin:0;font-size:18px}.users-modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1}.users-modal-close:hover{color:#111827}.users-modal-body{padding:20px}.users-modal-body .form-group{margin-bottom:16px}.users-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}
