:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:#007bff;text-decoration:none}a:hover{color:#0056b3}button{font-family:inherit}.customer-layout{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.customer-header{background:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.customer-header .container{max-width:1200px;margin:0 auto;padding:20px;display:flex;justify-content:space-between;align-items:center}.customer-header h1{font-size:1.75rem;color:#333;margin:0}.customer-header nav{display:flex;gap:24px}.customer-header nav a{text-decoration:none;color:#666;font-weight:600;padding:8px 16px;border-radius:6px;transition:all .3s}.customer-header nav a:hover{background:#f8f9fa;color:#007bff}.customer-header nav a.signin-link{background:#007bff;color:#fff;border-radius:6px;padding:8px 18px}.customer-header nav a.signin-link:hover{background:#0056b3}.customer-header nav a.signin-link.active{background:#0056b3}.customer-header nav a.account-link{background:#f0f4ff;color:#007bff;border-radius:6px;padding:8px 18px;font-weight:600}.customer-header nav a.account-link:hover{background:#dce6ff}.customer-header nav a.account-link.active{background:#dce6ff}.customer-main{flex:1;padding:40px 20px}.customer-footer{background:#333;color:#fff;text-align:center;padding:20px;margin-top:auto}.customer-footer p{margin:0}@media(max-width:768px){.customer-header .container{flex-direction:column;gap:16px}.customer-header h1{font-size:1.5rem}.customer-header nav{gap:12px}}.business-layout{min-height:100vh;background:#f5f5f5}.business-header{background:#2c3e50;color:#fff;box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:100}.bh-top-bar{max-width:1400px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.bh-top-bar h1{font-size:1.3rem;margin:0;white-space:nowrap}.business-header-right{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.business-user-btn{display:flex;align-items:center;gap:.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);padding:5px 12px;border-radius:8px;cursor:pointer;transition:background .2s}.business-user-btn:hover{background:#ffffff2e}.business-user{font-size:.875rem;color:#ffffffe6}.business-role{font-size:.75rem;background:#ffffff26;color:#fff;padding:2px 8px;border-radius:999px}.logout-button{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.875rem}.logout-button:hover{background:#ffffff38}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.hamburger span{display:block;width:24px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.bh-nav{display:flex;align-items:center;gap:2px;max-width:1400px;margin:0 auto;padding:0 20px 10px}.bh-nav .nav-link,.bh-nav .nav-group-toggle{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#ffffffc7;font-weight:500;font-size:.9rem;padding:10px 16px;border-radius:8px;border:none;background:none;cursor:pointer;white-space:nowrap;transition:color .15s,background .15s;min-height:44px}.bh-nav .nav-link:hover,.bh-nav .nav-group-toggle:hover{color:#fff;background:#ffffff1a}.bh-nav .nav-link.active{color:#fff;background:#ffffff2e}.nav-icon{font-size:1rem;line-height:1}.chevron{transition:transform .2s;opacity:.6}.nav-group{position:relative}.nav-group.group-active>.nav-group-toggle{color:#fff;background:#ffffff1f}.nav-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#fff;border-radius:10px;box-shadow:0 10px 32px #0000002e;padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:200}.nav-group.open>.nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-group.open .chevron{transform:rotate(180deg)}.nav-dropdown a{display:block;padding:11px 16px;color:#333;text-decoration:none;border-radius:7px;font-size:.9rem;font-weight:500;transition:background .15s;min-height:44px;display:flex;align-items:center}.nav-dropdown a:hover{background:#f0f4ff;color:#1a56db}.nav-dropdown a.active{background:#e8eef9;color:#1a56db;font-weight:600}.business-main{padding:20px}@media(max-width:900px){.bh-top-bar{padding:10px 16px}.business-header-right{margin-left:auto}.hamburger{display:flex}.bh-nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;border-top:1px solid rgba(255,255,255,.1)}.bh-nav.show{display:flex}.bh-nav .nav-link,.bh-nav .nav-group-toggle{width:100%;justify-content:flex-start;padding:14px 16px;font-size:1rem;border-radius:10px}.nav-group{position:static}.nav-dropdown{position:static;background:#ffffff0f;box-shadow:none;border-radius:10px;padding:4px 0 4px 20px;opacity:1;visibility:visible;transform:none;display:none}.nav-group.open>.nav-dropdown{display:block}.nav-dropdown a{color:#ffffffd9;padding:14px 16px;font-size:.95rem;border-radius:8px}.nav-dropdown a:hover{background:#ffffff1a;color:#fff}.nav-dropdown a.active{background:#ffffff26;color:#fff}}@media(max-width:480px){.bh-top-bar h1{font-size:1.1rem}.business-user,.business-role{display:none}.business-user-btn{padding:6px 10px;font-size:0}.business-user-btn:before{content:"👤";font-size:1.2rem}}.expandable-text{display:flex;flex-direction:column;gap:.25rem}.expandable-text-content{line-height:1.55;word-break:break-word}.expandable-text-toggle{background:none;border:none;padding:0;cursor:pointer;font-size:.8rem;font-weight:600;color:inherit;opacity:.65;text-align:left;transition:opacity .15s;align-self:flex-start}.expandable-text-toggle:hover{opacity:1}.reservation-type-selector{max-width:1200px;margin:0 auto;padding:40px 20px}.reservation-type-selector h2{font-size:2.5rem;color:#333;text-align:center;margin-bottom:12px}.reservation-type-selector .subtitle{font-size:1.1rem;color:#666;text-align:center;margin-bottom:40px}.reservation-type-selector .type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,420px));gap:24px;justify-content:center}.reservation-type-selector .type-card{background:#fff;border:3px solid #e0e0e0;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s;display:flex;flex-direction:column}.reservation-type-selector .type-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026;border-color:currentColor}.reservation-type-selector .type-card-header{padding:24px;color:#fff;text-align:center}.reservation-type-selector .type-card-header h3{margin:0 0 16px;font-size:1.75rem}.reservation-type-selector .type-price{font-size:2rem;font-weight:700;display:flex;flex-direction:column;gap:4px}.reservation-type-selector .price-label{font-size:.875rem;font-weight:400;opacity:.9}.reservation-type-selector .type-card-body{padding:24px;flex:1}.reservation-type-selector .type-description{color:#666;line-height:1.6;margin-bottom:24px;min-height:48px}.reservation-type-selector .type-features{display:flex;flex-direction:column;gap:16px}.reservation-type-selector .feature{display:flex;align-items:flex-start;gap:12px}.reservation-type-selector .feature-icon{font-size:1.5rem;flex-shrink:0}.reservation-type-selector .feature-text{display:flex;flex-direction:column;gap:2px}.reservation-type-selector .feature-text strong{color:#333;font-size:.9rem}.reservation-type-selector .feature-text span{color:#666;font-size:.875rem}.reservation-type-selector .type-card-footer{padding:20px 24px;background:#f8f9fa}.reservation-type-selector .select-button{width:100%;padding:14px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s}.reservation-type-selector .select-button:hover{transform:scale(1.02);box-shadow:0 4px 12px #0003}.reservation-type-selector .loading,.reservation-type-selector .error,.reservation-type-selector .no-types{text-align:center;padding:60px 20px;font-size:1.25rem;color:#666}.reservation-type-selector .error{color:#dc3545}.reservation-type-selector .retry-button{margin-top:20px;padding:12px 32px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.reservation-type-selector .retry-button:hover{background:#0056b3}@media(max-width:768px){.reservation-type-selector .type-cards{grid-template-columns:1fr}.reservation-type-selector h2{font-size:2rem}.reservation-type-selector .type-card-header h3{font-size:1.5rem}}.party-size-selector{max-width:800px;margin:0 auto;padding:40px 20px;text-align:center}.party-size-selector h2{font-size:2.5rem;color:#333;margin-bottom:12px}.party-size-selector .subtitle{font-size:1.1rem;color:#666;margin-bottom:40px}.party-size-selector .quick-select{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-bottom:40px}.party-size-selector .size-button{background:#fff;border:3px solid #e0e0e0;border-radius:12px;padding:24px 16px;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;gap:8px}.party-size-selector .size-button:hover{border-color:#007bff;transform:translateY(-4px);box-shadow:0 8px 16px #007bff33}.party-size-selector .size-button.active{border-color:#007bff;background:#007bff;color:#fff}.party-size-selector .size-button .icon{font-size:2rem}.party-size-selector .size-button .number{font-size:2rem;font-weight:700}.party-size-selector .size-button .label{font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.party-size-selector .custom-size{margin-bottom:40px}.party-size-selector .custom-size label{display:block;margin-bottom:12px;font-weight:600;color:#555}.party-size-selector .custom-input{width:200px;padding:12px 20px;font-size:1.25rem;border:2px solid #ddd;border-radius:8px;text-align:center}.party-size-selector .custom-input:focus{outline:none;border-color:#007bff}.party-size-selector .confirm-button{padding:16px 48px;font-size:1.25rem;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s}.party-size-selector .confirm-button:hover:not(:disabled){background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.party-size-selector .confirm-button:disabled{opacity:.5;cursor:not-allowed}.party-size-selector .back-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;margin-bottom:20px}.party-size-selector .back-button:hover{background:#5a6268}.age-verification-selector{max-width:700px;margin:0 auto;padding:20px}.age-verification-selector .selector-header{margin-bottom:24px}.age-verification-selector .back-button{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s}.age-verification-selector .back-button:hover{background:#5a6268}.age-verification-selector h2{font-size:2rem;color:#333;margin-bottom:12px}.age-verification-selector .subtitle{color:#666;font-size:1.1rem;margin-bottom:24px;line-height:1.6}.age-verification-selector .age-groups{display:grid;gap:20px;margin-bottom:32px}.age-verification-selector .age-group{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;border:2px solid #e0e0e0;transition:all .3s}.age-verification-selector .group-header{margin-bottom:20px}.age-verification-selector .group-title{display:flex;align-items:center;gap:16px}.age-verification-selector .group-title .icon{font-size:2.5rem}.age-verification-selector .group-title h3{margin:0;font-size:1.5rem;color:#333}.age-verification-selector .group-description{margin:4px 0 0;color:#666;font-size:.9rem}.age-verification-selector .counter{display:flex;align-items:center;justify-content:center;gap:24px}.age-verification-selector .counter-btn{width:50px;height:50px;border-radius:50%;border:2px solid #007bff;background:#fff;color:#007bff;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.age-verification-selector .counter-btn:hover:not(:disabled){background:#007bff;color:#fff;transform:scale(1.1)}.age-verification-selector .counter-btn:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed;opacity:.5}.age-verification-selector .counter-value{display:flex;flex-direction:column;align-items:center;min-width:120px}.age-verification-selector .counter-value .number{font-size:3rem;font-weight:700;color:#007bff;line-height:1}.age-verification-selector .counter-value .label{font-size:.9rem;color:#666;margin-top:4px}.age-verification-selector .minors-question{text-align:center;padding:32px 20px;background:#f8f9fa;border-radius:12px;border:2px solid #e9ecef;margin-bottom:32px}.age-verification-selector .question-label{font-size:1.35rem;font-weight:700;color:#333;margin:0 0 24px}.age-verification-selector .question-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;max-width:500px;margin:0 auto}.age-verification-selector .question-btn{flex:1;min-width:200px;padding:20px 32px;font-size:1.1rem;font-weight:600;border:2px solid;border-radius:12px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:12px}.age-verification-selector .question-btn--no{background:#fff;border-color:#cbd5e0;color:#2d3748}.age-verification-selector .question-btn--no:hover{background:#f7fafc;border-color:#a0aec0;transform:translateY(-2px);box-shadow:0 8px 20px #0000001a}.age-verification-selector .question-btn--yes{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.age-verification-selector .question-btn--yes:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.age-verification-selector .minors-section{margin-bottom:24px}.age-verification-selector .minors-notice{display:flex;gap:12px;align-items:center;padding:14px 16px;background:#fff3cd;border:2px solid #ffc107;border-radius:8px;margin-bottom:20px;color:#856404;font-weight:500;line-height:1.5}.age-verification-selector .btn-text-link{background:none;border:none;color:#007bff;cursor:pointer;font-size:inherit;font-weight:600;text-decoration:underline;padding:0}.age-verification-selector .btn-text-link:hover{color:#0056b3}.age-verification-selector .adults-only-notice{display:flex;gap:12px;align-items:center;justify-content:center;padding:16px;background:#d4edda;border:2px solid #28a745;border-radius:8px;margin-bottom:24px;font-weight:600;color:#155724;font-size:1.05rem}.age-verification-selector .party-summary{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:24px}.age-verification-selector .summary-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #dee2e6}.age-verification-selector .summary-row:last-child{border-bottom:none}.age-verification-selector .summary-label{font-weight:600;color:#495057}.age-verification-selector .summary-value{color:#212529;font-weight:500}.age-verification-selector .summary-row.error .summary-value{color:#dc3545;font-weight:600}.age-verification-selector .summary-row.success .summary-value{color:#28a745;font-weight:600}.age-verification-selector .error-message{padding:16px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;margin-bottom:20px;text-align:center;font-weight:500}.age-verification-selector .confirm-button{width:100%;padding:16px;font-size:1.2rem;font-weight:600;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s;margin-bottom:20px}.age-verification-selector .confirm-button:hover:not(:disabled){background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.age-verification-selector .confirm-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6;transform:none}.age-verification-selector .help-text{padding:16px;background:#e7f3ff;border-left:4px solid #007bff;border-radius:4px}.age-verification-selector .help-text p{margin:0;color:#004085;font-size:.9rem;line-height:1.6}@media(max-width:768px){.age-verification-selector{padding:16px}.age-verification-selector h2{font-size:1.5rem}.age-verification-selector .counter{gap:16px}.age-verification-selector .counter-value .number{font-size:2.25rem}.age-verification-selector .question-btn{min-width:160px;padding:16px 20px;font-size:1rem}}.calendar-selector{max-width:900px;margin:0 auto;padding:40px 20px}.calendar-selector .calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-selector .back-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.calendar-selector .back-button:hover{background:#5a6268}.calendar-selector .party-info{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:600;color:#333}.calendar-selector .reservation-type-badge{padding:4px 14px;border-radius:14px;color:#fff;font-size:.85rem;font-weight:700}.calendar-selector h2{font-size:2rem;color:#333;margin-bottom:8px;text-align:center}.calendar-selector .subtitle{text-align:center;color:#666;margin-bottom:24px;font-size:1rem}.calendar-selector .calendar{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a}.calendar-selector .calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-selector .calendar-controls h3{font-size:1.5rem;margin:0}.calendar-selector .month-nav{background:#f8f9fa;border:2px solid #dee2e6;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-selector .month-nav:hover{background:#e9ecef;border-color:#007bff}.calendar-selector .calendar-legend{display:flex;justify-content:center;gap:24px;margin-bottom:20px;padding:12px;background:#f8f9fa;border-radius:8px}.calendar-selector .legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem}.calendar-selector .legend-color{width:24px;height:24px;border-radius:4px;border:2px solid #ddd}.calendar-selector .legend-color.available{background:#28a745}.calendar-selector .legend-color.unavailable{background:#dc3545}.calendar-selector .calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-selector .weekday{text-align:center;font-weight:600;color:#666;padding:8px}.calendar-selector .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-selector .calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #e0e0e0;border-radius:8px;position:relative;transition:all .2s;cursor:pointer;background:#fff}.calendar-selector .calendar-day.empty{border:none;background:transparent;cursor:default}.calendar-selector .calendar-day.past{opacity:.3;cursor:not-allowed}.calendar-selector .calendar-day.available{background:#d4edda;border-color:#28a745}.calendar-selector .calendar-day.available:hover{background:#28a745;color:#fff;transform:scale(1.05);box-shadow:0 4px 8px #28a7454d}.calendar-selector .calendar-day.unavailable{background:#f8d7da;border-color:#dc3545;cursor:not-allowed}.calendar-selector .day-number{font-size:1.1rem;font-weight:600}.calendar-selector .availability-indicator{position:absolute;top:4px;right:4px;color:#28a745;font-size:.875rem}.calendar-selector .calendar-loading{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}@media(max-width:768px){.calendar-selector .calendar-grid{gap:4px}.calendar-selector .day-number{font-size:.9rem}.calendar-selector .calendar-header{flex-direction:column;gap:12px}}.time-slot-selector{max-width:900px;margin:0 auto;padding:40px 20px}.time-slot-selector .time-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.time-slot-selector .back-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem}.time-slot-selector .back-button:hover{background:#5a6268}.time-slot-selector .booking-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-weight:600;color:#333}.time-slot-selector h2{font-size:2rem;color:#333;margin-bottom:8px;text-align:center}.time-slot-selector .time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:32px}.time-slot-selector .time-slot{background:#fff;border:3px solid #e0e0e0;border-radius:12px;padding:16px 12px;cursor:pointer;transition:all .3s;text-align:center}.time-slot-selector .time-slot:hover{border-color:#007bff;transform:translateY(-4px);box-shadow:0 8px 16px #007bff33}.time-slot-selector .time-slot.selected{border-color:#007bff;background:#007bff;color:#fff}.time-slot-selector .time-slot.unavailable{opacity:.5;cursor:not-allowed;border-color:#dc3545}.time-slot-selector .time-slot.unavailable:hover{transform:none;box-shadow:none;border-color:#dc3545}.time-slot-selector .slot-time{text-align:center;font-size:1rem;font-weight:700;margin-bottom:8px;white-space:nowrap}.time-slot-selector .slot-info{text-align:center}.time-slot-selector .capacity-badge{display:inline-block;padding:4px 12px;background:#28a745;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.time-slot-selector .time-slot.selected .capacity-badge{background:#ffffff4d}.time-slot-selector .unavailable-badge{display:inline-block;padding:4px 12px;background:#dc3545;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.time-slot-selector .confirm-button{display:block;margin:0 auto;padding:16px 48px;font-size:1.25rem;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s}.time-slot-selector .confirm-button:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.time-slot-selector .unavailable-section{margin-top:32px;padding:20px;background:#f8f9fa;border-radius:8px}.time-slot-selector .unavailable-section summary{cursor:pointer;font-weight:600;color:#666;padding:8px}.time-slot-selector .unavailable-section .time-slots-grid{margin-top:16px}.time-slot-selector .no-availability{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:12px}.time-slot-selector .no-availability p{font-size:1.25rem;color:#666;margin-bottom:12px}.time-slot-selector .change-date-button{padding:12px 32px;font-size:1.1rem;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:20px}.time-slot-selector .change-date-button:hover{background:#0056b3}.time-slot-selector .loading{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}@media(max-width:768px){.time-slot-selector .time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.time-slot-selector .slot-time{font-size:1rem}}.waiver-signature{max-width:900px;margin:0 auto;padding:20px}.waiver-signature.loading,.waiver-signature.error{display:flex;align-items:center;justify-content:center;min-height:400px}.waiver-signature .loading-spinner{font-size:1.25rem;color:#666;text-align:center}.waiver-signature .error-message{text-align:center;padding:40px;background:#fff3cd;border:2px solid #ffc107;border-radius:12px}.waiver-signature .error-message h3{color:#856404;margin:0 0 16px}.waiver-signature .error-message p{color:#856404;margin-bottom:24px}.waiver-signature .error-actions{display:flex;gap:12px;justify-content:center}.waiver-signature .retry-button{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer}.waiver-signature .retry-button:hover{background:#0056b3}.waiver-signature .waiver-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.waiver-signature .waiver-header h2{margin:0;font-size:2rem;color:#333}.waiver-signature .back-button{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s}.waiver-signature .back-button:hover{background:#5a6268}.waiver-signature .waiver-content{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;padding:32px}.waiver-signature .waiver-info-banner{background:#e7f3ff;border-left:4px solid #007bff;padding:16px;margin-bottom:24px;border-radius:6px}.waiver-signature .waiver-info-banner p{margin:0;color:#004085}.waiver-signature .waiver-info-banner strong{font-size:1.1rem}.waiver-signature .waiver-subtitle{margin-top:4px!important;font-size:.9rem}.waiver-signature .reservation-summary{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:24px}.waiver-signature .reservation-summary h3{margin:0 0 16px;font-size:1.25rem;color:#333}.waiver-signature .summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.waiver-signature .summary-item{display:flex;gap:8px}.waiver-signature .summary-item .label{font-weight:600;color:#666;min-width:80px}.waiver-signature .summary-item .value{color:#333}.waiver-signature .waiver-document{margin-bottom:32px;border:2px solid #dee2e6;border-radius:8px;overflow:hidden}.waiver-signature .document-title{background:#f8f9fa;padding:16px 20px;margin:0;font-size:1.5rem;color:#333;text-align:center;border-bottom:2px solid #dee2e6}.waiver-signature .document-content{padding:24px;max-height:400px;overflow-y:auto;background:#fff}.waiver-signature .waiver-text{font-family:Georgia,serif;font-size:.95rem;line-height:1.8;color:#333;margin:0}.waiver-signature .waiver-text-plain{white-space:pre-wrap;word-wrap:break-word}.waiver-signature .waiver-text h1,.waiver-signature .waiver-text h2,.waiver-signature .waiver-text h3{margin:1.2em 0 .5em;color:#222}.waiver-signature .waiver-text h1:first-child,.waiver-signature .waiver-text h2:first-child,.waiver-signature .waiver-text h3:first-child{margin-top:0}.waiver-signature .waiver-text p{margin:.6em 0}.waiver-signature .waiver-text ul,.waiver-signature .waiver-text ol{margin:.6em 0;padding-left:1.8em}.waiver-signature .waiver-text li{margin-bottom:.3em}.waiver-signature .signature-section{margin-bottom:24px}.waiver-signature .signature-section h3{margin:0 0 12px;font-size:1.25rem;color:#333}.waiver-signature .signature-instructions{color:#666;margin-bottom:16px;line-height:1.6}.waiver-signature .signature-canvas-wrapper{margin-bottom:16px}.waiver-signature .signature-canvas-container{position:relative;border:3px solid #007bff;border-radius:8px;background:#fff;display:inline-block;margin-bottom:12px}.waiver-signature .signature-canvas{display:block;touch-action:none}.waiver-signature .signature-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ccc;font-size:1.5rem;font-style:italic;pointer-events:none;z-index:0}.waiver-signature .clear-button{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.waiver-signature .clear-button:hover{background:#5a6268}.waiver-signature .signature-date{padding:12px;background:#f8f9fa;border-radius:6px;color:#495057}.waiver-signature .agreement-checkbox{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:20px;margin-bottom:24px}.waiver-signature .checkbox-label{display:flex;gap:12px;cursor:pointer;align-items:flex-start}.waiver-signature .checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0;margin-top:2px}.waiver-signature .checkbox-text{flex:1;line-height:1.6;color:#856404;font-weight:500}.waiver-signature .waiver-actions{display:flex;gap:16px;justify-content:flex-end;margin-bottom:24px}.waiver-signature .cancel-button{padding:12px 32px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.waiver-signature .cancel-button:hover{background:#5a6268}.waiver-signature .sign-button{padding:12px 32px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.waiver-signature .sign-button:hover:not(:disabled){background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.waiver-signature .sign-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.waiver-signature .legal-notice{padding:16px;background:#e2e3e5;border-radius:6px;text-align:center}.waiver-signature .legal-notice p{margin:0;color:#383d41;font-size:.9rem;line-height:1.6}@media(max-width:768px){.waiver-signature{padding:16px}.waiver-signature .waiver-content{padding:20px}.waiver-signature .summary-grid{grid-template-columns:1fr}.waiver-signature .waiver-actions{flex-direction:column}.waiver-signature .cancel-button,.waiver-signature .sign-button{width:100%}}.waiver-signature .minors-section{background:#f8f9fa;border:2px solid #dee2e6;border-radius:12px;padding:24px;margin-bottom:24px}.waiver-signature .minors-section h4{margin:0 0 8px;font-size:1.1rem;color:#333}.waiver-signature .minors-instructions{font-size:.9rem;color:#666;margin-bottom:20px}.waiver-signature .minor-entry{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:16px;margin-bottom:12px}.waiver-signature .minor-entry h5{margin:0 0 12px;font-size:.95rem;color:#495057}.waiver-signature .minor-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.waiver-signature .minor-field label{display:block;font-size:.8rem;font-weight:600;color:#495057;margin-bottom:4px}.waiver-signature .minor-field input{width:100%;padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;box-sizing:border-box}.waiver-signature .minor-field input:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff26}.waiver-signature .dob-input-wrapper{display:flex;align-items:center;gap:10px}.waiver-signature .dob-input-wrapper input{flex:1}.waiver-signature .age-display{white-space:nowrap;font-size:.85rem;font-weight:600;color:#007bff;background:#e7f1ff;padding:4px 10px;border-radius:12px}@media(max-width:600px){.waiver-signature .minor-fields{grid-template-columns:1fr}}.reservation-form{max-width:700px;margin:0 auto;padding:40px 20px}.reservation-form .form-header{margin-bottom:24px}.reservation-form h2{font-size:2rem;color:#333;margin-bottom:8px;text-align:center}.reservation-form .reservation-summary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:12px;margin-bottom:32px}.reservation-form .reservation-summary h3{margin:0 0 20px;font-size:1.25rem}.reservation-form .summary-details{display:flex;flex-direction:column;gap:12px}.reservation-form .summary-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff1a;border-radius:8px}.reservation-form .summary-item .label{font-weight:600}.reservation-form .summary-item .value{font-size:1.1rem}.reservation-form .summary-item .value.price{font-size:1.5rem;font-weight:700}.reservation-form .details-form{background:#fff;padding:32px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.reservation-form .form-group{margin-bottom:24px}.reservation-form .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.reservation-form .form-group input,.reservation-form .form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s}.reservation-form .form-group input:focus,.reservation-form .form-group textarea:focus{outline:none;border-color:#007bff}.reservation-form .form-group textarea{resize:vertical}.reservation-form .error-message{padding:12px 16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:20px}.reservation-form .submit-button{width:100%;padding:16px;font-size:1.25rem;font-weight:600;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s}.reservation-form .submit-button:hover:not(:disabled){background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.reservation-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.reservation-form .terms{margin-top:16px;font-size:.875rem;color:#666;text-align:center;line-height:1.5}.reservation-form .age-breakdown{color:#666;font-size:.9rem;font-style:italic}.reservation-form .back-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;margin-bottom:16px}.reservation-form .back-button:hover{background:#5a6268}.reservation-form .name-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reservation-form .guests-section{margin:28px 0 8px;padding:24px;background:#f0f4ff;border-radius:10px;border:1px solid #d6dfff}.reservation-form .guests-section h3{margin:0 0 4px;font-size:1.1rem;color:#333}.reservation-form .guests-description{margin:0 0 20px;font-size:.9rem;color:#555;line-height:1.5}.reservation-form .guest-entry{background:#fff;border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid #e0e0e0}.reservation-form .guest-entry:last-child{margin-bottom:0}.reservation-form .guest-entry-header{font-weight:600;font-size:.9rem;color:#667eea;margin-bottom:12px}.reservation-form .guest-entry .form-group{margin-bottom:12px}.reservation-form .guest-entry .form-group:last-child{margin-bottom:0}.reservation-form .optional-label{font-weight:400;font-size:.8rem;color:#888}@media(max-width:768px){.reservation-form .details-form{padding:20px}.reservation-form .summary-item{flex-direction:column;align-items:flex-start;gap:4px}.reservation-form .name-row{grid-template-columns:1fr}}.sms-optin-section{margin:2rem 0 0;padding:1.5rem;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-radius:12px;border:2px solid #c8e6c9}.optin-description{color:#558b2f;font-size:.9rem;margin:.5rem 0 0 2rem;line-height:1.5}.payment-form{max-width:480px;margin:0 auto;padding:1rem}.payment-form .order-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.payment-form .order-summary h3{margin:0 0 .75rem;font-size:.95rem;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.payment-form .order-details{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.payment-form .order-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem}.payment-form .order-label{color:#6c757d;font-weight:500}.payment-form .order-value{color:#212529;text-align:right}.payment-form .order-type-badge{display:inline-block;padding:2px 10px;border-radius:10px;color:#fff;font-size:.8rem;font-weight:600}.payment-form .order-age-breakdown{color:#6c757d;font-size:.85rem}.payment-form .order-pricing{padding-top:.25rem}.payment-form .summary-row{display:flex;justify-content:space-between;font-size:.95rem;padding:.25rem 0;color:#495057}.payment-form .summary-row.total{border-top:1px solid #dee2e6;margin-top:.5rem;padding-top:.75rem;font-weight:600;font-size:1.05rem;color:#212529}.payment-form .card-field-section{margin-bottom:1.25rem}.payment-form .card-field-section label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:#495057}.payment-form .card-loading{padding:1rem;text-align:center;color:#6c757d;font-size:.9rem}.payment-form #card-container{min-height:48px}.payment-form .payment-disclaimer{font-size:.78rem;color:#6c757d;text-align:center;margin-top:1rem}.payment-form .submit-button{width:100%;padding:14px;font-size:1.1rem;font-weight:600;background:#28a745;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s;margin-top:1rem}.payment-form .submit-button:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 4px 12px #28a7454d}.payment-form .submit-button:disabled{opacity:.6;cursor:not-allowed}.payment-form .error-message{padding:12px 16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:16px}.payment-form .back-button{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;margin-bottom:12px}.payment-form .back-button:hover{background:#5a6268}.payment-form .gift-code-section{margin-bottom:1.5rem;padding:1rem 1.25rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.payment-form .gift-code-section label{display:block;font-size:.875rem;font-weight:600;color:#166534;margin-bottom:.5rem}.payment-form .gift-code-input-row{display:flex;gap:8px}.payment-form .gift-code-input-row input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:Courier New,monospace;letter-spacing:.05em;text-transform:uppercase}.payment-form .apply-code-btn{padding:10px 18px;background:#16a34a;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.payment-form .apply-code-btn:hover:not(:disabled){background:#15803d}.payment-form .apply-code-btn:disabled{opacity:.5;cursor:not-allowed}.payment-form .applied-code{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border:1px solid #bbf7d0;border-radius:6px}.payment-form .applied-badge{font-family:Courier New,monospace;font-weight:700;color:#166534;letter-spacing:.05em}.payment-form .applied-discount{margin-left:auto;font-weight:700;color:#16a34a}.payment-form .remove-code-btn{background:none;border:none;color:#999;font-size:1rem;cursor:pointer;padding:2px 6px;border-radius:4px}.payment-form .remove-code-btn:hover{color:#dc3545;background:#fee2e2}.payment-form .summary-row.subtotal{color:#6c757d;font-size:.9rem}.payment-form .summary-row.discount{color:#16a34a;font-weight:600}.payment-form .fully-covered-message{padding:16px;background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;border-radius:8px;text-align:center;font-weight:600;margin-bottom:1rem}.reservation-confirmation{max-width:600px;margin:0 auto;padding:40px 20px}.confirmation-card{background:#fff;border-radius:16px;padding:40px 32px;box-shadow:0 4px 24px #00000014;text-align:center}.confirmation-icon{font-size:3rem;margin-bottom:12px}.confirmation-card h2{font-size:1.75rem;color:#1a1a2e;margin:0 0 8px}.confirmation-subtitle{color:#666;font-size:.95rem;margin-bottom:28px;line-height:1.5}.confirmation-code-section{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f0f7ff;border:2px solid #007bff;border-radius:12px;padding:20px;margin-bottom:28px}.code-label{font-size:.8rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em}.code-value{font-family:monospace;font-size:2rem;font-weight:700;color:#007bff;letter-spacing:.15em}.code-hint{font-size:.8rem;color:#888}.confirmation-details{text-align:left;background:#f8f9fa;border-radius:12px;padding:20px 24px;margin-bottom:28px}.confirmation-details .detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e9ecef}.confirmation-details .detail-row:last-child{border-bottom:none}.confirmation-details .label{color:#666;font-size:.9rem}.confirmation-details .value{font-weight:600;color:#333;font-size:.9rem;text-align:right}.confirmation-actions{display:flex;flex-direction:column;gap:12px}.view-reservations-button{padding:14px 24px;font-size:1rem;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.view-reservations-button:hover{background:#0056b3}.book-another-button{padding:14px 24px;font-size:1rem;font-weight:600;background:transparent;color:#007bff;border:2px solid #007bff;border-radius:8px;cursor:pointer;transition:all .2s}.book-another-button:hover{background:#f0f7ff}.guests-summary-section{margin-top:24px;padding-top:20px;border-top:2px solid #f0f0f0;text-align:left}.guests-summary-section h3{margin:0 0 12px;font-size:1.1rem;color:#333}.guests-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.guests-summary-list li{display:flex;flex-direction:column;gap:2px;padding:10px 14px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.guests-summary-list .guest-name{font-weight:600;color:#333;font-size:.95rem}.guests-summary-list .guest-email-note{font-size:.82rem;color:#28a745}.guests-summary-list .guest-no-email{font-size:.82rem;color:#6c757d;font-style:italic}.waiver-share-section{margin-top:28px;padding-top:24px;border-top:2px solid #f0f0f0;text-align:left}.waiver-share-section h3{margin:0 0 8px;font-size:1.15rem;color:#333}.waiver-share-section p{color:#666;font-size:.95rem;margin:0 0 12px}.waiver-share-link{display:flex;gap:8px}.waiver-share-link input{flex:1;padding:10px 14px;font-size:.9rem;border:2px solid #dee2e6;border-radius:8px;background:#f8f9fa;color:#333;cursor:text}.waiver-share-link .copy-link-button{padding:10px 18px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.waiver-share-link .copy-link-button:hover{background:#0056b3}.hold-timer{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#e7f5ff;border:1px solid #74c0fc;border-radius:8px;font-size:.875rem;transition:background .3s,border-color .3s;position:relative;overflow:hidden;margin-bottom:16px}.hold-timer--urgent{background:#fff3bf;border-color:#ffd43b;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.85}}.hold-timer-icon{font-size:1.2rem;flex-shrink:0}.hold-timer-content{display:flex;align-items:center;gap:8px;flex:1}.hold-timer-label{font-size:.875rem;color:#495057}.hold-timer-countdown{font-size:1rem;font-weight:700;color:#1864ab;font-variant-numeric:tabular-nums}.hold-timer--urgent .hold-timer-countdown{color:#e67700}.hold-timer-cancel{background:none;border:none;cursor:pointer;color:#868e96;font-size:.8rem;padding:2px 4px;border-radius:4px;line-height:1;flex-shrink:0;transition:color .15s,background .15s}.hold-timer-cancel:hover{color:#343a40;background:#0000000f}.hold-timer-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#dee2e6}.hold-timer-fill{height:100%;background:#74c0fc;transition:width 1s linear}.hold-timer--urgent .hold-timer-fill{background:#ffd43b}.booking-container{max-width:900px;margin:0 auto}.booking-container .booking-stage{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border-radius:16px;padding:24px 28px 18px;margin-bottom:16px;color:#fff;box-shadow:0 4px 20px #0f346059}.booking-container .stage-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.booking-container .stage-icon{font-size:2.2rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.booking-container .stage-text{display:flex;flex-direction:column;flex:1;min-width:0}.booking-container .stage-title{font-size:1.25rem;font-weight:700;letter-spacing:.01em}.booking-container .stage-desc{font-size:.85rem;color:#ffffffa6;margin-top:2px}.booking-container .stage-counter{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;opacity:.9;flex-shrink:0}.booking-container .stage-counter-sep{opacity:.4;margin:0 1px}.booking-container .stage-track{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.booking-container .stage-dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .35s}.booking-container .stage-dot.done{background:#28a745}.booking-container .stage-dot.active{background:#74c0fc;box-shadow:0 0 6px #74c0fc99;transform:scale(1.3)}.booking-container .stage-bar{height:4px;border-radius:4px;background:#ffffff1f;overflow:hidden}.booking-container .stage-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#28a745,#74c0fc);transition:width .4s ease}.booking-container .booking-content{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;min-height:500px}@media(max-width:768px){.booking-container .booking-stage{padding:18px 16px 14px;border-radius:12px}.booking-container .stage-icon{font-size:1.6rem}.booking-container .stage-title{font-size:1rem}.booking-container .stage-desc{font-size:.75rem}.booking-container .stage-counter{font-size:1.15rem}.booking-container .stage-dot{width:6px;height:6px}}.my-reservations{max-width:900px;margin:0 auto;padding:40px 20px}.my-reservations h1{font-size:2.5rem;color:#333;text-align:center;margin-bottom:12px}.my-reservations .search-form{display:flex;gap:12px;max-width:600px;margin:0 auto 40px}.my-reservations .search-form input{flex:1;padding:16px 20px;font-size:1.1rem;border:2px solid #e0e0e0;border-radius:8px}.my-reservations .search-form input:focus{outline:none;border-color:#007bff}.my-reservations .search-form button{padding:16px 32px;font-size:1.1rem;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer}.my-reservations .search-form button:hover:not(:disabled){background:#0056b3}.my-reservations .search-form button:disabled{opacity:.6;cursor:not-allowed}.my-reservations .reservations-list{display:grid;gap:20px}.my-reservations .reservation-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.my-reservations .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.my-reservations .reservation-id{font-weight:700;color:#007bff}.my-reservations .status-badge{padding:6px 14px;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase}.my-reservations .status-badge.status-pending{background:#fff3cd;color:#856404}.my-reservations .status-badge.status-checked-in{background:#d4edda;color:#155724}.my-reservations .status-badge.status-no-show{background:#d6d8db;color:#383d41}.my-reservations .status-badge.status-cancelled{background:#f8d7da;color:#721c24}.my-reservations .card-body{padding:20px}.my-reservations .detail-row{display:flex;justify-content:space-between;margin-bottom:12px;padding:12px;background:#f8f9fa;border-radius:6px}.my-reservations .detail-row.special{flex-direction:column;gap:8px}.my-reservations .detail-row .label{font-weight:600;color:#666}.my-reservations .detail-row .value{color:#333;text-align:right}.my-reservations .detail-row.special .value{text-align:left;font-style:italic}.my-reservations .no-results{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.my-reservations .no-results p{font-size:1.25rem;color:#666}.my-reservations .waiver-status{background:#f8f9fa;padding:12px;border-radius:6px;margin-top:12px}.my-reservations .waiver-info{display:flex;flex-direction:column;gap:8px}.my-reservations .value.signed{color:#28a745;font-weight:600}.my-reservations .value.not-signed{color:#dc3545;font-weight:600}.my-reservations .signed-date{color:#666;font-weight:400;font-size:.9rem}.my-reservations .view-waiver-btn{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.my-reservations .view-waiver-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.my-reservations .access-options{display:flex;gap:24px;align-items:stretch;max-width:800px;margin:32px auto 0}.my-reservations .access-card{flex:1;background:#fff;border-radius:12px;padding:28px 24px;box-shadow:0 4px 12px #00000014}.my-reservations .access-card h3{margin:0 0 4px;font-size:1.15rem;color:#333}.my-reservations .access-card>p{margin:0 0 20px;font-size:.9rem;color:#888}.my-reservations .access-form{display:flex;flex-direction:column;gap:12px}.my-reservations .access-form input{padding:12px 14px;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px}.my-reservations .access-form input:focus{outline:none;border-color:#007bff}.my-reservations .access-form button{padding:12px;font-size:1rem;font-weight:600;background:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.my-reservations .access-form button:hover:not(:disabled){background:#0056b3}.my-reservations .access-form button:disabled{opacity:.6;cursor:not-allowed}.my-reservations .access-create-link{text-align:center;font-size:.9rem;color:#888;margin:12px 0 0}.my-reservations .access-create-link a{color:#007bff;font-weight:600;text-decoration:none}.my-reservations .access-create-link a:hover{text-decoration:underline}.my-reservations .access-error{color:#dc3545;font-size:.9rem;background:#fff5f5;padding:8px 12px;border-radius:6px}.my-reservations .access-divider{display:flex;align-items:center;justify-content:center}.my-reservations .access-divider span{color:#aaa;font-size:.9rem;font-weight:600;text-transform:uppercase}.my-reservations .results-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.my-reservations .results-header h1{text-align:left;margin:0;font-size:1.75rem}.my-reservations .back-link{background:none;border:none;color:#007bff;font-size:1rem;font-weight:600;cursor:pointer;padding:8px 0;white-space:nowrap}.my-reservations .back-link:hover{text-decoration:underline}@media(max-width:700px){.my-reservations .access-options{flex-direction:column}.my-reservations .access-divider span:before,.my-reservations .access-divider span:after{content:"───";color:#ddd;margin:0 12px}.my-reservations .action-buttons{flex-direction:column}}.my-reservations .card-actions{padding:16px 20px;border-top:1px solid #eee}.my-reservations .action-buttons{display:flex;gap:12px}.my-reservations .btn-action{flex:1;padding:12px 16px;font-size:.95rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.my-reservations .btn-action:disabled{opacity:.6;cursor:not-allowed}.my-reservations .btn-action-primary{background:#007bff;color:#fff}.my-reservations .btn-action-primary:hover:not(:disabled){background:#0056b3}.my-reservations .btn-action-secondary{background:#e9ecef;color:#333}.my-reservations .btn-action-secondary:hover:not(:disabled){background:#dee2e6}.my-reservations .btn-action-danger{background:#dc3545;color:#fff}.my-reservations .btn-action-danger:hover:not(:disabled){background:#c82333}.my-reservations .btn-action-outline-danger{background:#fff;color:#dc3545;border:2px solid #dc3545}.my-reservations .btn-action-outline-danger:hover:not(:disabled){background:#dc3545;color:#fff}.my-reservations .cancel-confirm-bar{text-align:center}.my-reservations .cancel-confirm-bar p{margin:0 0 12px;font-size:.95rem;color:#555}.my-reservations .cancel-confirm-buttons{display:flex;gap:12px}.my-reservations .action-error{color:#dc3545;background:#fff5f5;padding:8px 12px;border-radius:6px;font-size:.9rem;margin-bottom:12px}.my-reservations .cancel-success-bar{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#d4edda;color:#155724;font-size:.95rem;border-top:1px solid #c3e6cb}.my-reservations .dismiss-btn{margin-left:auto;background:none;border:none;color:#155724;font-size:1.1rem;cursor:pointer;padding:4px;opacity:.7}.my-reservations .dismiss-btn:hover{opacity:1}.my-reservations .cutoff-notice{margin-top:10px;padding:10px 14px;background:#fff8e1;border-radius:6px;border-left:3px solid #ffc107}.my-reservations .cutoff-notice p{margin:0;font-size:.9rem;color:#7a6200}.my-reservations .cutoff-notice p+p{margin-top:4px}.my-reservations .waiver-share-row{padding:12px 16px;background:#f0f7ff;border-radius:8px;margin-bottom:16px}.my-reservations .waiver-share-row>.label{display:block;font-weight:600;color:#004085;font-size:.9rem;margin-bottom:8px}.my-reservations .waiver-share-inline{display:flex;gap:6px}.my-reservations .waiver-share-inline input{flex:1;padding:8px 12px;font-size:.85rem;border:1px solid #bee5eb;border-radius:6px;background:#fff;color:#333}.my-reservations .waiver-share-inline .copy-btn{padding:8px 14px;background:#007bff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:background .2s}.my-reservations .waiver-share-inline .copy-btn:hover{background:#0056b3}.waiver-viewer{max-width:900px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.waiver-viewer .loading-content,.waiver-viewer .error-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.waiver-viewer .spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:wvSpin 1s linear infinite;margin-bottom:20px}@keyframes wvSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.waiver-viewer .error-icon{font-size:4rem;margin-bottom:16px}.waiver-viewer .error-content h3{color:#dc3545;margin:0 0 12px}.waiver-viewer .error-content p{color:#666;margin-bottom:24px}.waiver-viewer .waiver-info-content{padding:24px;overflow-y:auto}.waiver-viewer .info-section{margin-bottom:24px;padding:20px;background:#f8f9fa;border-radius:8px}.waiver-viewer .info-section h3{margin:0 0 16px;font-size:1.25rem;color:#333}.waiver-viewer .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.waiver-viewer .info-item{display:flex;gap:8px}.waiver-viewer .info-item .label{font-weight:600;color:#666;min-width:120px}.waiver-viewer .info-item .value{color:#333;flex:1}.waiver-viewer .status-signed{color:#28a745;font-weight:600}.waiver-viewer .pdf-preview-section{margin-bottom:24px}.waiver-viewer .pdf-frame-container{border:2px solid #dee2e6;border-radius:8px;overflow:hidden;background:#f8f9fa}.waiver-viewer .pdf-frame{width:100%;height:600px;border:none;display:block}.waiver-viewer .action-buttons{display:flex;gap:12px;justify-content:flex-end;margin-bottom:20px}.waiver-viewer .btn-primary{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.waiver-viewer .btn-primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.waiver-viewer .btn-secondary{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.waiver-viewer .btn-secondary:hover{background:#5a6268}.waiver-viewer .legal-notice{padding:16px;background:#e2e3e5;border-radius:6px;border-left:4px solid #6c757d}.waiver-viewer .legal-notice p{margin:0;color:#383d41;font-size:.9rem;line-height:1.6}@media(max-width:768px){.waiver-viewer{width:100%;max-height:100vh;border-radius:0}.waiver-viewer .info-grid{grid-template-columns:1fr}.waiver-viewer .pdf-frame{height:400px}.waiver-viewer .action-buttons{flex-direction:column}.waiver-viewer .btn-primary,.waiver-viewer .btn-secondary{width:100%}}.reservation-editor{max-width:700px;margin:0 auto}.reservation-editor .editor-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.reservation-editor .editor-header h2{margin:0;font-size:1.5rem;color:#333}.reservation-editor .editor-subtitle{color:#666;margin:-16px 0 20px}.reservation-editor .back-button{background:none;border:none;color:#007bff;font-size:1rem;font-weight:600;cursor:pointer;padding:8px 0;white-space:nowrap}.reservation-editor .back-button:hover{text-decoration:underline}.reservation-editor .loading{text-align:center;padding:40px;color:#666}.reservation-editor .current-details{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;margin-bottom:24px}.reservation-editor .current-details h3{margin:0 0 16px;font-size:1.1rem;color:#555}.reservation-editor .detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reservation-editor .detail-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:#f8f9fa;border-radius:8px}.reservation-editor .detail-label{font-size:.85rem;color:#888;font-weight:600}.reservation-editor .detail-value{font-size:1rem;color:#333;font-weight:500}.reservation-editor .edit-options{text-align:center}.reservation-editor .edit-prompt{font-size:1.1rem;color:#555;margin-bottom:16px}.reservation-editor .edit-buttons{display:flex;gap:12px;justify-content:center}.reservation-editor .btn{padding:14px 28px;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.reservation-editor .btn:disabled{opacity:.6;cursor:not-allowed}.reservation-editor .btn-primary{background:#007bff;color:#fff}.reservation-editor .btn-primary:hover:not(:disabled){background:#0056b3}.reservation-editor .btn-secondary{background:#e9ecef;color:#333}.reservation-editor .btn-secondary:hover:not(:disabled){background:#dee2e6}.reservation-editor .btn-edit{background:#fff;color:#333;border:2px solid #e0e0e0;padding:16px 24px;font-size:1.05rem;flex:1;max-width:250px}.reservation-editor .btn-edit:hover{border-color:#007bff;color:#007bff;background:#f0f7ff}.reservation-editor .btn-full{width:100%;margin-top:20px}.reservation-editor .quick-select-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin:20px 0}.reservation-editor .size-btn{padding:14px 0;font-size:1.1rem;font-weight:600;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .15s}.reservation-editor .size-btn:hover{border-color:#007bff;color:#007bff}.reservation-editor .size-btn.active{background:#007bff;color:#fff;border-color:#007bff}.reservation-editor .party-summary{text-align:center;font-size:1.1rem;color:#555;margin:16px 0}.reservation-editor .price-preview{color:#007bff;font-weight:600}.reservation-editor .age-groups{display:flex;flex-direction:column;gap:16px;margin:20px 0}.reservation-editor .age-group{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 2px 6px #0000000f}.reservation-editor .group-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.reservation-editor .group-icon{font-size:1.5rem}.reservation-editor .group-info h3{margin:0;font-size:1rem}.reservation-editor .group-desc{margin:2px 0 0;font-size:.85rem;color:#888}.reservation-editor .counter{display:flex;align-items:center;justify-content:center;gap:20px}.reservation-editor .counter-btn{width:40px;height:40px;border-radius:50%;border:2px solid #e0e0e0;background:#fff;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.reservation-editor .counter-btn:hover:not(:disabled){border-color:#007bff;color:#007bff}.reservation-editor .counter-btn:disabled{opacity:.3;cursor:not-allowed}.reservation-editor .counter-value{font-size:1.5rem;font-weight:700;min-width:40px;text-align:center}.reservation-editor .minors-question{background:#fff;padding:20px;border-radius:10px;box-shadow:0 2px 6px #0000000f;text-align:center}.reservation-editor .minors-question p{margin:0 0 12px;color:#555}.reservation-editor .question-buttons{display:flex;gap:12px;justify-content:center}.reservation-editor .minors-note{text-align:center;color:#666;padding:12px}.reservation-editor .btn-text-link{background:none;border:none;color:#007bff;font-weight:600;cursor:pointer;font-size:.9rem}.reservation-editor .btn-text-link:hover{text-decoration:underline}.reservation-editor .changes-comparison{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.reservation-editor .change-row{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:12px;align-items:center;padding:14px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000000f}.reservation-editor .change-label{font-weight:600;color:#555;white-space:nowrap}.reservation-editor .change-old{color:#999;text-decoration:line-through}.reservation-editor .change-arrow{color:#007bff;font-weight:700;text-align:center}.reservation-editor .change-new{color:#333;font-weight:600}.reservation-editor .no-changes{text-align:center;padding:24px;color:#888;background:#f8f9fa;border-radius:8px}.reservation-editor .price-comparison{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 2px 6px #0000000f;margin-bottom:8px}.reservation-editor .price-row{display:flex;justify-content:space-between;padding:8px 0;color:#555}.reservation-editor .price-row+.price-row{border-top:1px solid #eee}.reservation-editor .price-diff{font-weight:700;font-size:1.05rem}.reservation-editor .price-diff.increase{color:#dc3545}.reservation-editor .price-diff.decrease{color:#28a745}.reservation-editor .payment-summary{background:#fff3cd;border-radius:8px;padding:16px 20px;margin-bottom:20px;color:#856404}.reservation-editor .card-container{min-height:90px;margin-bottom:16px}.reservation-editor .success-message{text-align:center;padding:40px 20px}.reservation-editor .success-icon{font-size:3rem;margin-bottom:12px}.reservation-editor .success-message h2{margin:0 0 8px;color:#333}.reservation-editor .success-message p{color:#666;margin-bottom:20px}.reservation-editor .refund-notice,.reservation-editor .payment-notice{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:8px;margin-bottom:16px;text-align:left}.reservation-editor .refund-notice{background:#d4edda;color:#155724}.reservation-editor .payment-notice{background:#d1ecf1;color:#0c5460}.reservation-editor .refund-notice p,.reservation-editor .payment-notice p{margin:0}.reservation-editor .editor-error{background:#fff5f5;color:#dc3545;padding:12px 16px;border-radius:8px;font-size:.95rem;margin:12px 0}@media(max-width:600px){.reservation-editor .detail-grid{grid-template-columns:1fr}.reservation-editor .edit-buttons{flex-direction:column}.reservation-editor .btn-edit{max-width:100%}.reservation-editor .change-row{grid-template-columns:1fr;gap:4px;text-align:center}.reservation-editor .change-arrow{display:none}}.manage-reservation-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;background:#f8f9fa}.manage-reservation-page .manage-reservation-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:48px;width:100%;max-width:560px}.manage-reservation-page .manage-reservation-card h1{font-size:1.75rem;color:#1a1a2e;margin:0 0 12px}.manage-reservation-page .manage-subtitle{color:#666;line-height:1.6;margin-bottom:32px}.manage-reservation-page .lookup-form{display:flex;flex-direction:column;gap:20px}.manage-reservation-page .form-group{display:flex;flex-direction:column;gap:6px}.manage-reservation-page .form-group label{font-weight:600;font-size:.875rem;color:#374151}.manage-reservation-page .form-group input{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s}.manage-reservation-page .form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.manage-reservation-page .code-input{font-family:monospace;font-size:1.25rem!important;letter-spacing:.15em;text-transform:uppercase}.manage-reservation-page .lookup-error{padding:12px 16px;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-size:.875rem;line-height:1.5}.manage-reservation-page .btn-primary{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;width:100%}.manage-reservation-page .btn-primary:hover:not(:disabled){background:#0056b3}.manage-reservation-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.manage-reservation-page .btn-cancel{padding:12px 24px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;width:100%;margin-top:24px}.manage-reservation-page .btn-cancel:hover:not(:disabled){background:#c82333}.manage-reservation-page .btn-cancel:disabled{opacity:.6;cursor:not-allowed}.manage-reservation-page .btn-text{background:none;border:none;color:#6c757d;font-size:.875rem;cursor:pointer;padding:0}.manage-reservation-page .btn-text:hover{color:#343a40}.manage-reservation-page .found-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:8px}.manage-reservation-page .status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.manage-reservation-page .status-pending{background:#fff3cd;color:#856404}.manage-reservation-page .status-checked-in{background:#d4edda;color:#155724}.manage-reservation-page .status-no-show{background:#e2e3e5;color:#383d41}.manage-reservation-page .status-cancelled{background:#f8d7da;color:#721c24}.manage-reservation-page .reservation-code-badge{display:inline-block;margin-left:8px;padding:4px 10px;background:#e9ecef;border-radius:6px;font-family:monospace;font-size:.95rem;font-weight:700;letter-spacing:.1em;color:#495057}.manage-reservation-page .reservation-details-grid{display:flex;flex-direction:column;gap:1px;background:#e9ecef;border-radius:10px;overflow:hidden}.manage-reservation-page .detail-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 16px;background:#fff;gap:16px}.manage-reservation-page .detail-row span{color:#6c757d;font-size:.875rem;flex-shrink:0}.manage-reservation-page .detail-row strong{color:#1a1a2e;text-align:right}.manage-reservation-page .detail-row--full{flex-direction:column;gap:4px}.manage-reservation-page .detail-row--full strong{text-align:left}.manage-reservation-page .status-note{margin-top:20px;text-align:center;color:#6c757d;font-size:.875rem}.manage-reservation-page .cancelled-confirmation{text-align:center;padding:16px 0}.manage-reservation-page .cancelled-icon{font-size:3rem;margin-bottom:16px}.manage-reservation-page .cancelled-confirmation h2{font-size:1.5rem;color:#1a1a2e;margin-bottom:12px}.manage-reservation-page .cancelled-confirmation p{color:#555;line-height:1.6;margin-bottom:12px}.manage-reservation-page .refund-notice{padding:12px 16px;background:#d4edda;border-radius:8px;color:#155724;font-size:.875rem;margin-bottom:24px!important}.manage-reservation-page .payment-notice{padding:12px 16px;background:#d1ecf1;border-radius:8px;color:#0c5460;font-size:.875rem;margin-bottom:24px!important}.manage-reservation-page .action-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px}.manage-reservation-page .btn-secondary{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;width:100%}.manage-reservation-page .btn-secondary:hover:not(:disabled){background:#0056b3}.manage-reservation-page .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.manage-reservation-page .editing-section h2{font-size:1.3rem;margin:0;color:#1a1a2e}.manage-reservation-page .edit-form{display:flex;flex-direction:column;gap:20px}.manage-reservation-page .time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.manage-reservation-page .time-slot-btn{padding:8px 4px;border:2px solid #dee2e6;border-radius:8px;background:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s;color:#374151}.manage-reservation-page .time-slot-btn:hover:not(:disabled){border-color:#007bff;background:#f0f7ff}.manage-reservation-page .time-slot-btn.selected{border-color:#007bff;background:#007bff;color:#fff}.manage-reservation-page .time-slot-btn.unavailable{opacity:.4;cursor:not-allowed;text-decoration:line-through}.manage-reservation-page .loading-slots,.manage-reservation-page .no-slots{font-size:.875rem;color:#6c757d;padding:12px 0}.manage-reservation-page .price-diff-banner{padding:12px 16px;border-radius:8px;font-size:.875rem;line-height:1.5}.manage-reservation-page .price-diff-banner p{margin:0}.manage-reservation-page .price-diff-banner.increase{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.manage-reservation-page .price-diff-banner.decrease{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.manage-reservation-page .payment-section h2{font-size:1.3rem;margin:0;color:#1a1a2e}.manage-reservation-page .payment-section .form-group{margin-top:16px}.manage-reservation-page #manage-card-container{min-height:60px}@media(max-width:600px){.manage-reservation-page .manage-reservation-card{padding:24px 20px}.manage-reservation-page .manage-reservation-card h1{font-size:1.4rem}}.sign-waiver{max-width:800px;margin:0 auto;padding:20px}.sign-waiver .sw-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.25rem;color:#666}.sign-waiver .sw-header{text-align:center;margin-bottom:28px}.sign-waiver .sw-header h1{font-size:2rem;margin:0 0 8px;color:#333}.sign-waiver .sw-header p{color:#666;font-size:1.05rem;margin:0}.sign-waiver .sw-reservation-banner{background:#e7f3ff;border-left:4px solid #007bff;padding:20px 24px;border-radius:8px;margin-bottom:24px}.sign-waiver .sw-reservation-banner h3{margin:0 0 12px;color:#004085;font-size:1.1rem}.sign-waiver .sw-res-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sign-waiver .sw-res-item{display:flex;gap:6px}.sign-waiver .sw-res-item .label{font-weight:600;color:#004085}.sign-waiver .sw-res-item .value{color:#333}.sign-waiver .sw-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;padding:32px;margin-bottom:24px}.sign-waiver .sw-card h2{margin:0 0 24px;font-size:1.5rem;color:#333}.sign-waiver .sw-form-group{margin-bottom:20px}.sign-waiver .sw-form-group label{display:block;font-weight:600;color:#333;margin-bottom:6px}.sign-waiver .sw-form-group input{width:100%;padding:12px 14px;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;transition:border-color .2s}.sign-waiver .sw-form-group input:focus{outline:none;border-color:#007bff}.sign-waiver .sw-form-group small{display:block;margin-top:4px;color:#999;font-size:.85rem}.sign-waiver .sw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sign-waiver .sw-guest-summary{background:#f8f9fa;padding:14px 20px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.95rem;color:#555}.sign-waiver .sw-code-badge{background:#007bff;color:#fff;padding:2px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.sign-waiver .sw-edit-link{margin-left:auto;background:none;border:none;color:#007bff;cursor:pointer;font-size:.9rem;text-decoration:underline}.sign-waiver .sw-waiver-document{border:2px solid #dee2e6;border-radius:8px;overflow:hidden;margin-bottom:28px}.sign-waiver .sw-doc-title{background:#f8f9fa;padding:16px 20px;margin:0;font-size:1.3rem;text-align:center;border-bottom:2px solid #dee2e6;color:#333}.sign-waiver .sw-doc-content{padding:24px;max-height:400px;overflow-y:auto;background:#fff}.sign-waiver .sw-waiver-text{font-family:Georgia,serif;font-size:.95rem;line-height:1.8;color:#333;margin:0}.sign-waiver .sw-waiver-text-plain{white-space:pre-wrap;word-wrap:break-word}.sign-waiver .sw-signature-section{margin-bottom:24px}.sign-waiver .sw-signature-section h3{margin:0 0 8px;font-size:1.25rem;color:#333}.sign-waiver .sw-signature-instructions{color:#666;margin-bottom:16px;line-height:1.6}.sign-waiver .sw-canvas-wrapper{margin-bottom:12px}.sign-waiver .sw-canvas-container{position:relative;border:2px solid #dee2e6;border-radius:8px;overflow:hidden;margin-bottom:8px;background:#fff}.sign-waiver .sw-canvas{display:block;max-width:100%;cursor:crosshair}.sign-waiver .sw-canvas-placeholder{position:absolute;bottom:50%;left:50%;transform:translate(-50%,50%);color:#ccc;font-size:1.25rem;pointer-events:none}.sign-waiver .sw-clear-btn{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer}.sign-waiver .sw-clear-btn:hover{background:#5a6268}.sign-waiver .sw-signature-date{color:#666;font-size:.95rem;margin-top:8px}.sign-waiver .sw-agreement{background:#f8f9fa;padding:16px 20px;border-radius:8px;margin-bottom:24px}.sign-waiver .sw-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.sign-waiver .sw-checkbox-label input[type=checkbox]{width:22px;height:22px;margin-top:2px;flex-shrink:0;cursor:pointer}.sign-waiver .sw-checkbox-label span{font-size:.95rem;line-height:1.5;color:#333}.sign-waiver .sw-actions{display:flex;gap:12px;justify-content:flex-end}.sign-waiver .sw-btn{padding:14px 28px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.sign-waiver .sw-btn-primary{background:#007bff;color:#fff}.sign-waiver .sw-btn-primary:hover:not(:disabled){background:#0056b3}.sign-waiver .sw-btn-primary:disabled{opacity:.6;cursor:not-allowed}.sign-waiver .sw-btn-secondary{background:#6c757d;color:#fff}.sign-waiver .sw-btn-secondary:hover{background:#5a6268}.sign-waiver .sw-error{padding:12px 16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:20px}.sign-waiver .sw-success{text-align:center;padding:48px 32px}.sign-waiver .sw-success-icon{font-size:3rem;margin-bottom:16px}.sign-waiver .sw-success h2{font-size:1.75rem;margin-bottom:12px}.sign-waiver .sw-success-detail{color:#555;font-size:1rem}.sign-waiver .sw-success-hint{color:#999;font-size:.9rem;margin-top:24px}@media(max-width:600px){.sign-waiver .sw-form-row,.sign-waiver .sw-res-grid{grid-template-columns:1fr}.sign-waiver .sw-card{padding:20px}.sign-waiver .sw-actions{flex-direction:column-reverse}.sign-waiver .sw-btn{width:100%;text-align:center}.sign-waiver .sw-minor-fields{grid-template-columns:1fr}}.sign-waiver .sw-minors-section{background:#f8f9fa;border:2px solid #dee2e6;border-radius:12px;padding:24px;margin-bottom:24px}.sign-waiver .sw-minors-section h3{margin:0 0 8px;font-size:1.1rem;color:#333}.sign-waiver .sw-minors-instructions{font-size:.9rem;color:#666;margin-bottom:20px;line-height:1.5}.sign-waiver .sw-minor-entry{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:16px;margin-bottom:12px}.sign-waiver .sw-minor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sign-waiver .sw-minor-header h5{margin:0;font-size:.95rem;color:#495057}.sign-waiver .sw-minor-remove{background:none;border:none;color:#dc3545;font-size:.85rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.sign-waiver .sw-minor-remove:hover{background:#f8d7da}.sign-waiver .sw-minor-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sign-waiver .sw-minor-field label{display:block;font-size:.8rem;font-weight:600;color:#495057;margin-bottom:4px}.sign-waiver .sw-minor-field input{width:100%;padding:8px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:.95rem;box-sizing:border-box;transition:border-color .2s}.sign-waiver .sw-minor-field input:focus{border-color:#007bff;outline:none}.sign-waiver .sw-dob-input-wrapper{display:flex;align-items:center;gap:10px}.sign-waiver .sw-dob-input-wrapper input{flex:1}.sign-waiver .sw-age-display{white-space:nowrap;font-size:.85rem;font-weight:600;color:#007bff;background:#e7f1ff;padding:4px 10px;border-radius:12px}.sign-waiver .sw-btn-add-minor{width:100%;padding:12px;background:#fff;border:2px dashed #007bff;border-radius:8px;color:#007bff;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.sign-waiver .sw-btn-add-minor:hover{background:#e7f3ff;border-color:#0056b3}.my-rewards{max-width:560px;margin:0 auto}.rewards-header{margin-bottom:2rem}.rewards-header h1{font-size:1.75rem;color:#333;margin-bottom:.4rem}.rewards-subtitle{color:#6c757d;font-size:.95rem;margin:0}.rewards-lookup-form{margin-bottom:1.5rem}.rewards-lookup-row{display:flex;gap:.5rem}.rewards-phone-input{flex:1;padding:.6rem .9rem;border:1px solid #ced4da;border-radius:6px;font-size:1rem;outline:none;transition:border-color .2s}.rewards-phone-input:focus{border-color:#80bdff;box-shadow:0 0 0 3px #007bff26}.rewards-lookup-btn{padding:.6rem 1.25rem;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.rewards-lookup-btn:hover:not(:disabled){background:#0056b3}.rewards-lookup-btn:disabled{opacity:.65;cursor:not-allowed}.rewards-error{color:#dc3545;font-size:.875rem;margin:.5rem 0 0}.rewards-not-found{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:1rem 1.25rem;color:#856404;font-size:.9rem}.rewards-content{display:flex;flex-direction:column;gap:1.5rem}.rewards-section{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:1.25rem 1.5rem}.rewards-section h2{margin:0 0 1rem;font-size:1rem;color:#333;font-weight:700}.rewards-balance{text-align:center;padding:2rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.rewards-points-display{display:flex;flex-direction:column;align-items:center;gap:.25rem}.rewards-points-number{font-size:3.5rem;font-weight:800;line-height:1}.rewards-points-label{font-size:1rem;font-weight:500;opacity:.85;text-transform:uppercase;letter-spacing:.1em}.rewards-tier-list{display:flex;flex-direction:column;gap:.75rem}.rewards-tier-card{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:8px;border:1px solid #e9ecef;background:#f8f9fa;gap:.5rem}.rewards-tier-card.eligible{border-color:#28a745;background:#f0fff4}.rewards-tier-card.locked{opacity:.7}.rewards-tier-info{display:flex;flex-direction:column;gap:.2rem}.rewards-tier-name{font-weight:600;font-size:.95rem;color:#212529}.rewards-tier-cost{font-size:.8rem;color:#6c757d}.rewards-redeem-btn{padding:.4rem 1rem;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;flex-shrink:0}.rewards-redeem-btn:hover:not(:disabled){background:#1e7e34}.rewards-redeem-btn:disabled{opacity:.65;cursor:not-allowed}.rewards-tier-need{font-size:.8rem;color:#6c757d;white-space:nowrap;flex-shrink:0}.rewards-empty{color:#6c757d;font-size:.9rem;margin:0}.rewards-created{border-color:#28a745;background:#f0fff4}.rewards-id-box{background:#212529;color:#f8f9fa;font-family:monospace;font-size:.9rem;padding:.6rem .9rem;border-radius:6px;word-break:break-all;margin:.75rem 0}.rewards-id-hint{font-size:.85rem;color:#6c757d;margin:0}.rewards-event-list{display:flex;flex-direction:column;gap:0}.rewards-event-row{display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f1f3f5;font-size:.875rem}.rewards-event-row:last-child{border-bottom:none}.rewards-event-date{color:#6c757d;white-space:nowrap}.rewards-event-desc{color:#333}.rewards-event-pts{font-weight:600;white-space:nowrap}.rewards-event-pts.positive{color:#28a745}.rewards-event-pts.negative{color:#dc3545}@media(max-width:480px){.rewards-event-row{grid-template-columns:5.5rem 1fr auto}}.customer-account{max-width:560px;margin:0 auto;padding:40px 20px}.customer-account h1{font-size:2rem;color:#333;text-align:center;margin:0 0 8px}.customer-account .subtitle{text-align:center;color:#777;margin:0 0 28px;font-size:1rem}.ca-tabs{display:flex;gap:0;margin-bottom:0;border-bottom:2px solid #e0e0e0}.ca-tab{flex:1;padding:14px 16px;background:none;border:none;font-size:1rem;font-weight:600;color:#888;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.ca-tab:hover{color:#555}.ca-tab.active{color:#007bff;border-bottom-color:#007bff}.ca-card{background:#fff;border-radius:0 0 12px 12px;padding:28px 24px;box-shadow:0 4px 12px #00000014;margin-bottom:20px}.ca-card h3{margin:0 0 8px;font-size:1.15rem;color:#333}.ca-card.ca-card-link{border-radius:12px;text-align:center}.ca-card.ca-card-link p{color:#666;margin:4px 0 16px}.ca-hint{font-size:.9rem;color:#666;margin:0 0 16px;line-height:1.5}.ca-form{display:flex;flex-direction:column;gap:16px}.ca-field{display:flex;flex-direction:column;gap:4px}.ca-field label{font-size:.85rem;font-weight:600;color:#555}.ca-field input{padding:12px 14px;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .2s;font-family:inherit}.ca-field input:focus{outline:none;border-color:#007bff}.ca-btn{padding:12px 20px;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.ca-btn:disabled{opacity:.6;cursor:not-allowed}.ca-btn-primary{background:#007bff;color:#fff}.ca-btn-primary:hover:not(:disabled){background:#0056b3}.ca-btn-secondary{background:#f0f4ff;color:#007bff}.ca-btn-secondary:hover{background:#dce6ff}.ca-btn-outline{background:#fff;color:#555;border:2px solid #ddd}.ca-btn-outline:hover{background:#f8f9fa}.ca-error{color:#dc3545;background:#fff5f5;padding:10px 14px;border-radius:6px;font-size:.9rem}.ca-success{color:#155724;background:#d4edda;padding:10px 14px;border-radius:6px;font-size:.9rem}.ca-switch{text-align:center;font-size:.9rem;color:#888;margin:16px 0 0}.ca-link{background:none;border:none;color:#007bff;font-weight:600;cursor:pointer;font-size:inherit}.ca-link:hover{text-decoration:underline}.ca-profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.ca-profile-header h1{text-align:left;margin:0}.ca-profile-header .subtitle{text-align:left;margin:4px 0 0}@media(max-width:500px){.ca-card{padding:20px 16px}}.reservation-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s;border-left:4px solid #007bff}.reservation-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.reservation-card.status-pending{border-left-color:#ffc107}.reservation-card.status-checked-in{border-left-color:#28a745}.reservation-card.status-no-show{border-left-color:#6c757d}.reservation-card.status-cancelled{border-left-color:#dc3545}.reservation-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.reservation-card .customer-info h3{margin:0 0 8px;font-size:1.2rem;color:#333}.reservation-card .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.reservation-card .status-badge.status-pending{background:#fff3cd;color:#856404}.reservation-card .status-badge.status-checked-in{background:#d4edda;color:#155724}.reservation-card .status-badge.status-no-show{background:#d6d8db;color:#383d41}.reservation-card .status-badge.status-cancelled{background:#f8d7da;color:#721c24}.reservation-card .card-id{color:#666;font-weight:600;font-size:.9rem}.reservation-card .card-body{margin-bottom:20px}.reservation-card .info-row{display:flex;gap:10px;margin-bottom:12px;font-size:.9rem;color:#555}.reservation-card .info-row .icon{font-size:1.2rem;min-width:24px}.reservation-card .info-row strong{color:#333;margin-right:5px}.reservation-card .special-requests{flex-direction:column;background:#f8f9fa;padding:10px;border-radius:4px}.reservation-card .special-requests p{margin:5px 0 0;font-style:italic}.reservation-card .card-actions{display:flex;gap:10px;padding-top:15px;border-top:1px solid #eee}.reservation-card .status-select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;cursor:pointer;background:#fff}.reservation-card .status-select:focus{outline:none;border-color:#007bff}.reservation-card .delete-button{padding:8px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.reservation-card .delete-button:hover{background:#c82333}.filters-panel{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.filters-panel h3{margin:0 0 15px;color:#333;font-size:1.1rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;align-items:end}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:.9rem;color:#555;margin-bottom:5px;font-weight:500}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#007bff}.clear-filters-button{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.clear-filters-button:hover{background:#5a6268}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:rdmFadeIn .2s ease-in}@keyframes rdmFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay .modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;animation:rdmSlideIn .3s ease-out}@keyframes rdmSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-overlay .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #f0f0f0}.modal-overlay .modal-header h2{margin:0;font-size:1.75rem;color:#333}.modal-overlay .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.modal-overlay .close-button:hover{background:#f0f0f0;color:#333}.modal-overlay .modal-body{padding:24px}.modal-overlay .detail-section{margin-bottom:24px;padding:20px;background:#f9f9f9;border-radius:8px}.modal-overlay .detail-section h3{margin:0 0 16px;font-size:1.1rem;color:#555;font-weight:600}.modal-overlay .status-section{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px}.modal-overlay .status-badge-large{padding:8px 20px;border-radius:20px;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.modal-overlay .status-badge-large.status-pending{background:#ffc107;color:#333}.modal-overlay .status-badge-large.status-checked-in{background:#28a745;color:#fff}.modal-overlay .status-badge-large.status-no-show{background:#6c757d;color:#fff}.modal-overlay .status-badge-large.status-cancelled{background:#dc3545;color:#fff}.modal-overlay .reservation-id{font-weight:600;font-size:1.1rem;color:#fff}.modal-overlay .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.modal-overlay .detail-item{display:flex;flex-direction:column;gap:4px}.modal-overlay .detail-item label{font-size:.85rem;color:#777;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.modal-overlay .detail-item span{font-size:1rem;color:#333;font-weight:500}.modal-overlay .price-highlight{color:#28a745;font-weight:700;font-size:1.2rem!important}.modal-overlay .special-requests-box{background:#fff;padding:16px;border-radius:6px;border-left:4px solid #007bff;font-style:italic;color:#555;line-height:1.6}.modal-overlay .payment-id{font-family:Courier New,monospace;background:#e9ecef;padding:4px 8px;border-radius:4px;font-size:.9rem!important}.modal-overlay .audit-section{background:#fff3cd;border-left:4px solid #ffc107}.modal-overlay .modal-footer{padding:16px 24px;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.modal-overlay .btn-primary{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-overlay .btn-primary:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.modal-overlay .btn-close{padding:10px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.modal-overlay .btn-send-email{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:210px}.modal-overlay .btn-send-email--idle{background:#f0f4ff;color:#3b5bdb;border:1.5px solid #aec3ff}.modal-overlay .btn-send-email--idle:hover{background:#dbe4ff;border-color:#3b5bdb}.modal-overlay .btn-send-email--sending{background:#f8f9fa;color:#868e96;border:1.5px solid #dee2e6;cursor:not-allowed}.modal-overlay .btn-send-email--sent{background:#ebfbee;color:#2f9e44;border:1.5px solid #8ce99a;cursor:default}.modal-overlay .btn-send-email--error{background:#fff5f5;color:#c92a2a;border:1.5px solid #ffa8a8}.modal-overlay .modal-loading,.modal-overlay .modal-error{padding:40px;text-align:center}.modal-overlay .spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:rdmSpin 1s linear infinite;margin:0 auto 20px}@keyframes rdmSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.modal-overlay .modal-content{width:95%;max-height:95vh}.modal-overlay .modal-header,.modal-overlay .modal-body{padding:16px}.modal-overlay .detail-grid{grid-template-columns:1fr}}.modal-overlay .guests-detail-section{background:#f0f4ff;border-left:4px solid #667eea}.modal-overlay .guests-detail-list{display:flex;flex-direction:column;gap:10px}.modal-overlay .guest-detail-card{background:#fff;border-radius:6px;padding:12px 14px;border:1px solid #e0e0e0}.modal-overlay .guest-detail-name{font-weight:600;font-size:.95rem;color:#333;margin-bottom:4px}.modal-overlay .guest-detail-email{font-size:.85rem;color:#555;margin-bottom:4px}.modal-overlay .waiver-sent-badge{margin-left:8px;font-size:.78rem;color:#28a745}.modal-overlay .guest-waiver-match{font-size:.82rem;color:#28a745}.modal-overlay .guest-waiver-pending{font-size:.82rem;color:#dc9a04}.modal-overlay .modal-header-actions{display:flex;align-items:center;gap:10px}.modal-overlay .btn-edit-reservation{padding:6px 16px;background:#f0f4ff;color:#3b5bdb;border:1.5px solid #aec3ff;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-overlay .btn-edit-reservation:hover{background:#dbe4ff;border-color:#3b5bdb}.modal-overlay .detail-edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.modal-overlay .detail-edit-label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:#777;text-transform:uppercase;letter-spacing:.5px}.modal-overlay .detail-edit-input{padding:7px 10px;border:1px solid #ced4da;border-radius:6px;font-size:.9rem;color:#333;background:#fff;transition:border-color .15s;font-family:inherit}.modal-overlay .detail-edit-input:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd26}.modal-overlay .detail-edit-textarea{resize:vertical;min-height:72px}.modal-overlay .detail-edit-full{grid-column:1 / -1}.modal-overlay .detail-edit-computed{padding:7px 10px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:.9rem;color:#495057;font-weight:600}.modal-overlay .party-breakdown{font-size:.85rem;color:#6c757d;font-weight:400}.modal-overlay .detail-edit-error{grid-column:1 / -1;color:#c92a2a;background:#fff5f5;border:1px solid #ffa8a8;border-radius:6px;padding:8px 12px;font-size:.875rem;margin:0}.modal-overlay .detail-edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.modal-overlay .btn-primary-sm{padding:7px 20px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.modal-overlay .btn-primary-sm:hover:not(:disabled){background:#0056b3}.modal-overlay .btn-primary-sm:disabled{opacity:.6;cursor:not-allowed}.modal-overlay .btn-secondary-sm{padding:7px 20px;background:#f1f3f5;color:#495057;border:1px solid #ced4da;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.modal-overlay .btn-secondary-sm:hover:not(:disabled){background:#e9ecef}.modal-overlay .btn-secondary-sm:disabled{opacity:.6;cursor:not-allowed}.modal-overlay .history-section{background:#f0f4f8;border-left:4px solid #667eea}.modal-overlay .history-loading,.modal-overlay .history-empty{color:#6c757d;font-size:.9rem;font-style:italic;margin:0}.modal-overlay .history-timeline{display:flex;flex-direction:column;gap:12px}.modal-overlay .history-entry{background:#fff;border-radius:6px;padding:12px 14px;border-left:3px solid #dee2e6}.modal-overlay .history-action-created{border-left-color:#28a745}.modal-overlay .history-action-updated{border-left-color:#007bff}.modal-overlay .history-action-cancelled{border-left-color:#dc3545}.modal-overlay .history-action-deleted{border-left-color:#6c757d}.modal-overlay .history-entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.modal-overlay .history-action-badge{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;color:#fff;background:#6c757d}.modal-overlay .history-badge-created{background:#28a745}.modal-overlay .history-badge-updated{background:#007bff}.modal-overlay .history-badge-cancelled{background:#dc3545}.modal-overlay .history-badge-deleted{background:#6c757d}.modal-overlay .history-timestamp{font-size:.78rem;color:#6c757d;white-space:nowrap}.modal-overlay .history-entry-by{font-size:.85rem;color:#495057;font-weight:500;margin-bottom:2px}.modal-overlay .history-entry-details{font-size:.82rem;color:#6c757d;line-height:1.4}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.table-container .reservations-table{width:100%;border-collapse:collapse}.table-container .reservations-table th{background:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.table-container .reservations-table td{padding:12px;border-bottom:1px solid #dee2e6;color:#555}.table-container .table-row-hover:hover{background:#f8f9fa;cursor:pointer}.table-container .id-link{background:none;border:none;color:#007bff;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:1rem}.table-container .id-link:hover{color:#0056b3}.table-container .view-button{padding:4px 8px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;margin-right:4px;font-size:1rem}.table-container .view-button:hover{background:#0056b3}.table-container .contact-info{font-size:.85rem}.table-container .phone-small{color:#999;margin-top:4px}.table-container .actions-cell{display:flex;gap:8px;align-items:center}.table-container .status-select-small{padding:4px 8px;font-size:.85rem;border:1px solid #ddd;border-radius:4px;cursor:pointer}.table-container .delete-button-small{padding:4px 8px;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.table-container .delete-button-small:hover{background:#c82333}.table-container .status-badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.table-container .status-badge.status-pending{background:#fff3cd;color:#856404}.table-container .status-badge.status-checked-in{background:#d4edda;color:#155724}.table-container .status-badge.status-no-show{background:#d6d8db;color:#383d41}.table-container .status-badge.status-cancelled{background:#f8d7da;color:#721c24}@media(max-width:768px){.table-container .reservations-table{font-size:.85rem}.table-container .reservations-table th,.table-container .reservations-table td{padding:8px}.table-container .actions-cell{flex-direction:column;gap:4px}}.business-info{display:flex;gap:20px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:6px;font-size:.9rem;color:#555}.type-breakdown{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.type-badge{padding:3px 8px;border-radius:10px;font-size:.7rem;color:#fff;font-weight:600}.type-badge-large{padding:4px 10px;border-radius:12px;font-size:.75rem;color:#fff;font-weight:600}.duration{margin-left:8px;color:#666;font-size:.85em}.sbm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1100;animation:sbmFadeIn .2s ease-in}@keyframes sbmFadeIn{0%{opacity:0}to{opacity:1}}.sbm-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:560px;width:90%;max-height:90vh;overflow-y:auto;animation:sbmSlideIn .3s ease-out}@keyframes sbmSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.sbm-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #f0f0f0}.sbm-header h2{margin:0;font-size:1.4rem;color:#333}.sbm-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:#999;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.sbm-close:hover{background:#f0f0f0;color:#333}.sbm-body{padding:24px}.sbm-slot-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0f4ff;border-radius:8px;margin-bottom:20px;font-size:.9rem;color:#333;font-weight:600}.sbm-slot-info .sbm-type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sbm-form{display:flex;flex-direction:column;gap:16px}.sbm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sbm-field{display:flex;flex-direction:column;gap:4px}.sbm-field label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6c757d}.sbm-field input,.sbm-field select,.sbm-field textarea{padding:10px 12px;border:2px solid #dee2e6;border-radius:8px;font-size:.95rem;transition:border-color .2s;font-family:inherit}.sbm-field input:focus,.sbm-field select:focus,.sbm-field textarea:focus{outline:none;border-color:#007bff}.sbm-field textarea{resize:vertical;min-height:60px}.sbm-error{background:#fff3f3;color:#dc3545;padding:10px 14px;border-radius:6px;font-size:.9rem;border-left:4px solid #dc3545}.sbm-footer{padding:16px 24px;border-top:2px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.sbm-btn{padding:10px 22px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.sbm-btn:disabled{opacity:.6;cursor:not-allowed}.sbm-btn-cancel{background:#f0f0f0;color:#555}.sbm-btn-cancel:hover:not(:disabled){background:#e0e0e0}.sbm-btn-create{background:#007bff;color:#fff}.sbm-btn-create:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.sbm-guests-section{border:2px solid #e9ecef;border-radius:8px}.sbm-guests-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f8f9fa;border:none;cursor:pointer;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6c757d;transition:background .2s}.sbm-guests-toggle:hover{background:#e9ecef}.sbm-guests-arrow{display:inline-block;transition:transform .2s;font-size:.75rem}.sbm-guests-arrow.open{transform:rotate(90deg)}.sbm-guests-list{display:flex;flex-direction:column;gap:8px;padding:12px 14px}.sbm-guest-row{display:grid;grid-template-columns:24px 1fr 1fr 1.4fr;gap:8px;align-items:center}.sbm-guest-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#e9ecef;border-radius:50%;font-size:.75rem;font-weight:700;color:#6c757d;flex-shrink:0}.sbm-guest-row input{padding:8px 10px;border:2px solid #dee2e6;border-radius:6px;font-size:.88rem;transition:border-color .2s;font-family:inherit;min-width:0}.sbm-guest-row input:focus{outline:none;border-color:#007bff}.sbm-checkbox{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f0faf0;border:2px solid #c8e6c9;border-radius:8px;font-size:.9rem;font-weight:600;color:#2e7d32;cursor:pointer;transition:background .2s}.sbm-checkbox:hover{background:#e0f2e0}.sbm-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#43a047;cursor:pointer}.quick-view{width:100%}.qv-controls{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;background:#fff;padding:20px 24px;border-radius:10px;box-shadow:0 2px 6px #0000000f;margin-bottom:24px}.qv-controls label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;margin-bottom:6px}.qv-type-chips,.qv-lookahead-chips{display:flex;gap:6px;flex-wrap:wrap}.qv-chip{padding:6px 14px;border:2px solid #dee2e6;background:#fff;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.qv-chip:hover:not(.active){border-color:#adb5bd}.qv-chip.active{color:#fff;border-color:#007bff;background:#007bff}.qv-chip.small{padding:4px 10px;font-size:.8rem}.qv-hidden-badge{font-size:.65rem;background:#ffffff4d;padding:1px 5px;border-radius:6px;margin-left:4px;vertical-align:middle}.qv-refresh-btn{padding:8px 16px;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.qv-refresh-btn:hover{background:#e9ecef;border-color:#adb5bd}.qv-cancelled-toggle{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:500;color:#6c757d;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.qv-cancelled-toggle input[type=checkbox]{accent-color:#dc3545;cursor:pointer}.qv-date-selector label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;margin-bottom:6px}.qv-date-nav{display:flex;align-items:center;gap:4px}.qv-date-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:2px solid #dee2e6;background:#fff;border-radius:6px;font-size:.7rem;cursor:pointer;transition:all .2s;color:#495057}.qv-date-arrow:hover{background:#e9ecef;border-color:#adb5bd}.qv-date-input{padding:4px 8px;border:2px solid #dee2e6;border-radius:6px;font-size:.85rem;font-weight:500;color:#212529;cursor:pointer}.qv-date-input:focus{outline:none;border-color:#007bff}.qv-body{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}@media(max-width:900px){.qv-body{grid-template-columns:1fr}}.qv-columns{display:grid;gap:16px;min-width:0}.qv-columns-1{grid-template-columns:1fr}.qv-columns-2{grid-template-columns:repeat(2,1fr)}.qv-columns-3{grid-template-columns:repeat(3,1fr)}.qv-columns-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.qv-columns-3,.qv-columns-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.qv-columns-2,.qv-columns-3,.qv-columns-4{grid-template-columns:1fr}}.qv-column{background:#fff;border-radius:10px;box-shadow:0 2px 6px #0000000f;overflow:hidden;border-top:4px solid #dee2e6;min-width:0}.qv-column-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.qv-column-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.qv-column-header h3{margin:0;font-size:1rem;color:#212529;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qv-column-stats{font-size:.75rem;color:#6c757d;white-space:nowrap}.qv-column>.qv-timeline,.qv-column>.qv-loading,.qv-column>.qv-empty{padding:8px}.qv-past-group{margin-bottom:4px}.qv-past-toggle{display:block;width:100%;padding:8px 12px;background:#f1f3f5;border:1px dashed #ced4da;border-radius:6px;color:#6c757d;font-size:.8rem;font-weight:600;cursor:pointer;text-align:left;transition:background .2s;margin-bottom:6px}.qv-past-toggle:hover{background:#e9ecef;color:#495057}.qv-upcoming-type-dot,.qv-avail-type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.qv-upcoming-banner{background:linear-gradient(135deg,#fff3cd,#ffeeba);border:1px solid #ffc107;border-radius:10px;padding:16px 20px;margin-bottom:20px}.qv-upcoming-banner h3{margin:0 0 10px;font-size:1rem;color:#856404}.qv-upcoming-list{display:flex;flex-direction:column;gap:6px}.qv-upcoming-item{display:flex;align-items:center;gap:12px;background:#ffffffb3;padding:8px 12px;border-radius:6px;font-size:.9rem}.qv-upcoming-item .qv-time{font-weight:700;min-width:80px;color:#333}.qv-upcoming-item .qv-name{flex:1;color:#495057}.qv-upcoming-item .qv-party{color:#6c757d;font-size:.85rem}.qv-upcoming-item .qv-status-dot{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.qv-upcoming-item .status-pending{background:#fff3cd;color:#856404}.qv-upcoming-item .status-checked-in{background:#d4edda;color:#155724}.qv-upcoming-item .status-no-show{background:#e2e3e5;color:#383d41}.qv-upcoming-item .status-cancelled{background:#f8d7da;color:#721c24}.qv-section-title{display:flex;align-items:baseline;gap:12px;margin:0 0 16px;font-size:1.1rem;color:#333}.qv-section-title .qv-date{font-size:.85rem;font-weight:400;color:#6c757d}.qv-timeline{display:flex;flex-direction:column;gap:6px}.qv-slot{background:#fff;border-radius:8px;padding:12px 16px;border-left:5px solid #dee2e6;box-shadow:0 1px 3px #0000000a;transition:opacity .2s}.qv-slot-past{opacity:.45;border-left-color:#adb5bd}.qv-slot-available{border-left-color:#28a745}.qv-slot-upcoming{border-left-color:#28a745;background:#f0fff4;box-shadow:0 0 0 1px #28a74526,0 2px 6px #28a74514}.qv-slot-full{border-left-color:#dc3545;background:#fff5f5}.qv-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.qv-slot-time{font-weight:700;font-size:.95rem;color:#212529}.qv-slot-badges{display:flex;align-items:center;gap:8px}.qv-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}.qv-badge.past{background:#e9ecef;color:#6c757d}.qv-badge.full{background:#f8d7da;color:#721c24}.qv-badge.upcoming{background:#d4edda;color:#155724;animation:qv-pulse 2s ease-in-out infinite}@keyframes qv-pulse{0%,to{opacity:1}50%{opacity:.6}}.qv-capacity{font-size:.8rem;color:#6c757d;font-weight:500}.qv-capacity-bar{height:4px;background:#e9ecef;border-radius:2px;overflow:hidden;margin-bottom:4px}.qv-capacity-fill{height:100%;border-radius:2px;transition:width .3s}.qv-fill-past{background:#adb5bd}.qv-fill-available,.qv-fill-upcoming{background:#28a745}.qv-fill-full{background:#dc3545}.qv-slot-actions{display:flex;justify-content:flex-end;margin-top:8px}.qv-create-booking-btn{font-size:.72rem;font-weight:600;padding:3px 10px;border:1px solid #007bff;border-radius:5px;background:#fff;color:#007bff;cursor:pointer;white-space:nowrap;transition:all .2s}.qv-create-booking-btn:hover{background:#007bff;color:#fff}.qv-expanded-empty{padding:8px 0}.qv-expanded-empty-text{font-size:.85rem;color:#6c757d;font-style:italic;margin:0}.qv-slot-reservations{margin-top:8px;display:flex;flex-direction:column;gap:4px}.qv-res-row{display:flex;align-items:center;gap:10px;font-size:.85rem;padding:4px 8px 4px 12px;background:#f8f9fa;border-radius:4px;border-left:4px solid #dee2e6}.qv-res-row.qv-res-status-pending{border-left-color:#ffc107}.qv-res-row.qv-res-status-checked-in{border-left-color:#28a745}.qv-res-row.qv-res-status-no-show{border-left-color:#6c757d}.qv-res-row.qv-res-status-cancelled{border-left-color:#dc3545}.qv-res-name{flex:1;color:#495057;font-weight:500}.qv-res-party{color:#6c757d;font-size:.8rem}.qv-res-status-select{font-size:.7rem;font-weight:600;padding:1px 4px;border-radius:6px;border:1px solid #ccc;background:#fff;color:#495057;cursor:pointer}.qv-res-status-select:disabled{opacity:.5;cursor:wait}.qv-res-details-btn{font-size:.75rem;padding:2px 6px;border:1px solid #dee2e6;border-radius:4px;background:#fff;cursor:pointer;line-height:1;flex-shrink:0}.qv-res-details-btn:hover{background:#667eea;border-color:#667eea}.qv-slot-clickable .qv-slot-header{cursor:pointer}.qv-slot-clickable .qv-slot-header:hover{background:#00000005;border-radius:4px}.qv-slot-expanded{box-shadow:0 2px 8px #00000014}.qv-slot-chevron{display:inline-block;width:16px;font-size:.75rem;color:#6c757d}.qv-badge.bookings{background:#e2e3e5;color:#383d41}.qv-expanded{margin-top:10px;display:flex;flex-direction:column;gap:8px}.qv-expanded-loading{font-size:.8rem;color:#6c757d;padding:4px 0}.qv-expanded-booking{background:#f8f9fa;border:1px solid #e9ecef;border-left:4px solid #dee2e6;border-radius:6px;padding:10px 12px}.qv-expanded-booking.qv-res-status-pending{border-left-color:#ffc107}.qv-expanded-booking.qv-res-status-checked-in{border-left-color:#28a745}.qv-expanded-booking.qv-res-status-no-show{border-left-color:#6c757d}.qv-expanded-booking.qv-res-status-cancelled{border-left-color:#dc3545}.qv-expanded-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.qv-expanded-guest{display:flex;flex-direction:column;min-width:0}.qv-expanded-name{font-weight:600;color:#212529;font-size:.9rem}.qv-expanded-email{font-size:.75rem;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qv-expanded-details{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#495057}.qv-expanded-breakdown{color:#6c757d}.qv-waiver-badge{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.qv-waiver-signed{background:#d4edda;color:#155724}.qv-waiver-matched{background:#d1ecf1;color:#0c5460}.qv-waiver-review{background:#fff3cd;color:#856404}.qv-waiver-missing{background:#f8d7da;color:#721c24}.qv-waiver-loading{background:#e9ecef;color:#6c757d}div.qv-waiver-review{margin-top:8px;padding:8px 10px;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;font-size:.8rem}.qv-review-label{display:block;font-weight:600;color:#856404;margin-bottom:4px}.qv-review-waiver{display:flex;gap:8px;padding:3px 0;color:#495057;flex-wrap:wrap}.qv-review-email{color:#6c757d}.qv-review-date{color:#6c757d;font-size:.75rem}.qv-waiver-linked{margin-top:6px;display:flex;flex-direction:column;gap:2px}.qv-linked-info{font-size:.75rem;color:#155724}.qv-action-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px dashed #e0e0e0}.qv-details-btn{font-size:.75rem;padding:4px 10px;border:1px solid #667eea;border-radius:5px;background:#fff;color:#667eea;cursor:pointer;font-weight:600;white-space:nowrap}.qv-details-btn:hover{background:#667eea;color:#fff}.qv-status-change{display:flex;align-items:center;gap:6px;margin-left:auto}.qv-status-change label{font-size:.72rem;font-weight:600;color:#666;white-space:nowrap}.qv-status-select{font-size:.75rem;padding:3px 6px;border:1px solid #ccc;border-radius:5px;background:#fff;color:#495057;cursor:pointer;font-weight:600}.qv-status-select:disabled{opacity:.5;cursor:wait}.qv-status-spinner{font-size:.8rem;animation:qv-spin 1s linear infinite}@keyframes qv-spin{to{transform:rotate(360deg)}}.qv-guest-waivers{margin-top:8px;display:flex;flex-direction:column;gap:4px;border-top:1px solid #eee;padding-top:8px}.qv-guest-waiver-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;font-size:.82rem}.qv-guest-waiver-row.signed{background:#e8f5e9}.qv-guest-waiver-row.unsigned{background:#fff8e1}.qv-guest-waiver-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.qv-guest-waiver-check{font-size:.85rem;flex-shrink:0}.qv-guest-waiver-name{font-weight:600;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qv-booker-tag{font-size:.65rem;font-weight:600;background:#667eea;color:#fff;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle}.qv-minor-tag{font-size:.65rem;font-weight:600;background:#a0aec0;color:#fff;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle}.qv-guest-waiver-row.minor{background:#e8f5e9}.qv-guest-waiver-row.pending-review{background:#fffbeb;border-left:3px solid #f59e0b}.qv-review-tag{font-size:.65rem;font-weight:600;background:#f59e0b;color:#fff;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle}.qv-review-actions{display:flex;flex-direction:column;gap:4px;width:100%;padding-top:4px}.qv-review-match-info{font-size:.72rem;color:#92400e;font-style:italic}.qv-review-buttons{display:flex;gap:6px}.qv-confirm-btn,.qv-reject-btn{font-size:.72rem;padding:2px 10px;border-radius:4px;border:1px solid;cursor:pointer;font-weight:600}.qv-confirm-btn{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.qv-confirm-btn:hover:not(:disabled){background:#a7f3d0}.qv-reject-btn{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.qv-reject-btn:hover:not(:disabled){background:#fecaca}.qv-confirm-btn:disabled,.qv-reject-btn:disabled{opacity:.5;cursor:not-allowed}.qv-guest-waiver-email{font-size:.75rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qv-guest-signed-info{font-size:.72rem;color:#388e3c;white-space:nowrap}.qv-link-btn{font-size:.72rem;padding:2px 8px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;white-space:nowrap;color:#555}.qv-link-btn:hover{background:#f5f5f5;border-color:#999}.qv-waiver-search{width:100%;margin-top:6px;display:flex;flex-direction:column;gap:4px}.qv-waiver-search-input{width:100%;padding:6px 10px;font-size:.82rem;border:1px solid #ccc;border-radius:6px;outline:none;box-sizing:border-box}.qv-waiver-search-input:focus{border-color:#667eea}.qv-search-status{font-size:.75rem;color:#888;padding:4px 0}.qv-search-results{max-height:180px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;background:#fff}.qv-search-result{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #f0f0f0;gap:8px}.qv-search-result:last-child{border-bottom:none}.qv-search-result-info{display:flex;flex-direction:column;min-width:0}.qv-search-result-name{font-weight:600;font-size:.82rem;color:#333}.qv-search-result-email{font-size:.72rem;color:#888}.qv-search-result-date{font-size:.68rem;color:#aaa}.qv-search-link-btn{font-size:.72rem;padding:3px 10px;border:1px solid #667eea;border-radius:4px;background:#667eea;color:#fff;cursor:pointer;white-space:nowrap;flex-shrink:0}.qv-search-link-btn:hover{background:#5a6fd6}.qv-search-link-btn:disabled{opacity:.6;cursor:not-allowed}.qv-sidebar{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 6px #0000000f;position:sticky;top:24px}.qv-sidebar h3{margin:0 0 4px;font-size:1rem;color:#333}.qv-sidebar-hint{margin:0 0 16px;font-size:.8rem;color:#6c757d}.qv-available-list{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto}.qv-available-sections{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.qv-available-section-header{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:1px solid #e9ecef;margin-bottom:6px}.qv-available-section-name{font-weight:700;font-size:.85rem;color:#212529;flex:1}.qv-available-section-count{font-size:.75rem;font-weight:600;color:#6c757d;background:#e9ecef;padding:1px 8px;border-radius:10px}.qv-available-section-empty{font-size:.8rem;color:#adb5bd;text-align:center;padding:6px 0;font-style:italic}.qv-available-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:#f8f9fa;font-size:.85rem}.qv-available-item.upcoming{background:#d4edda}.qv-avail-time{font-weight:700;min-width:72px;color:#212529}.qv-avail-cap{flex:1;color:#495057}.qv-avail-soon{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#155724;background:#28a74526;padding:1px 6px;border-radius:8px}.qv-avail-book-btn{font-size:.68rem;font-weight:600;padding:2px 8px;border:1px solid #007bff;border-radius:4px;background:#fff;color:#007bff;cursor:pointer;white-space:nowrap;margin-left:auto;transition:all .2s;flex-shrink:0}.qv-avail-book-btn:hover{background:#007bff;color:#fff}.qv-sidebar-summary{border-top:1px solid #e9ecef;padding-top:16px}.qv-sidebar-summary h4{margin:0 0 10px;font-size:.85rem;color:#6c757d;text-transform:uppercase;letter-spacing:.05em}.qv-summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.9rem;color:#495057}.qv-summary-row strong{color:#212529}.qv-sidebar-empty{padding:16px 0;text-align:center;color:#6c757d;font-size:.9rem}.qv-loading{padding:40px;text-align:center;color:#6c757d}.qv-empty{padding:40px;text-align:center;color:#6c757d;font-size:1rem}.reservations-container{max-width:1400px;margin:0 auto;padding:20px}.reservations-container .reservations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.reservations-container .reservations-header h1{font-size:2rem;color:#333}.reservations-container .view-toggle{display:flex;gap:8px}.reservations-container .view-toggle button{padding:10px 18px;border:2px solid #ddd;background:#fff;cursor:pointer;border-radius:6px;transition:all .3s;font-weight:600;display:flex;align-items:center;gap:6px}.reservations-container .view-toggle button.active{background:#007bff;color:#fff;border-color:#007bff;box-shadow:0 2px 8px #007bff4d}.reservations-container .view-toggle button:hover:not(.active){border-color:#007bff;color:#007bff}.reservations-container .status-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.reservations-container .summary-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;border-left:4px solid #007bff}.reservations-container .summary-card.pending{border-left-color:#ffc107}.reservations-container .summary-card.checked-in{border-left-color:#28a745}.reservations-container .summary-card.no-show{border-left-color:#6c757d}.reservations-container .summary-card.cancelled{border-left-color:#dc3545}.reservations-container .summary-card h3{font-size:2rem;margin:0 0 5px;color:#333}.reservations-container .summary-card p{margin:0;color:#666;font-size:.9rem}.reservations-container .date-selector{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;display:flex;align-items:center;gap:12px}.reservations-container .date-selector label{font-weight:600;color:#333;font-size:1rem}.reservations-container .date-input{padding:10px 16px;border:2px solid #ddd;border-radius:6px;font-size:1rem;cursor:pointer;transition:border-color .3s}.reservations-container .date-input:focus{outline:none;border-color:#007bff}.reservations-container .results-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px;background:#f8f9fa;border-radius:4px}.reservations-container .refresh-button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.reservations-container .refresh-button:hover{background:#0056b3}.reservations-container .reservations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.reservations-container .loading-container,.reservations-container .error-container,.reservations-container .no-results{text-align:center;padding:40px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.reservations-container .spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:rlSpin 1s linear infinite;margin:0 auto 20px}@keyframes rlSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reservations-container .error-message{color:#dc3545;margin-bottom:15px}.reservations-container .retry-button{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}@media(max-width:768px){.reservations-container .reservations-header{flex-direction:column;align-items:flex-start;gap:16px}.reservations-container .view-toggle{width:100%}.reservations-container .view-toggle button{flex:1;justify-content:center;font-size:.875rem;padding:8px 12px}.reservations-container .reservations-grid{grid-template-columns:1fr}.reservations-container .status-summary{grid-template-columns:repeat(2,1fr)}.reservations-container .date-selector{flex-direction:column;align-items:flex-start}.reservations-container .date-input{width:100%}}.editor-modal{max-width:700px;max-height:90vh;overflow-y:auto}.editor-modal .editor-form{padding:24px}.editor-modal .form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #f0f0f0}.editor-modal .form-section:last-of-type{border-bottom:none}.editor-modal .form-section h3{margin:0 0 20px;font-size:1.25rem;color:#333}.editor-modal .form-group{margin-bottom:20px}.editor-modal .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.editor-modal .form-group input[type=text],.editor-modal .form-group input[type=number],.editor-modal .form-group input[type=time],.editor-modal .form-group textarea{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s}.editor-modal .form-group input:focus,.editor-modal .form-group textarea:focus{outline:none;border-color:#007bff}.editor-modal .form-group textarea{resize:vertical}.editor-modal .form-group small{display:block;margin-top:4px;font-size:.875rem;color:#666}.editor-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor-modal .color-picker{display:flex;gap:16px;align-items:center}.editor-modal .color-options{display:flex;gap:8px;flex-wrap:wrap}.editor-modal .color-option{width:40px;height:40px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.editor-modal .color-option:hover{transform:scale(1.1)}.editor-modal .color-option.selected{border-color:#333;box-shadow:0 0 0 2px #fff,0 0 0 4px #333}.editor-modal .color-input{width:60px;height:40px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer}.editor-modal .checkbox-group label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:400}.editor-modal .checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.editor-modal .checkbox-group span{font-weight:600;color:#333}.editor-modal .error-message{padding:12px 16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:20px}.editor-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:2px solid #f0f0f0;margin:0 -24px -24px}.editor-modal .btn-secondary{padding:10px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.editor-modal .btn-secondary:hover{background:#5a6268}.editor-modal .btn-primary{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.editor-modal .btn-primary:hover:not(:disabled){background:#0056b3}.editor-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.editor-modal{width:95%;max-height:95vh}.editor-modal .form-row{grid-template-columns:1fr}.editor-modal .color-picker{flex-direction:column;align-items:flex-start}}.editor-modal .cutoff-control{display:flex;flex-direction:column;gap:8px}.editor-modal .cutoff-control input[type=number]{width:120px;padding:10px 14px;font-size:1rem;border:2px solid #e0e0e0;border-radius:6px}.editor-modal .cutoff-control input[type=number]:focus{outline:none;border-color:#007bff}.editor-modal .cutoff-control input[type=number]:disabled{background:#f0f0f0;color:#aaa}.editor-modal .cutoff-toggle{display:flex;align-items:center;gap:8px;font-weight:400!important;cursor:pointer}.editor-modal .cutoff-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.editor-modal .cutoff-toggle span{font-weight:400!important;color:#666;font-size:.9rem}.reservation-types-management{max-width:1400px;margin:0 auto;padding:40px 24px}.reservation-types-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.reservation-types-management .page-header h1{font-size:2rem;color:#333;margin:0}.reservation-types-management .create-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.reservation-types-management .create-button:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.reservation-types-management .types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px}.reservation-types-management .type-card{background:#fff;border-radius:12px;border-left:6px solid #007bff;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s}.reservation-types-management .type-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-3px)}.reservation-types-management .type-card.disabled{opacity:.7;background:#f8f9fa}.reservation-types-management .card-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.reservation-types-management .type-name{display:flex;align-items:center;gap:12px}.reservation-types-management .color-indicator{width:24px;height:24px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0003}.reservation-types-management .type-name h3{margin:0;font-size:1.4rem;color:#222}.reservation-types-management .status-badges{display:flex;gap:8px}.reservation-types-management .badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.reservation-types-management .active-badge{background:#d4edda;color:#155724}.reservation-types-management .disabled-badge{background:#f8d7da;color:#721c24}.reservation-types-management .hidden-badge{background:#fff3cd;color:#856404}.reservation-types-management .type-description{padding:20px 24px;color:#555;line-height:1.6;min-height:60px}.reservation-types-management .type-details{padding:0 24px 20px;display:flex;flex-direction:column;gap:10px}.reservation-types-management .detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f9fa;border-radius:8px}.reservation-types-management .detail-item .label{font-weight:600;color:#666}.reservation-types-management .detail-item .value{font-weight:600;color:#333}.reservation-types-management .card-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:20px 24px;border-top:1px solid #e0e0e0;background:#fafafa}.reservation-types-management .action-btn{padding:10px 16px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.reservation-types-management .edit-btn{background:#007bff;color:#fff}.reservation-types-management .edit-btn:hover{background:#0056b3}.reservation-types-management .disable-btn{background:#ffc107;color:#333}.reservation-types-management .disable-btn:hover{background:#e0a800}.reservation-types-management .enable-btn{background:#28a745;color:#fff}.reservation-types-management .enable-btn:hover{background:#218838}.reservation-types-management .hide-btn{background:#6c757d;color:#fff}.reservation-types-management .hide-btn:hover{background:#5a6268}.reservation-types-management .show-btn{background:#17a2b8;color:#fff}.reservation-types-management .show-btn:hover{background:#138496}.reservation-types-management .delete-btn{background:#dc3545;color:#fff;grid-column:span 2}.reservation-types-management .delete-btn:hover{background:#c82333}.reservation-types-management .loading{text-align:center;padding:60px 20px;font-size:1.25rem;color:#666}@media(max-width:768px){.reservation-types-management{padding:24px 16px}.reservation-types-management .page-header{flex-direction:column;gap:16px;align-items:flex-start}.reservation-types-management .types-grid,.reservation-types-management .card-actions{grid-template-columns:1fr}.reservation-types-management .delete-btn{grid-column:span 1}}.modifier-editor-modal{max-width:800px;max-height:90vh;overflow-y:auto}.modifier-editor-modal .modifier-form{padding:24px}.modifier-editor-modal .form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #f0f0f0}.modifier-editor-modal .form-section:last-of-type{border-bottom:none}.modifier-editor-modal .form-section h3{margin:0 0 20px;font-size:1.25rem;color:#333}.modifier-editor-modal .form-group{margin-bottom:20px}.modifier-editor-modal .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.modifier-editor-modal .time-preview{color:#007bff;font-weight:600;margin-left:8px}.modifier-editor-modal .form-group input[type=text],.modifier-editor-modal .form-group input[type=number],.modifier-editor-modal .form-group input[type=date],.modifier-editor-modal .form-group input[type=time],.modifier-editor-modal .form-group select,.modifier-editor-modal .form-group textarea{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s}.modifier-editor-modal .form-group input:focus,.modifier-editor-modal .form-group select:focus,.modifier-editor-modal .form-group textarea:focus{outline:none;border-color:#007bff}.modifier-editor-modal .form-group textarea{resize:vertical}.modifier-editor-modal .form-group small{display:block;margin-top:4px;font-size:.875rem;color:#666}.modifier-editor-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modifier-editor-modal .type-select{font-size:.95rem}.modifier-editor-modal .checkbox-group{display:flex;align-items:center}.modifier-editor-modal .checkbox-group label{display:flex;align-items:center;gap:12px;cursor:pointer;margin-bottom:0}.modifier-editor-modal .checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.modifier-editor-modal .checkbox-group span{font-weight:600;color:#333}.modifier-editor-modal .preview-section{background:#f8f9fa;padding:20px;border-radius:8px;border:none!important}.modifier-editor-modal .preview-card{background:#fff;padding:20px;border-radius:8px;border:2px solid #e0e0e0}.modifier-editor-modal .preview-item{padding:12px;margin-bottom:8px;background:#f8f9fa;border-radius:6px;display:flex;gap:12px}.modifier-editor-modal .preview-item:last-child{margin-bottom:0}.modifier-editor-modal .preview-item strong{color:#666;min-width:100px}.modifier-editor-modal .preview-item.closed{background:#f8d7da;color:#721c24;font-weight:700}.modifier-editor-modal .error-message{padding:12px 16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:20px}.modifier-editor-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:2px solid #f0f0f0;margin:0 -24px -24px}.modifier-editor-modal .btn-secondary{padding:10px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.modifier-editor-modal .btn-secondary:hover{background:#5a6268}.modifier-editor-modal .btn-primary{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.modifier-editor-modal .btn-primary:hover:not(:disabled){background:#0056b3}.modifier-editor-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.modifier-editor-modal{width:95%;max-height:95vh}.modifier-editor-modal .form-row{grid-template-columns:1fr}}.modifiers-management{max-width:1200px;margin:0 auto;padding:40px 24px}.modifiers-management .back-button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:8px;color:#555;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.modifiers-management .back-button:hover{background:#e4e4e4;color:#333}.modifiers-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;gap:20px}.modifiers-management .header-left{display:flex;flex-direction:column;gap:14px}.modifiers-management .page-header h1{font-size:2rem;color:#333;margin:0 0 8px}.modifiers-management .type-name{display:flex;align-items:center;gap:12px;margin:0}.modifiers-management .type-badge{padding:6px 14px;border-radius:16px;color:#fff;font-weight:600;font-size:.9rem}.modifiers-management .default-hours{color:#666;font-size:.95rem}.modifiers-management .create-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.modifiers-management .create-button:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.modifiers-management .no-modifiers{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.modifiers-management .no-modifiers p{font-size:1.1rem;color:#666;margin-bottom:12px}.modifiers-management .create-button-large{padding:16px 32px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-top:20px}.modifiers-management .create-button-large:hover{background:#218838}.modifiers-management .modifiers-list{display:grid;gap:24px}.modifiers-management .modifier-card{background:#fff;border-radius:12px;border:1px solid #e0e0e0;border-left:5px solid #007bff;padding:28px 32px;box-shadow:0 2px 8px #0000000f;transition:all .3s}.modifiers-management .modifier-card:hover{box-shadow:0 6px 18px #0000001a;transform:translateY(-2px)}.modifiers-management .modifier-card.disabled{opacity:.6;background:#f8f9fa}.modifiers-management .modifier-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modifiers-management .modifier-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.modifiers-management .modifier-title h3{margin:0;font-size:1.4rem;color:#222}.modifiers-management .modifier-type{padding:4px 12px;background:#007bff;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.modifiers-management .disabled-badge{padding:4px 12px;background:#dc3545;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.modifiers-management .modifier-priority{padding:8px 16px;background:#f8f9fa;border-radius:8px;font-size:.9rem;color:#666}.modifiers-management .modifier-priority strong{color:#333;font-size:1.1rem}.modifiers-management .modifier-description{color:#555;margin-bottom:24px;line-height:1.6;font-size:.95rem}.modifiers-management .modifier-details{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:20px;background:#f8f9fa;border-radius:10px}.modifiers-management .detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #eee}.modifiers-management .detail-item.closed{background:#f8d7da;color:#721c24;font-weight:700}.modifiers-management .detail-item .label{font-weight:600;color:#666}.modifiers-management .detail-item .value{color:#333;font-weight:600}.modifiers-management .modifier-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:20px;margin-top:4px;border-top:1px solid #e8e8e8}.modifiers-management .action-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.modifiers-management .edit-btn{background:#007bff;color:#fff}.modifiers-management .edit-btn:hover{background:#0056b3}.modifiers-management .disable-btn{background:#ffc107;color:#333}.modifiers-management .disable-btn:hover{background:#e0a800}.modifiers-management .enable-btn{background:#28a745;color:#fff}.modifiers-management .enable-btn:hover{background:#218838}.modifiers-management .delete-btn{background:#dc3545;color:#fff}.modifiers-management .delete-btn:hover{background:#c82333}.modifiers-management .loading,.modifiers-management .error{text-align:center;padding:60px 20px;font-size:1.25rem;color:#666}.modifiers-management .error{color:#dc3545}@media(max-width:768px){.modifiers-management{padding:24px 16px}.modifiers-management .page-header{flex-direction:column;align-items:flex-start}.modifiers-management .modifier-card{padding:20px}.modifiers-management .modifier-header{flex-direction:column;gap:12px}.modifiers-management .modifier-actions{flex-direction:column}.modifiers-management .action-btn{width:100%;text-align:center}}.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.waiver-editor-modal{max-width:900px;max-height:90vh;overflow-y:auto}.waiver-editor-modal .version-info{background:#fff3cd;border:1px solid #ffc107;padding:12px 16px;margin-bottom:24px;border-radius:6px;color:#856404;font-size:.9rem}.waiver-editor-modal .waiver-form{padding:24px}.waiver-editor-modal .form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #f0f0f0}.waiver-editor-modal .form-section:last-of-type{border-bottom:none}.waiver-editor-modal .form-section h3{margin:0 0 20px;font-size:1.25rem;color:#333}.waiver-editor-modal .form-group{margin-bottom:20px}.waiver-editor-modal .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.waiver-editor-modal .form-group input[type=text],.waiver-editor-modal .form-group textarea{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .3s}.waiver-editor-modal .form-group input:focus,.waiver-editor-modal .form-group textarea:focus{outline:none;border-color:#007bff}.waiver-editor-modal .form-group textarea.content-editor{font-family:Courier New,monospace;resize:vertical;min-height:300px}.waiver-editor-modal .content-editor .ql-editor{min-height:300px;font-family:Georgia,serif;font-size:1rem;line-height:1.8}.waiver-editor-modal .content-editor .ql-toolbar{border-radius:6px 6px 0 0;border-color:#e0e0e0;background:#f8f9fa}.waiver-editor-modal .content-editor .ql-container{border-radius:0 0 6px 6px;border-color:#e0e0e0}.waiver-editor-modal .form-group small{display:block;margin-top:4px;font-size:.875rem;color:#666}.waiver-editor-modal .checkbox-group{display:flex;align-items:center}.waiver-editor-modal .checkbox-group label{display:flex;align-items:center;gap:12px;cursor:pointer;margin-bottom:0}.waiver-editor-modal .checkbox-group input[type=checkbox]{width:20px;height:20px;cursor:pointer}.waiver-editor-modal .checkbox-group span{font-weight:600;color:#333}.waiver-editor-modal .content-stats{display:flex;gap:24px;padding:12px;background:#f8f9fa;border-radius:6px;font-size:.875rem;color:#666}.waiver-editor-modal .content-stats span{display:flex;align-items:center;gap:4px}.waiver-editor-modal .error-message{padding:12px 16px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px;margin-bottom:20px}.waiver-editor-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:2px solid #f0f0f0;margin:0 -24px -24px}.waiver-editor-modal .btn-secondary{padding:10px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s}.waiver-editor-modal .btn-secondary:hover{background:#5a6268}.waiver-editor-modal .btn-primary{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.waiver-editor-modal .btn-primary:hover:not(:disabled){background:#0056b3}.waiver-editor-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.waiver-editor-modal{width:95%;max-height:95vh}}.waiver-editor-modal .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.waiver-editor-modal .section-header h3{margin:0}.waiver-editor-modal .preview-toggle{padding:6px 16px;background:#e9ecef;color:#495057;border:2px solid #dee2e6;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.waiver-editor-modal .preview-toggle:hover{background:#dee2e6}.waiver-editor-modal .preview-toggle.active{background:#007bff;color:#fff;border-color:#007bff}.waiver-editor-modal .inline-preview{border:2px solid #dee2e6;border-radius:8px;overflow:hidden;margin-bottom:20px}.waiver-editor-modal .inline-preview-title{background:#f8f9fa;padding:16px 20px;font-size:1.3rem;font-weight:700;color:#333;text-align:center;border-bottom:2px solid #dee2e6}.waiver-editor-modal .inline-preview-body{padding:24px;font-family:Georgia,serif;font-size:.95rem;line-height:1.8;color:#333;min-height:300px;max-height:500px;overflow-y:auto}.waiver-editor-modal .inline-preview-body h1,.waiver-editor-modal .inline-preview-body h2,.waiver-editor-modal .inline-preview-body h3{margin:1.2em 0 .5em;color:#222}.waiver-editor-modal .inline-preview-body h1:first-child,.waiver-editor-modal .inline-preview-body h2:first-child,.waiver-editor-modal .inline-preview-body h3:first-child{margin-top:0}.waiver-editor-modal .inline-preview-body p{margin:.6em 0}.waiver-editor-modal .inline-preview-body ul,.waiver-editor-modal .inline-preview-body ol{margin:.6em 0;padding-left:1.8em}.waiver-editor-modal .inline-preview-body li{margin-bottom:.3em}.history-modal{max-width:1200px;width:95%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.history-modal .modal-header{padding:24px;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.history-modal .modal-header h2{margin:0;font-size:1.75rem;color:#333}.history-modal .close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:4px 8px;transition:color .2s}.history-modal .close-button:hover{color:#333}.history-modal .history-content{display:flex;gap:24px;padding:24px;overflow:hidden;flex:1}.history-modal .versions-list{width:300px;overflow-y:auto;border-right:2px solid #e0e0e0;padding-right:24px}.history-modal .versions-list h3{margin:0 0 16px;font-size:1.25rem;color:#333}.history-modal .version-item{padding:16px;margin-bottom:12px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.history-modal .version-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.history-modal .version-item.selected{border-color:#007bff;background:#e7f3ff}.history-modal .version-item.inactive{opacity:.7;background:#f8f9fa}.history-modal .version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-modal .version-number{font-size:1.25rem;font-weight:700;color:#007bff}.history-modal .active-badge{padding:3px 8px;background:#28a745;color:#fff;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase}.history-modal .default-badge{padding:3px 8px;background:#ffc107;color:#333;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;margin-left:4px}.history-modal .version-info{margin-bottom:12px}.history-modal .info-row{font-size:.875rem;color:#666;margin-bottom:4px;display:flex;gap:8px}.history-modal .info-row strong{color:#333;min-width:60px}.history-modal .change-notes{padding:8px;background:#f8f9fa;border-radius:4px;font-size:.875rem;color:#495057;font-style:italic;line-height:1.4}.history-modal .version-details{flex:1;overflow-y:auto;padding-left:24px}.history-modal .version-details h3{margin:0 0 24px;font-size:1.5rem;color:#333}.history-modal .detail-section{margin-bottom:32px}.history-modal .detail-section h4{margin:0 0 16px;font-size:1.125rem;color:#495057;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.history-modal .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.history-modal .detail-item{display:flex;gap:12px;padding:12px;background:#f8f9fa;border-radius:6px}.history-modal .detail-item .label{font-weight:600;color:#666;min-width:100px}.history-modal .detail-item .value{color:#333;flex:1}.history-modal .change-notes-detail{padding:16px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;color:#856404;line-height:1.6;margin:0}.history-modal .content-display{padding:20px;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;max-height:400px;overflow-y:auto}.history-modal .content-display pre{margin:0;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word}.history-modal .modal-footer{padding:16px 24px;border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end}.history-modal .loading{text-align:center;padding:60px 20px;font-size:1.125rem;color:#666}@media(max-width:968px){.history-modal .history-content{flex-direction:column}.history-modal .versions-list{width:100%;border-right:none;border-bottom:2px solid #e0e0e0;padding-right:0;padding-bottom:24px;max-height:300px}.history-modal .version-details{padding-left:0}.history-modal .detail-grid{grid-template-columns:1fr}}.waiver-management{max-width:1400px;margin:0 auto;padding:40px 24px}.waiver-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.waiver-management .page-header h1{font-size:2rem;color:#333;margin:0}.waiver-management .create-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.waiver-management .create-button:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.waiver-management .info-banner{background:#e7f3ff;border-left:4px solid #007bff;padding:16px;margin-bottom:24px;border-radius:4px}.waiver-management .info-banner p{margin:0;color:#004085}.waiver-management .no-templates{text-align:center;padding:80px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.waiver-management .no-templates p{font-size:1.25rem;color:#666;margin-bottom:24px}.waiver-management .create-button-large{padding:16px 32px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer}.waiver-management .create-button-large:hover{background:#218838}.waiver-management .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:24px}.waiver-management .template-card{background:#fff;border-radius:12px;border:2px solid #e0e0e0;padding:24px;transition:all .3s;position:relative}.waiver-management .template-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.waiver-management .template-card.inactive{background:#f8f9fa;opacity:.7}.waiver-management .template-card.default{border-color:#ffc107;background:#fffef7}.waiver-management .card-header{margin-bottom:20px}.waiver-management .template-name{display:flex;justify-content:space-between;align-items:flex-start}.waiver-management .template-name h3{margin:0;font-size:1.5rem;color:#333;flex:1}.waiver-management .badges{display:flex;gap:8px;flex-wrap:wrap}.waiver-management .badge{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.waiver-management .default-badge{background:#ffc107;color:#333}.waiver-management .inactive-badge{background:#dc3545;color:#fff}.waiver-management .version-badge{background:#007bff;color:#fff}.waiver-management .template-info{margin-bottom:16px;padding:16px;background:#f8f9fa;border-radius:8px}.waiver-management .info-item{display:flex;margin-bottom:8px;gap:8px}.waiver-management .info-item:last-child{margin-bottom:0}.waiver-management .info-item .label{font-weight:600;color:#666;min-width:120px}.waiver-management .info-item .value{color:#333;flex:1}.waiver-management .card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:16px;border-top:1px solid #e0e0e0}.waiver-management .action-btn{padding:10px 16px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.waiver-management .edit-btn{background:#007bff;color:#fff}.waiver-management .edit-btn:hover{background:#0056b3}.waiver-management .history-btn{background:#6c757d;color:#fff}.waiver-management .history-btn:hover{background:#545b62}.waiver-management .preview-btn{background:#17a2b8;color:#fff}.waiver-management .preview-btn:hover{background:#138496}.waiver-management .default-btn{background:#ffc107;color:#333}.waiver-management .default-btn:hover{background:#e0a800}.waiver-management .disable-btn{background:#dc3545;color:#fff}.waiver-management .disable-btn:hover{background:#c82333}.waiver-management .enable-btn{background:#28a745;color:#fff}.waiver-management .enable-btn:hover{background:#218838}.waiver-management .delete-btn{background:#6c757d;color:#fff}.waiver-management .delete-btn:hover:not(:disabled){background:#dc3545}.waiver-management .delete-btn:disabled{opacity:.5;cursor:not-allowed}.waiver-management .loading{text-align:center;padding:60px 20px;font-size:1.25rem;color:#666}@media(max-width:768px){.waiver-management{padding:24px 16px}.waiver-management .templates-grid{grid-template-columns:1fr}.waiver-management .page-header{flex-direction:column;align-items:flex-start;gap:16px}.waiver-management .card-actions{grid-template-columns:1fr}}.waiver-preview-modal{max-width:800px;width:95%;max-height:90vh;overflow-y:auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d}.waiver-preview-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #f0f0f0}.waiver-preview-modal .modal-header h2{margin:0;font-size:1.3rem;color:#333}.waiver-preview-modal .close-button{background:none;border:none;font-size:1.3rem;cursor:pointer;color:#666;padding:4px 8px}.waiver-preview-modal .preview-meta{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-size:.9rem}.waiver-preview-modal .preview-name{font-weight:700;color:#333}.waiver-preview-modal .preview-version{color:#666;padding:2px 10px;background:#e9ecef;border-radius:10px;font-size:.8rem}.waiver-preview-modal .preview-badge{color:#333;padding:2px 10px;background:#ffc107;border-radius:10px;font-size:.8rem;font-weight:600}.waiver-preview-modal .preview-document{margin:24px;border:2px solid #dee2e6;border-radius:8px;overflow:hidden}.waiver-preview-modal .preview-title{background:#f8f9fa;padding:16px 20px;margin:0;font-size:1.4rem;color:#333;text-align:center;border-bottom:2px solid #dee2e6}.waiver-preview-modal .preview-body{padding:24px;font-family:Georgia,serif;font-size:.95rem;line-height:1.8;color:#333;max-height:50vh;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}.waiver-preview-modal .preview-body h1,.waiver-preview-modal .preview-body h2,.waiver-preview-modal .preview-body h3{margin:1.2em 0 .5em;color:#222}.waiver-preview-modal .preview-body h1:first-child,.waiver-preview-modal .preview-body h2:first-child,.waiver-preview-modal .preview-body h3:first-child{margin-top:0}.waiver-preview-modal .preview-body p{margin:.6em 0}.waiver-preview-modal .preview-body ul,.waiver-preview-modal .preview-body ol{margin:.6em 0;padding-left:1.8em}.waiver-preview-modal .preview-body li{margin-bottom:.3em}.waiver-preview-modal .preview-footer{padding:20px 24px;border-top:2px solid #f0f0f0;display:flex;flex-direction:column;align-items:center;gap:16px}.waiver-preview-modal .preview-sig-line{width:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:16px;background:#fafafa;border:2px dashed #ccc;border-radius:8px}.waiver-preview-modal .sig-placeholder{font-style:italic;color:#999;font-size:1rem;border-bottom:2px solid #999;padding-bottom:4px}.waiver-preview-modal .sig-date{font-size:.9rem;color:#666}.waiver-preview-modal .btn-secondary{padding:10px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.waiver-preview-modal .btn-secondary:hover{background:#5a6268}.gift-code-management{max-width:1200px;margin:0 auto;padding:32px 24px}.gift-code-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.gift-code-management .page-header h1{margin:0;font-size:1.8rem;color:#333}.gift-code-management .create-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.gift-code-management .create-button:hover{background:#218838}.gift-code-management .codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.gift-code-management .code-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;border:1px solid #e0e0e0;transition:box-shadow .2s}.gift-code-management .code-card:hover{box-shadow:0 4px 16px #0000001f}.gift-code-management .code-card.inactive{opacity:.6}.gift-code-management .card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.gift-code-management .code-value{font-family:Courier New,monospace;font-size:1.3rem;font-weight:700;color:#333;letter-spacing:.1em}.gift-code-management .type-badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.gift-code-management .type-badge.dollar{background:#d4edda;color:#155724}.gift-code-management .type-badge.free{background:#cce5ff;color:#004085}.gift-code-management .card-info{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.gift-code-management .info-row{display:flex;justify-content:space-between;font-size:.9rem}.gift-code-management .info-label{color:#666}.gift-code-management .info-value{font-weight:600;color:#333}.gift-code-management .balance-bar{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin:12px 0}.gift-code-management .balance-fill{height:100%;background:#28a745;border-radius:4px;transition:width .3s}.gift-code-management .balance-fill.low{background:#ffc107}.gift-code-management .balance-fill.empty{background:#dc3545}.gift-code-management .card-notes{font-size:.85rem;color:#666;font-style:italic;margin-bottom:12px;padding:8px;background:#f8f9fa;border-radius:6px}.gift-code-management .status-row{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.gift-code-management .status-badge{padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.gift-code-management .status-badge.active{background:#d4edda;color:#155724}.gift-code-management .status-badge.inactive{background:#f8d7da;color:#721c24}.gift-code-management .status-badge.expired{background:#fff3cd;color:#856404}.gift-code-management .card-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:16px;border-top:1px solid #e0e0e0}.gift-code-management .action-btn{padding:8px 12px;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.gift-code-management .toggle-btn{background:#ffc107;color:#333}.gift-code-management .toggle-btn:hover{background:#e0a800}.gift-code-management .edit-btn{background:#007bff;color:#fff}.gift-code-management .edit-btn:hover{background:#0056b3}.gift-code-management .delete-btn{background:#6c757d;color:#fff}.gift-code-management .delete-btn:hover{background:#dc3545}.gift-code-management .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.gift-code-management .modal-content{background:#fff;border-radius:12px;padding:32px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d}.gift-code-management .modal-content h2{margin:0 0 24px;font-size:1.4rem;color:#333}.gift-code-management .form-group{margin-bottom:16px}.gift-code-management .form-group label{display:block;font-size:.875rem;font-weight:600;color:#555;margin-bottom:6px}.gift-code-management .form-group input,.gift-code-management .form-group select,.gift-code-management .form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;box-sizing:border-box}.gift-code-management .form-group textarea{resize:vertical;min-height:60px}.gift-code-management .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.gift-code-management .cancel-btn{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.gift-code-management .save-btn{padding:10px 20px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.gift-code-management .save-btn:hover{background:#218838}.gift-code-management .cancel-btn:hover{background:#5a6268}.gift-code-management .empty-state{text-align:center;padding:60px 20px;color:#666}.gift-code-management .empty-state p{font-size:1.1rem}.gift-code-management .loading{text-align:center;padding:60px 20px;font-size:1.25rem;color:#666}@media(max-width:768px){.gift-code-management{padding:24px 16px}.gift-code-management .codes-grid{grid-template-columns:1fr}.gift-code-management .page-header{flex-direction:column;align-items:flex-start;gap:16px}.gift-code-management .card-actions{grid-template-columns:1fr}}.email-template-management{max-width:1400px;margin:0 auto;padding:40px 24px}.email-template-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.email-template-management .page-header h1{font-size:2rem;color:#333;margin:0}.email-template-management .create-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.email-template-management .create-button:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.email-template-management .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.email-template-management .template-card{background:#fff;border-radius:12px;border-left:6px solid #667eea;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s}.email-template-management .template-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-3px)}.email-template-management .template-card.disabled{opacity:.65;border-left-color:#adb5bd}.email-template-management .card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;gap:12px}.email-template-management .template-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.email-template-management .template-title h3{margin:0;font-size:1.2rem;color:#222}.email-template-management .badge{padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.email-template-management .badge.active{background:#d4edda;color:#155724}.email-template-management .badge.inactive{background:#f8d7da;color:#721c24}.email-template-management .template-type-badge{padding:4px 12px;border-radius:12px;background:#e8eaf6;color:#3949ab;font-size:.8rem;font-weight:600;white-space:nowrap}.email-template-management .card-body{padding:16px 24px}.email-template-management .card-field{display:flex;gap:8px;margin-bottom:6px;font-size:.9rem}.email-template-management .field-label{color:#888;font-weight:600;white-space:nowrap}.email-template-management .field-value{color:#333;word-break:break-word}.email-template-management .card-actions{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #f0f0f0;flex-wrap:wrap}.email-template-management .action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.email-template-management .action-btn.edit{background:#e3f2fd;color:#1565c0}.email-template-management .action-btn.edit:hover{background:#bbdefb}.email-template-management .action-btn.preview{background:#f3e5f5;color:#7b1fa2}.email-template-management .action-btn.preview:hover{background:#e1bee7}.email-template-management .action-btn.test{background:#e8f5e9;color:#2e7d32}.email-template-management .action-btn.test:hover{background:#c8e6c9}.email-template-management .action-btn.delete{background:#fce4ec;color:#c62828}.email-template-management .action-btn.delete:hover{background:#f8bbd0}.email-template-management .editor-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}@media(max-width:1100px){.email-template-management .editor-layout{grid-template-columns:1fr}}.email-template-management .editor-form{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 8px #00000014}.email-template-management .editor-preview{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 8px #00000014;position:sticky;top:24px}.email-template-management .editor-preview h3{margin:0 0 12px;color:#333}.email-template-management .preview-subject{font-size:.9rem;color:#666;margin-bottom:12px;padding:8px 12px;background:#f8f9fa;border-radius:6px;word-break:break-word}.email-template-management .preview-frame{width:100%;height:500px;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.email-template-management .form-group{margin-bottom:20px}.email-template-management .form-group label{display:block;margin-bottom:6px;font-weight:600;color:#444;font-size:.9rem}.email-template-management .form-group input[type=text],.email-template-management .form-group input[type=email],.email-template-management .form-group select,.email-template-management .form-group textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.email-template-management .form-group textarea{font-family:Courier New,monospace;font-size:.85rem;resize:vertical;min-height:200px}.email-template-management .form-group input:focus,.email-template-management .form-group select:focus,.email-template-management .form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.email-template-management .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.email-template-management .checkbox-group input[type=checkbox]{width:18px;height:18px}.email-template-management .placeholder-bar{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;flex-wrap:wrap}.email-template-management .placeholder-label{font-size:.8rem;color:#888;padding-top:4px;white-space:nowrap}.email-template-management .placeholder-chips{display:flex;flex-wrap:wrap;gap:4px}.email-template-management .placeholder-chip{padding:3px 8px;background:#e8eaf6;color:#3949ab;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .2s;font-family:Courier New,monospace}.email-template-management .placeholder-chip:hover{background:#c5cae9}.email-template-management .form-actions{display:flex;gap:12px;margin-top:24px}.email-template-management .save-button{padding:12px 28px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.email-template-management .save-button:hover:not(:disabled){background:#5a6fd6;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.email-template-management .save-button:disabled{opacity:.6;cursor:not-allowed}.email-template-management .cancel-button{padding:12px 28px;background:#f8f9fa;color:#333;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.email-template-management .cancel-button:hover{background:#e9ecef}.email-template-management .form-error{background:#fce4ec;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.email-template-management .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:24px}.email-template-management .modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;display:flex;flex-direction:column}.email-template-management .preview-modal{max-width:750px;max-height:85vh}.email-template-management .test-modal{max-width:480px;padding:28px}.email-template-management .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.email-template-management .test-modal .modal-header{padding:0 0 16px;border-bottom:none}.email-template-management .modal-header h2{margin:0;font-size:1.3rem;color:#333}.email-template-management .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;line-height:1}.email-template-management .modal-close:hover{color:#333}.email-template-management .modal-description{font-size:.9rem;color:#666;margin:0 0 20px}.email-template-management .preview-subject-line{padding:12px 24px;background:#f8f9fa;font-size:.9rem;color:#555;border-bottom:1px solid #e0e0e0}.email-template-management .preview-frame-modal{width:100%;flex:1;min-height:400px;border:none;border-radius:0 0 16px 16px}.email-template-management .test-result{padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:16px}.email-template-management .test-result.success{background:#d4edda;color:#155724}.email-template-management .test-result.error{background:#fce4ec;color:#c62828}.email-template-management .empty-state{text-align:center;padding:60px 20px;color:#888}.email-template-management .empty-state p{font-size:1.1rem;margin-bottom:20px}.sms-template-management{max-width:1400px;margin:0 auto;padding:40px 24px}.sms-template-management .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.sms-template-management .page-header h1{font-size:2rem;color:#333;margin:0}.sms-template-management .create-button{padding:12px 24px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.sms-template-management .create-button:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.sms-template-management .templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.sms-template-management .template-card{background:#fff;border-radius:12px;border-left:6px solid #43a047;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s}.sms-template-management .template-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-3px)}.sms-template-management .template-card.disabled{opacity:.65;border-left-color:#adb5bd}.sms-template-management .card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;gap:12px}.sms-template-management .template-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sms-template-management .template-title h3{margin:0;font-size:1.2rem;color:#222}.sms-template-management .badge{padding:3px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.sms-template-management .badge.active{background:#d4edda;color:#155724}.sms-template-management .badge.inactive{background:#f8d7da;color:#721c24}.sms-template-management .template-type-badge{padding:4px 12px;border-radius:12px;background:#e8f5e9;color:#2e7d32;font-size:.8rem;font-weight:600;white-space:nowrap}.sms-template-management .card-body{padding:16px 24px}.sms-template-management .card-field{display:flex;gap:8px;margin-bottom:6px;font-size:.9rem}.sms-template-management .field-label{color:#888;font-weight:600;white-space:nowrap}.sms-template-management .field-value{color:#333;word-break:break-word}.sms-template-management .body-preview{font-family:Courier New,monospace;font-size:.85rem;color:#444;background:#f8f9fa;padding:10px 12px;border-radius:6px;margin-top:4px;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow:hidden}.sms-template-management .card-actions{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #f0f0f0;flex-wrap:wrap}.sms-template-management .action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.sms-template-management .action-btn.edit{background:#e3f2fd;color:#1565c0}.sms-template-management .action-btn.edit:hover{background:#bbdefb}.sms-template-management .action-btn.preview{background:#f3e5f5;color:#7b1fa2}.sms-template-management .action-btn.preview:hover{background:#e1bee7}.sms-template-management .action-btn.test{background:#e8f5e9;color:#2e7d32}.sms-template-management .action-btn.test:hover{background:#c8e6c9}.sms-template-management .action-btn.delete{background:#fce4ec;color:#c62828}.sms-template-management .action-btn.delete:hover{background:#f8bbd0}.sms-template-management .editor-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}@media(max-width:1100px){.sms-template-management .editor-layout{grid-template-columns:1fr}}.sms-template-management .editor-form{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 8px #00000014}.sms-template-management .editor-preview{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 8px #00000014;position:sticky;top:24px}.sms-template-management .editor-preview h3{margin:0 0 12px;color:#333}.sms-template-management .sms-bubble{background:#e8f5e9;border-radius:16px 16px 16px 4px;padding:14px 18px;font-size:.95rem;line-height:1.5;color:#222;white-space:pre-wrap;word-break:break-word;margin-bottom:12px}.sms-template-management .char-counter{font-size:.8rem;color:#888;text-align:right}.sms-template-management .char-counter.warn{color:#e65100;font-weight:600}.sms-template-management .form-group{margin-bottom:20px}.sms-template-management .form-group label{display:block;margin-bottom:6px;font-weight:600;color:#444;font-size:.9rem}.sms-template-management .form-group input[type=text],.sms-template-management .form-group input[type=tel],.sms-template-management .form-group select,.sms-template-management .form-group textarea{width:100%;padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.sms-template-management .form-group textarea{font-family:Courier New,monospace;font-size:.85rem;resize:vertical;min-height:120px}.sms-template-management .form-group input:focus,.sms-template-management .form-group select:focus,.sms-template-management .form-group textarea:focus{outline:none;border-color:#43a047;box-shadow:0 0 0 3px #43a04726}.sms-template-management .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.sms-template-management .checkbox-group input[type=checkbox]{width:18px;height:18px}.sms-template-management .placeholder-bar{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;flex-wrap:wrap}.sms-template-management .placeholder-label{font-size:.8rem;color:#888;padding-top:4px;white-space:nowrap}.sms-template-management .placeholder-chips{display:flex;flex-wrap:wrap;gap:4px}.sms-template-management .placeholder-chip{padding:3px 8px;background:#e8f5e9;color:#2e7d32;border:none;border-radius:4px;font-size:.75rem;cursor:pointer;transition:background .2s;font-family:Courier New,monospace}.sms-template-management .placeholder-chip:hover{background:#c8e6c9}.sms-template-management .form-actions{display:flex;gap:12px;margin-top:24px}.sms-template-management .save-button{padding:12px 28px;background:#43a047;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.sms-template-management .save-button:hover:not(:disabled){background:#388e3c;transform:translateY(-2px);box-shadow:0 4px 12px #43a0474d}.sms-template-management .save-button:disabled{opacity:.6;cursor:not-allowed}.sms-template-management .cancel-button{padding:12px 28px;background:#f8f9fa;color:#333;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.sms-template-management .cancel-button:hover{background:#e9ecef}.sms-template-management .form-error{background:#fce4ec;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:500}.sms-template-management .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:24px}.sms-template-management .modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;display:flex;flex-direction:column}.sms-template-management .preview-modal,.sms-template-management .test-modal{max-width:480px;padding:28px}.sms-template-management .modal-header{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:none}.sms-template-management .modal-header h2{margin:0;font-size:1.3rem;color:#333}.sms-template-management .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;line-height:1}.sms-template-management .modal-close:hover{color:#333}.sms-template-management .modal-description{font-size:.9rem;color:#666;margin:0 0 20px}.sms-template-management .test-result{padding:10px 14px;border-radius:8px;font-size:.9rem;margin-bottom:16px}.sms-template-management .test-result.success{background:#d4edda;color:#155724}.sms-template-management .test-result.error{background:#fce4ec;color:#c62828}.sms-template-management .empty-state{text-align:center;padding:60px 20px;color:#888}.sms-template-management .empty-state p{font-size:1.1rem;margin-bottom:20px}.um-page{padding:2rem;max-width:1200px;margin:0 auto}.um-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.um-header h1{margin:0 0 .25rem;font-size:1.75rem}.um-subtitle{color:#6c757d;margin:0;font-size:.9rem}.um-tabs{display:flex;gap:.25rem;border-bottom:2px solid #dee2e6;margin-bottom:1.25rem}.tab{padding:.6rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.95rem;color:#6c757d;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s}.tab:hover{color:#495057}.tab.active{color:#2c3e50;font-weight:600;border-bottom-color:#2c3e50}.um-toolbar{margin-bottom:1rem}.um-search{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:6px;font-size:.9rem}.um-table-wrap{overflow-x:auto}.um-table{width:100%;border-collapse:collapse;font-size:.9rem}.um-table th{text-align:left;padding:.65rem .75rem;background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:600;color:#495057;white-space:nowrap}.um-table th.um-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.um-table th.um-sortable:hover{color:#212529;background:#eef0f2}.um-table td{padding:.65rem .75rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.um-table tbody tr:hover{background:#fafafa}.um-table tbody tr.row-inactive{opacity:.55}.um-muted{color:#adb5bd}.um-empty{text-align:center;color:#6c757d;padding:2rem}.um-pagination{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.75rem 0}.um-pagination button{background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:.3rem .6rem;font-size:.85rem;cursor:pointer;color:#495057;min-width:32px;transition:background .15s,border-color .15s}.um-pagination button:hover:not(:disabled){background:#e9ecef;border-color:#ced4da}.um-pagination button:disabled{opacity:.4;cursor:not-allowed}.um-page-info{font-size:.85rem;color:#495057;padding:0 .5rem}.um-page-total{color:#adb5bd}.um-actions{display:flex;gap:.75rem;white-space:nowrap}.status-badge{padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.role-badge{padding:.2rem .6rem;border-radius:4px;font-size:.78rem;font-weight:600}.role-admin{background:#cce5ff;color:#004085}.role-employee{background:#fff3cd;color:#856404}.um-loading{padding:3rem;text-align:center;color:#6c757d}.um-error{padding:1.5rem;color:#721c24;background:#f8d7da;border-radius:8px;margin:2rem}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:10px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #dee2e6}.modal-header h2{margin:0;font-size:1.2rem}.modal-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#6c757d;padding:.25rem .5rem}.modal-form{display:flex;flex-direction:column;gap:.9rem;padding:1.5rem}.modal-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:500;color:#495057}.modal-form input,.modal-form select{padding:.5rem .75rem;border:1px solid #ced4da;border-radius:6px;font-size:.9rem}.modal-error{color:#721c24;background:#f8d7da;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.btn-primary{padding:.5rem 1.25rem;background:#2c3e50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.btn-primary:hover:not(:disabled){background:#1a252f}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:.5rem 1.25rem;background:#fff;color:#495057;border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-size:.9rem}.btn-link{background:none;border:none;cursor:pointer;font-size:.875rem;color:#0d6efd;padding:0}.btn-link:hover{text-decoration:underline}.btn-danger{color:#dc3545}.btn-success{color:#198754}.modal-password-section{padding:1rem 1.5rem 1.5rem;border-top:1px solid #f0f0f0}.modal-password-form{margin-top:.75rem;padding:0!important}.modal-success{color:#155724;background:#d4edda;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;margin:.5rem 0 0}.um-waiver-row td{padding:0!important;background:#f8f9fa}.um-waiver-panel{padding:1rem 1.25rem;border-top:2px solid #e9ecef}.um-waiver-panel h4{margin:0 0 .75rem;font-size:.95rem;color:#333}.um-waiver-table{width:100%;border-collapse:collapse;font-size:.85rem}.um-waiver-table th{text-align:left;padding:.4rem .6rem;background:#e9ecef;border-bottom:1px solid #dee2e6;font-weight:600;color:#495057;font-size:.8rem;white-space:nowrap}.um-waiver-table td{padding:.4rem .6rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.um-waiver-table tbody tr:hover{background:#fff}.um-waiver-code{font-family:monospace;font-size:.8rem;background:#e9ecef;padding:1px 6px;border-radius:4px;letter-spacing:.05em}.um-waiver-status{font-size:.78rem;font-weight:600;white-space:nowrap}.um-waiver-status.linked{color:#155724}.um-waiver-status.unlinked{color:#856404}.um-refresh-btn{margin-left:.75rem}.um-guest-name{font-weight:600}.um-guest-type{color:#6c757d;font-size:.8rem}.um-guest-booker{font-size:.85rem}.um-guest-waiver-cell{min-width:280px}.um-fuzzy-prompt{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem}.um-fuzzy-label{flex:1;min-width:0}.um-waiver-search-wrap{display:flex;flex-direction:column;gap:4px}.um-waiver-search-row{display:flex;align-items:center;gap:6px}.um-waiver-search-input{padding:.3rem .6rem;border:1px solid #ced4da;border-radius:5px;font-size:.82rem;width:200px}.um-waiver-search-input:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 2px #0d6efd26}.um-searching{font-size:.8rem}.um-waiver-results{border:1px solid #dee2e6;border-radius:5px;background:#fff;max-height:160px;overflow-y:auto}.um-waiver-result-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-bottom:1px solid #f0f0f0;font-size:.82rem}.um-waiver-result-row:last-child{border-bottom:none}.um-waiver-result-row:hover{background:#f8f9fa}.um-waiver-result-info{display:flex;flex-direction:column;min-width:0}.um-waiver-result-name{font-weight:600}.um-waiver-result-meta{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-no-results{font-size:.8rem;margin:2px 0 0;padding:0}.um-table-clickable tbody tr.um-row-clickable{cursor:pointer}.um-table-clickable tbody tr.um-row-clickable:hover{background:#f0f4ff}.um-table-clickable tbody tr.um-row-selected{background:#e8eeff}.um-badge{display:inline-block;padding:.18rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.um-badge-linked{background:#d4edda;color:#155724}.um-badge-fuzzy{background:#fff3cd;color:#856404}.um-badge-none{background:#f0f0f0;color:#6c757d}.um-drawer-overlay{position:fixed;inset:0;background:#00000059;z-index:900;display:flex;justify-content:flex-end}.um-drawer{width:540px;max-width:100vw;height:100%;background:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;overflow:hidden}.um-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #dee2e6;flex-shrink:0}.um-drawer-title{margin:0 0 .2rem;font-size:1.15rem}.um-drawer-sub{margin:0;font-size:.82rem;color:#6c757d}.um-drawer-body{flex:1;overflow-y:auto;padding:0}.um-drawer-section{padding:1.1rem 1.5rem;border-bottom:1px solid #f0f0f0}.um-drawer-section:last-child{border-bottom:none}.um-drawer-section-title{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#6c757d;font-weight:700}.um-dl{display:grid;grid-template-columns:130px 1fr;gap:.35rem .75rem;font-size:.88rem;margin:0}.um-dl dt{color:#6c757d;font-weight:500}.um-dl dd{margin:0}.um-drawer-waiver-linked{display:flex;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.um-drawer-waiver-detail{font-size:.87rem;line-height:1.5}.um-drawer-waiver-name{font-weight:600}.um-drawer-fuzzy{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.75rem 1rem}.um-drawer-fuzzy-label{margin:0 0 .5rem;font-size:.88rem}.um-drawer-fuzzy-actions{display:flex;gap:.5rem}.um-drawer-waiver-none{margin:0 0 .6rem;font-size:.87rem}.um-drawer-waiver-search{display:flex;flex-direction:column;gap:6px}.um-drawer-no-email{padding:1rem 1.5rem;font-size:.87rem}.btn-sm{padding:.3rem .8rem;font-size:.82rem}.um-drawer-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.um-drawer-section-header .um-drawer-section-title{margin-bottom:0}.um-edit-form{display:flex;flex-direction:column;gap:.6rem;font-size:.875rem}.um-edit-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;color:#495057}.um-edit-form input{padding:.4rem .6rem;border:1px solid #ced4da;border-radius:6px;font-size:.875rem}.um-edit-form input:focus{outline:none;border-color:#86b7fe;box-shadow:0 0 0 2px #0d6efd26}.um-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.um-edit-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.um-waiver-list{display:flex;flex-direction:column;gap:.6rem}.um-waiver-card{border:1px solid #dee2e6;border-radius:6px;padding:.65rem .85rem;background:#fff;font-size:.875rem}.um-waiver-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.um-waiver-card-badges{flex-shrink:0}.um-waiver-card-meta{margin-top:.25rem;font-size:.8rem;color:#6c757d}.um-waiver-card-actions{display:flex;gap:.75rem;margin-top:.4rem}.um-relink-panel{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f0f0f0;display:flex;flex-direction:column;gap:4px}.mp-page{max-width:720px;margin:0 auto}.mp-page h1{font-size:1.6rem;margin:0 0 1.25rem}.mp-loading,.mp-error{padding:2rem;text-align:center;color:#666}.mp-error{color:#c0392b}.mp-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.5rem;margin-bottom:1.25rem}.mp-card h2{font-size:1.15rem;margin:0 0 1rem}.mp-dl{display:grid;grid-template-columns:140px 1fr;gap:.5rem 1rem;margin:0;font-size:.9rem}.mp-dl dt{font-weight:600;color:#555}.mp-dl dd{margin:0}.mp-muted{color:#aaa}.mp-role{display:inline-block;font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:999px}.mp-role-admin{background:#ffeaa7;color:#6c5800}.mp-role-employee,.mp-role-customer{background:#dfe6e9;color:#2d3436}.mp-status{display:inline-block;font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:999px}.mp-status-active{background:#d4edda;color:#155724}.mp-status-inactive{background:#f8d7da;color:#721c24}.mp-test-section{border-color:#f0c040;background:#fffdf5}.mp-test-desc{font-size:.875rem;color:#555;margin:0 0 1rem;line-height:1.5}.mp-test-desc code{background:#f4f4f4;padding:1px 5px;border-radius:4px;font-size:.82rem}.mp-test-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.mp-test-seed-row{display:flex;align-items:center;gap:.5rem}.mp-test-seed-row label{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:#444}.mp-test-seed-row select{padding:5px 8px;border:1px solid #ccc;border-radius:6px;font-size:.875rem}.btn-danger{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.btn-danger:hover{background:#c0392b}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.mp-test-error{background:#ffeaea;border:1px solid #e74c3c;color:#c0392b;padding:.6rem 1rem;border-radius:6px;font-size:.875rem;margin-bottom:.75rem}.mp-test-result{border-radius:8px;padding:1rem 1.25rem;margin-top:.75rem}.mp-test-result h3{font-size:.95rem;margin:0 0 .6rem}.mp-test-result-seed{background:#eafaf1;border:1px solid #27ae60}.mp-test-result-purge{background:#fef5e7;border:1px solid #e67e22}.mp-dl-inline{grid-template-columns:auto auto;gap:.35rem .75rem;width:fit-content}.mp-dl-inline dt{font-size:.82rem}.mp-dl-inline dd{font-size:.82rem;font-weight:600}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5}.admin-login-box{background:#fff;border-radius:12px;padding:2.5rem 2rem;width:100%;max-width:380px;box-shadow:0 4px 24px #0000001a;text-align:center}.admin-login-logo{font-size:2.5rem;margin-bottom:.5rem}.admin-login-box h1{margin:0 0 .25rem;font-size:1.5rem;color:#2c3e50}.admin-login-subtitle{margin:0 0 2rem;color:#6c757d;font-size:.9rem}.admin-login-field{text-align:left;margin-bottom:1rem}.admin-login-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.3rem;color:#495057}.admin-login-field input{width:100%;padding:.6rem .75rem;border:1px solid #ced4da;border-radius:6px;font-size:.95rem;box-sizing:border-box}.admin-login-field input:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.admin-login-error{color:#721c24;background:#f8d7da;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;margin-bottom:1rem;text-align:left}.admin-login-button{width:100%;padding:.7rem;background:#2c3e50;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;margin-top:.5rem}.admin-login-button:hover:not(:disabled){background:#1a252f}.admin-login-button:disabled{opacity:.6;cursor:not-allowed}.tester-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f0eb,#ede4d8);font-family:system-ui,-apple-system,sans-serif;padding:1rem}.tester-gate__card{background:#fff;border-radius:16px;padding:2.5rem 2rem;width:100%;max-width:380px;box-shadow:0 4px 24px #0000001a;text-align:center}.tester-gate__logo{font-size:3rem;margin-bottom:.5rem}.tester-gate__title{font-size:1.5rem;font-weight:700;color:#2d2d2d;margin:0 0 .25rem}.tester-gate__subtitle{font-size:.85rem;color:#888;margin:0 0 2rem;text-transform:uppercase;letter-spacing:.05em}.tester-gate__form{text-align:left}.tester-gate__label{display:block;font-size:.85rem;font-weight:600;color:#555;margin-bottom:.4rem}.tester-gate__input-row{display:flex;gap:.5rem;margin-bottom:.5rem}.tester-gate__input{flex:1;padding:.65rem .75rem;border:1.5px solid #ddd;border-radius:8px;font-size:1rem;outline:none;transition:border-color .15s}.tester-gate__input:focus{border-color:#b07d4f}.tester-gate__input--error{border-color:#e53e3e}.tester-gate__toggle{padding:0 .75rem;background:#f5f0eb;border:1.5px solid #ddd;border-radius:8px;cursor:pointer;font-size:1rem;transition:background .15s}.tester-gate__toggle:hover{background:#ede4d8}.tester-gate__error{font-size:.82rem;color:#e53e3e;margin:0 0 .75rem}.tester-gate__submit{width:100%;padding:.75rem;background:#b07d4f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:background .15s}.tester-gate__submit:hover{background:#9a6b3f}#root{width:100%}
