:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:2.5rem;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;color:#667eea;margin:0 0 .5rem}.login-header p{font-size:1rem;color:#666;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:8px;font-size:.875rem}.login-button{padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:2rem;text-align:center;color:#999;font-size:.875rem}@media(max-width:480px){.login-container{padding:2rem}.login-header h1{font-size:1.75rem}}.dashboard-layout{display:flex;min-height:100vh;background:var(--color-gray-50)}.dashboard-sidebar{width:var(--sidebar-width);background:#fff;border-right:1px solid var(--color-gray-200);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:var(--z-fixed);transition:width var(--transition-base);box-shadow:var(--shadow-sm)}.dashboard-sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-header{padding:var(--space-6) var(--space-6) var(--space-4);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between;min-height:80px}.logo-container{display:flex;align-items:center;gap:var(--space-3);flex:1}.logo-icon{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:var(--text-lg);flex-shrink:0;box-shadow:var(--shadow-primary)}.logo-text{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-900);white-space:nowrap;opacity:1;transition:opacity var(--transition-fast)}.collapsed .logo-text{opacity:0;width:0;overflow:hidden}.sidebar-toggle{width:32px;height:32px;border:none;background:var(--color-gray-100);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-600);transition:all var(--transition-fast)}.sidebar-toggle:hover{background:var(--color-gray-200);color:var(--color-gray-900)}.collapsed .sidebar-toggle .nav-icon{transform:rotate(180deg)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-4) 0}.nav-section{margin-bottom:var(--space-6)}.nav-section-title{padding:var(--space-2) var(--space-6);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);margin-bottom:var(--space-2);transition:opacity var(--transition-fast)}.collapsed .nav-section-title{opacity:0;height:0;padding:0;margin:0}.nav-links{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-3)}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);color:var(--color-gray-700);text-decoration:none;border-radius:var(--radius-lg);font-weight:var(--font-medium);font-size:var(--text-sm);transition:all var(--transition-fast);position:relative;cursor:pointer}.nav-link:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.nav-link.active{background:var(--gradient-primary-soft);color:var(--color-primary-700);font-weight:var(--font-semibold)}.nav-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--gradient-primary);border-radius:0 var(--radius-full) var(--radius-full) 0}.collapsed .nav-link{justify-content:center;padding:var(--space-3)}.nav-icon{width:20px;height:20px;flex-shrink:0;stroke-width:2}.nav-icon-sm{width:16px;height:16px;flex-shrink:0}.nav-link-text{white-space:nowrap;opacity:1;transition:opacity var(--transition-fast)}.collapsed .nav-link-text{opacity:0;width:0;overflow:hidden}.nav-tooltip{position:absolute;left:calc(100% + 12px);background:var(--color-gray-900);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip)}.nav-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:4px solid transparent;border-right-color:var(--color-gray-900)}.collapsed .nav-link:hover .nav-tooltip{opacity:1}.sidebar-footer{padding:var(--space-4) var(--space-3);border-top:1px solid var(--color-gray-200)}.user-menu{position:relative}.user-menu-trigger{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.user-menu-trigger:hover{background:var(--color-gray-100)}.collapsed .user-menu-trigger{justify-content:center}.user-avatar{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:var(--text-base);flex-shrink:0}.user-info{flex:1;text-align:left;opacity:1;transition:opacity var(--transition-fast)}.collapsed .user-info{opacity:0;width:0;overflow:hidden}.user-name{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--color-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--text-xs);color:var(--color-gray-500);text-transform:capitalize}.user-menu-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2);animation:slideUp var(--transition-fast) var(--ease-out);z-index:var(--z-dropdown)}@keyframes slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-gray-700);background:transparent;border:none;width:100%;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.dropdown-item:hover{background:var(--color-gray-100);color:var(--color-gray-900)}.dropdown-item.logout-item{color:var(--color-danger-600)}.dropdown-item.logout-item:hover{background:var(--color-danger-50)}.user-email-display{font-size:var(--text-xs);color:var(--color-gray-500);cursor:default}.user-email-display:hover{background:transparent;color:var(--color-gray-500)}.dropdown-divider{height:1px;background:var(--color-gray-200);margin:var(--space-2) 0}.dashboard-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-base)}.collapsed~.dashboard-content{margin-left:var(--sidebar-width-collapsed)}.dashboard-topbar{height:var(--header-height);background:#fff;border-bottom:1px solid var(--color-gray-200);padding:0 var(--space-8);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.topbar-actions{display:flex;align-items:center;gap:var(--space-4)}.dashboard-main{flex:1;padding:var(--space-8);max-width:100%;width:100%;margin:0 auto;overflow-x:hidden}.mobile-only{display:none}.desktop-only{display:flex}.mobile-overlay{display:none}@media(max-width:1024px){.mobile-only{display:flex}.desktop-only{display:none}.dashboard-sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.dashboard-sidebar.mobile-open{transform:translate(0)}.mobile-overlay{display:block;position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);z-index:calc(var(--z-fixed) - 1);animation:fadeIn var(--transition-fast)}.dashboard-content{margin-left:0}.mobile-menu-toggle{width:40px;height:40px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-700)}.mobile-menu-toggle:hover{background:var(--color-gray-100)}.mobile-menu-close{width:32px;height:32px;border:none;background:var(--color-gray-100);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-gray-600)}.dashboard-main{padding:var(--space-4)}}@media(max-width:640px){.dashboard-topbar{padding:0 var(--space-4)}.dashboard-main{padding:var(--space-3)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}*{transition-property:background-color,border-color,color,fill,stroke;transition-duration:var(--transition-fast);transition-timing-function:var(--ease-in-out)}.dashboard-sidebar,.dashboard-content,.nav-link-text,.user-info,.logo-text{transition-property:all}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e1e8ed}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-button{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:#f5f5f5;color:#333}.modal-body{padding:1.5rem}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.booking-details{background:#f9fafb;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e1e8ed;gap:1rem}.detail-row strong{color:#666;font-weight:600;min-width:120px}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:capitalize}.status-badge.status-confirmed{background:#fef3c7;color:#92400e}.status-badge.status-checked-in{background:#dbeafe;color:#1e40af}.status-badge.status-completed{background:#d1fae5;color:#065f46}.status-badge.status-no-show{background:#fee2e2;color:#991b1b}.waiver-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:capitalize}.waiver-badge.waiver-complete{background:#d1fae5;color:#065f46}.waiver-badge.waiver-partial{background:#fef3c7;color:#92400e}.waiver-badge.waiver-missing{background:#fee2e2;color:#991b1b}.actions-section,.notes-section{margin-bottom:1.5rem}.actions-section h3,.notes-section h3,.no-show-form h3{margin:0 0 1rem;font-size:1.125rem;color:#333}.action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.action-button{flex:1;min-width:120px;padding:.875rem 1.25rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;font-size:.875rem}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button.check-in{background:#3b82f6;color:#fff}.action-button.check-in:hover:not(:disabled){background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.action-button.complete{background:#10b981;color:#fff}.action-button.complete:hover:not(:disabled){background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.action-button.no-show{background:#ef4444;color:#fff}.action-button.no-show:hover:not(:disabled){background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.notes-section textarea{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-family:inherit;font-size:.875rem;resize:vertical;transition:border-color .2s}.notes-section textarea:focus{outline:none;border-color:#667eea}.notes-section textarea:disabled{background:#f5f5f5;cursor:not-allowed}.save-notes-button{margin-top:.75rem;width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.save-notes-button:hover:not(:disabled){background:#5568d3}.save-notes-button:disabled{opacity:.5;cursor:not-allowed}.no-show-form{margin-top:1rem}.no-show-form p{color:#666;margin:0 0 .75rem}.no-show-form textarea{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-family:inherit;font-size:.875rem;resize:vertical;margin-bottom:1rem}.no-show-form textarea:focus{outline:none;border-color:#ef4444}.form-actions{display:flex;gap:.75rem}.cancel-button,.confirm-button{flex:1;padding:.875rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.cancel-button:hover:not(:disabled){background:#d1d5db}.confirm-button{background:#ef4444;color:#fff}.confirm-button:hover:not(:disabled){background:#dc2626}.cancel-button:disabled,.confirm-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-content{max-width:100%;margin:0;max-height:100vh;border-radius:0}.modal-header h2{font-size:1.25rem}.detail-row{flex-direction:column;gap:.25rem}.detail-row strong{min-width:auto}.action-buttons{flex-direction:column}.action-button{min-width:auto}}.booking-card{position:absolute;top:.5rem;height:calc(100% - 1rem);background:#fff;border:2px solid #e1e8ed;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s;overflow:hidden;display:flex;flex-direction:column;gap:.25rem;min-width:120px}.booking-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;z-index:10}.booking-card.status-confirmed{border-left:4px solid #f59e0b;background:#fffbeb}.booking-card.status-checked-in{border-left:4px solid #3b82f6;background:#eff6ff}.booking-card.status-completed{border-left:4px solid #10b981;background:#f0fdf4}.booking-card.status-no-show{border-left:4px solid #ef4444;background:#fef2f2;opacity:.7}.booking-time{font-size:.75rem;font-weight:700;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-booker{font-size:.875rem;font-weight:600;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-meta{display:flex;gap:.5rem;align-items:center;font-size:.75rem}.participant-count{color:#666}.waiver-indicator{font-weight:700;padding:.125rem .375rem;border-radius:4px}.waiver-indicator.waiver-complete{background:#d1fae5;color:#065f46}.waiver-indicator.waiver-partial{background:#fef3c7;color:#92400e}.waiver-indicator.waiver-missing{background:#fee2e2;color:#991b1b}.booking-note-indicator{position:absolute;top:.25rem;right:.25rem;font-size:.875rem}@media(max-width:768px){.booking-card{min-width:100px;padding:.375rem;font-size:.75rem}.booking-time{font-size:.65rem}.booking-booker{font-size:.75rem}}.product-lane{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid #e1e8ed;min-height:80px;transition:background .2s}.product-lane:hover{background:#f9fafb}.product-name{padding:1rem;font-weight:600;color:#333;border-right:2px solid #e1e8ed;display:flex;align-items:center;gap:.5rem}.booking-count{background:#667eea;color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:12px;font-weight:700}.bookings-timeline{position:relative;min-height:80px;overflow-x:auto;padding:.5rem}@media(max-width:1200px){.product-lane{grid-template-columns:150px 1fr}}@media(max-width:768px){.product-lane{grid-template-columns:120px 1fr}.product-name{font-size:.875rem;padding:.75rem}}.timeline-grid{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.timeline-header{display:grid;grid-template-columns:200px 1fr;border-bottom:2px solid #e1e8ed;background:#f9fafb}.product-label-col{padding:1rem;font-weight:700;color:#333;border-right:2px solid #e1e8ed;display:flex;align-items:center}.timeline-col{position:relative;padding:.5rem 0;overflow-x:auto}.time-labels{display:grid;grid-template-columns:repeat(14,1fr);min-width:700px;padding:0 .5rem}.time-label{text-align:center;font-size:.75rem;font-weight:600;color:#666;padding:.5rem 0;border-right:1px solid #e1e8ed}.time-label:last-child{border-right:none}.timeline-body{max-height:calc(100vh - 400px);overflow-y:auto}.timeline-empty{background:#fff;border-radius:12px;padding:4rem 2rem;text-align:center;box-shadow:0 2px 8px #0000001a}.timeline-empty h2{color:#333;margin:0 0 .5rem}.timeline-empty p{color:#666;margin:0}@media(max-width:1200px){.timeline-header{grid-template-columns:150px 1fr}}@media(max-width:768px){.timeline-header{grid-template-columns:120px 1fr}.product-label-col{font-size:.875rem;padding:.75rem}.time-labels{min-width:600px}.time-label{font-size:.65rem}}.day-plan-view{max-width:1600px;margin:0 auto}.day-plan-header{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.day-plan-header h1{margin:0 0 1rem;font-size:1.75rem;color:#333}.date-controls{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.date-nav-button,.today-button,.refresh-button{padding:.625rem 1.25rem;border:2px solid #e1e8ed;background:#fff;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.date-nav-button:hover,.today-button:hover,.refresh-button:hover{background:#f5f7fa;border-color:#667eea}.today-button{background:#667eea;color:#fff;border-color:#667eea}.today-button:hover{background:#5568d3;border-color:#5568d3}.refresh-button{font-size:1.25rem;padding:.625rem 1rem}.date-picker{padding:.625rem 1rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.date-picker:focus{outline:none;border-color:#667eea}.auto-refresh-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-refresh-toggle input{cursor:pointer}.day-plan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000001a;text-align:center;border-top:4px solid #667eea}.summary-card.confirmed{border-top-color:#f59e0b}.summary-card.checked-in{border-top-color:#3b82f6}.summary-card.completed{border-top-color:#10b981}.summary-card.no-show{border-top-color:#ef4444}.summary-value{font-size:2rem;font-weight:700;color:#333;margin-bottom:.25rem}.summary-label{font-size:.875rem;color:#666;font-weight:500}.loading-state,.error-state{background:#fff;border-radius:12px;padding:3rem;text-align:center;box-shadow:0 2px 8px #0000001a}.loading-state p,.error-state p{color:#666;font-size:1.125rem}.error-state button{margin-top:1rem;padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}@media(max-width:768px){.day-plan-header h1{font-size:1.5rem}.date-controls{gap:.5rem}.date-nav-button,.today-button,.refresh-button{padding:.5rem 1rem;font-size:.875rem}.day-plan-summary{grid-template-columns:repeat(2,1fr)}}.product-selector h2{margin:0 0 .5rem;color:#333}.step-description{color:#666;margin:0 0 1.5rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.product-card{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea4d;border-color:#667eea}.product-card h3{margin:0 0 .75rem;color:#333;font-size:1.25rem}.product-description{color:#555;margin:0 0 1rem;font-size:.875rem;line-height:1.5}.product-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.875rem;color:#666}.product-price{font-size:1.5rem;font-weight:700;color:#667eea}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem 1rem}.error-state button{margin-top:1rem;padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.error-state button:hover{background:#5568d3}@media(max-width:768px){.products-grid{grid-template-columns:1fr}}.selector-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.selector-header h2{margin:0 0 .5rem;color:#333}.back-button,.primary-button,.secondary-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.back-button{background:#e5e7eb;color:#374151}.back-button:hover{background:#d1d5db}.primary-button{background:#667eea;color:#fff}.primary-button:hover{background:#5568d3}.secondary-button{background:#e5e7eb;color:#374151;margin-left:.5rem}.secondary-button:hover{background:#d1d5db}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.time-slot-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s;text-align:center}.time-slot-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea66}.slot-time{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.slot-resource{font-size:.875rem;opacity:.9;margin-bottom:.5rem}.slot-capacity{font-size:.75rem;opacity:.8;background:#fff3;padding:.25rem .75rem;border-radius:12px;display:inline-block}.empty-state{text-align:center;padding:3rem 1rem}.empty-state h3{color:#333;margin:0 0 1rem}.empty-state p{color:#666;margin:0 0 .5rem}.empty-state .empty-hint{font-size:.875rem;color:#999;margin-bottom:1.5rem}@media(max-width:768px){.selector-header{flex-direction:column;gap:1rem}.slots-grid{grid-template-columns:1fr}}.form-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.form-header h2{margin:0 0 .5rem;color:#333}.form-group label{display:block;font-weight:600;color:#333;margin-bottom:.5rem;font-size:.875rem}.form-group input{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.form-group input.error{border-color:#ef4444}.error-message{display:block;color:#ef4444;font-size:.75rem;margin-top:.25rem}.form-actions{margin-top:2rem;display:flex;justify-content:flex-end}.submit-button{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.submit-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}@media(max-width:768px){.form-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}}.capacity-indicator{background:#f0f9ff;border:2px solid #bfdbfe;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:center;font-weight:600;color:#1e40af}.participants-list{margin-bottom:1.5rem}.participant-card{background:#f9fafb;border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem;margin-bottom:1rem}.participant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.participant-header h3{margin:0;font-size:1.125rem;color:#333}.remove-button{padding:.5rem 1rem;background:#fee;border:1px solid #fcc;color:#c33;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.remove-button:hover{background:#fcc}.participant-fields{display:grid;grid-template-columns:2fr 1fr;gap:1rem}.add-button{width:100%;padding:1rem;background:#fff;border:2px dashed #667eea;color:#667eea;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:1.5rem}.add-button:hover:not(:disabled){background:#f0f4ff;border-color:#5568d3}.add-button:disabled{opacity:.5;cursor:not-allowed}.form-group select{width:100%;padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.form-group select:focus{outline:none;border-color:#667eea}@media(max-width:768px){.participant-fields{grid-template-columns:1fr}}.booking-summary{background:#f9fafb;border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.booking-summary h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.summary-section{padding:1rem 0;border-bottom:1px solid #e1e8ed}.summary-section:last-of-type{border-bottom:none}.summary-section h4{margin:0 0 .5rem;color:#666;font-size:.875rem;font-weight:600;text-transform:uppercase}.summary-section p{margin:.25rem 0;color:#333;font-weight:600}.summary-meta{color:#666!important;font-weight:400!important;font-size:.875rem}.participants-list{list-style:none;padding:0;margin:.5rem 0 0}.participants-list li{padding:.5rem 0;color:#333}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0 0;margin-top:1rem;border-top:2px solid #e1e8ed;font-size:1.25rem;font-weight:700;color:#333}.total-amount{color:#667eea;font-size:1.75rem}.payment-section{background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem}.payment-section h3{margin:0 0 1rem;color:#333}.payment-notice{background:#fffbeb;border:2px solid #fcd34d;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.payment-notice p{margin:.25rem 0;color:#92400e}.payment-hint{font-size:.875rem;color:#b45309!important}.confirm-button{width:100%;padding:1.25rem 2rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .2s}.confirm-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.confirm-button:disabled{opacity:.6;cursor:not-allowed}.success-header{text-align:center;margin-bottom:2rem}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1rem;box-shadow:0 8px 24px #10b9814d}.success-header h2{margin:0;color:#333;font-size:1.75rem}.booking-code-display{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;padding:2rem;text-align:center;margin-bottom:2rem;box-shadow:0 8px 24px #667eea4d}.code-label{font-size:.875rem;opacity:.9;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:1px}.booking-code{font-size:3rem;font-weight:900;letter-spacing:.5rem;margin:.5rem 0;font-family:Courier New,monospace}.code-hint{font-size:.875rem;opacity:.8;margin:.5rem 0 0}.confirmation-details{background:#f9fafb;border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.confirmation-details h3{margin:0 0 1rem;color:#333}.detail-row{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #e1e8ed}.detail-row strong{color:#666}.next-steps{margin-bottom:2rem}.next-steps h3{margin:0 0 1rem;color:#333}.step-card{display:flex;gap:1rem;background:#fff;border:2px solid #e1e8ed;border-radius:12px;padding:1.25rem;margin-bottom:1rem}.step-number{width:40px;height:40px;background:#667eea;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;flex-shrink:0}.step-content{flex:1}.step-content h4{margin:0 0 .5rem;color:#333}.step-content p{margin:0 0 .75rem;color:#666;font-size:.875rem;line-height:1.5}.waiver-button{padding:.625rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.waiver-button:hover{background:#5568d3}.action-buttons{display:flex;gap:1rem}.new-booking-button,.day-plan-button{flex:1;padding:1rem 2rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}.new-booking-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.new-booking-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.day-plan-button{background:#e5e7eb;color:#374151}.day-plan-button:hover{background:#d1d5db}.waiver-interface{text-align:center}.waiver-interface h2{margin:0 0 1.5rem;color:#333}.waiver-placeholder{background:#fffbeb;border:2px solid #fcd34d;border-radius:12px;padding:3rem 2rem;margin-bottom:1.5rem}.waiver-placeholder p{margin:.5rem 0;color:#92400e}.waiver-hint{font-size:.875rem;color:#b45309!important}.waiver-link{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #fcd34d}.waiver-link a{color:#667eea;font-weight:600;word-break:break-all}.waiver-instructions{font-style:italic;font-size:.875rem}@media(max-width:768px){.booking-code{font-size:2rem;letter-spacing:.3rem}.action-buttons{flex-direction:column}.step-card{flex-direction:column;text-align:center}.step-number{margin:0 auto}}.walk-in-creator{max-width:900px;margin:0 auto}.walk-in-header{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center}.walk-in-header h1{margin:0;font-size:1.75rem;color:#333}.step-indicator{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:.875rem}.error-banner{background:#fee;border:2px solid #fcc;color:#c33;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:#c33;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px}.walk-in-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;min-height:400px}@media(max-width:768px){.walk-in-header{flex-direction:column;align-items:flex-start;gap:1rem}.walk-in-header h1{font-size:1.5rem}.walk-in-content{padding:1.5rem}}.weekly-calendar{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow-x:auto;overflow-y:hidden;margin-bottom:24px;width:100%;max-width:100%}.empty-calendar{text-align:center;padding:60px 20px;color:#6b7280;background:#f9fafb}.calendar-header{display:flex;background:#f9fafb;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:10;min-width:fit-content}.resource-header-cell{width:120px;min-width:120px;padding:12px;font-weight:600;color:#374151;background:#f3f4f6;border-right:1px solid #e5e7eb;font-size:13px}@media(min-width:768px){.resource-header-cell{width:150px;min-width:150px;padding:16px;font-size:14px}}.days-header{display:flex;flex:1}.day-header-cell{flex:1;min-width:140px;border-right:1px solid #e5e7eb}@media(min-width:768px){.day-header-cell{min-width:180px}}@media(min-width:1024px){.day-header-cell{min-width:200px}}.day-header-cell:last-child{border-right:none}.day-name{padding:12px;font-weight:600;color:#111827;text-align:center;background:#f9fafb;border-bottom:1px solid #e5e7eb}.time-grid-header{display:flex;padding:8px 0;background:#fff}.hour-marker{flex:1;font-size:11px;color:#6b7280;text-align:center;padding:2px}.calendar-body{max-height:600px;overflow-y:auto;overflow-x:hidden}.resource-lane{display:flex;border-bottom:1px solid #e5e7eb;min-height:70px;min-width:fit-content}@media(min-width:768px){.resource-lane{min-height:80px}}.resource-lane:last-child{border-bottom:none}.resource-name-cell{width:120px;min-width:120px;padding:12px;background:#fafafa;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;gap:4px}@media(min-width:768px){.resource-name-cell{width:150px;min-width:150px;padding:16px}}.resource-name{font-weight:600;color:#111827;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:768px){.resource-name{font-size:14px}}.resource-capacity{font-size:11px;color:#6b7280}@media(min-width:768px){.resource-capacity{font-size:12px}}.resource-status{font-size:10px;color:#dc2626;font-weight:500;text-transform:uppercase}@media(min-width:768px){.resource-status{font-size:11px}}.days-grid{display:flex;flex:1}.day-cell{flex:1;min-width:140px;border-right:1px solid #e5e7eb;position:relative;min-height:70px}@media(min-width:768px){.day-cell{min-width:180px;min-height:80px}}@media(min-width:1024px){.day-cell{min-width:200px}}.day-cell:last-child{border-right:none}.time-grid{position:relative;height:100%;min-height:70px}@media(min-width:768px){.time-grid{min-height:80px}}.hour-grid-line{position:absolute;top:0;bottom:0;width:1px;background:#f3f4f6;pointer-events:none}.hour-grid-line:nth-child(2n){background:#e5e7eb}.schedule-block{position:absolute;top:8px;height:calc(100% - 16px);border-radius:4px;padding:4px 8px;cursor:pointer;transition:all .2s;border:2px solid transparent;overflow:hidden}.schedule-block:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a;z-index:5}.schedule-block.selected{border-color:#1e40af;box-shadow:0 0 0 3px #2563eb33;z-index:10}.block-content{color:#fff;font-size:10px;display:flex;flex-direction:column;gap:2px;height:100%;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media(min-width:768px){.block-content{font-size:12px}}.block-schedule-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;margin-bottom:2px}@media(min-width:768px){.block-schedule-name{font-size:13px}}.block-product-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-time{font-size:9px;opacity:.9}@media(min-width:768px){.block-time{font-size:10px}}.calendar-legend{padding:16px;background:#f9fafb;border-top:1px solid #e5e7eb}.calendar-legend h4{margin:0 0 12px;font-size:13px;font-weight:600;color:#374151}.legend-items{display:flex;flex-wrap:wrap;gap:12px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#374151}.legend-color{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.schedule-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.schedule-modal{background:#fff;border-radius:8px;padding:20px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}@media(min-width:640px){.schedule-modal{padding:24px}}.schedule-modal h3{margin:0 0 20px;font-size:20px;color:#111827}.modal-content{margin-bottom:24px}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f3f4f6}.detail-row:last-child{border-bottom:none}.detail-row strong{color:#374151;font-weight:600}.detail-row span{color:#111827}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid #d1d5db}.edit-button{background:#2563eb;color:#fff;border-color:#2563eb}.edit-button:hover{background:#1d4ed8}.delete-button{background:#dc2626;color:#fff;border-color:#dc2626}.delete-button:hover{background:#b91c1c}.cancel-button{background:#fff;color:#374151}.context-menu{background:#fff;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid #e5e7eb;padding:4px 0;min-width:180px;z-index:10000}.context-menu-item{display:block;width:100%;padding:10px 16px;background:none;border:none;text-align:left;font-size:14px;color:#374151;cursor:pointer;transition:background-color .15s;border-radius:0}.context-menu-item:hover{background-color:#f3f4f6}.context-menu-item.delete{color:#dc2626}.context-menu-item.delete:hover{background-color:#fef2f2}.schedule-block-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.schedule-block-form{background:#fff;border-radius:8px;padding:20px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}@media(min-width:640px){.schedule-block-form{padding:24px}}@media(min-width:768px){.schedule-block-form{padding:32px}}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.schedule-block-form h3{margin:0;font-size:24px;color:#111827}.duplicate-button{padding:8px 16px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.duplicate-button:hover{background:#e5e7eb}.error-message{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.form-row{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}@media(min-width:640px){.form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(min-width:768px){.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:600;color:#374151}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;font-family:inherit}.helper-text{font-size:12px;color:#6b7280;line-height:1.4}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.checkbox-group{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;overflow-y:auto}.checkbox-group.horizontal{flex-direction:row;flex-wrap:wrap;max-height:none}.checkbox-group .checkbox-label{font-weight:400;font-size:13px}@media(min-width:640px){.checkbox-group .checkbox-label{font-size:14px}}.schedule-preview{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#1e40af;font-size:14px}.form-actions{display:flex;flex-direction:column;gap:8px;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}@media(min-width:640px){.form-actions{flex-direction:row;gap:12px;justify-content:flex-end}}.form-actions button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;width:100%}@media(min-width:640px){.form-actions button{width:auto}}.cancel-button{background:#fff;color:#374151;border:1px solid #d1d5db}.cancel-button:hover{background:#f3f4f6}.submit-button{background:#2563eb;color:#fff}.submit-button:hover:not(:disabled){background:#1d4ed8}.submit-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.schedule-block-form h3{font-size:20px}.form-header{flex-direction:column;gap:12px}.duplicate-button{width:100%}.helper-text{font-size:11px}.schedule-preview{font-size:13px;padding:10px 12px}}.product-scheduling{padding:1rem;width:100%;max-width:100%;overflow-x:hidden}@media(min-width:768px){.product-scheduling{padding:1.5rem}}@media(min-width:1024px){.product-scheduling{padding:20px}}.section-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}@media(min-width:640px){.section-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.section-header h2{margin:0 0 8px;font-size:20px;color:#111827}@media(min-width:768px){.section-header h2{font-size:24px}}.section-header p{margin:0;color:#6b7280;font-size:13px}@media(min-width:768px){.section-header p{font-size:14px}}.primary-button{background:#2563eb;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.primary-button:hover{background:#1d4ed8}.error-banner{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;padding:12px 16px;border-radius:6px;margin-bottom:20px}.week-navigation{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:24px;padding:12px;background:#f9fafb;border-radius:8px}@media(min-width:640px){.week-navigation{flex-direction:row;align-items:center;justify-content:center;gap:16px;padding:16px}}.nav-button{background:#fff;border:1px solid #d1d5db;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.nav-button:hover{background:#f3f4f6;border-color:#9ca3af}.nav-button.today{background:#2563eb;color:#fff;border-color:#2563eb}.nav-button.today:hover{background:#1d4ed8}.week-label{font-size:14px;font-weight:600;color:#111827;text-align:center;padding:8px}@media(min-width:640px){.week-label{font-size:16px;min-width:280px}}@media(min-width:768px){.week-label{min-width:300px}}.loading-state{text-align:center;padding:60px 20px;color:#6b7280}.spinner{border:3px solid #f3f4f6;border-top:3px solid #2563eb;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 16px}.help-text{margin-top:24px;padding:16px;background:#f0f9ff;border-left:4px solid #2563eb;border-radius:6px}@media(min-width:768px){.help-text{margin-top:32px;padding:20px}}.help-text h3{margin:0 0 12px;font-size:14px;color:#1e40af}@media(min-width:768px){.help-text h3{font-size:16px}}.help-text ul{margin:0;padding-left:20px}.help-text li{margin-bottom:8px;color:#1e3a8a;line-height:1.6;font-size:13px}@media(min-width:768px){.help-text li{font-size:14px}}.help-text strong{color:#1e40af}.block-form{background:#f9fafb;border:2px solid #e1e8ed;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group label{font-weight:600;color:#333;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.checkbox-label input{width:auto;cursor:pointer}.recurring-options{background:#fff;border:2px solid #e1e8ed;border-radius:8px;padding:1rem;margin:1rem 0}.day-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-button{padding:.5rem 1rem;border:2px solid #e1e8ed;background:#fff;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.day-button:hover{border-color:#667eea}.day-button.selected{background:#667eea;color:#fff;border-color:#667eea}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.cancel-button,.submit-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-button{background:#e5e7eb;color:#374151}.cancel-button:hover{background:#d1d5db}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem}.blocks-list{display:flex;flex-direction:column;gap:1rem}.block-card{background:#f9fafb;border:2px solid #e1e8ed;border-radius:12px;padding:1.25rem;transition:all .2s}.block-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.block-title{font-weight:700;color:#333;font-size:1.125rem;display:flex;align-items:center;gap:.75rem}.recurring-badge{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700}.delete-button{padding:.5rem 1rem;background:#fee;border:1px solid #fcc;color:#c33;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.delete-button:hover:not(:disabled){background:#fcc}.delete-button:disabled{opacity:.5;cursor:not-allowed}.block-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.detail-item{font-size:.875rem;color:#666}.detail-item strong{color:#333;margin-right:.5rem}.detail-item.recurrence{grid-column:1 / -1;background:#eff6ff;padding:.75rem;border-radius:6px}.badge{background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700}.empty-state{text-align:center;padding:3rem 1rem;color:#666}.empty-hint{font-size:.875rem;color:#999}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.section-header h2{margin:0 0 .5rem;color:#333}.section-header p{margin:0;color:#666;font-size:.875rem}.primary-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.error-banner{background:#fee;border:2px solid #fcc;color:#c33;padding:1rem;border-radius:12px;margin-bottom:1.5rem}.loading-state{text-align:center;padding:3rem 1rem}.loading-state .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.availability-control{max-width:1400px;margin:0 auto}.control-header{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.control-header h1{margin:0 0 .5rem;font-size:1.75rem;color:#333}.header-description{margin:0;color:#666;font-size:.875rem}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.tab{flex:1;padding:1rem 1.5rem;background:#fff;border:2px solid #e1e8ed;border-radius:12px 12px 0 0;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.tab:hover{background:#f5f7fa;border-color:#667eea}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.tab-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;min-height:500px}@media(max-width:768px){.tabs{flex-direction:column}.tab,.tab.active{border-radius:12px}}.customer-search{padding:2rem;max-width:1400px;margin:0 auto}.customer-search-header{margin-bottom:2rem}.customer-search-header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:#1a1a1a}.search-form{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.search-type-selector{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-type-selector label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:#444}.search-type-selector input[type=radio]{cursor:pointer;width:18px;height:18px}.search-input-container{display:flex;gap:1rem;align-items:flex-start}.search-input{flex:1;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#2563eb}.search-actions{display:flex;gap:.75rem}.search-button{padding:.875rem 2rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.search-button:hover:not(:disabled){background:#1d4ed8}.search-button:disabled{background:#94a3b8;cursor:not-allowed}.reset-button{padding:.875rem 1.5rem;background:#fff;color:#666;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.reset-button:hover{border-color:#cbd5e1;background:#f8fafc}.search-results{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.results-header h2{font-size:1.5rem;font-weight:600;color:#1a1a1a}.export-button{padding:.75rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.export-button:hover{background:#059669}.results-table-container{overflow-x:auto}.results-table{width:100%;border-collapse:collapse;font-size:.95rem}.results-table thead{background:#f8fafc}.results-table th{text-align:left;padding:1rem;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.results-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#334155}.results-table tbody tr:hover{background:#f8fafc}.customer-name{font-weight:500;color:#1e293b}.customer-email{color:#2563eb}.booking-count{font-weight:600;color:#059669}.booking-codes{font-family:monospace;font-size:.9rem;color:#64748b}.view-details-button{padding:.5rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s;white-space:nowrap}.view-details-button:hover{background:#1d4ed8}.customer-details{max-width:1200px;margin:0 auto}.details-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.back-button{padding:.75rem 1.5rem;background:#fff;color:#475569;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.back-button:hover{border-color:#cbd5e1;background:#f8fafc}.details-header h1{font-size:2rem;font-weight:600;color:#1a1a1a}.details-content{display:flex;flex-direction:column;gap:2rem}.info-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.info-card h2{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:1.5rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.info-item span{font-size:1rem;color:#1e293b}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;background:#f8fafc;border-radius:8px}.stat-value{font-size:1.75rem;font-weight:700;color:#2563eb;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.add-note-form{display:flex;gap:1rem;margin-bottom:1.5rem}.note-input{flex:1;padding:.875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;transition:border-color .2s}.note-input:focus{outline:none;border-color:#2563eb}.add-note-button{padding:.875rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;align-self:flex-start}.add-note-button:hover:not(:disabled){background:#1d4ed8}.add-note-button:disabled{background:#94a3b8;cursor:not-allowed}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-item{padding:1rem;background:#f8fafc;border-radius:8px;border-left:4px solid #2563eb}.note-text{color:#1e293b;margin-bottom:.5rem;line-height:1.5}.note-meta{font-size:.875rem;color:#64748b}.no-notes{color:#94a3b8;text-align:center;padding:1.5rem}.error-message-small{background:#fee;border:1px solid #fcc;color:#c33;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.bookings-table-container{overflow-x:auto;margin-top:1rem}.bookings-table{width:100%;border-collapse:collapse;font-size:.95rem}.bookings-table thead{background:#f8fafc}.bookings-table th{text-align:left;padding:.875rem;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0}.bookings-table td{padding:.875rem;border-bottom:1px solid #f1f5f9;color:#334155}.bookings-table tbody tr:hover{background:#f8fafc}.booking-code{font-family:monospace;font-weight:600;color:#2563eb}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap}.status-confirmed{background:#dbeafe;color:#1e40af}.status-checked-in,.status-completed{background:#d1fae5;color:#065f46}.status-cancelled{background:#fee2e2;color:#991b1b}.status-no-show{background:#fef3c7;color:#92400e}.status-draft{background:#f1f5f9;color:#475569}.status-default{background:#f1f5f9;color:#64748b}.no-bookings{color:#94a3b8;text-align:center;padding:2rem}@media(max-width:768px){.customer-search{padding:1rem}.search-form{padding:1.5rem}.search-type-selector{flex-direction:column;gap:1rem}.search-input-container{flex-direction:column}.search-actions{width:100%}.search-button,.reset-button{flex:1}.results-table,.bookings-table{font-size:.875rem}.results-table th,.results-table td,.bookings-table th,.bookings-table td{padding:.75rem .5rem}.info-grid,.stats-grid{grid-template-columns:1fr}.add-note-form{flex-direction:column}.add-note-button{width:100%}}.image-upload{width:100%}.upload-error{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:1rem;font-size:.9rem}.upload-error svg{width:18px;height:18px;flex-shrink:0}.upload-error button{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#991b1b;cursor:pointer;line-height:1;padding:0}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:.75rem}.image-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f3f4f6;border:2px solid #e5e7eb}.image-item img{width:100%;height:100%;object-fit:cover}.featured-badge{position:absolute;top:.5rem;left:.5rem;background:#3b82f6;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;z-index:2}.image-actions{position:absolute;bottom:0;left:0;right:0;display:flex;gap:.25rem;padding:.5rem;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);opacity:0;transition:opacity .2s}.image-item:hover .image-actions{opacity:1}.btn-reorder,.btn-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#ffffffe6;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.btn-reorder svg,.btn-remove svg{width:16px;height:16px;stroke-width:2;color:#374151}.btn-reorder:hover{background:#fff;transform:scale(1.1)}.btn-remove{margin-left:auto}.btn-remove:hover{background:#fee2e2}.btn-remove:hover svg{color:#dc2626}.image-upload-box{position:relative;aspect-ratio:1;border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;cursor:pointer;transition:all .2s}.image-upload-box:hover{border-color:#3b82f6;background:#eff6ff}.file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-input:disabled{cursor:not-allowed}.upload-prompt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;pointer-events:none;padding:1rem;text-align:center}.upload-prompt svg{width:32px;height:32px;color:#9ca3af;stroke-width:1.5}.upload-prompt span{font-weight:500;color:#6b7280;font-size:.9rem}.upload-prompt small{color:#9ca3af;font-size:.75rem}.upload-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.upload-progress{margin-top:.25rem;font-size:.75rem;color:#3b82f6;font-weight:600}.upload-hint{display:block;color:#6b7280;font-size:.85rem;line-height:1.4}@media(max-width:640px){.image-grid{grid-template-columns:repeat(2,1fr)}.image-actions{opacity:1}}.video-input{width:100%}.video-error{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:1rem;font-size:.9rem}.video-error svg{width:18px;height:18px;flex-shrink:0}.video-error button{margin-left:auto;background:none;border:none;font-size:1.5rem;color:#991b1b;cursor:pointer;line-height:1;padding:0}.video-add-form{display:flex;gap:.75rem;margin-bottom:1rem}.video-url-input{flex:1;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:all .2s;font-family:inherit}.video-url-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-add-video{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-add-video:hover:not(:disabled){background:#2563eb}.btn-add-video:disabled{background:#9ca3af;cursor:not-allowed}.btn-add-video svg{width:18px;height:18px;stroke-width:2}.video-list{display:grid;gap:1rem;margin-bottom:.75rem}.video-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.video-item:hover{background:#f3f4f6;border-color:#d1d5db}.video-thumbnail{position:relative;width:120px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#e5e7eb;flex-shrink:0;transition:transform .2s}.video-thumbnail:hover{transform:scale(1.05)}.video-thumbnail img{width:100%;height:100%;object-fit:cover}.play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d;transition:background .2s}.video-thumbnail:hover .play-overlay{background:#00000080}.play-overlay svg{width:40px;height:40px;color:#ffffffe6;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.video-info{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0}.video-id{flex:1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.875rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-remove-video{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s;color:#6b7280;flex-shrink:0}.btn-remove-video:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-remove-video svg{width:16px;height:16px;stroke-width:2}.video-hint{display:block;color:#6b7280;font-size:.85rem;line-height:1.4}@media(max-width:640px){.video-add-form{flex-direction:column}.btn-add-video{justify-content:center}.video-item{flex-direction:column;align-items:stretch}.video-thumbnail{width:100%}.video-info{flex-direction:row-reverse}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;animation:modalSlideIn .2s ease-out}.product-form-modal{max-width:700px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:1;border-radius:12px 12px 0 0}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#374151}.modal-close svg{width:20px;height:20px}.product-form{padding:1.5rem}.form-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:1.5rem}.form-error svg{width:20px;height:20px;flex-shrink:0}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-section-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a1a);padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary, #1a1a1a);font-size:.9rem}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:all .2s;font-family:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-with-prefix{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:.75rem;color:#6b7280;font-weight:500;pointer-events:none;z-index:1;transition:opacity .2s}.input-with-prefix input{padding-left:2rem;transition:padding .2s}.input-with-prefix input:placeholder-shown{padding-left:.75rem}.input-with-prefix:has(input:placeholder-shown) .input-prefix{opacity:0}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:8px;transition:background .2s}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.checkbox-label span{color:var(--text-primary, #1a1a1a);font-size:.95rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb;position:sticky;bottom:0;background:#fff;border-radius:0 0 12px 12px}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-primary{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.pricing-type-toggle{display:flex;gap:.5rem;padding:.25rem;background:#f3f4f6;border-radius:8px}.toggle-btn{flex:1;padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;color:#6b7280}.toggle-btn:hover{color:#374151}.toggle-btn.active{background:#fff;color:#3b82f6;box-shadow:0 1px 3px #0000001a}.tiers-container{border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-top:1rem}.tiers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tiers-header label{margin:0;font-weight:600;color:var(--text-primary, #1a1a1a)}.btn-add-tier{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-tier:hover{background:#2563eb}.tier-item{padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem}.tier-item:last-child{margin-bottom:0}.tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.tier-header span{font-weight:600;color:var(--text-primary, #1a1a1a)}.btn-remove-tier{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;color:#dc2626;transition:all .2s}.btn-remove-tier:hover{background:#fef2f2;border-color:#fecaca}.addon-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:8px}.addon-checkbox-content{display:flex;justify-content:space-between;align-items:center;flex:1;gap:.5rem}.addon-checkbox-content strong{color:var(--text-primary, #1a1a1a);font-size:.95rem}.addon-checkbox-content small{color:#6b7280;font-size:.85rem;font-weight:500}.no-addons-message{padding:1rem;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.9rem}.no-addons-message p{margin:0}.form-section-description{margin:0 0 1rem;color:#6b7280;font-size:.9rem;line-height:1.5}@media(max-width:640px){.modal-content{max-height:100vh;border-radius:0}.modal-header{border-radius:0}.form-row{grid-template-columns:1fr}.modal-footer{border-radius:0;flex-direction:column-reverse}.modal-footer button{width:100%}.pricing-type-toggle{flex-direction:column}.tiers-header{flex-direction:column;align-items:flex-start;gap:.75rem}.btn-add-tier{width:100%;justify-content:center}.addon-checkboxes{max-height:200px}.addon-checkbox-content{flex-direction:column;align-items:flex-start}}.product-type-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:.5rem}.type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;min-height:140px}.type-btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.type-btn[data-type=ASSET]:hover{border-color:#3b82f6;background:#f0f9ff}.type-btn[data-type=ASSET].active{border-color:#3b82f6;background:#eff6ff;box-shadow:0 0 0 3px #3b82f61a}.type-btn[data-type=TICKET]:hover{border-color:#10b981;background:#f0fdf4}.type-btn[data-type=TICKET].active{border-color:#10b981;background:#ecfdf5;box-shadow:0 0 0 3px #10b9811a}.type-btn[data-type=ADD_ON]:hover{border-color:#8b5cf6;background:#faf5ff}.type-btn[data-type=ADD_ON].active{border-color:#8b5cf6;background:#f3e8ff;box-shadow:0 0 0 3px #8b5cf61a}.type-btn[data-type=FEE]:hover{border-color:#f59e0b;background:#fffbeb}.type-btn[data-type=FEE].active{border-color:#f59e0b;background:#fef3c7;box-shadow:0 0 0 3px #f59e0b1a}.type-icon{font-size:2rem;margin-bottom:.5rem}.type-label{font-weight:600;color:#1a1a1a;margin-bottom:.25rem;font-size:.95rem}.type-description{font-size:.75rem;color:#6b7280;text-align:center;line-height:1.3}@media(max-width:768px){.product-type-selector{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.product-type-selector{grid-template-columns:1fr}.type-btn{min-height:100px;padding:1rem}.type-icon{font-size:1.5rem}}.products-page{padding:2rem;max-width:100%;width:100%;margin:0 auto;overflow-x:hidden}.products-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.products-header h1{margin:0;font-size:2rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.products-subtitle{margin:.5rem 0 0;color:var(--text-secondary, #666);font-size:.95rem}.products-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.products-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.products-empty h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.products-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #666)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;width:100%}@media(min-width:1366px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media(min-width:1920px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}.product-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.product-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.product-card.disabled{opacity:.6;background:#f9fafb}.product-image{position:relative;width:100%;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.image-count,.video-count{position:absolute;bottom:.5rem;display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#000000b3;color:#fff;border-radius:4px;font-size:.75rem;font-weight:600}.image-count{left:.5rem}.video-count{right:.5rem}.image-count svg,.video-count svg{width:14px;height:14px;stroke-width:2}.product-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;padding-bottom:0;margin-bottom:1rem;gap:1rem}.product-name{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.product-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500;margin-top:.5rem}.product-badge.disabled{background:#fee;color:#c00}.product-actions{display:flex;gap:.5rem}.product-description{margin:0 0 1.25rem;padding:0 1.5rem;color:var(--text-secondary, #666);line-height:1.5;font-size:.95rem}.product-details{display:grid;gap:.75rem;padding:1rem 1.5rem;margin:0 1.5rem;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.product-detail-item{display:flex;align-items:center;gap:.75rem;color:var(--text-primary, #1a1a1a);font-size:.9rem}.detail-icon.currency-symbol{font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center}.product-age-restriction{display:flex;align-items:center;gap:.75rem;margin:1rem 1.5rem 1.5rem;padding:.75rem;background:#fef3c7;border-radius:8px;color:#92400e;font-size:.875rem}.pricing-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:#dbeafe;border:1px solid #93c5fd;border-radius:4px;font-size:.75rem;font-weight:500;color:#1e40af}.btn-icon-small.danger:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-icon-small:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.products-page{padding:1rem}.products-header{flex-direction:column}.products-grid{grid-template-columns:1fr}}.resource-form-modal{max-width:700px}.resource-form{padding:1.5rem}.form-section-description{margin:0 0 1rem;color:#6b7280;font-size:.9rem}.no-products-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e}.no-products-message svg{width:20px;height:20px;flex-shrink:0}.product-checkboxes{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:8px}.product-checkbox-content{display:flex;flex-direction:column;gap:.25rem}.product-checkbox-content strong{color:var(--text-primary, #1a1a1a);font-size:.95rem}.product-checkbox-content small{color:#6b7280;font-size:.85rem;line-height:1.3}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:8px;transition:background .2s}.checkbox-label:hover{background:#f9fafb}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#3b82f6;flex-shrink:0}@media(max-width:640px){.product-checkboxes{max-height:200px}}.resources-page{padding:2rem;max-width:100%;width:100%;margin:0 auto;overflow-x:hidden}.resources-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.resources-header h1{margin:0;font-size:2rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.resources-subtitle{margin:.5rem 0 0;color:var(--text-secondary, #666);font-size:.95rem}.resources-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.error-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin-bottom:1.5rem}.error-banner svg{width:20px;height:20px;flex-shrink:0}.resources-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-icon{width:80px;height:80px;color:#d1d5db;margin-bottom:1.5rem}.resources-empty h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.resources-empty p{margin:0 0 1.5rem;color:var(--text-secondary, #666)}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;width:100%}@media(min-width:1366px){.resources-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media(min-width:1920px){.resources-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}.resource-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:all .2s ease}.resource-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.resource-card.maintenance{border-left:4px solid #f59e0b}.resource-card.closed{border-left:4px solid #ef4444;opacity:.8;background:#f9fafb}.resource-card.active{border-left:4px solid #10b981}.resource-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.resource-name{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.resource-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:500}.resource-badge.active{background:#d1fae5;color:#065f46}.resource-badge.maintenance{background:#fef3c7;color:#92400e}.resource-badge.closed{background:#fee2e2;color:#991b1b}.resource-details{display:flex;flex-direction:column;gap:1rem;padding:1rem 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.resource-detail-item{display:flex;align-items:center;gap:.75rem;color:var(--text-primary, #1a1a1a);font-size:.9rem}.detail-icon{width:18px;height:18px;color:#6b7280;flex-shrink:0;stroke-width:2}.resource-products{display:flex;flex-direction:column;gap:.5rem}.resource-products strong{font-size:.875rem;color:var(--text-primary, #1a1a1a)}.product-tags{display:flex;flex-wrap:wrap;gap:.5rem}.product-tag{display:inline-block;padding:.25rem .75rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;font-size:.8rem;color:#1e40af}.resource-note{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:8px;font-size:.875rem}.resource-note.maintenance{background:#fef3c7;color:#92400e}.resource-note.closed{background:#fee2e2;color:#991b1b}.resource-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-action{flex:1;min-width:120px;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;color:#374151}.btn-action:hover{background:#f9fafb;border-color:#9ca3af}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action.maintenance{border-color:#fbbf24;color:#92400e}.btn-action.maintenance:hover{background:#fef3c7}.btn-action.close{border-color:#f87171;color:#991b1b}.btn-action.close:hover{background:#fee2e2}.btn-action.restore{border-color:#10b981;color:#065f46}.btn-action.restore:hover{background:#d1fae5}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#2563eb}.btn-icon{width:20px;height:20px}.btn-icon-small{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s;color:#6b7280}.btn-icon-small:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151}.btn-icon-small svg{width:16px;height:16px;stroke-width:2}@media(max-width:768px){.resources-page{padding:1rem}.resources-header{flex-direction:column}.resources-grid{grid-template-columns:1fr}.resource-actions{flex-direction:column}.btn-action{width:100%}}.audit-log-viewer{padding:2rem;max-width:1600px;margin:0 auto}.audit-header{margin-bottom:2rem}.audit-header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:#1a1a1a}.filter-panel{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.filter-panel h2{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#1a1a1a}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:1.5rem}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-item label{font-size:.875rem;font-weight:600;color:#475569}.filter-input,.filter-select{padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:border-color .2s;background:#fff}.filter-input:focus,.filter-select:focus{outline:none;border-color:#2563eb}.filter-actions{display:flex;gap:1rem;flex-wrap:wrap}.reset-button,.stats-button,.export-button{padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.reset-button{background:#fff;color:#475569;border:2px solid #e2e8f0}.reset-button:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc}.stats-button{background:#8b5cf6;color:#fff}.stats-button:hover:not(:disabled){background:#7c3aed}.export-button{background:#10b981;color:#fff}.export-button:hover:not(:disabled){background:#059669}.reset-button:disabled,.stats-button:disabled,.export-button:disabled{opacity:.5;cursor:not-allowed}.no-results{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.no-results p{margin-bottom:.5rem;color:#444;font-size:1.1rem}.no-results .hint{color:#888;font-size:.95rem}.logs-table-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.logs-table-header{margin-bottom:1.5rem}.logs-table-header h2{font-size:1.5rem;font-weight:600;color:#1a1a1a}.logs-table-scroll{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse;font-size:.9rem}.logs-table thead{background:#f8fafc}.logs-table th{text-align:left;padding:1rem;font-weight:600;color:#475569;border-bottom:2px solid #e2e8f0;white-space:nowrap}.logs-table td{padding:.875rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:top}.logs-table tbody tr:hover{background:#f8fafc}.timestamp-cell{white-space:nowrap;color:#64748b;font-family:monospace;font-size:.875rem}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;white-space:nowrap}.type-booking{background:#dbeafe;color:#1e40af}.type-waiver{background:#fce7f3;color:#9f1239}.type-product{background:#fef3c7;color:#92400e}.type-resource{background:#d1fae5;color:#065f46}.type-auth{background:#e0e7ff;color:#3730a3}.type-venue{background:#ddd6fe;color:#5b21b6}.type-payment{background:#d1fae5;color:#065f46}.type-default{background:#f1f5f9;color:#475569}.action-cell{font-family:monospace;font-size:.875rem;color:#1e293b;font-weight:500}.user-cell,.target-cell{font-family:monospace;font-size:.875rem;color:#64748b;max-width:150px;overflow:hidden;text-overflow:ellipsis}.details-cell{max-width:400px;color:#475569;line-height:1.5}.statistics-panel{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 16px #00000026;margin-bottom:2rem;border:2px solid #e2e8f0}.statistics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.statistics-header h2{font-size:1.5rem;font-weight:600;color:#1a1a1a}.close-button{padding:.5rem;background:transparent;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;transition:color .2s;line-height:1}.close-button:hover{color:#475569}.statistics-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.stat-section{display:flex;flex-direction:column;gap:1rem}.stat-section h3{font-size:1.1rem;font-weight:600;color:#1e293b}.stat-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:#f8fafc;border-radius:8px;text-align:center}.stat-label{font-size:.875rem;color:#64748b;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.5rem}.stat-value{font-size:2.5rem;font-weight:700;color:#2563eb}.stat-list{display:flex;flex-direction:column;gap:.5rem}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;border-radius:6px}.stat-item-label{font-size:.9rem;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.stat-item-value{font-size:.9rem;font-weight:600;color:#2563eb;margin-left:1rem}@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.statistics-content{grid-template-columns:1fr}}@media(max-width:768px){.audit-log-viewer{padding:1rem}.filter-panel{padding:1.5rem}.filter-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.reset-button,.stats-button,.export-button{width:100%}.logs-table{font-size:.825rem}.logs-table th,.logs-table td{padding:.625rem .5rem}.details-cell{max-width:200px}.statistics-panel{padding:1.5rem}}.settings-page{padding:2rem;max-width:100%;width:100%;margin:0 auto;overflow-x:hidden}.settings-header{margin-bottom:2rem}.settings-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:#1a1a1a}.settings-subtitle{margin:0;color:#6b7280;font-size:1rem}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:#6b7280}.spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.message-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:8px;margin-bottom:2rem;font-size:.95rem}.message-banner svg{width:20px;height:20px;flex-shrink:0;stroke-width:2}.message-banner.success{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.message-banner.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.settings-form{background:#fff;border-radius:12px;border:1px solid #e5e7eb;max-width:1200px;margin:0 auto}.settings-section{padding:2rem;border-bottom:1px solid #e5e7eb}.settings-section:last-of-type{border-bottom:none}.section-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:#1a1a1a}.section-description{margin:0 0 1.5rem;color:#6b7280;font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-row:last-child{margin-bottom:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1a1a1a;font-size:.9rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:all .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.form-group small{display:block;margin-top:.5rem;color:#6b7280;font-size:.85rem}.settings-actions{padding:1.5rem 2rem;background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;display:flex;justify-content:flex-end}.btn-primary{padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s;font-size:.95rem}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}@media(max-width:768px){.settings-page{padding:1rem}.form-row{grid-template-columns:1fr;gap:1rem}.settings-section{padding:1.5rem}.settings-actions{padding:1rem 1.5rem}}.payment-settings{padding:2rem;max-width:1400px;margin:0 auto}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.gateways-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.gateway-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .2s}.gateway-card.enabled{border-color:#2563eb;box-shadow:0 4px 12px #2563eb26}.gateway-card.connected{border-color:#10b981;background:#f0fdf4}.gateway-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.gateway-title{display:flex;align-items:center;gap:.75rem}.gateway-icon{font-size:2rem;line-height:1}.gateway-title h3{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0}.default-badge{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.gateway-description{color:#64748b;margin:0 0 1rem;line-height:1.5}.gateway-status{margin-bottom:1rem}.status-badge{display:inline-block;padding:.375rem .875rem;border-radius:16px;font-size:.875rem;font-weight:500}.status-not-configured{background:#f1f5f9;color:#64748b}.status-test{background:#fef3c7;color:#92400e}.status-live{background:#d1fae5;color:#065f46}.gateway-warning{background:#fef3c7;border-left:4px solid #f59e0b;padding:1rem;margin-bottom:1rem;border-radius:4px}.gateway-warning p{margin:0 0 .5rem;color:#92400e;font-size:.875rem}.gateway-warning p:last-child{margin-bottom:0}.gateway-warning .hint{font-size:.8rem;opacity:.9}.gateway-actions{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid #e2e8f0}.set-default-button{padding:.75rem 1.25rem;background:#f8fafc;color:#2563eb;border:2px solid #2563eb;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.95rem}.set-default-button:hover:not(:disabled){background:#2563eb;color:#fff}.set-default-button:disabled{opacity:.5;cursor:not-allowed}.oauth-section{margin-bottom:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.oauth-connected{display:flex;justify-content:space-between;align-items:center;gap:1rem}.connection-status{display:flex;align-items:center;gap:.75rem;flex:1}.status-icon{width:32px;height:32px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem}.status-info{flex:1}.status-label{font-weight:600;color:#1e293b;font-size:.95rem}.status-detail{color:#64748b;font-size:.85rem;margin-top:.25rem}.disconnect-button{padding:.5rem 1rem;background:#fff;color:#dc2626;border:1px solid #dc2626;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.disconnect-button:hover:not(:disabled){background:#dc2626;color:#fff}.disconnect-button:disabled{opacity:.5;cursor:not-allowed}.oauth-disconnected{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.connect-button{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d;display:flex;align-items:center;justify-content:center;gap:.5rem}.connect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.connect-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.oauth-hint{margin:0;color:#64748b;font-size:.85rem;line-height:1.4}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.info-panel{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.info-panel h3{font-size:1.1rem;font-weight:600;margin:0 0 1rem;color:#1e293b}.info-panel ul{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.75rem}.info-panel li{color:#475569;line-height:1.6}.info-panel li strong{color:#1e293b}.setup-guide{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.setup-guide h3{color:#fff;border-bottom:2px solid rgba(255,255,255,.3);padding-bottom:.75rem;margin-bottom:1.5rem}.setup-section{background:#ffffff1a;padding:1.25rem;border-radius:8px;margin-bottom:1.5rem}.setup-section:last-child{margin-bottom:0}.setup-section h4{color:#fff;font-size:1.05rem;font-weight:600;margin:0 0 1rem}.setup-section ol,.setup-section ul{margin:0;padding-left:1.5rem}.setup-section li{color:#fffffff2;margin-bottom:.5rem;line-height:1.6}.setup-section a{color:#fbbf24;text-decoration:underline;font-weight:500}.setup-section a:hover{color:#fcd34d}.setup-section code{background:#0003;padding:.2rem .5rem;border-radius:4px;font-family:Monaco,Courier New,monospace;font-size:.9rem;color:#fbbf24}.setup-note{background:#00000026;border-left:3px solid #fbbf24;padding:.75rem 1rem;margin:1rem 0 0;border-radius:4px;font-size:.9rem;line-height:1.5}.setup-note strong{color:#fbbf24}.checklist{list-style:none;padding-left:0}.checklist li{padding-left:0;margin-bottom:.75rem}.troubleshooting{background:#fef3c7;border:2px solid #fbbf24}.troubleshooting h3{color:#92400e}.faq-item{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #fde68a}.faq-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.faq-item strong{color:#92400e;display:block;margin-bottom:.5rem;font-size:.95rem}.faq-item p{color:#78350f;margin:0;line-height:1.6}@media(max-width:768px){.payment-settings{padding:1rem}.gateways-grid{grid-template-columns:1fr}.settings-header{flex-direction:column;gap:1rem}}.email-settings{padding:2rem;max-width:1200px;margin:0 auto}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.settings-header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:#1a1a1a}.subtitle{color:#666;font-size:.95rem}.status-indicator{background:#fff;border:2px solid;border-radius:12px;padding:.75rem 1.25rem;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.95rem;font-weight:600}.status-details{font-size:.875rem;font-weight:400;color:#64748b;font-family:monospace}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.success-message{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.loading-message{text-align:center;padding:3rem;color:#666;font-size:1.1rem}.retry-button{padding:.75rem 1.5rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;margin-top:1rem}.retry-button:hover{background:#1d4ed8}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #00000014}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.section-header h2{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0}.toggle-switch{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:48px;height:26px;background:#cbd5e1;border-radius:26px;transition:background .3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .3s}.toggle-switch input:checked+.toggle-slider{background:#2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-label{font-size:.95rem;font-weight:500;color:#475569}.provider-selector{margin-bottom:2rem}.provider-selector label{display:block;font-size:.95rem;font-weight:600;color:#475569;margin-bottom:.5rem}.provider-select{width:100%;padding:.875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .2s}.provider-select:focus{outline:none;border-color:#2563eb}.provider-hint{margin:.75rem 0 0;padding:.75rem 1rem;background:#f8fafc;border-left:4px solid #2563eb;color:#475569;font-size:.875rem;border-radius:4px}.smtp-form,.test-form{display:flex;flex-direction:column;gap:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:600;color:#475569}.form-input{padding:.875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;transition:border-color .2s;background:#fff}.form-input:focus{outline:none;border-color:#2563eb}.form-input::placeholder{color:#94a3b8}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:500;color:#475569}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.save-button{padding:.875rem 2rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:background .2s}.save-button:hover:not(:disabled){background:#1d4ed8}.save-button:disabled{opacity:.5;cursor:not-allowed}.test-input-group{display:flex;gap:.75rem}.test-input-group .form-input{flex:1}.test-button{padding:.875rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.test-button:hover:not(:disabled){background:#059669}.test-button:disabled{opacity:.5;cursor:not-allowed}.info-box{background:#f8fafc;border-left:4px solid #64748b;padding:1rem 1.25rem;border-radius:4px;margin-top:1.5rem}.info-box p{margin:.5rem 0;color:#475569;font-size:.875rem;line-height:1.6}.info-box p:first-child{margin-top:0}.info-box p:last-child{margin-bottom:0}.templates-list{display:flex;flex-direction:column;gap:1rem}.template-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;gap:1rem}.template-info{flex:1}.template-info h4{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.template-info p{font-size:.875rem;color:#64748b;margin:0;font-style:italic}.template-meta{display:inline-block;margin-top:.5rem;font-size:.8rem;color:#94a3b8}@media(max-width:768px){.email-settings{padding:1rem}.settings-header{flex-direction:column}.status-indicator{align-self:stretch;align-items:flex-start}.form-grid{grid-template-columns:1fr}.test-input-group{flex-direction:column}.template-item{flex-direction:column;align-items:flex-start}.template-item .toggle-switch{align-self:flex-end}}.branding-settings{max-width:1200px;margin:0 auto}.settings-header{margin-bottom:var(--space-8)}.settings-header h1{font-size:var(--text-3xl);color:var(--color-gray-900);margin:0 0 var(--space-2) 0}.settings-description{font-size:var(--text-lg);color:var(--color-gray-600);margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16);text-align:center}.spinner{width:48px;height:48px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary-600);border-radius:var(--radius-full);animation:spin .8s linear infinite;margin-bottom:var(--space-4)}.spinner-sm{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .6s linear infinite;display:inline-block}.message-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-weight:var(--font-medium)}.message-banner.success{background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-200)}.message-banner.error{background:var(--color-danger-50);color:var(--color-danger-700);border:1px solid var(--color-danger-200)}.message-banner .icon{font-size:var(--text-xl);font-weight:var(--font-bold)}.settings-section{background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6)}.settings-section h2{font-size:var(--text-2xl);color:var(--color-gray-900);margin:0 0 var(--space-6) 0;padding-bottom:var(--space-4);border-bottom:2px solid var(--color-gray-100)}.form-group{margin-bottom:var(--space-6)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:var(--font-semibold);color:var(--color-gray-700);margin-bottom:var(--space-2);font-size:var(--text-sm)}.form-group small{display:block;color:var(--color-gray-500);font-size:var(--text-xs);margin-top:var(--space-2)}.input-text,.input-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--text-base);font-family:var(--font-sans);color:var(--color-gray-900);transition:all var(--transition-fast)}.input-text:focus,.input-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.input-textarea{resize:vertical;min-height:80px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-4)}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6)}.upload-box{display:flex;flex-direction:column;gap:var(--space-3)}.upload-box>label{font-weight:var(--font-semibold);color:var(--color-gray-700);font-size:var(--text-base)}.image-preview,.image-placeholder{aspect-ratio:16 / 9;border-radius:var(--radius-lg);border:2px dashed var(--color-gray-300);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-gray-50)}.image-preview img{max-width:100%;max-height:100%;object-fit:contain}.image-placeholder{flex-direction:column;gap:var(--space-2)}.placeholder-icon{font-size:3rem;opacity:.5}.image-placeholder p{margin:0;color:var(--color-gray-500);font-size:var(--text-sm)}.favicon-preview,.favicon-placeholder{aspect-ratio:1;max-width:120px}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-primary-600);color:#fff;border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.upload-button:hover{background:var(--color-primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.upload-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.color-input-group label{display:block;font-weight:var(--font-semibold);color:var(--color-gray-700);margin-bottom:var(--space-2);font-size:var(--text-sm)}.color-input-wrapper{display:flex;gap:var(--space-2);align-items:center}.color-picker{width:60px;height:44px;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer;padding:4px}.color-text-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-family:Monaco,Courier New,monospace;font-size:var(--text-sm);text-transform:uppercase;transition:all var(--transition-fast)}.color-text-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.color-preview{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);padding:var(--space-6)}.color-preview>p{margin:0 0 var(--space-4) 0;font-weight:var(--font-semibold);color:var(--color-gray-700)}.preview-buttons{display:flex;flex-wrap:wrap;gap:var(--space-3)}.preview-buttons button{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);font-size:var(--text-sm);cursor:default;box-shadow:var(--shadow-sm)}.settings-actions{display:flex;gap:var(--space-4);align-items:center;padding-top:var(--space-6);border-top:1px solid var(--color-gray-200);margin-top:var(--space-8)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:var(--font-semibold);font-size:var(--text-base);border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--color-primary-600);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:#fff;color:var(--color-danger-600);border:1px solid var(--color-danger-300)}.btn-danger:hover:not(:disabled){background:var(--color-danger-50);border-color:var(--color-danger-400)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.settings-section{padding:var(--space-6)}.form-grid,.color-grid,.upload-grid{grid-template-columns:1fr}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}}.app-footer{position:fixed;bottom:0;left:0;right:0;height:12px;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-size:9px;color:#666;z-index:1000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-accent-50: #fefce8;--color-accent-100: #fef9c3;--color-accent-200: #fef08a;--color-accent-300: #fde047;--color-accent-400: #facc15;--color-accent-500: #eab308;--color-accent-600: #ca8a04;--color-accent-700: #a16207;--color-accent-800: #854d0e;--color-accent-900: #713f12;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gradient-primary-soft: linear-gradient(135deg, #3b82f615 0%, #2563eb15 100%);--gradient-accent: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);--gradient-brand: linear-gradient(135deg, #3b82f6 0%, #eab308 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--gradient-danger: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success-50: #ecfdf5;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #047857;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-danger-50: #fef2f2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-info-50: #eff6ff;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-info-700: #1d4ed8;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-base: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-primary: 0 10px 30px -5px rgba(59, 130, 246, .3);--shadow-accent: 0 10px 30px -5px rgba(234, 179, 8, .3);--shadow-success: 0 10px 30px -5px rgba(16, 185, 129, .3);--shadow-warning: 0 10px 30px -5px rgba(245, 158, 11, .3);--shadow-danger: 0 10px 30px -5px rgba(239, 68, 68, .3);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--sidebar-width: 280px;--sidebar-width-collapsed: 80px;--header-height: 64px;--content-max-width: 100%;--content-constrained-width: 1400px;--backdrop-blur: blur(8px);--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .2)}@media(prefers-color-scheme:dark){:root{--color-gray-50: #1f2937;--color-gray-100: #374151;--color-gray-200: #4b5563;--color-gray-300: #6b7280;--color-gray-800: #e5e7eb;--color-gray-900: #f9fafb;--glass-bg: rgba(31, 41, 55, .8);--glass-border: rgba(255, 255, 255, .1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-gray-900);background-color:var(--color-gray-50)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-primary-600{color:var(--color-primary-600)}.text-success-600{color:var(--color-success-600)}.text-warning-600{color:var(--color-warning-600)}.text-danger-600{color:var(--color-danger-600)}.bg-white{background-color:#fff}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-primary-50{background-color:var(--color-primary-50)}.p-0{padding:var(--space-0)}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.m-0{margin:var(--space-0)}.m-2{margin:var(--space-2)}.m-4{margin:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mt-4{margin-top:var(--space-4)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale:hover{transform:scale(1.02)}.focus-ring:focus{outline:2px solid var(--color-primary-500);outline-offset:2px}.disabled,[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) var(--ease-out)}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.slide-in{animation:slideIn var(--transition-base) var(--ease-out)}html,body{overflow-x:hidden;max-width:100vw}*{box-sizing:border-box}#root{min-height:100vh;display:flex;flex-direction:column;background:var(--color-gray-50);width:100%;max-width:100vw;overflow-x:hidden}html{scroll-behavior:smooth}::selection{background-color:var(--color-primary-200);color:var(--color-primary-900)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}*:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}*:focus:not(:focus-visible){outline:none}.container,.page-container,.content-container{width:100%;max-width:100%;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}@media(min-width:640px){.container,.page-container,.content-container{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.container,.page-container,.content-container{padding-left:2rem;padding-right:2rem}}@media(min-width:1280px){.container{max-width:1280px}.page-container{max-width:1536px}}table{width:100%;max-width:100%;overflow-x:auto;display:block}@media(min-width:768px){table{display:table}}img{max-width:100%;height:auto}.grid-responsive{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.grid-responsive.cols-4{grid-template-columns:repeat(4,1fr)}}@media(max-width:640px){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}}.flex-container{display:flex;flex-wrap:wrap;gap:1rem;width:100%;max-width:100%}.responsive-spacing{padding:1rem}@media(min-width:768px){.responsive-spacing{padding:1.5rem}}@media(min-width:1024px){.responsive-spacing{padding:2rem}}
