:root{--color-primary-50: #F8F9FA;--color-primary-100: #E9ECEF;--color-primary-200: #DEE2E6;--color-primary-300: #CED4DA;--color-primary-400: #ADB5BD;--color-primary-500: #6C757D;--color-primary-600: #495057;--color-primary-700: #343A40;--color-primary-800: #2B3035;--color-primary-900: #1A1D21;--color-secondary-50: #F0F7F4;--color-secondary-100: #D4EBE1;--color-secondary-200: #B8DFCE;--color-secondary-300: #9CD3BB;--color-secondary-400: #7FC6A8;--color-secondary-500: #5FA888;--color-secondary-600: #4A8A6F;--color-secondary-700: #396C56;--color-secondary-800: #2A4E3E;--color-secondary-900: #1C3127;--color-neutral-50: #FAFAF9;--color-neutral-100: #F5F4F1;--color-neutral-200: #E8E6E1;--color-neutral-300: #D3D0C9;--color-neutral-400: #B8B4AB;--color-neutral-500: #9C988D;--color-neutral-600: #7A7669;--color-neutral-700: #5C5850;--color-neutral-800: #3E3C36;--color-neutral-900: #28261F;--color-accent-50: #FDF8F3;--color-accent-100: #FAEDDD;--color-accent-200: #F5D9B8;--color-accent-300: #E8B87D;--color-accent-400: #D99C52;--color-accent-500: #B8813D;--color-accent-600: #8C6530;--color-accent-700: #6B4E25;--color-accent-800: #4A371A;--color-accent-900: #2E2311;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}html,body{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--color-primary-900);background-color:var(--color-neutral-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.container{width:100%;max-width:1280px;margin-left:auto;margin-right:auto;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.attractis-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:var(--font-weight-medium);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap}.attractis-button--sm{padding:.5rem 1rem;font-size:var(--font-size-sm);min-height:36px}.attractis-button--md{padding:.625rem 1.5rem;font-size:var(--font-size-base);min-height:42px}.attractis-button--lg{padding:.75rem 1.75rem;font-size:var(--font-size-lg);min-height:48px}.attractis-button--full-width{width:100%}.attractis-button--primary{background-color:var(--color-primary-800);color:#fff;font-weight:var(--font-weight-semibold);box-shadow:0 1px 2px #0000001a}.attractis-button--primary:hover:not(:disabled){background-color:var(--color-primary-900);box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.attractis-button--secondary{background-color:var(--color-secondary-600);color:#fff}.attractis-button--secondary:hover:not(:disabled){background-color:var(--color-secondary-700)}.attractis-button--outline{background-color:transparent;color:var(--color-primary-700);border:1.5px solid var(--color-primary-700)}.attractis-button--outline:hover:not(:disabled){background-color:var(--color-primary-50)}.attractis-button--ghost{background-color:transparent;color:var(--color-neutral-700);border:1px solid transparent}.attractis-button--ghost:hover:not(:disabled){background-color:var(--color-neutral-100);color:var(--color-neutral-900);border-color:var(--color-neutral-300)}.attractis-button--danger{background-color:var(--color-error);color:#fff}.attractis-button--danger:hover:not(:disabled){background-color:#dc2626}.attractis-button--loading{pointer-events:none}.attractis-button__spinner{display:inline-block;width:1em;height:1em;animation:spin .8s linear infinite}.attractis-button__spinner svg{width:100%;height:100%}.attractis-button__spinner svg circle{stroke-dasharray:50;stroke-dashoffset:50;animation:spinner-dash 1.5s ease-in-out infinite}.attractis-button__text--loading{opacity:.7}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-dash{0%{stroke-dashoffset:50}50%{stroke-dashoffset:12.5}to{stroke-dashoffset:50}}.attractis-input-wrapper{display:flex;flex-direction:column;gap:.375rem}.attractis-input-wrapper--full-width{width:100%}.attractis-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin-bottom:var(--spacing-xs);letter-spacing:.01em}.attractis-input-required{color:var(--color-error);margin-left:.25rem}.attractis-input{padding:.75rem 1rem;font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-primary-900);background-color:#fff;border:1.5px solid var(--color-neutral-300);border-radius:var(--radius-md);outline:none;transition:all var(--transition-base);width:100%;box-sizing:border-box}.attractis-input::placeholder{color:var(--color-neutral-400)}.attractis-input:hover:not(:disabled){border-color:var(--color-primary-400)}.attractis-input:focus{border-color:var(--color-secondary-500);box-shadow:0 0 0 3px #5fa8881a}.attractis-input:disabled{background-color:var(--color-neutral-100);cursor:not-allowed;opacity:.6}.attractis-input--error{border-color:var(--color-error)}.attractis-textarea{resize:vertical;min-height:100px;font-family:var(--font-sans);line-height:1.5}.attractis-input-error-text{font-size:var(--font-size-sm);color:var(--color-error)}.attractis-input-helper-text{font-size:var(--font-size-xs);color:var(--color-neutral-500);margin-top:var(--spacing-xs);line-height:1.4}.attractis-card{background-color:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200);transition:all var(--transition-base)}.attractis-card--padding-none{padding:0}.attractis-card--padding-sm{padding:var(--spacing-sm)}.attractis-card--padding-md{padding:var(--spacing-md)}.attractis-card--padding-lg{padding:var(--spacing-lg)}.attractis-card--shadow-none{box-shadow:none}.attractis-card--shadow-sm{box-shadow:var(--shadow-sm)}.attractis-card--shadow-md{box-shadow:var(--shadow-md)}.attractis-card--shadow-lg{box-shadow:var(--shadow-lg)}.attractis-card--hover{cursor:pointer}.attractis-card--hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-secondary-300)}.attractis-card-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-neutral-200);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);color:var(--color-primary-800)}.attractis-card-content{padding:var(--spacing-md)}.attractis-card-footer{padding:var(--spacing-md);border-top:1px solid var(--color-neutral-200);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 50%,var(--color-secondary-900) 100%);padding:var(--spacing-lg)}.login-container{width:100%;max-width:420px;animation:login-slide-up .4s cubic-bezier(.16,1,.3,1)}@keyframes login-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card{background-color:#fff}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary-900);margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-primary-800),var(--color-secondary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-neutral-600);font-weight:var(--font-weight-medium)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-error{padding:var(--spacing-sm) var(--spacing-md);background-color:#fee2e2;color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.select-business-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 50%,var(--color-secondary-900) 100%);padding:var(--spacing-lg)}.select-business-container{width:100%;max-width:800px;display:flex;flex-direction:column;gap:var(--spacing-xl);animation:login-slide-up .4s cubic-bezier(.16,1,.3,1)}.select-business-header{text-align:center;color:#fff}.select-business-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.select-business-subtitle{font-size:var(--font-size-base);opacity:.9}.select-business-error{padding:var(--spacing-md);background-color:#fee2e2;color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center}.select-business-autologin{text-align:center;color:#fff;font-size:var(--font-size-lg);opacity:.95}.business-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.business-card{display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--transition-base);animation:business-card-fade-in .4s ease forwards;opacity:0}.business-card:nth-child(1){animation-delay:.1s}.business-card:nth-child(2){animation-delay:.2s}.business-card:nth-child(3){animation-delay:.3s}.business-card:nth-child(4){animation-delay:.4s}@keyframes business-card-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.business-card-content{flex:1}.business-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin-bottom:var(--spacing-xs)}.business-role{display:inline-block;padding:.25rem .75rem;background-color:var(--color-secondary-100);color:var(--color-secondary-800);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:capitalize}.business-arrow{font-size:var(--font-size-2xl);color:var(--color-secondary-600);transition:transform var(--transition-base)}.business-card:hover .business-arrow{transform:translate(5px)}.no-businesses{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:#fff}.no-businesses p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.no-businesses-help{opacity:.8;font-size:var(--font-size-base)}.attractis-layout{display:flex;flex-direction:column;width:100%;min-height:100vh;background-color:var(--color-neutral-50)}.attractis-header{background-color:var(--color-primary-800);color:#fff;padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-md);z-index:100;width:100%}.attractis-layout-content{display:flex;flex-direction:row;flex:1;overflow:hidden}.attractis-main{flex:1;display:flex;flex-direction:column;overflow:auto;min-width:0}.attractis-sidebar{background-color:var(--color-neutral-50);border-right:1px solid var(--color-neutral-200);padding:var(--spacing-lg);overflow-y:auto;overflow-x:hidden;position:sticky;top:0;height:100vh;width:260px;flex-shrink:0;transition:width .3s cubic-bezier(.4,0,.2,1),padding .3s cubic-bezier(.4,0,.2,1),opacity .25s ease}.attractis-sidebar--collapsed{width:0;min-width:0;padding:0;border-right:none;overflow:hidden;opacity:0}.sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-link{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;color:var(--color-neutral-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background-color:#fffc;color:var(--color-primary-800);transform:translate(2px)}.sidebar-link--active{background-color:#fff;color:var(--color-primary-800);font-weight:var(--font-weight-semibold);box-shadow:0 1px 2px #0000000a;border-left:3px solid var(--color-secondary-600)}.attractis-page-container{padding:var(--spacing-lg);max-width:1600px;margin:0 auto;width:100%}.attractis-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-neutral-200)}.attractis-page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary-900);margin:0}.attractis-page-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.attractis-page-content{animation:attractis-fade-in .3s ease-in}@keyframes attractis-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header-content{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.attractis-header .header-logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0;color:#fff!important}.header-business-name{padding:.375rem .875rem;background-color:#ffffff26;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.dashboard-card{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm)}.dashboard-card-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.dashboard-card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0}.dashboard-card-description{font-size:var(--font-size-sm);color:var(--color-neutral-600);line-height:1.6;margin:0}.dashboard-card-badge{display:inline-block;margin-top:var(--spacing-sm);padding:.25rem .625rem;background-color:var(--color-accent-100);color:var(--color-accent-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.attractis-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md)}.attractis-loading--sm{--spinner-size: 24px}.attractis-loading--md{--spinner-size: 40px}.attractis-loading--lg{--spinner-size: 64px}.attractis-loading__spinner{width:var(--spinner-size);height:var(--spinner-size);position:relative}.attractis-loading__circle{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;animation:attractis-spin 2s cubic-bezier(.68,-.55,.265,1.55) infinite}.attractis-loading__circle--1{border-top-color:var(--color-primary-700);animation-delay:0s}.attractis-loading__circle--2{border-right-color:var(--color-secondary-600);animation-delay:.15s}.attractis-loading__circle--3{border-bottom-color:var(--color-accent-500);animation-delay:.3s}.attractis-loading__text{color:var(--color-primary-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.attractis-loading-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#fafaf9f2;z-index:9999}@keyframes attractis-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(360deg) scale(.9)}to{transform:rotate(720deg) scale(1)}}.attractis-skeleton{background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-100) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:attractis-skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.attractis-skeleton--circle{border-radius:50%}@keyframes attractis-skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.attractis-loading-dots{display:inline-flex;align-items:center;gap:.25rem}.attractis-loading-dots__dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-primary-600);animation:attractis-loading-dot 1.4s ease-in-out infinite}.attractis-loading-dots__dot:nth-child(1){animation-delay:0s}.attractis-loading-dots__dot:nth-child(2){animation-delay:.2s}.attractis-loading-dots__dot:nth-child(3){animation-delay:.4s}@keyframes attractis-loading-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.products-error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.products-import-results{padding:1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;border:1px solid;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.products-import-results.success{background-color:#dcfce7;border-color:#86efac;color:#166534}.products-import-results.has-errors{background-color:#fef3c7;border-color:#fcd34d;color:#92400e}.import-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.import-results-header h3{margin:0;font-size:1.125rem;font-weight:600}.import-results-header .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.6;transition:opacity .2s;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.import-results-header .close-button:hover{opacity:1}.import-results-summary{display:flex;flex-direction:column;gap:.75rem}.result-stat{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500}.result-stat.success{color:#166534}.result-stat.error{color:#991b1b}.result-stat svg{flex-shrink:0}.import-errors{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.import-errors h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.import-errors ul{margin:0;padding-left:1.5rem;max-height:200px;overflow-y:auto}.import-errors li{margin-bottom:.5rem;font-size:.875rem;line-height:1.5}.products-search{display:flex;gap:.5rem;width:100%;margin-bottom:1rem}.products-search input{flex:1;min-width:0}.products-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--color-neutral-50);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200)}.products-filters{display:flex;gap:.5rem;flex-wrap:nowrap;align-items:center}.products-filters select{min-width:160px;max-width:200px}.products-header-actions{display:flex;gap:.75rem;align-items:center}.products-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.products-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.products-empty-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.products-empty-icon svg{width:48px;height:48px}.products-empty-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.products-empty-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.products-empty-cta{min-width:200px;padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 14px #5fa88840;transition:transform .2s ease,box-shadow .2s ease}.products-empty-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5fa8884d}.products-table-container{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--color-neutral-200);box-shadow:var(--shadow-sm);overflow:hidden}.products-table{width:100%;border-collapse:collapse;font-size:.875rem}.products-table thead{background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.products-table th{padding:.875rem 1rem;text-align:left;font-weight:600;color:var(--color-neutral-700);white-space:nowrap;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.products-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.products-table th.sortable:hover{background-color:var(--color-neutral-100)}.products-table .sort-icon{margin-left:.375rem;color:var(--color-neutral-400);font-size:.875rem}.products-table tbody tr{border-bottom:1px solid var(--color-neutral-100);transition:background-color var(--transition-fast)}.products-table tbody tr:last-child{border-bottom:none}.products-table tbody tr.clickable-row{cursor:pointer}.products-table tbody tr:hover{background-color:var(--color-neutral-50)}.products-table td{padding:1rem;color:var(--color-primary-800);vertical-align:middle}.product-name-cell{display:flex;flex-direction:column;gap:.25rem}.product-type-badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.025em}.product-type-retail{background-color:var(--color-secondary-100);color:var(--color-secondary-800)}.product-type-catering{background-color:var(--color-accent-100);color:var(--color-accent-700)}.product-type-ticket{background-color:var(--color-secondary-200);color:var(--color-secondary-900)}.product-type-membership{background-color:var(--color-accent-200);color:var(--color-accent-800)}.product-type-gift-voucher,.product-type-gift-card{background-color:var(--color-secondary-100);color:var(--color-secondary-700)}.product-price{font-weight:500;font-variant-numeric:tabular-nums}.stock-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .625rem;border-radius:var(--radius-full);font-weight:600;font-size:.75rem;background-color:var(--color-secondary-100);color:var(--color-secondary-700);min-width:45px;letter-spacing:.025em}.stock-badge.stock-low{background-color:var(--color-accent-100);color:var(--color-accent-700)}.stock-badge.stock-out{background-color:#fee2e2;color:#991b1b}.stock-badge.stock-negative{background-color:#fef2f2;color:var(--color-error)}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.025em}.status-badge.status-active{background-color:var(--color-secondary-100);color:var(--color-secondary-700)}.status-badge.status-inactive{background-color:var(--color-neutral-100);color:var(--color-neutral-600)}.table-actions{display:flex;gap:.5rem;justify-content:flex-end}.product-name-cell strong{font-weight:500;color:var(--color-primary-900)}.supplier-badge{color:var(--color-neutral-600);font-size:.75rem;display:inline-flex;align-items:center;gap:.25rem}.supplier-badge:before{content:"•";color:var(--color-neutral-400)}@media (max-width: 1200px){.products-toolbar{flex-direction:column;align-items:flex-start}.products-filters{width:100%;flex-wrap:wrap}.products-filters select{flex:1;min-width:140px}}@media (max-width: 768px){.products-search{flex-direction:column}.products-search input,.products-search button{width:100%}.products-toolbar{padding:.75rem}.products-table-container{border-radius:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.products-table{font-size:.8125rem;min-width:800px}.products-table th,.products-table td{padding:.75rem .5rem}.table-actions{flex-direction:column;gap:.375rem}.table-actions button{width:100%}.products-header-actions{flex-direction:column;width:100%}.products-header-actions button{width:100%}}.product-form-page{min-height:100%;background:linear-gradient(to bottom,#fff,#f9fafb);display:flex;flex-direction:column}.product-form-header{background:#fff;border-bottom:2px solid #e5e7eb;padding:2rem;position:sticky;top:0;z-index:20;box-shadow:0 1px 3px #0000000d}.product-form-header-content{max-width:1400px;margin:0 auto}.back-button{display:inline-flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;margin-bottom:1rem}.back-button:hover{color:var(--color-primary-600)}.product-form-title{font-size:2rem;font-weight:700;color:#111827;margin:0 0 .5rem}.product-form-subtitle{font-size:1.125rem;color:#6b7280;margin:0}.form-error{max-width:1400px;margin:1.5rem auto;background-color:#fee2e2;border:2px solid #fecaca;border-radius:8px;padding:1rem 1.5rem;color:#991b1b;display:flex;align-items:center;gap:.75rem;font-weight:500}.form-error svg{flex-shrink:0}.product-form-tabs{display:flex;gap:0;background:#fff;border-bottom:2px solid #e5e7eb;overflow-x:auto;position:sticky;top:0;z-index:15;padding:0 2rem;max-width:100%}.form-tab{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s;white-space:nowrap}.form-tab:hover{color:#111827;background-color:#f9fafb}.form-tab.active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600);background-color:#fff}.tab-icon{flex-shrink:0}.product-form-container{flex:1;display:flex;flex-direction:column}.product-form-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.form-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.form-section-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6}.form-description{color:#6b7280;margin-bottom:1.5rem;font-size:.9375rem;line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem}.form-label{font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.025em}.form-label .required{color:#dc2626;margin-left:.25rem}.form-hint{font-size:.8125rem;color:#6b7280;margin-top:.25rem}.input-with-button{display:flex;gap:.5rem;align-items:stretch}.generate-button{display:flex;align-items:center;gap:.375rem;white-space:nowrap;padding:.5rem 1rem}.generate-button svg{flex-shrink:0}.form-field-checkbox{margin:1.5rem 0}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:1rem 1.25rem;background-color:#f9fafb;border-radius:8px;border:2px solid #e5e7eb;transition:all .2s;font-weight:500;color:#374151}.checkbox-label:hover{border-color:var(--color-primary-300);background-color:#f0f9ff}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-primary-600)}.checkbox-label span{font-size:.9375rem}.checkbox-label-highlight{background:linear-gradient(135deg,#fef3c7,#fde047);border-color:#fbbf24;padding:1.25rem 1.5rem}.checkbox-label-highlight:hover{border-color:#f59e0b;background:linear-gradient(135deg,#fde047,#fbbf24)}.checkbox-content{display:flex;flex-direction:column;gap:.25rem}.checkbox-title{font-weight:600;font-size:1rem;color:#78350f}.checkbox-description{font-size:.875rem;font-weight:400;color:#92400e;line-height:1.4}.pricing-summary-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #bae6fd;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d}.pricing-summary-card h4{font-size:1rem;font-weight:700;color:#0c4a6e;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.pricing-grid{display:grid;gap:.75rem}.pricing-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #bae6fd}.pricing-label{font-weight:500;color:#6b7280;font-size:.875rem}.pricing-value{font-weight:700;color:#111827;font-size:1rem}.pricing-item-highlight{background:linear-gradient(135deg,#fff,#f0f9ff);border:2px solid var(--color-primary-400)}.pricing-item-highlight .pricing-label,.pricing-item-highlight .pricing-value{color:var(--color-primary-700);font-size:1.125rem}.pricing-percentage{margin-left:.5rem;font-size:.875rem;color:var(--color-primary-600)}.stock-locations-section{margin-top:2rem}.subsection-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 1rem}.stock-table-wrapper{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.stock-table thead{background:linear-gradient(to bottom,#f9fafb,#f3f4f6)}.stock-table th{padding:1rem 1.25rem;text-align:left;font-weight:700;color:#374151;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e5e7eb}.stock-table td{padding:1rem 1.25rem;border-bottom:1px solid #f3f4f6;font-size:.9375rem;color:#374151}.stock-table tbody tr:last-child td{border-bottom:none}.stock-table tbody tr:hover{background-color:#f9fafb}.stock-table tfoot{background:linear-gradient(to top,#f9fafb,#f3f4f6);border-top:2px solid #e5e7eb}.stock-table tfoot td{padding:1rem 1.25rem;font-weight:700;color:#111827;font-size:1rem}.location-name{font-weight:500;color:#111827}.location-code{background-color:#e5e7eb;padding:.25rem .625rem;border-radius:6px;font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.8125rem;color:#374151;font-weight:600}.stock-input{width:120px;text-align:center;font-weight:600}.total-label{text-align:right;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem}.total-value{font-size:1.25rem;color:var(--color-primary-600)}.supplier-info-card{background:linear-gradient(135deg,#fefce8,#fef3c7);border:2px solid #fde047;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000000d}.supplier-info-card h4{font-size:1rem;font-weight:700;color:#713f12;margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.info-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #fde047}.info-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:.9375rem;font-weight:500;color:#111827}.no-attributes-message{padding:2rem;text-align:center;color:#6b7280;font-style:italic;background-color:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb}.product-form-actions{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-top:2px solid #e5e7eb;position:sticky;bottom:0;z-index:20;box-shadow:0 -2px 8px #0000000d}.form-actions-left{display:flex;align-items:center;gap:1rem}.required-note{font-size:.875rem;color:#6b7280;font-style:italic}.form-actions-right{display:flex;gap:1rem}.attractis-loading-page{display:flex;justify-content:center;align-items:center;min-height:100vh}@media (max-width: 1024px){.form-grid,.info-grid{grid-template-columns:1fr}.product-form-tabs{padding:0 1rem}.product-form-header,.product-form-content{padding:1.5rem 1rem}.form-section{padding:1.5rem}}@media (max-width: 768px){.product-form-title{font-size:1.5rem}.form-tab{padding:.875rem 1rem;font-size:.875rem}.tab-icon{display:none}.stock-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.stock-table{min-width:600px}.product-form-actions{flex-direction:column;align-items:stretch;gap:1rem}.form-actions-left{justify-content:center}.form-actions-right{flex-direction:column}.form-actions-right button{width:100%}}.attractis-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#1a1d2199;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg);animation:attractis-modal-overlay-fade-in .2s ease}@keyframes attractis-modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}.attractis-modal{background-color:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;animation:attractis-modal-slide-up .3s cubic-bezier(.16,1,.3,1)}@keyframes attractis-modal-slide-up{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.attractis-modal--sm{width:100%;max-width:480px}.attractis-modal--md{width:100%;max-width:600px}.attractis-modal--lg{width:100%;max-width:800px}.attractis-modal--xl{width:100%;max-width:1200px}.attractis-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);border-bottom:2px solid var(--color-neutral-200);background:linear-gradient(to bottom,var(--color-neutral-50),white)}.attractis-modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0;line-height:1.4;letter-spacing:-.02em}.attractis-modal-close{background:transparent;border:1px solid transparent;line-height:1;color:var(--color-neutral-500);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s ease;flex-shrink:0;font-size:24px;font-weight:300}.attractis-modal-close:hover{background-color:var(--color-neutral-100);color:var(--color-primary-900);border-color:var(--color-neutral-300)}.attractis-modal-content{padding:var(--spacing-xl);overflow-y:auto;flex:1}.attractis-modal-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200)}.attractis-modal-footer .attractis-button{min-width:100px;font-weight:var(--font-weight-medium)}.tills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.till-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.till-card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-neutral-200)}.till-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0}.till-status{padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:capitalize}.till-status--online{background-color:#d1fae5;color:#065f46}.till-status--offline{background-color:var(--color-neutral-100);color:var(--color-neutral-600)}.till-card-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.till-detail{display:flex;justify-content:space-between;align-items:center}.till-detail-label{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.till-detail-value{font-size:var(--font-size-sm);color:var(--color-primary-900);font-weight:var(--font-weight-medium)}.till-card-actions{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-neutral-200)}.till-config-section{margin-bottom:var(--spacing-xl)}.till-config-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-secondary-200)}.till-config-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.till-config-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.till-config-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.till-config-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.till-config-checkbox span{font-size:var(--font-size-base);color:var(--color-primary-900)}.till-config-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-neutral-200)}.tills-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.tills-empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.tills-empty-state-icon svg{width:48px;height:48px}.tills-empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.tills-empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.tills-empty-state-cta{min-width:200px;padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 14px #5fa88840;transition:transform .2s ease,box-shadow .2s ease}.tills-empty-state-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5fa8884d}.layout-builder-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-neutral-200)}.screen-tabs{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;flex:1}.screen-tab{position:relative;padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-xs)}.screen-tab:hover{border-color:var(--color-primary-600);color:var(--color-primary-800);box-shadow:var(--shadow-sm)}.screen-tab--active{background:var(--color-primary-800);border-color:var(--color-primary-800);color:#fff;font-weight:var(--font-weight-semibold)}.screen-tab--add{background:var(--color-secondary-100);border-color:var(--color-secondary-300);color:var(--color-secondary-800);font-size:var(--font-size-lg);padding:var(--spacing-sm) var(--spacing-md)}.screen-tab--add:hover{background:var(--color-secondary-200);border-color:var(--color-secondary-400)}.screen-tab-badge{padding:.125rem .375rem;background:#ffffff4d;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.screen-tab--active .screen-tab-badge{background:#ffffff40}.layout-builder-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.grid-info{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-neutral-700);margin-bottom:var(--spacing-lg)}.button-grid{display:grid;gap:var(--spacing-sm);background:var(--color-neutral-100);padding:var(--spacing-lg);border-radius:var(--radius-lg);min-height:400px}.grid-button{position:relative;min-height:80px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm);box-shadow:var(--shadow-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.grid-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-600)}.grid-button--empty{background:#fff;color:var(--color-neutral-400);border:2px dashed var(--color-neutral-300)}.grid-button--product{background:#fff;color:var(--color-primary-900);border:2px solid var(--color-primary-300)}.grid-button--navigate_screen{background:var(--color-secondary-100);color:var(--color-secondary-900);border:2px solid var(--color-secondary-400)}.grid-button-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-xs);width:100%}.grid-button-label{font-weight:var(--font-weight-semibold);word-break:break-word;line-height:1.2}.attractis-modal-footer--between{justify-content:space-between}.attractis-modal-footer-actions{display:flex;gap:var(--spacing-sm)}.grid-button-price{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-secondary-700);padding:.125rem .5rem;background:#ffffffe6;border-radius:var(--radius-full)}.grid-button-icon{font-size:var(--font-size-xl);font-weight:700}.layout-list-container{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-neutral-200)}.layout-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.layout-list-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0;text-transform:uppercase;letter-spacing:.05em}.layout-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.layout-list-item{position:relative;background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all var(--transition-base);display:flex;justify-content:space-between;align-items:center}.layout-list-item:hover{border-color:var(--color-primary-400);box-shadow:var(--shadow-sm);transform:translate(2px)}.layout-list-item--active{border-color:var(--color-secondary-600);border-left-width:3px;background:#fff;box-shadow:var(--shadow-sm)}.layout-list-item-content{flex:1;min-width:0}.layout-list-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-list-item-description{font-size:var(--font-size-xs);color:var(--color-neutral-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout-list-item-delete{opacity:0;width:20px;height:20px;border-radius:50%;border:none;background:var(--color-error);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-base);margin-left:var(--spacing-xs);flex-shrink:0}.layout-list-item:hover .layout-list-item-delete{opacity:1}.layout-list-item-delete:hover{background:var(--color-error-dark)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;padding:var(--spacing-3xl) var(--spacing-lg);text-align:center}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);display:flex;align-items:center;justify-content:center;background:var(--color-neutral-50);border-radius:var(--radius-full);color:var(--color-neutral-400)}.empty-state h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0 0 var(--spacing-sm) 0}.empty-state p{font-size:var(--font-size-base);color:var(--color-neutral-600);margin:0 0 var(--spacing-xl) 0;max-width:400px}.empty-state-small{padding:var(--spacing-lg);text-align:center;color:var(--color-neutral-500);font-size:var(--font-size-sm);background:#fff;border-radius:var(--radius-md);border:1px dashed var(--color-neutral-300)}.empty-state-small p{margin:0}.attractis-modal--large{max-width:700px}.attractis-modal--sm{max-width:400px}.attractis-input-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.color-input-group{display:flex;gap:var(--spacing-sm);align-items:center}.color-input{width:50px;height:38px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.color-input:hover{border-color:var(--color-primary-600)}.attractis-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-neutral-700)}.attractis-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.attractis-checkbox-label span{font-weight:var(--font-weight-medium)}.button-preview-container{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-neutral-200)}.button-preview{width:100%;min-height:80px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md);border:2px solid rgba(0,0,0,.1)}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-md)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-neutral-200);border-top-color:var(--color-primary-600);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-container p{color:var(--color-neutral-600);font-size:var(--font-size-base)}@media (max-width: 1200px){.layout-builder-header{flex-direction:column;align-items:stretch}.screen-tabs{order:2}.layout-builder-actions{order:1;justify-content:flex-end}.button-grid{padding:var(--spacing-md)}}.modal-section{margin-bottom:var(--spacing-xl)}.modal-section:last-child{margin-bottom:0}.modal-section-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-neutral-200)}.modal-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0 0 var(--spacing-xs) 0;letter-spacing:.01em}.modal-section-description{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin:0;line-height:1.5}.input-hint{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-neutral-500);margin-left:var(--spacing-xs)}.grid-preview-badge{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-secondary-50);border:1px solid var(--color-secondary-200);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.grid-preview-label{color:var(--color-secondary-800);font-weight:var(--font-weight-medium)}.grid-preview-value{color:var(--color-primary-900);font-weight:var(--font-weight-semibold);font-family:var(--font-mono, monospace)}.grid-preview-total{color:var(--color-neutral-600);font-size:var(--font-size-xs)}.checkbox-card{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-base)}.checkbox-card:hover{border-color:var(--color-primary-300);background:#fff}.checkbox-card .attractis-checkbox-label{margin:0;align-items:flex-start;cursor:pointer}.checkbox-content{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-left:var(--spacing-sm)}.checkbox-label-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-900)}.checkbox-description{font-size:var(--font-size-xs);color:var(--color-neutral-600);line-height:1.4}.checkbox-card input[type=checkbox]:checked~.checkbox-content .checkbox-label-text{color:var(--color-primary-900)}.checkbox-card input[type=checkbox]:checked~.checkbox-content .checkbox-description{color:var(--color-secondary-700)}@media (max-width: 768px){.attractis-input-row{grid-template-columns:1fr}.screen-tabs,.layout-builder-actions{flex-wrap:wrap}.button-grid{gap:var(--spacing-xs)}.grid-button{min-height:60px;font-size:var(--font-size-xs)}.modal-section-header{margin-bottom:var(--spacing-md)}}.layout-builder-embedded{display:flex;height:100%;overflow:hidden}.layout-builder-sidebar-embedded{width:300px;min-width:300px;background:var(--color-neutral-50);border-right:2px solid var(--color-neutral-200);overflow-y:auto;padding:var(--spacing-lg)}.layout-builder-main-embedded{flex:1;overflow-y:auto;background:var(--color-background)}.till-groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.till-group-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.till-group-card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-neutral-200)}.till-group-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary-900);margin:0}.till-group-card-description{color:var(--color-neutral-600);font-size:var(--font-size-sm);margin:0;line-height:1.5}.till-group-card-info{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md) 0;border-top:1px solid var(--color-neutral-200);border-bottom:1px solid var(--color-neutral-200)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-600);font-weight:var(--font-weight-medium)}.info-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary-900)}.till-group-card-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge-active{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge-inactive{background:var(--color-text-tertiary);color:var(--color-text-secondary)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9375rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.user-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto;padding:.5rem 0}.user-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:all .2s}.user-item:hover{background:var(--color-background);border-color:var(--color-primary)}.user-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.user-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.user-name{font-weight:500;color:var(--color-text-primary);font-size:.9375rem}.user-email{font-size:.8125rem;color:var(--color-text-secondary)}.form-field{margin-bottom:1.5rem}.form-field:last-child{margin-bottom:0}.till-groups-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.till-groups-empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.till-groups-empty-state-icon svg{width:48px;height:48px}.till-groups-empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.till-groups-empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.till-groups-empty-state-cta{min-width:200px;padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 14px #5fa88840;transition:transform .2s ease,box-shadow .2s ease}.till-groups-empty-state-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5fa8884d}.till-management-container{display:flex;flex-direction:column;height:100%}.till-management-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-neutral-200);padding:0 var(--spacing-lg);background:var(--color-background);position:sticky;top:0;z-index:10}.till-management-tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;color:var(--color-neutral-600);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;margin-bottom:-2px;position:relative}.till-management-tab svg{opacity:.7;transition:opacity .2s}.till-management-tab:hover{color:var(--color-primary-700);background:var(--color-primary-50)}.till-management-tab:hover svg{opacity:1}.till-management-tab--active{color:var(--color-primary-700);border-bottom-color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}.till-management-tab--active svg{opacity:1;color:var(--color-primary-600)}.till-management-content{flex:1;overflow-y:auto}.till-management-content .attractis-layout{display:contents}.till-management-content .attractis-header{display:none}.till-management-content .attractis-layout-content,.till-management-content .attractis-main{display:contents}.till-management-content .attractis-sidebar{display:none}.till-management-content .attractis-sidebar:has(.layout-list-container){display:flex!important;flex-direction:column;width:300px;min-width:300px;background:var(--color-neutral-50);border-right:2px solid var(--color-neutral-200);overflow-y:auto}.till-management-content .attractis-sidebar .sidebar-nav{display:none}.till-management-content .attractis-sidebar .layout-list-container{display:block!important;padding:var(--spacing-lg)}.till-management-content .attractis-sidebar:has(.layout-list-container)~.attractis-main{display:flex;flex-direction:column;flex:1;overflow-y:auto}.till-management-content:has(.layout-list-container) .attractis-layout-content{display:flex;flex:1;overflow:hidden}.till-management-content:has(.layout-list-container) .attractis-layout{display:flex;flex-direction:column;height:100%}.admin-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-neutral-200)}.admin-tab{padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:3px solid transparent;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-600);cursor:pointer;transition:all var(--transition-base)}.admin-tab:hover{color:var(--color-primary-900);background-color:var(--color-neutral-50)}.admin-tab.active{color:var(--color-secondary-700);border-bottom-color:var(--color-secondary-700)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.stat-card{text-align:center}.stat-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.stat-value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary-900);margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.5px}.admin-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.admin-table{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.admin-table table{width:100%;border-collapse:collapse}.admin-table th{background-color:var(--color-primary-800);color:#fff;padding:var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-neutral-200)}.admin-table tr:last-child td{border-bottom:none}.admin-table code{background-color:var(--color-neutral-100);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-mono)}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.status-active{background-color:#d1fae5;color:#065f46}.status-suspended{background-color:#fee2e2;color:#991b1b}.status-inactive{background-color:var(--color-neutral-200);color:var(--color-neutral-700)}.admin-error{padding:var(--spacing-md);background-color:#fee2e2;color:var(--color-error);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.admin-modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.stock-overview{padding:1rem}.stock-overview-loading,.stock-overview-error{padding:3rem;text-align:center;color:#666}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.metric-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex-shrink:0}.metric-icon-value{background:#dcfce7;color:#16a34a}.metric-icon-items{background:#dbeafe;color:#2563eb}.metric-icon-alert{background:#fef3c7;color:#d97706}.metric-icon-locations{background:#f3e8ff;color:#9333ea}.metric-content{flex:1}.metric-label{font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.metric-value{font-size:1.875rem;font-weight:700;color:#1a1a1a;line-height:1}.stock-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.section-header{padding:1.5rem;border-bottom:1px solid #e5e7eb}.section-header h2{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0}.till-stock-table{overflow-x:auto}.till-stock-table table{width:100%;border-collapse:collapse}.till-stock-table th{text-align:left;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.till-stock-table td{padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;font-size:.95rem}.till-stock-table tbody tr:hover{background:#f9fafb}.till-name{font-weight:600;color:#1a1a1a}.low-stock-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background:#fef3c7;color:#d97706;border-radius:12px;font-size:.875rem;font-weight:600}.ok-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;background:#dcfce7;color:#16a34a;border-radius:12px;font-size:.875rem;font-weight:600}.view-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.view-button:hover{background:#2563eb}.no-data{text-align:center;padding:3rem!important;color:#9ca3af}.activity-list{padding:1rem}.no-activity{padding:3rem;text-align:center;color:#9ca3af}.activity-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:8px;transition:background .2s}.activity-item:hover{background:#f9fafb}.activity-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f3f4f6;border-radius:8px;color:#6b7280;flex-shrink:0}.activity-content{flex:1}.activity-title{font-size:.95rem;color:#1a1a1a;margin-bottom:.5rem}.activity-sku{color:#6b7280;font-weight:400;margin-left:.5rem}.activity-details{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.875rem}.movement-badge{padding:.25rem .75rem;border-radius:12px;font-weight:500;font-size:.8125rem}.movement-badge-transfer{background:#dbeafe;color:#2563eb}.movement-badge-adjustment{background:#fef3c7;color:#d97706}.movement-badge-sale{background:#dcfce7;color:#16a34a}.movement-badge-restock{background:#f3e8ff;color:#9333ea}.movement-badge-return{background:#fee2e2;color:#dc2626}.activity-quantity{color:#6b7280}.activity-tills{color:#6b7280;font-size:.8125rem}.activity-time{font-size:.8125rem;color:#9ca3af;white-space:nowrap}@media (max-width: 768px){.metrics-grid{grid-template-columns:1fr}.metric-card{padding:1rem}.metric-value{font-size:1.5rem}.till-stock-table th,.till-stock-table td{padding:.75rem 1rem}.activity-item{flex-direction:column;gap:.75rem}.activity-time{align-self:flex-start}}.stock-location-modal{max-width:600px}.stock-location-modal-error{padding:var(--spacing-md);background-color:#fee2e2;color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);border:1px solid #FECACA}.stock-location-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stock-location-form-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.stock-location-form-full{width:100%}.stock-location-form-checkbox{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stock-location-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary-900)}.stock-location-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-secondary-600)}.stock-location-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-neutral-200)}.stock-by-till-tab{padding:1rem}.stock-by-till-loading,.stock-by-till-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:#6b7280}.stock-by-till-empty svg{color:#d1d5db;margin-bottom:1rem}.stock-by-till-empty h3{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0 0 .5rem}.stock-by-till-empty p{margin:0;color:#6b7280}.till-selector-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.till-selector-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.till-selector-header label{font-weight:600;color:#1a1a1a;white-space:nowrap}.till-select{flex:1;max-width:400px;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .2s}.till-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.till-info{display:flex;gap:2rem;padding-top:1rem;border-top:1px solid #e5e7eb}.till-info-item{display:flex;gap:.5rem}.till-info-label{font-size:.875rem;color:#6b7280}.till-info-value{font-size:.875rem;font-weight:600;color:#1a1a1a}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.summary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;flex-shrink:0}.summary-icon-items{background:#dbeafe;color:#2563eb}.summary-icon-value{background:#dcfce7;color:#16a34a}.summary-icon-alert{background:#fef3c7;color:#d97706}.summary-content{flex:1}.summary-label{font-size:.8125rem;color:#6b7280;margin-bottom:.25rem}.summary-value{font-size:1.5rem;font-weight:700;color:#1a1a1a;line-height:1}.stock-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.stock-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.stock-table-loading,.stock-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.stock-table-empty svg{color:#d1d5db;margin-bottom:1rem}.stock-table{width:100%;border-collapse:collapse}.stock-table th{text-align:left;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.stock-table td{padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;font-size:.95rem}.stock-table tbody tr{transition:background .2s}.stock-table tbody tr:hover{background:#f9fafb}.low-stock-row{background:#fef3c7}.low-stock-row:hover{background:#fde68a!important}.sku-cell{font-family:Monaco,Courier New,monospace;font-size:.875rem;color:#6b7280}.product-name-cell{font-weight:500;color:#1a1a1a}.stock-level-cell{font-weight:600}.stock-level{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:.25rem .5rem;border-radius:6px;background:#f3f4f6;color:#1a1a1a}.stock-level-low{background:#fef3c7;color:#d97706}.value-cell{font-weight:600;color:#16a34a}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:12px;font-size:.8125rem;font-weight:600}.status-ok{background:#dcfce7;color:#16a34a}.status-low{background:#fef3c7;color:#d97706}@media (max-width: 768px){.till-selector-header{flex-direction:column;align-items:stretch}.till-select{max-width:none}.till-info{flex-direction:column;gap:.75rem}.summary-cards{grid-template-columns:1fr}.stock-toolbar{flex-direction:column}.search-input{min-width:0}.stock-table-container{overflow-x:auto}.stock-table th,.stock-table td{padding:.75rem 1rem;font-size:.875rem}}.stock-movements-tab{padding:1rem}.movements-actions{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.action-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.action-button-transfer{background:#3b82f6}.action-button-transfer:hover{background:#2563eb}.action-button-adjust{background:#16a34a}.action-button-adjust:hover{background:#15803d}.movements-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.movements-filters{display:flex;gap:.75rem;flex-wrap:wrap;flex:1}.filter-select,.filter-date{padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;background:#fff}.filter-select:focus,.filter-date:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.export-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.export-button:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.export-button:disabled{opacity:.5;cursor:not-allowed}.movements-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.movements-loading,.movements-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.movements-empty svg{color:#d1d5db;margin-bottom:1rem}.movements-table{width:100%;border-collapse:collapse}.movements-table th{text-align:left;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.movements-table td{padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;font-size:.95rem}.movements-table tbody tr:hover{background:#f9fafb}.date-cell{font-size:.875rem;color:#6b7280;white-space:nowrap}.product-cell{min-width:200px}.product-name{font-weight:500;color:#1a1a1a}.product-sku{font-size:.8125rem;color:#6b7280;font-family:Monaco,Courier New,monospace}.type-badge{display:inline-flex;padding:.375rem .75rem;border-radius:12px;font-size:.8125rem;font-weight:600;white-space:nowrap}.badge-transfer{background:#dbeafe;color:#2563eb}.badge-adjustment{background:#fef3c7;color:#d97706}.badge-sale{background:#dcfce7;color:#16a34a}.badge-restock{background:#f3e8ff;color:#9333ea}.badge-return{background:#fee2e2;color:#dc2626}.quantity-cell{font-weight:600;color:#1a1a1a}.reason-cell{color:#6b7280;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-cell{font-size:.875rem;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#1a1a1a}.modal-form{padding:1.5rem}.form-error{padding:.75rem 1rem;background:#fee2e2;color:#dc2626;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;font-family:inherit}.adjustment-type-buttons{display:flex;gap:.5rem}.adjustment-type-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:2px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.adjustment-type-button:hover{border-color:#9ca3af;background:#f9fafb}.adjustment-type-button.active{border-color:#3b82f6;background:#eff6ff;color:#3b82f6}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb;margin-top:1rem}.button-secondary,.button-primary{padding:.625rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.button-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.button-secondary:hover{background:#f9fafb}.button-primary{background:#3b82f6;color:#fff}.button-primary:hover:not(:disabled){background:#2563eb}.button-primary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.movements-actions{flex-direction:column}.action-button{width:100%;justify-content:center}.movements-toolbar{flex-direction:column;align-items:stretch}.movements-filters{flex-direction:column}.export-button{width:100%;justify-content:center}.movements-table-container{overflow-x:auto}.movements-table th,.movements-table td{padding:.75rem 1rem;font-size:.875rem}.form-row{grid-template-columns:1fr}.adjustment-type-buttons{flex-direction:column}.modal-actions{flex-direction:column-reverse}.button-secondary,.button-primary{width:100%}}.movements-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.movements-empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.movements-empty-state-icon svg{width:48px;height:48px}.movements-empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.movements-empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.supplier-modal{max-width:700px}.supplier-modal-error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.supplier-form{display:flex;flex-direction:column}.supplier-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.supplier-form-full{grid-column:1 / -1}.supplier-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-gray-200)}@media (max-width: 768px){.supplier-modal{max-width:95vw;margin:1rem}.supplier-form-grid{grid-template-columns:1fr}}.suppliers-tab{padding:1rem}.suppliers-header{margin-bottom:1.5rem}.add-supplier-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s}.add-supplier-button:hover{background:#2563eb}.suppliers-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.75rem;flex:1;min-width:250px;padding:.625rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;transition:border-color .2s}.search-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-box svg{color:#9ca3af;flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:.95rem;background:transparent}.status-filter{display:flex;gap:.5rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.25rem}.filter-button{padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.filter-button:hover{background:#f3f4f6;color:#1a1a1a}.filter-button.active{background:#3b82f6;color:#fff}.suppliers-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.suppliers-loading,.suppliers-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280;text-align:center}.empty-hint{font-size:.875rem;color:#9ca3af;margin-top:.5rem}.suppliers-table{width:100%;border-collapse:collapse}.suppliers-table th{text-align:left;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb}.suppliers-table td{padding:1rem 1.5rem;border-bottom:1px solid #f3f4f6;font-size:.95rem}.suppliers-table tbody tr{transition:background .2s}.suppliers-table tbody tr:hover{background:#f9fafb}.company-cell{font-weight:600;color:#1a1a1a}.email-cell{font-size:.875rem;color:#6b7280}.status-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:12px;font-size:.8125rem;font-weight:600;text-transform:capitalize}.status-active{background:#dcfce7;color:#16a34a}.status-inactive{background:#f3f4f6;color:#6b7280}.action-buttons{display:flex;gap:.5rem}.action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.action-button:hover{background:#f3f4f6}.action-edit:hover{color:#3b82f6;background:#eff6ff}.action-delete:hover{color:#dc2626;background:#fee2e2}@media (max-width: 768px){.suppliers-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:0}.status-filter{width:100%;justify-content:space-between}.suppliers-table-container{overflow-x:auto}.suppliers-table th,.suppliers-table td{padding:.75rem 1rem;font-size:.875rem}.suppliers-table th:nth-child(n+5),.suppliers-table td:nth-child(n+5){display:none}}.suppliers-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.suppliers-empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.suppliers-empty-state-icon svg{width:48px;height:48px}.suppliers-empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.suppliers-empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.stock-tabs-container{margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-neutral-200)}.stock-tabs{display:flex;gap:var(--spacing-xs)}.stock-tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-neutral-600);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);position:relative;bottom:-2px;border-radius:var(--radius-md) var(--radius-md) 0 0}.stock-tab:hover{color:var(--color-secondary-600);background-color:var(--color-neutral-50)}.stock-tab--active{color:var(--color-secondary-600);border-bottom-color:var(--color-secondary-600);background:transparent;font-weight:var(--font-weight-semibold)}.stock-tab svg{flex-shrink:0;width:20px;height:20px}.stock-tab-content{animation:attractis-fade-in .3s ease-in}@media (max-width: 768px){.stock-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.stock-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);white-space:nowrap}.stock-tab span{display:none}.stock-tab svg{margin:0}}.event-calendar{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.calendar-navigation{display:flex;align-items:center;gap:1rem}.calendar-title{margin:0;font-size:1.25rem;color:var(--color-primary-800);min-width:200px;text-align:center}.calendar-controls{display:flex;gap:.75rem;align-items:center}.view-toggle{display:flex;gap:.25rem}.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-neutral-50);border-radius:6px}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-gray-700)}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-dot.availability-high{background:#d1fae5;border:2px solid #065F46}.legend-dot.availability-medium{background:#fef3c7;border:2px solid #92400E}.legend-dot.availability-low{background:#fee2e2;border:2px solid #991B1B}.legend-dot.availability-full{background:#e5e7eb;border:2px solid #374151}.legend-dot.availability-closed{background:#f3f4f6;border:2px solid #9CA3AF}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.weekday-label{text-align:center;font-weight:600;font-size:.875rem;color:var(--color-gray-600);padding:.5rem}.calendar-grid{display:grid;gap:.5rem}.month-grid,.week-grid{grid-template-columns:repeat(7,1fr)}.calendar-day{aspect-ratio:1;border:2px solid var(--color-neutral-200);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;position:relative;background:#fff}.calendar-day.empty{border:none;cursor:default}.calendar-day:not(.empty):hover{border-color:var(--color-secondary-500);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.calendar-day.selected{border-color:var(--color-secondary-600);background:var(--color-secondary-50, #f0f9ff)}.calendar-day.today{border-color:var(--color-primary-700);font-weight:600}.day-number{font-size:1rem;color:var(--color-primary-800)}.availability-indicator{width:8px;height:8px;border-radius:50%;margin-top:.25rem}.calendar-day.availability-high{background:#d1fae5}.calendar-day.availability-high .availability-indicator{background:#065f46}.calendar-day.availability-medium{background:#fef3c7}.calendar-day.availability-medium .availability-indicator{background:#92400e}.calendar-day.availability-low{background:#fee2e2}.calendar-day.availability-low .availability-indicator{background:#991b1b}.calendar-day.availability-full{background:#e5e7eb}.calendar-day.availability-full .availability-indicator{background:#374151}.calendar-day.availability-closed{background:#f3f4f6;opacity:.6}.calendar-day.availability-closed .availability-indicator{background:#9ca3af}.calendar-day.availability-closed .day-number{text-decoration:line-through;color:#9ca3af}.week-day{aspect-ratio:auto;min-height:120px;padding:1rem;align-items:stretch;justify-content:flex-start}.week-day-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.day-name{font-size:.75rem;text-transform:uppercase;color:var(--color-gray-600);font-weight:600}.week-day .day-number{font-size:1.5rem}.week-day-status{display:flex;align-items:center;gap:.5rem}.week-day-status .availability-indicator{width:10px;height:10px}.status-text{font-size:.875rem;font-weight:500}.week-day-age-group{margin-top:.5rem;padding:.25rem .5rem;background:var(--color-secondary-100, #dbeafe);color:var(--color-secondary-800, #1e40af);border-radius:4px;font-size:.75rem;font-weight:500;text-align:center}@media (max-width: 1024px){.calendar-header{flex-direction:column;align-items:stretch}.calendar-navigation,.calendar-controls{justify-content:center}}@media (max-width: 768px){.calendar-weekdays{display:none}.month-grid{grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-day{padding:.25rem;font-size:.875rem}.day-number{font-size:.875rem}.availability-indicator{width:6px;height:6px}.week-grid{grid-template-columns:1fr}.calendar-legend{font-size:.75rem;gap:.5rem}.legend-dot{width:10px;height:10px}}.capacity-grid-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.capacity-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.capacity-grid-header h3{margin:0;color:var(--color-primary-800)}.grid-actions{display:flex;gap:.5rem}.capacity-grid-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--color-neutral-50);border-radius:6px;font-size:.875rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.legend-color.availability-high{background:#d1fae5}.legend-color.availability-medium{background:#fef3c7}.legend-color.availability-low{background:#fee2e2}.legend-color.availability-full{background:#e5e7eb}.legend-color.availability-closed{background:#f3f4f6}.capacity-grid-scroll{overflow-x:auto;margin-bottom:1rem;border-radius:6px;border:1px solid var(--color-neutral-200)}.capacity-grid-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.capacity-grid-table thead{position:sticky;top:0;z-index:10;background:var(--color-neutral-100)}.capacity-grid-table th{padding:.75rem;text-align:center;font-weight:600;border-bottom:2px solid var(--color-neutral-300);background:var(--color-neutral-100);white-space:nowrap}.date-header{text-align:left;position:sticky;left:0;z-index:11;background:var(--color-neutral-100);border-right:2px solid var(--color-neutral-300)}.time-header{min-width:80px}.capacity-grid-table td{padding:.75rem;text-align:center;border-bottom:1px solid var(--color-neutral-200);transition:all .2s}.date-cell{text-align:left;font-weight:500;position:sticky;left:0;z-index:5;background:#fff;border-right:2px solid var(--color-neutral-200);white-space:nowrap}.date-cell-content{display:flex;flex-direction:column;gap:.25rem}.date-text{font-weight:500}.date-age-group{display:inline-block;padding:.125rem .5rem;background:var(--color-secondary-100, #dbeafe);color:var(--color-secondary-800, #1e40af);border-radius:4px;font-size:.7rem;font-weight:500}.capacity-cell{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.capacity-cell.has-slot:hover{transform:scale(1.05);box-shadow:0 0 0 2px var(--color-secondary-500) inset;z-index:2}.capacity-cell.selected{box-shadow:0 0 0 3px var(--color-secondary-600) inset!important;z-index:3}.capacity-cell.availability-high{background:#d1fae5;color:#065f46}.capacity-cell.availability-medium{background:#fef3c7;color:#92400e}.capacity-cell.availability-low{background:#fee2e2;color:#991b1b}.capacity-cell.availability-full{background:#e5e7eb;color:#374151}.capacity-cell.availability-closed{background:#f3f4f6;color:#9ca3af;text-decoration:line-through;opacity:.6}.booked-count{font-weight:600}.capacity-divider{margin:0 .25rem}.capacity-count{font-weight:400;opacity:.8}.no-slot{color:var(--color-gray-400)}.capacity-grid-summary{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:var(--color-neutral-50);border-radius:6px;font-size:.875rem}.summary-stat{display:flex;gap:.5rem}.summary-stat strong{color:var(--color-primary-800)}.capacity-grid-empty{padding:3rem;text-align:center;color:var(--color-gray-600);background:var(--color-neutral-50);border-radius:8px}@media (max-width: 768px){.capacity-grid-header{flex-direction:column;align-items:stretch;gap:.5rem}.grid-actions{justify-content:flex-end}.capacity-grid-legend{font-size:.75rem;gap:.5rem}.legend-color{width:16px;height:16px}.capacity-grid-table{font-size:.75rem}.capacity-grid-table th,.capacity-grid-table td{padding:.5rem}.time-header{min-width:60px}.capacity-grid-summary{flex-direction:column;gap:.5rem}}.events-list-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.list-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.search-filter{display:flex;gap:.75rem}.search-filter input{flex:1}.search-filter select{min-width:150px}.bulk-actions{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--color-secondary-50, #f0f9ff);border-radius:6px}.selected-count{font-weight:600;color:var(--color-primary-800);margin-right:auto}.list-info{font-size:.875rem;color:var(--color-gray-600);margin-bottom:1rem}.events-list-scroll{overflow-x:auto;border-radius:6px;border:1px solid var(--color-neutral-200)}.events-list-table{width:100%;border-collapse:collapse;font-size:.875rem}.events-list-table thead{background:var(--color-neutral-100);position:sticky;top:0;z-index:5}.events-list-table th{padding:.75rem;text-align:left;font-weight:600;border-bottom:2px solid var(--color-neutral-300);white-space:nowrap}.events-list-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.events-list-table th.sortable:hover{background:var(--color-neutral-200)}.sort-icon{margin-left:.25rem;color:var(--color-gray-500)}.checkbox-col,.expand-col{width:40px;text-align:center}.numeric-col{text-align:right}.date-col{min-width:150px}.actions-col{text-align:right}.events-list-table tbody tr{border-bottom:1px solid var(--color-neutral-200);transition:background .2s}.instance-row{cursor:pointer}.instance-row:hover{background:var(--color-neutral-50)}.instance-row.selected{background:var(--color-secondary-50, #f0f9ff)}.events-list-table td{padding:.75rem}.expand-button{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--color-gray-600);padding:.25rem;transition:transform .2s}.expand-button:hover{color:var(--color-primary-800);transform:scale(1.2)}.age-group-badge{display:inline-block;padding:.125rem .5rem;background:var(--color-secondary-100, #dbeafe);color:var(--color-secondary-800, #1e40af);border-radius:4px;font-size:.75rem;font-weight:500;margin-bottom:.25rem}.product-name{color:var(--color-gray-600);font-size:.8125rem}.availability-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.875rem}.availability-badge.availability-high{background:#d1fae5;color:#065f46}.availability-badge.availability-medium{background:#fef3c7;color:#92400e}.availability-badge.availability-low{background:#fee2e2;color:#991b1b}.availability-badge.availability-full{background:#e5e7eb;color:#374151}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8125rem;font-weight:500;text-transform:capitalize}.status-badge.status-active{background:var(--color-green-100, #d1fae5);color:var(--color-green-700, #047857)}.status-badge.status-closed{background:var(--color-gray-100);color:var(--color-gray-700)}.expanded-row{background:var(--color-neutral-50)}.expanded-row td{padding:1.5rem}.slots-breakdown h4{margin:0 0 1rem;color:var(--color-primary-800)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.slot-card{padding:.75rem;border-radius:6px;text-align:center;border:2px solid transparent;transition:all .2s}.slot-card.availability-high{background:#d1fae5;border-color:#065f46}.slot-card.availability-medium{background:#fef3c7;border-color:#92400e}.slot-card.availability-low{background:#fee2e2;border-color:#991b1b}.slot-card.availability-full{background:#e5e7eb;border-color:#374151}.slot-card.availability-closed{background:#f3f4f6;border-color:#9ca3af;opacity:.6}.slot-card{display:flex;flex-direction:column;gap:.5rem;align-items:center}.slot-register-link{margin-top:.25rem;text-decoration:none;display:inline-block}.slot-time{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary-800)}.slot-capacity{font-size:.875rem;margin-bottom:.25rem}.slot-status{font-size:.75rem;text-transform:uppercase;color:var(--color-gray-600)}.empty-list{padding:3rem;text-align:center;color:var(--color-gray-600)}@media (max-width: 1024px){.bulk-actions{flex-wrap:wrap}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@media (max-width: 768px){.search-filter{flex-direction:column}.search-filter select{width:100%}.events-list-table{font-size:.75rem}.events-list-table th,.events-list-table td{padding:.5rem}.events-list-table th:nth-child(5),.events-list-table td:nth-child(5),.events-list-table th:nth-child(6),.events-list-table td:nth-child(6){display:none}.slots-grid{grid-template-columns:repeat(2,1fr)}}.bulk-edit-modal{max-width:700px;animation:modalSlideIn .3s ease-out}.bulk-edit-modal .attractis-modal__header{background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 50%,var(--color-secondary-900) 100%);color:#fff;padding:1.5rem 2rem;border-bottom:none;box-shadow:0 2px 8px #5fa88833}.bulk-edit-modal .attractis-modal__header{position:relative}.bulk-edit-modal .attractis-modal__header h2{color:#fff;font-size:1.125rem;font-weight:600;display:flex;align-items:center;gap:.625rem}.bulk-edit-modal .attractis-modal__header .attractis-modal__close{position:absolute;top:50%;right:2rem;transform:translateY(-50%);width:32px;height:32px;border-radius:var(--radius-md);background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.25rem;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);padding:0;line-height:1}.bulk-edit-modal .attractis-modal__header .attractis-modal__close:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-50%) scale(1.05)}.bulk-edit-modal .attractis-modal__header .attractis-modal__close:active{transform:translateY(-50%) scale(.95)}.bulk-edit-modal .attractis-modal__header h2:before{display:none}.bulk-edit-modal .attractis-modal__body{padding:1.5rem 2rem;background:linear-gradient(180deg,#ffffff 0%,var(--color-neutral-50) 100%)}.bulk-edit-modal .attractis-modal__footer{padding:1.25rem 2rem;background:var(--color-neutral-100);border-top:2px solid var(--color-neutral-200);display:flex;justify-content:flex-end;gap:.75rem}.bulk-edit-modal .attractis-modal__footer button{min-width:120px;font-weight:600;padding:.625rem 1.5rem;border-radius:var(--radius-lg);transition:all var(--transition-base)}.bulk-edit-modal .attractis-modal__footer button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.bulk-error{background:#fef2f2;border-left:4px solid var(--color-error);color:#991b1b;padding:.875rem 1rem;border-radius:var(--radius-md);margin-bottom:1.25rem;font-size:.9rem}.bulk-info{padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-secondary-100) 0%,var(--color-secondary-200) 100%);border:2px solid var(--color-secondary-600);border-radius:var(--radius-xl);margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem;box-shadow:0 2px 8px #5fa88826}.bulk-info:before{content:"";display:block;width:8px;height:8px;background:var(--color-secondary-600);border-radius:50%;flex-shrink:0}.bulk-info p{margin:0;color:var(--color-secondary-900);font-size:.95rem;font-weight:600}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-weight:600;margin-bottom:.625rem;color:var(--color-neutral-700);font-size:.85rem;text-transform:uppercase;letter-spacing:.75px}.form-group select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid var(--color-neutral-200);border-radius:var(--radius-lg);font-size:.95rem;font-weight:500;color:var(--color-neutral-700);background:#fff;cursor:pointer;transition:all var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%235FA888'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem}.form-group select:hover{border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa8881a}.form-group select:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa88833}.form-helper{display:block;font-size:.85rem;color:var(--color-neutral-600);margin-top:.375rem;font-style:italic}.form-group input[type=number]{width:100%;padding:.75rem 1rem;border:2px solid var(--color-neutral-200);border-radius:var(--radius-lg);font-size:1rem;font-weight:600;color:var(--color-neutral-700);background:#fff;transition:all var(--transition-base)}.form-group input[type=number]:hover{border-color:var(--color-secondary-600)}.form-group input[type=number]:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa88833}.form-group input[type=number]::placeholder{color:var(--color-neutral-400);font-weight:400}.status-options{display:flex;flex-direction:column;gap:.625rem}.radio-option{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;border:2px solid var(--color-neutral-200);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);background:#fff}.radio-option:hover{border-color:var(--color-secondary-600);background:var(--color-secondary-50);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.radio-option input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-secondary-600)}.radio-option span{flex:1;font-size:.9rem;color:var(--color-neutral-700)}.radio-option input[type=radio]:checked+span{font-weight:600;color:var(--color-secondary-900)}.radio-option:has(input[type=radio]:checked){border-color:var(--color-secondary-600);background:linear-gradient(135deg,var(--color-secondary-100) 0%,var(--color-secondary-50) 100%);box-shadow:0 2px 6px #5fa88826}.warning-box{padding:1rem 1.25rem;background:var(--color-accent-50);border:1px solid var(--color-accent-200);border-left:4px solid var(--color-accent-500);border-radius:var(--radius-lg);margin-bottom:1.25rem}.warning-box strong{display:block;color:var(--color-accent-800);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.warning-box p{margin:0;color:var(--color-accent-700);font-size:.875rem}.preview-section{margin-top:1.25rem;padding:1.25rem;background:var(--color-secondary-50);border:2px solid var(--color-secondary-600);border-radius:var(--radius-xl);box-shadow:0 2px 8px #5fa8881a}.preview-section h4{margin:0 0 .875rem;font-size:.85rem;text-transform:uppercase;color:var(--color-secondary-900);letter-spacing:.75px;font-weight:600}.preview-section h4:before{display:none}.preview-list{max-height:200px;overflow-y:auto;padding-right:.5rem;display:flex;flex-direction:column;gap:.5rem}.preview-list::-webkit-scrollbar{width:8px}.preview-list::-webkit-scrollbar-track{background:var(--color-secondary-100);border-radius:var(--radius-sm)}.preview-list::-webkit-scrollbar-thumb{background:var(--color-secondary-600);border-radius:var(--radius-sm)}.preview-list::-webkit-scrollbar-thumb:hover{background:var(--color-secondary-700)}.preview-item{padding:.75rem 1rem;border-left:4px solid var(--color-secondary-600);font-size:.9rem;color:var(--color-secondary-900);font-weight:600;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-base);display:flex;align-items:center}.preview-item:before{display:none}.preview-item:hover{transform:translate(3px);box-shadow:0 2px 6px #5fa88826}.preview-item:last-child{margin-bottom:0}.preview-item.more{font-style:italic;color:var(--color-secondary-700);background:var(--color-secondary-100);border:1px dashed var(--color-secondary-600);text-align:center;justify-content:center;border-left:none}.preview-item.more:before{display:none}.confirmation-box{padding:2rem 1.5rem;text-align:center;background:linear-gradient(135deg,var(--color-accent-50) 0%,var(--color-accent-100) 100%);border:2px solid var(--color-accent-500);border-radius:var(--radius-xl);margin:1rem 0}.confirmation-box:before{display:none}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.confirmation-box h3{margin:0 0 1rem;color:var(--color-accent-800);font-size:1.125rem;font-weight:700}.confirmation-box p{margin:.5rem 0;color:var(--color-accent-700);font-size:.9rem;font-weight:500}@media (max-width: 640px){.bulk-edit-modal{max-width:100%}.bulk-edit-modal .attractis-modal__header,.bulk-edit-modal .attractis-modal__body,.bulk-edit-modal .attractis-modal__footer{padding-left:1.25rem;padding-right:1.25rem}.bulk-edit-modal .attractis-modal__footer{flex-direction:column}.bulk-edit-modal .attractis-modal__footer button{width:100%}.bulk-edit-modal .attractis-modal__header .attractis-modal__close{right:1.25rem}}.event-exception-modal{max-width:700px}.event-exception-modal .attractis-modal__header{background:linear-gradient(135deg,#065f46,#047857);color:#fff;padding:1.5rem 2rem;border-bottom:none}.event-exception-modal .attractis-modal__header h2{color:#fff;font-size:1.125rem;font-weight:600}.event-exception-modal .attractis-modal__body{padding:1.5rem 2rem}.event-exception-modal .attractis-modal__footer{padding:1.25rem 2rem;background:#f9fafb;border-top:1px solid #e5e7eb}.exception-error{background:#fef2f2;border-left:4px solid #dc2626;color:#991b1b;padding:.875rem 1rem;border-radius:6px;margin-bottom:1.25rem;font-size:.9rem}.event-details{display:flex;gap:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1.25rem;flex-wrap:wrap}.detail-item{display:flex;gap:.5rem;align-items:center;font-size:.9rem}.detail-item strong{color:#064e3b;font-weight:600}.exception-actions{padding:1.25rem;background:#fff7ed;border:1px solid #fed7aa;border-left:4px solid #ea580c;border-radius:8px;margin-bottom:1.25rem}.exception-actions h3{margin:0 0 .75rem;color:#9a3412;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.action-buttons{display:flex;gap:.75rem;margin-bottom:.5rem}.action-description{font-size:.85rem;color:#78350f;margin:0;font-style:italic}.slots-section{margin-top:1.25rem}.slots-section h3{margin:0 0 .875rem;color:#065f46;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.no-slots{padding:1.5rem;text-align:center;color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;font-size:.9rem}.slots-list{display:grid;gap:.875rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.slot-exception-card{padding:1rem 1.25rem;border-radius:8px;border:2px solid;transition:all .2s;box-shadow:0 1px 3px #0000000f}.slot-exception-card:hover{transform:translateY(-1px);box-shadow:0 4px 6px #00000014}.slot-exception-card.availability-high{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#059669}.slot-exception-card.availability-medium{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#d97706}.slot-exception-card.availability-low{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#dc2626}.slot-exception-card.availability-full{background:linear-gradient(135deg,#e5e7eb,#d1d5db);border-color:#6b7280}.slot-exception-card.availability-closed{background:#f3f4f6;border-color:#9ca3af;opacity:.7}.slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem}.slot-time-large{font-size:1.375rem;font-weight:700;color:#064e3b;letter-spacing:-.5px}.slot-stats{display:flex;gap:1.5rem;margin-bottom:.875rem;padding:.75rem;background:#ffffff80;border-radius:6px}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-weight:500;font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;color:#064e3b;line-height:1}.slot-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.capacity-control{display:flex;align-items:center;gap:.5rem}.capacity-control label{font-weight:600;font-size:.85rem;color:#374151}.capacity-input{width:90px;padding:.5rem .75rem;border:2px solid #d1d5db;border-radius:6px;font-size:.95rem;font-weight:600;transition:border-color .2s}.capacity-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:20px;font-size:.8125rem;font-weight:600;text-transform:capitalize;border:2px solid}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.status-badge.status-active{background:#d1fae5;color:#065f46;border-color:#10b981}.status-badge.status-closed{background:#f3f4f6;color:#4b5563;border-color:#9ca3af}.slots-list::-webkit-scrollbar{width:8px}.slots-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.slots-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.slots-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.event-exception-modal{max-width:100%}.event-details{flex-direction:column;gap:.75rem;padding:.875rem 1rem}.action-buttons{flex-direction:column}.slot-header{flex-direction:column;align-items:flex-start;gap:.5rem}.slot-time-large{font-size:1.25rem}.slot-stats{width:100%;gap:1rem}.stat-value{font-size:1.25rem}.slot-controls{flex-direction:column;align-items:stretch;width:100%}.capacity-control{width:100%;justify-content:space-between}.capacity-input{width:100px}}.booking-page-config-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:flex;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--color-primary-700)}.form-group textarea{padding:.75rem;border:1px solid var(--color-neutral-200);border-radius:.5rem;font-family:inherit;font-size:1rem;resize:vertical}.form-group textarea:focus{outline:none;border-color:var(--color-secondary-600)}.booking-url-section{background:linear-gradient(135deg,var(--color-secondary-500) 0%,var(--color-secondary-600) 100%);padding:1.5rem;border-radius:.75rem;color:#fff;margin-top:1rem}.booking-url-section label{display:block;font-weight:600;margin-bottom:.5rem;color:#fff;font-size:1.125rem}.url-help-text{color:#ffffffe6;margin-bottom:1rem;font-size:.875rem}.url-display{display:flex;gap:.75rem;margin-bottom:.5rem}.url-display input,.url-display .url-input{flex:1;padding:.875rem 1rem;border:2px solid rgba(255,255,255,.3);border-radius:.5rem;background:#fff;font-family:monospace;font-size:.9375rem;color:var(--color-primary-700);cursor:text}.url-display input:focus,.url-display .url-input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #fff3}.booking-modal-icon{width:1.125rem;height:1.125rem;flex-shrink:0;vertical-align:middle;margin-right:.5rem}.booking-modal-icon--inline{margin-right:.375rem;margin-bottom:-.15em}.booking-modal-icon--warning{margin-right:.5rem;margin-bottom:-.2em;display:inline-block}.url-display .booking-modal-icon{margin-right:.5rem}.url-copied-message{color:#fffffff2;font-size:.875rem;margin-top:.5rem;font-weight:600;display:flex;align-items:center;gap:.375rem}.url-warning{background:#ffffff26;padding:1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.3)}.url-warning p{margin:.5rem 0;color:#fff}.url-warning a{color:#fff;text-decoration:underline;font-weight:600}.url-warning a:hover{text-decoration:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--color-neutral-200)}.error-message{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.loading{text-align:center;padding:2rem;color:var(--color-neutral-800)}.events-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--color-secondary-600);margin-bottom:.5rem}.stat-label{font-size:.875rem;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em}.events-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:1rem;border-radius:var(--radius-md);margin-bottom:1rem}.events-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-neutral-200);overflow-x:auto}.tab-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-weight:500;color:var(--color-neutral-600);transition:all var(--transition-base);white-space:nowrap;margin-bottom:-2px}.tab-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.events-header-icon{width:1.125rem;height:1.125rem;margin-right:.5rem;flex-shrink:0}.tab-button:hover{color:var(--color-secondary-600);background:var(--color-neutral-50)}.tab-button.active{color:var(--color-secondary-700);border-bottom-color:var(--color-secondary-600)}.events-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.events-filters .attractis-input{flex:1;min-width:150px}.events-tab-content{margin-top:1.5rem}.events-loading{display:flex;justify-content:center;padding:4rem 0}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.templates-grid .empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:4rem 2rem;text-align:center;max-width:100%}.templates-grid .empty-state h3,.templates-grid .empty-state p,.templates-grid .empty-state button{max-width:420px}.empty-state-templates{background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;padding:3.5rem 2.5rem;box-shadow:0 4px 24px #0000000a}.empty-state-templates .empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.empty-state-templates .empty-state-icon svg{width:48px;height:48px}.empty-state-templates .empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.empty-state-templates .empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.empty-state-templates .empty-state-cta{min-width:200px;padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 14px #5fa88840;transition:transform .2s ease,box-shadow .2s ease}.empty-state-templates .empty-state-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5fa8884d}.template-card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.template-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.template-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.template-title-group{display:flex;flex-direction:column;gap:.5rem;flex:1}.template-header h3{margin:0;color:var(--color-primary-800);font-size:1.125rem}.template-age-badge{display:inline-block;align-self:flex-start;padding:.25rem .625rem;background:var(--color-secondary-100, #dbeafe);color:var(--color-secondary-800, #1e40af);border-radius:4px;font-size:.8125rem;font-weight:500}.template-info{margin-bottom:1.5rem}.template-info p{margin:.5rem 0;font-size:.875rem;color:var(--color-neutral-700)}.template-info strong{color:var(--color-primary-800)}.template-actions{display:flex;gap:.5rem;flex-wrap:wrap}.empty-state{padding:4rem 2rem;text-align:center;background:var(--color-neutral-50);border-radius:var(--radius-lg)}.empty-state h3{margin:0 0 1rem;color:var(--color-primary-800)}.empty-state p{margin:0 0 1.5rem;color:var(--color-neutral-600)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;text-transform:capitalize}.status-badge.status-active{background:var(--color-secondary-100);color:var(--color-secondary-700)}.status-badge.status-inactive,.status-badge.status-closed{background:var(--color-neutral-100);color:var(--color-neutral-700)}@media (max-width: 1024px){.events-stats{grid-template-columns:repeat(2,1fr)}.templates-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.events-stats{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.events-tabs{gap:.25rem}.tab-button{padding:.5rem 1rem;font-size:.875rem}.events-filters{flex-direction:column}.events-filters .attractis-input{width:100%}.templates-grid{grid-template-columns:1fr}.template-actions{flex-direction:column}.template-actions button{width:100%}}.event-form-page{padding:1.5rem 2rem;max-width:100%;margin:0;animation:pageLoad .4s ease}@keyframes pageLoad{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.event-form-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-neutral-200)}.back-button{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary-600);text-decoration:none;font-weight:600;font-size:.9375rem;margin-bottom:1.25rem;transition:all .3s ease;padding:.5rem .75rem;border-radius:6px;margin-left:-.75rem}.back-button:hover{color:var(--color-primary-700);background:var(--color-primary-50, #f0f9ff);transform:translate(-4px)}.back-button svg{flex-shrink:0;transition:transform .3s ease}.back-button:hover svg{transform:translate(-2px)}.event-form-title{margin:0 0 .75rem;font-size:2.25rem;font-weight:800;color:var(--color-primary-800);background:linear-gradient(135deg,var(--color-primary-800),var(--color-secondary-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.event-form-subtitle{margin:0;font-size:1.0625rem;color:var(--color-gray-600);font-weight:500}.wizard-progress{display:flex;align-items:center;background:linear-gradient(135deg,#fff,#f8fafb);padding:1.5rem 2rem;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:1.5rem;position:relative;overflow:hidden}.wizard-progress:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-secondary-600) 0%,var(--color-secondary-500) 50%,var(--color-secondary-600) 100%);background-size:200% 100%;animation:shimmer 3s infinite}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.wizard-step{display:flex;align-items:center;gap:1rem;flex:1;position:relative;z-index:1}.step-circle{width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid var(--color-neutral-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000f;position:relative}.step-circle:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;opacity:0;transition:opacity .4s ease;background:radial-gradient(circle,rgba(95,168,136,.2) 0%,transparent 70%)}.wizard-step.active .step-circle:after,.wizard-step.completed .step-circle:after{opacity:1}.step-number{font-size:1.25rem;font-weight:800;color:var(--color-gray-500);transition:all .3s ease}.wizard-step.active .step-circle{background:linear-gradient(135deg,var(--color-secondary-600) 0%,var(--color-secondary-700) 100%);border-color:var(--color-secondary-600);transform:scale(1.15);box-shadow:0 8px 24px #5fa88859,0 0 0 4px #5fa8881a;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 8px 24px #5fa88859,0 0 0 4px #5fa8881a}50%{box-shadow:0 8px 24px #5fa88873,0 0 0 8px #5fa88826}}.wizard-step.active .step-number{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1)}.wizard-step.completed .step-circle{background:linear-gradient(135deg,var(--color-secondary-700) 0%,var(--color-secondary-800, #00695c) 100%);border-color:var(--color-secondary-700);box-shadow:0 4px 12px #5fa88840}.wizard-step.completed .step-number{color:#fff;font-size:1.5rem}.step-icon{width:1.25rem;height:1.25rem;color:#fff}.step-icon--check{width:1.5rem;height:1.5rem}.step-info{display:flex;flex-direction:column;gap:.375rem}.step-label{font-weight:700;font-size:1rem;color:var(--color-gray-700);transition:all .3s ease}.wizard-step.active .step-label{color:var(--color-secondary-700);font-size:1.0625rem}.wizard-step.completed .step-label{color:var(--color-secondary-700)}.step-description{font-size:.8125rem;color:var(--color-gray-600);font-weight:500}.wizard-step.active .step-description{color:var(--color-secondary-600);font-weight:600}.step-connector{height:4px;flex:1;background:var(--color-neutral-200);margin:0 -1rem;position:relative;z-index:0;transition:all .5s ease;border-radius:2px}.step-connector:after{content:"";position:absolute;left:0;top:0;height:100%;width:0%;background:linear-gradient(90deg,var(--color-secondary-600),var(--color-secondary-700));border-radius:2px;transition:width .5s ease}.wizard-step.completed+.step-connector:after{width:100%}.alert{padding:1.25rem 1.5rem;border-radius:12px;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;font-weight:600;box-shadow:0 4px 16px #0000001a;animation:slideDown .3s ease;border-left:5px solid}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:var(--color-red-600, #dc2626);color:var(--color-red-800, #991b1b);box-shadow:0 4px 16px #ef444426}.alert-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ef444426;border-radius:50%}.alert-icon svg{width:20px;height:20px}.wizard-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:2rem 2.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.wizard-content:before{content:"";position:absolute;top:0;right:0;width:400px;height:400px;background:radial-gradient(circle,rgba(95,168,136,.05) 0%,transparent 70%);pointer-events:none}.form-step{animation:fadeIn .4s ease;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-neutral-200);position:relative}.step-header:after{content:"";position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:var(--color-secondary-600);border-radius:2px}.step-header h2{margin:0 0 .75rem;font-size:1.75rem;font-weight:800;color:var(--color-primary-800);display:flex;align-items:center;gap:.75rem}.step-header h2:before{content:"";display:inline-block;width:6px;height:32px;background:linear-gradient(180deg,var(--color-secondary-600),var(--color-secondary-700));border-radius:3px}.step-header p{margin:0;font-size:1.0625rem;color:var(--color-gray-600);font-weight:500}.form-section{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.625rem}.form-label{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--color-primary-800);font-size:.9375rem}.label-text{display:flex;align-items:center;gap:.5rem}.label-text:before{content:"";display:inline-block;width:4px;height:16px;background:var(--color-secondary-600);border-radius:2px}.label-required{font-size:.75rem;font-weight:600;color:var(--color-red-600);background:var(--color-red-50, #fef2f2);padding:.25rem .5rem;border-radius:4px}.label-optional{font-size:.75rem;font-weight:600;color:var(--color-gray-500);background:var(--color-neutral-100);padding:.25rem .5rem;border-radius:4px}.form-input,.form-select,.form-textarea{border:2px solid var(--color-neutral-200);border-radius:10px;padding:.875rem 1.125rem;font-size:.9375rem;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;font-weight:500}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-secondary-400, #80cbc4);background:#5fa88805}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-secondary-600);box-shadow:0 0 0 4px #5fa8881f,0 4px 12px #5fa8881a;outline:none;background:#fff;transform:translateY(-1px)}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-helper{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--color-gray-600);line-height:1.5;padding:.5rem .75rem;background:var(--color-neutral-50);border-radius:6px;border-left:3px solid var(--color-secondary-400, #80cbc4)}.form-helper:before{content:"";flex-shrink:0;width:1rem;height:1rem;background:var(--color-secondary-600);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") no-repeat center;mask-size:contain;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:contain}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.days-selector{display:flex;flex-wrap:wrap;gap:1rem}.day-button{padding:1rem 1.5rem;border:3px solid var(--color-neutral-200);border-radius:12px;background:#fff;cursor:pointer;font-weight:700;font-size:.9375rem;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--color-gray-700);position:relative;overflow:hidden;min-width:110px;text-align:center}.day-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(95,168,136,.1),transparent);opacity:0;transition:opacity .3s ease}.day-button:hover{border-color:var(--color-secondary-500);transform:translateY(-3px);box-shadow:0 6px 16px #5fa88833}.day-button:hover:before{opacity:1}.day-button.selected{background:linear-gradient(135deg,var(--color-secondary-600) 0%,var(--color-secondary-700) 100%);border-color:var(--color-secondary-600);color:#fff;transform:translateY(-3px) scale(1.02);box-shadow:0 6px 20px #5fa88859}.day-button.selected:before{opacity:0}.day-button.selected:after{content:"";position:absolute;top:.25rem;right:.25rem;background:#ffffffe6;width:20px;height:20px;border-radius:50%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center;mask-size:12px 12px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center;-webkit-mask-size:12px 12px}.method-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.method-card{padding:2rem 1.75rem;border:3px solid var(--color-neutral-200);border-radius:16px;background:#fff;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden}.method-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--color-secondary-600),var(--color-secondary-500));transform:scaleX(0);transition:transform .4s ease}.method-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(95,168,136,.05),transparent 60%);opacity:0;transition:opacity .4s ease}.method-card:hover{border-color:var(--color-secondary-500);transform:translateY(-6px);box-shadow:0 12px 32px #5fa88833}.method-card:hover:before{transform:scaleX(1)}.method-card:hover:after{opacity:1}.method-card.selected{border-color:var(--color-secondary-600);background:linear-gradient(135deg,#f0f9ff,#e0f2f1,#fff);box-shadow:0 8px 24px #5fa88840,inset 0 0 0 1px #5fa8881a;transform:translateY(-6px)}.method-card.selected:before{transform:scaleX(1);height:6px;background:linear-gradient(90deg,var(--color-secondary-700),var(--color-secondary-600))}.method-card.selected:after{opacity:1}.method-title{font-size:1.1875rem;font-weight:800;color:var(--color-primary-800);position:relative;z-index:1}.method-card.selected .method-title{color:var(--color-secondary-800, #00695c)}.method-description{font-size:.875rem;color:var(--color-gray-600);line-height:1.6;font-weight:500;position:relative;z-index:1}.method-card.selected .method-description{color:var(--color-gray-700)}.method-config{margin-top:2rem;padding:2.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2f1,#f0f9ff);border-radius:16px;border:3px solid var(--color-secondary-300, #80cbc4);box-shadow:0 4px 16px #5fa8881a;position:relative;overflow:hidden}.method-config:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-secondary-600),var(--color-primary-600),var(--color-secondary-600))}.input-group{display:flex;gap:1rem;align-items:stretch}.input-group .form-input{flex:1}.slot-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;padding:1.25rem;background:#fff;border-radius:12px;border:2px dashed var(--color-secondary-300, #80cbc4);min-height:60px}.slot-list:empty:after{content:"No time slots added yet";display:flex;align-items:center;justify-content:center;width:100%;color:var(--color-gray-500);font-style:italic;font-size:.875rem}.slot-badge{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.125rem;background:linear-gradient(135deg,var(--color-secondary-50, #f0f9ff),white);border:2px solid var(--color-secondary-400, #80cbc4);border-radius:10px;font-weight:700;font-size:.9375rem;color:var(--color-primary-800);box-shadow:0 3px 8px #5fa88826;transition:all .3s ease;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.slot-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5fa88840}.slot-capacity{color:var(--color-secondary-700);font-size:.875rem;background:#5fa88826;padding:.25rem .5rem;border-radius:6px}.slot-badge button{background:var(--color-red-50, #fef2f2);border:none;color:var(--color-red-600);font-size:1.125rem;cursor:pointer;padding:.25rem;line-height:1;transition:all .3s ease;font-weight:700;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.slot-badge button:hover{transform:scale(1.2) rotate(90deg);background:var(--color-red-600);color:#fff}.event-preview-card{background:linear-gradient(135deg,#f0f9ff,#e0f2f1,#f0f9ff);padding:2.5rem;border-radius:20px;border:3px solid var(--color-secondary-300, #80cbc4);box-shadow:0 8px 24px #5fa88826;position:relative;overflow:hidden}.event-preview-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--color-secondary-700),var(--color-primary-600),var(--color-secondary-700));background-size:200% 100%;animation:shimmer 3s infinite}.event-preview-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(95,168,136,.08) 0%,transparent 60%);pointer-events:none}.event-preview-card h3{margin:0 0 2rem;font-size:1.5rem;font-weight:800;color:var(--color-primary-800);position:relative;z-index:1}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;position:relative;z-index:1}.preview-item{background:#fff;padding:1.25rem;border-radius:12px;border-left:5px solid var(--color-secondary-600);display:flex;flex-direction:column;gap:.625rem;box-shadow:0 3px 8px #00000014;transition:all .3s ease}.preview-item:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001f;border-left-color:var(--color-secondary-700)}.preview-label{font-size:.75rem;font-weight:700;color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.75px;display:flex;align-items:center;gap:.375rem}.preview-label:before{content:"";width:4px;height:4px;background:var(--color-secondary-600);border-radius:50%}.preview-value{font-size:1.0625rem;font-weight:700;color:var(--color-primary-800);line-height:1.4}.preview-value--date-range{display:inline-flex;align-items:center;gap:.5rem}.preview-arrow-icon{width:1rem;height:1rem;color:var(--color-secondary-600);flex-shrink:0}.form-actions .button-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.form-actions .button-icon--left{margin-right:.375rem}.form-actions .button-icon--right{margin-left:.375rem}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:700;text-transform:capitalize;box-shadow:0 2px 6px #0000001a}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-active{background:linear-gradient(135deg,var(--color-green-100, #dcfce7),var(--color-green-50, #f0fdf4));color:var(--color-green-700, #15803d);border:2px solid var(--color-green-300, #86efac)}.status-active:before{background:var(--color-green-600, #16a34a)}.status-inactive{background:linear-gradient(135deg,var(--color-gray-100),var(--color-gray-50));color:var(--color-gray-700);border:2px solid var(--color-gray-300)}.status-inactive:before{background:var(--color-gray-500);animation:none}.form-actions{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.actions-left,.actions-right{display:flex;gap:.75rem;align-items:center}@media (max-width: 1024px){.wizard-progress{padding:1.5rem}.step-info{display:none}.step-connector{margin:0 .5rem}}.product-selection{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding:1rem;border:2px solid var(--color-neutral-200);border-radius:8px;background:var(--color-neutral-50)}.product-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:2px solid var(--color-neutral-200);border-radius:6px;cursor:pointer;transition:all .2s ease}.product-checkbox-item:hover{border-color:var(--color-primary-500);background:var(--color-primary-50);transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.product-checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary-600)}.product-checkbox-label{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem}.product-checkbox-label strong{color:var(--color-neutral-900);font-weight:600}.product-price{color:var(--color-primary-700);font-weight:600;font-size:.95rem}.product-checkbox-item input[type=checkbox]:checked+.product-checkbox-label{color:var(--color-primary-800)}@media (max-width: 768px){.event-form-page{padding:1rem}.wizard-progress{flex-direction:column;gap:1rem;padding:1.5rem}.wizard-step{width:100%;justify-content:center}.step-info{display:flex;text-align:left}.step-connector{display:none}.wizard-content{padding:1.5rem}.form-actions{flex-direction:column;gap:1rem}.actions-left,.actions-right{width:100%;justify-content:stretch}.actions-right{flex-direction:column-reverse}.attractis-button{width:100%;justify-content:center}.method-cards{grid-template-columns:1fr}.days-selector{gap:.5rem}.day-button{flex:1 1 calc(50% - .25rem);min-width:0}.form-grid{grid-template-columns:1fr}.input-group{flex-direction:column}.preview-grid{grid-template-columns:1fr}}.booking-details-modal{position:relative;background:#fff;border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.booking-details-modal .modal-header{padding:1.75rem 2rem;background:linear-gradient(135deg,var(--color-primary-800) 0%,var(--color-primary-900) 50%,var(--color-secondary-900) 100%);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid rgba(255,255,255,.1)}.booking-details-modal .modal-header-content h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.booking-reference-display{margin:0;font-family:var(--font-mono);font-size:.875rem;font-weight:600;background:#fff3;padding:.375rem .75rem;border-radius:var(--radius-md);display:inline-block;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.booking-details-modal .modal-close{background:#fff3;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.75rem;width:36px;height:36px;border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.booking-details-modal .modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.booking-details-modal .modal-close:active{transform:scale(.95)}.booking-details-modal .modal-content{flex:1;overflow-y:auto;padding:2rem}.details-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-neutral-200)}.details-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:1.125rem;font-weight:600;color:var(--color-primary-900);margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";width:4px;height:20px;background:linear-gradient(180deg,var(--color-secondary-600) 0%,var(--color-secondary-700) 100%);border-radius:var(--radius-sm)}.event-info-section{background:linear-gradient(135deg,var(--color-secondary-50) 0%,var(--color-secondary-100) 100%);border:1px solid var(--color-secondary-300);border-radius:var(--radius-xl);padding:1.5rem}.event-info-section .section-title{color:var(--color-secondary-900)}.event-info-section .section-title:before{background:linear-gradient(180deg,var(--color-secondary-600) 0%,var(--color-secondary-800) 100%)}.event-name-value{font-weight:600!important;color:var(--color-secondary-900)!important;font-size:1.125rem!important}.available-capacity{font-weight:600!important;color:var(--color-success)!important}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.info-label{font-size:.8125rem;font-weight:500;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:.9375rem;font-weight:500;color:var(--color-primary-900)}.payment-amount{font-weight:700!important;color:var(--color-success)!important;font-size:1.125rem!important}.timestamp{font-size:.875rem!important;color:var(--color-neutral-600)!important;font-weight:400!important}.info-item .status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;font-size:.8125rem;font-weight:600;text-transform:capitalize;width:fit-content}.info-item .status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.875rem;font-weight:500;color:var(--color-neutral-700)}.form-field input,.form-field select,.form-field textarea{padding:.625rem .875rem;border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:.875rem;color:var(--color-primary-900);background:#fff;transition:all var(--transition-base);font-family:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa88826}.form-field textarea{resize:vertical;min-height:100px}.notes-display{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:1rem;margin:0;color:var(--color-neutral-700);font-size:.875rem;line-height:1.6;min-height:80px}.timestamps-section{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem}.booking-details-modal .modal-footer{padding:1.5rem 2rem;background:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200);display:flex;justify-content:flex-end;gap:.75rem}.btn-primary{background:linear-gradient(135deg,var(--color-secondary-600) 0%,var(--color-secondary-700) 100%);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #5fa88866}.btn-warning{background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);color:#fff}.btn-warning:hover{transform:translateY(-1px);box-shadow:0 4px 12px #b8813d66}@media (max-width: 768px){.booking-details-modal{width:95%;max-height:95vh}.booking-details-modal .modal-header,.booking-details-modal .modal-content,.booking-details-modal .modal-footer{padding:1.25rem}.info-grid,.form-grid{grid-template-columns:1fr}.booking-details-modal .modal-footer{flex-direction:column}.booking-details-modal .modal-footer .btn{width:100%;justify-content:center}}.transfer-booking-modal{position:relative;background:#fff;border-radius:var(--radius-xl);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.transfer-booking-modal .modal-header{padding:1.75rem 2rem;background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid rgba(255,255,255,.1)}.transfer-booking-modal .modal-header-content h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.transfer-subtitle{margin:0;font-size:.875rem;opacity:.95}.transfer-booking-modal .modal-close{background:#fff3;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.75rem;width:36px;height:36px;border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.transfer-booking-modal .modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.transfer-booking-modal .modal-content{flex:1;overflow-y:auto;padding:2rem}.current-booking-info{background:linear-gradient(135deg,var(--color-secondary-50) 0%,var(--color-secondary-100) 100%);border:1px solid var(--color-secondary-300);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2rem}.current-booking-info h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-secondary-900)}.booking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-item{display:flex;flex-direction:column;gap:.375rem}.summary-label{font-size:.75rem;font-weight:500;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:.9375rem;font-weight:600;color:var(--color-secondary-900)}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1.5rem;background:var(--color-neutral-50);border-radius:var(--radius-xl)}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid var(--color-neutral-300);color:var(--color-neutral-400);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;transition:all .3s}.step.active .step-number{background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);border-color:var(--color-accent-500);color:#fff;box-shadow:0 4px 12px #b8813d66}.step.completed .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-size:.875rem;font-weight:500;color:var(--color-neutral-600)}.step.active .step-label{color:var(--color-accent-700);font-weight:600}.step.completed .step-label{color:var(--color-success)}.step-connector{width:80px;height:2px;background:var(--color-neutral-300);margin:0 1rem;align-self:flex-start;margin-top:20px}.transfer-step{margin-top:1rem}.transfer-step h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--color-primary-900)}.step-description{margin:0 0 1.5rem;font-size:.875rem;color:var(--color-neutral-600)}.step-description strong{color:var(--color-primary-900)}.instances-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.instance-card{background:#fff;border:2px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.25rem;cursor:pointer;transition:all var(--transition-base)}.instance-card:hover{border-color:var(--color-accent-500);transform:translateY(-2px);box-shadow:0 4px 12px #b8813d26}.instance-card.selected{border-color:var(--color-accent-500);background:linear-gradient(135deg,var(--color-accent-50) 0%,var(--color-accent-100) 100%);box-shadow:0 4px 12px #b8813d33}.instance-date{font-size:1rem;font-weight:600;color:var(--color-primary-900);margin-bottom:.75rem}.instance-stats{display:flex;gap:.75rem;font-size:.8125rem;color:var(--color-neutral-600)}.instance-stats .stat{display:flex;align-items:center;gap:.25rem}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.slot-card{background:#fff;border:2px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1rem;cursor:pointer;transition:all var(--transition-base);text-align:center}.slot-card:hover{border-color:var(--color-accent-500);transform:translateY(-2px);box-shadow:0 4px 12px #b8813d26}.slot-card.selected{border-color:var(--color-accent-500);background:linear-gradient(135deg,var(--color-accent-50) 0%,var(--color-accent-100) 100%);box-shadow:0 4px 12px #b8813d33}.slot-time{font-size:1.25rem;font-weight:700;color:var(--color-primary-900);margin-bottom:.75rem}.slot-capacity{font-size:.875rem;margin-bottom:.5rem}.capacity-available{font-weight:700;color:var(--color-success)}.capacity-total{color:var(--color-neutral-600)}.capacity-bar{height:6px;background:var(--color-neutral-200);border-radius:var(--radius-sm);overflow:hidden}.capacity-fill{height:100%;transition:width .3s}.loading-state,.empty-state{text-align:center;padding:3rem 1rem}.loading-state .spinner{width:40px;height:40px;border:3px solid var(--color-neutral-200);border-top-color:var(--color-accent-500);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.loading-state p,.empty-state p{margin:0;color:var(--color-neutral-600);font-size:.875rem}.empty-state .btn{margin-top:1rem}.transfer-alert{padding:1rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;font-size:.875rem}.transfer-alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.transfer-booking-modal .modal-footer{padding:1.5rem 2rem;background:var(--color-neutral-50);border-top:1px solid var(--color-neutral-200);display:flex;justify-content:flex-end;gap:.75rem}.btn{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-accent-600) 100%);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #b8813d66}.btn-secondary{background:#fff;color:var(--color-neutral-700);border:1px solid var(--color-neutral-300)}.btn-secondary:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-400)}@media (max-width: 768px){.transfer-booking-modal{width:95%;max-height:95vh}.transfer-booking-modal .modal-header,.transfer-booking-modal .modal-content,.transfer-booking-modal .modal-footer{padding:1.25rem}.booking-summary{grid-template-columns:1fr 1fr}.step-connector{width:40px;margin:0 .5rem}.instances-grid{grid-template-columns:1fr}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.transfer-booking-modal .modal-footer{flex-wrap:wrap}.transfer-booking-modal .modal-footer .btn{flex:1;min-width:120px;justify-content:center}}.bookings-page{padding:2rem;max-width:1600px;margin:0 auto}.bookings-header{margin-bottom:2rem}.bookings-header-content h2{font-size:2rem;font-weight:700;color:var(--color-primary-900);margin:0 0 .5rem}.bookings-subtitle{font-size:1rem;color:var(--color-neutral-600);margin:0}.bookings-filters{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.filters-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.filters-row:not(:last-child){margin-bottom:1rem}.filter-group{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.875rem;font-weight:500;color:var(--color-neutral-700)}.filter-input,.filter-select{padding:.625rem .875rem;border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:.875rem;color:var(--color-primary-900);background:#fff;transition:all var(--transition-base)}.bookings-table-container{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.bookings-table thead{background:linear-gradient(135deg,var(--color-neutral-50) 0%,var(--color-neutral-100) 100%);border-bottom:2px solid var(--color-neutral-200)}.bookings-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-700)}.bookings-table tbody tr{border-bottom:1px solid var(--color-neutral-100);transition:background-color var(--transition-fast)}.bookings-table tbody tr:last-child{border-bottom:none}.bookings-table tbody tr:hover{background-color:var(--color-neutral-50)}.bookings-table td{padding:1rem;font-size:.875rem;color:var(--color-primary-800)}.customer-info{display:flex;flex-direction:column;gap:.25rem}.customer-name{font-weight:600;color:var(--color-primary-900)}.customer-email{font-size:.8125rem;color:var(--color-neutral-600)}.booking-reference{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;color:var(--color-secondary-700);background:var(--color-secondary-50);padding:.25rem .5rem;border-radius:var(--radius-sm)}.event-name{font-weight:500;color:var(--color-primary-900)}.datetime-info{display:flex;flex-direction:column;gap:.25rem}.booking-date{font-weight:500;color:var(--color-primary-900)}.booking-time{font-size:.8125rem;color:var(--color-neutral-600)}.booking-quantity{font-weight:600;color:var(--color-primary-900)}.booking-amount{font-weight:600;color:var(--color-success)}.status-badge,.payment-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid}.status-badge:before,.payment-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge-confirmed{color:var(--color-secondary-800);background:var(--color-secondary-100);border-color:var(--color-secondary-400)}.status-badge-pending{color:var(--color-accent-700);background:var(--color-accent-100);border-color:var(--color-accent-400)}.status-badge-completed{color:var(--color-secondary-900);background:var(--color-secondary-200);border-color:var(--color-secondary-500)}.payment-badge-paid{color:var(--color-secondary-800);background:var(--color-secondary-100);border-color:var(--color-secondary-400)}.payment-badge-pending{color:var(--color-accent-700);background:var(--color-accent-100);border-color:var(--color-accent-400)}.payment-badge-refunded{color:var(--color-neutral-700);background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.payment-badge-failed{color:var(--color-error);background:#fee2e2;border-color:#fca5a5}.booking-actions{display:flex;gap:.5rem}.btn-action-transfer{background:var(--color-accent-100);color:var(--color-accent-700)}.btn-action-transfer:hover{background:var(--color-accent-200);transform:translateY(-1px)}.btn-action-cancel{background:#fee2e2;color:var(--color-error)}.btn-action-cancel:hover{background:#fecaca;transform:translateY(-1px)}.bookings-summary{display:flex;gap:1rem;background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm)}.alert{padding:1rem 1.5rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.alert-close{background:none;border:none;font-size:1.5rem;color:currentColor;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background var(--transition-base)}@media (max-width: 1200px){.bookings-table{font-size:.8125rem}.bookings-table th,.bookings-table td{padding:.75rem}}@media (max-width: 768px){.bookings-page{padding:1rem}.filters-row{flex-direction:column}.filter-group{width:100%}.bookings-table-container{overflow-x:auto}.bookings-table{min-width:800px}.bookings-summary{flex-direction:column}}.customer-form-modal{animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.customer-form-modal .attractis-modal__header{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;padding:1.5rem 2rem;border-bottom:none;box-shadow:0 2px 8px #3b82f633;position:relative}.customer-form-modal .attractis-modal__header h2{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.customer-form-modal .attractis-modal__header .attractis-modal__close{position:absolute;top:50%;right:2rem;transform:translateY(-50%);width:32px;height:32px;border-radius:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.25rem;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0;line-height:1}.customer-form-modal .attractis-modal__header .attractis-modal__close:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-50%) scale(1.05)}.customer-form-modal .attractis-modal__header .attractis-modal__close:active{transform:translateY(-50%) scale(.95)}.customer-form-modal .attractis-modal__body{padding:2rem;background:linear-gradient(180deg,#fff,#f9fafb);max-height:calc(90vh - 180px);overflow-y:auto}.customer-form-modal .attractis-modal__body::-webkit-scrollbar{width:8px}.customer-form-modal .attractis-modal__body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.customer-form-modal .attractis-modal__body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.customer-form-modal .attractis-modal__body::-webkit-scrollbar-thumb:hover{background:#9ca3af}.customer-form{display:flex;flex-direction:column;gap:2rem;width:100%}.form-section{width:100%}.form-section-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.form-section-header h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:#1e40af;letter-spacing:-.01em}.form-section-header p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;width:100%}.form-field{display:flex;flex-direction:column;gap:.5rem;width:100%}.form-field-full{grid-column:1 / -1}.form-field label{font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.form-field .attractis-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-weight:500;color:#374151;background:#fff;transition:all .2s;font-family:inherit;box-sizing:border-box}.form-field .attractis-input:hover{border-color:#3b82f6}.form-field .attractis-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.form-field textarea.attractis-input{resize:vertical;min-height:80px;font-family:inherit}.form-field select.attractis-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%233b82f6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25rem;padding-right:2.5rem}.form-field input[type=date].attractis-input{cursor:pointer}.form-error{background:#fef2f2;border-left:4px solid #dc2626;color:#991b1b;padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem;font-weight:500;width:100%;box-sizing:border-box}.address-section{padding-top:2rem;margin-top:1rem;border-top:3px solid #e5e7eb}.address-section .form-section-header h3{color:#059669}.address-section .form-section-header{border-bottom-color:#d1fae5;background:linear-gradient(90deg,#f0fdf4 0%,transparent 100%);padding:1rem;margin:-.5rem -.5rem 1.25rem;border-radius:8px}.customer-form-modal .attractis-modal__footer{padding:1.25rem 2rem;background:#f3f4f6;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.customer-form-modal .attractis-modal__footer button{min-width:120px;font-weight:600;padding:.625rem 1.5rem;border-radius:8px;transition:all .2s}.customer-form-modal .attractis-modal__footer button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}@media (max-width: 768px){.customer-form-modal{width:100%;max-width:100%;margin:0;border-radius:0;max-height:100vh}.customer-form-modal .attractis-modal__header{padding:1.25rem}.customer-form-modal .attractis-modal__header .attractis-modal__close{right:1.25rem}.customer-form-modal .attractis-modal__body{padding:1.25rem}.form-grid{grid-template-columns:1fr;gap:1rem}.customer-form-modal .attractis-modal__footer{padding:1rem 1.25rem;flex-direction:column}.customer-form-modal .attractis-modal__footer button{width:100%}}.merge-customers-modal{position:relative;background:#fff;border-radius:16px;width:90%;max-width:700px;box-shadow:0 20px 25px -5px #0000001a}.merge-customers-modal .modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:16px 16px 0 0}.merge-customers-modal .modal-header h2{margin:0;font-size:1.5rem}.merge-customers-modal .modal-close{background:#fff3;border:none;color:#fff;font-size:1.75rem;width:36px;height:36px;border-radius:8px;cursor:pointer}.merge-customers-modal .modal-content{padding:2rem}.merge-instruction{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#1e40af;font-size:.875rem}.merge-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.merge-option{border:2px solid #e2e8f0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:flex-start;gap:1rem}.merge-option:hover{border-color:#3b82f6;background:#f8fafc}.merge-option.selected{border-color:#3b82f6;background:#eff6ff}.merge-option input[type=radio]{margin-top:.25rem;width:18px;height:18px}.merge-customer-details h4{margin:0 0 .5rem;color:#1e293b;font-size:1.125rem}.merge-customer-details p{margin:.25rem 0;font-size:.875rem;color:#64748b}.customer-number-badge{display:inline-block;font-size:.75rem;color:#3b82f6;background:#fff;padding:.25rem .5rem;border-radius:4px;font-family:monospace;margin-right:.5rem}.customer-age{font-size:.75rem;color:#94a3b8}.merge-warning{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:1rem;color:#78350f;font-size:.875rem}.merge-warning strong{color:#d97706}.merge-customers-modal .modal-footer{padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem;border-radius:0 0 16px 16px}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #dc262666}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.duplicate-customers-modal{position:relative;background:#fff;border-radius:16px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.duplicate-customers-modal .modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:16px 16px 0 0}.duplicate-customers-modal .modal-header h2{margin:0;font-size:1.5rem}.duplicate-customers-modal .modal-close{background:#fff3;border:none;color:#fff;font-size:1.75rem;width:36px;height:36px;border-radius:8px;cursor:pointer}.duplicate-customers-modal .modal-content{flex:1;overflow-y:auto;padding:2rem}.duplicate-pair{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.duplicate-info{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.customer-card{flex:1;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:1rem}.customer-card h4{margin:0 0 .5rem;color:#1e293b}.customer-card p{margin:.25rem 0;font-size:.875rem;color:#64748b}.customer-number-small{font-size:.75rem;color:#3b82f6;font-family:monospace}.match-indicator{text-align:center;flex-shrink:0}.match-score{font-size:1.5rem;font-weight:700;color:#f59e0b;margin-bottom:.25rem}.match-reason{font-size:.75rem;text-transform:uppercase;color:#64748b}.duplicate-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.duplicate-customers-modal .modal-footer{padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;border-radius:0 0 16px 16px}.crm-page{padding:2rem;max-width:1600px;margin:0 auto}.crm-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.crm-header-content h2{font-size:2rem;font-weight:700;color:var(--color-primary-900);margin:0 0 .5rem}.crm-subtitle{font-size:1rem;color:var(--color-neutral-600);margin:0}.crm-header-actions{display:flex;gap:.75rem;flex-shrink:0}.crm-filters{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.filter-group{flex:1;min-width:200px}.filter-input,.filter-select{width:100%;padding:.625rem .875rem;border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:.875rem;color:var(--color-primary-900);background:#fff;transition:all var(--transition-base)}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa88826}.filter-search{flex:2;min-width:300px}.filter-search::placeholder{color:var(--color-neutral-400)}.customers-table-container{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.customers-table{width:100%;border-collapse:collapse}.customers-table thead{background:linear-gradient(135deg,var(--color-neutral-50) 0%,var(--color-neutral-100) 100%);border-bottom:2px solid var(--color-neutral-200)}.customers-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-700)}.customers-table tbody tr{border-bottom:1px solid var(--color-neutral-100);transition:background-color var(--transition-fast)}.customers-table tbody tr:last-child{border-bottom:none}.customers-table tbody tr:hover{background-color:var(--color-neutral-50)}.customers-table td{padding:1rem;font-size:.875rem;color:var(--color-primary-800)}.customer-number{font-family:var(--font-mono);font-size:.8125rem;font-weight:600;color:var(--color-secondary-700);background:var(--color-secondary-50);padding:.25rem .5rem;border-radius:var(--radius-sm)}.customer-name-cell{display:flex;align-items:center;gap:.5rem}.customer-full-name{font-weight:600;color:var(--color-primary-900)}.pos-message-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-warning);cursor:help}.pos-message-indicator svg{width:16px;height:16px}.customer-email,.customer-phone,.customer-date{color:var(--color-neutral-600);font-size:.8125rem}.status-badge-inactive{color:var(--color-neutral-700);background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.status-badge-blocked{color:var(--color-error);background:#fee2e2;border-color:#fca5a5}.status-badge-vip{color:var(--color-accent-800);background:var(--color-accent-100);border-color:var(--color-accent-400)}.customer-actions{display:flex;gap:.5rem}.btn-action-view{background:var(--color-secondary-100);color:var(--color-secondary-700)}.btn-action-view:hover{background:var(--color-secondary-200);transform:translateY(-1px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.empty-state-icon svg{width:48px;height:48px}.empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.crm-summary{display:flex;gap:1rem;background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-sm)}.summary-label{font-size:.875rem;font-weight:500;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em}.alert{padding:1rem 1.5rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.alert-close{background:none;border:none;font-size:1.5rem;color:currentColor;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.alert-close:hover{background:#0000001a}@media (max-width: 1200px){.customers-table{font-size:.8125rem}.customers-table th,.customers-table td{padding:.75rem}}@media (max-width: 768px){.crm-page{padding:1rem}.crm-header{flex-direction:column}.crm-header-actions{width:100%}.filters-row{flex-direction:column}.filter-group{width:100%}.customers-table-container{overflow-x:auto}.customers-table{min-width:800px}.crm-summary{flex-direction:column}}.record-type-badge{display:inline-flex;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.record-type-customer{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.record-type-contact{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#9f1239;border:1px solid #f9a8d4}.parent-info-small{display:block;font-size:.75rem;color:#6b7280;font-style:italic;margin-top:.25rem}.customer-note-modal{position:relative;background:#fff;border-radius:16px;width:90%;max-width:600px;box-shadow:0 20px 25px -5px #0000001a}.customer-note-modal .modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:16px 16px 0 0}.customer-note-modal .modal-header h2{margin:0;font-size:1.25rem}.customer-note-modal .modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:32px;height:32px;border-radius:6px;cursor:pointer}.customer-note-modal .modal-content{padding:2rem}.customer-note-modal .form-field{margin-bottom:1.25rem}.customer-note-modal .form-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#475569}.customer-note-modal .form-field select,.customer-note-modal .form-field textarea{width:100%;padding:.625rem;border:1px solid #cbd5e1;border-radius:8px;font-family:inherit}.customer-note-modal .modal-footer{padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem;border-radius:0 0 16px 16px}.membership-modal{position:relative;background:#fff;border-radius:16px;width:90%;max-width:600px;box-shadow:0 20px 25px -5px #0000001a}.membership-modal .modal-header{padding:1.5rem 2rem;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;display:flex;justify-content:space-between;align-items:center;border-radius:16px 16px 0 0}.membership-modal .modal-header h2{margin:0;font-size:1.25rem}.membership-modal .modal-close{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:32px;height:32px;border-radius:6px;cursor:pointer}.membership-modal .modal-content{padding:2rem}.membership-modal .form-field{margin-bottom:1.25rem}.membership-modal .form-field label{display:block;margin-bottom:.5rem;font-weight:500;color:#475569}.membership-modal .form-field input{width:100%;padding:.625rem;border:1px solid #cbd5e1;border-radius:8px}.membership-modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.form-field-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.form-field-checkbox input[type=checkbox]{width:18px;height:18px}.membership-modal .modal-footer{padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem;border-radius:0 0 16px 16px}.customer-detail-page{padding:2rem;max-width:1400px;margin:0 auto}.customer-header{display:flex;justify-content:space-between;align-items:flex-start;margin:2rem 0;padding:2rem;background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-neutral-200)}.customer-info h1{margin:0 0 .5rem;font-size:2rem;color:var(--color-primary-900)}.customer-number{font-family:var(--font-mono);color:var(--color-secondary-700);margin:.5rem 0}.customer-actions{display:flex;gap:.75rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.summary-label{font-size:.875rem;color:var(--color-neutral-600);font-weight:500}.customer-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--color-neutral-200)}.tab{padding:.75rem 1.5rem;border:none;background:none;cursor:pointer;font-weight:500;color:var(--color-neutral-600);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition-base)}.tab.active{color:var(--color-secondary-700);border-bottom-color:var(--color-secondary-600)}.tab-content{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:2rem;min-height:400px}.detail-section{margin-bottom:2rem}.detail-section h3{margin:0 0 1rem;color:var(--color-primary-900)}.detail-section p{margin:.5rem 0;color:var(--color-neutral-600)}.pos-alert{background:var(--color-accent-100);border:1px solid var(--color-accent-400);padding:1rem;border-radius:var(--radius-lg)}.notes-list,.memberships-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.note-card,.membership-card{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:1.25rem}.note-header{display:flex;justify-content:space-between;margin-bottom:.75rem}.note-type{text-transform:capitalize;font-weight:600;color:var(--color-secondary-700)}.note-date,.note-author{font-size:.875rem;color:var(--color-neutral-400)}.membership-card h4{margin:0 0 .75rem;color:var(--color-primary-900)}.membership-card p{margin:.5rem 0;font-size:.875rem;color:var(--color-neutral-600)}.purchase-history-tab{display:flex;flex-direction:column;gap:1.5rem}.purchase-history-controls{display:flex;align-items:center;gap:2rem;padding:1rem;background:var(--color-neutral-50);border-radius:var(--radius-lg);flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--color-neutral-700)}.filter-select{padding:.5rem .75rem;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:.875rem;background:#fff;color:var(--color-neutral-900);cursor:pointer;transition:border-color var(--transition-base)}.filter-select:hover{border-color:var(--color-secondary-500)}.filter-select:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa8881a}.purchase-summary{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.875rem}.purchase-summary .summary-label{color:var(--color-neutral-600)}.purchase-summary .summary-value{font-weight:600;color:var(--color-primary-900);font-size:1rem}.empty-state{text-align:center;padding:3rem;color:var(--color-neutral-500)}.purchase-history-table{width:100%;border-collapse:collapse}.purchase-history-table thead{background:var(--color-neutral-50)}.purchase-history-table th{text-align:left;padding:1rem;font-weight:600;font-size:.875rem;color:var(--color-neutral-700);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-neutral-200)}.purchase-history-table td{padding:1rem;border-bottom:1px solid var(--color-neutral-100);vertical-align:top}.transaction-row{cursor:pointer;transition:background-color var(--transition-base)}.transaction-row:hover{background:var(--color-neutral-50)}.transaction-row.expanded{background:var(--color-neutral-50);border-left:3px solid var(--color-secondary-600)}.expand-button{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--color-neutral-500);padding:.25rem;transition:color var(--transition-base);width:24px;height:24px;display:flex;align-items:center;justify-content:center}.expand-button:hover{color:var(--color-secondary-600)}.transaction-id{font-family:var(--font-mono);font-size:.75rem;color:var(--color-neutral-500);background:var(--color-neutral-100);padding:.25rem .5rem;border-radius:var(--radius-sm)}.datetime-cell{display:flex;flex-direction:column;gap:.25rem}.date-text{font-weight:500;color:var(--color-neutral-900);font-size:.875rem}.time-text{font-size:.75rem;color:var(--color-neutral-500)}.items-summary{display:flex;flex-direction:column;gap:.5rem}.item-count{font-size:.875rem;font-weight:500;color:var(--color-neutral-700)}.item-preview{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-neutral-600)}.item-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.item-more{color:var(--color-neutral-400);font-style:italic}.no-items{color:var(--color-neutral-400);font-style:italic;font-size:.875rem}.amount-cell{display:flex;flex-direction:column;gap:.25rem}.total-amount{font-weight:600;font-size:1rem;color:var(--color-primary-900)}.amount-breakdown{display:flex;flex-direction:column;gap:.125rem;font-size:.75rem}.discount-text{color:var(--color-accent-600)}.tax-text{color:var(--color-neutral-500)}.payment-method-cell{display:flex;flex-direction:column;gap:.25rem}.payment-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:capitalize;width:fit-content}.payment-cash{background:var(--color-accent-100);color:var(--color-accent-700)}.payment-card{background:var(--color-primary-100);color:var(--color-primary-700)}.payment-mixed{background:var(--color-secondary-100);color:var(--color-secondary-700)}.payment-other{background:var(--color-neutral-100);color:var(--color-neutral-700)}.payment-details{display:flex;flex-direction:column;gap:.125rem;font-size:.75rem;color:var(--color-neutral-500);margin-top:.25rem}.change-text{font-size:.75rem;color:var(--color-neutral-500);margin-top:.25rem}.till-name{font-size:.875rem;color:var(--color-neutral-700)}.user-name{font-size:.875rem;color:var(--color-neutral-700);cursor:help}.text-muted{color:var(--color-neutral-400);font-style:italic}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge-completed{background:var(--color-secondary-200);color:var(--color-secondary-900)}.status-badge-voided{background:#fee2e2;color:var(--color-error)}.status-badge-refunded{background:var(--color-accent-100);color:var(--color-accent-700)}.transaction-details-row{background:#fff}.transaction-details-row td{padding:0;border-bottom:2px solid var(--color-neutral-200)}.transaction-items-detail{padding:1.5rem;background:var(--color-neutral-50)}.transaction-items-detail h4{margin:0 0 1rem;font-size:1rem;color:var(--color-primary-900);font-weight:600}.items-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.items-table thead{background:var(--color-neutral-100)}.items-table th{padding:.75rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--color-neutral-700);text-transform:uppercase;letter-spacing:.5px}.items-table td{padding:.75rem;border-bottom:1px solid var(--color-neutral-100);font-size:.875rem;color:var(--color-neutral-700)}.items-table tbody tr:hover{background:var(--color-neutral-50)}.items-table tfoot{background:var(--color-neutral-50);border-top:2px solid var(--color-neutral-200)}.items-table tfoot td{padding:.75rem;font-size:.875rem}.items-table tfoot .total-row{background:var(--color-neutral-100);font-weight:600}.items-table tfoot .total-row td{font-size:1rem;color:var(--color-primary-900);padding-top:1rem;padding-bottom:1rem}.booking-badge{display:inline-block;margin-left:.5rem;padding:.125rem .375rem;background:var(--color-secondary-100);color:var(--color-secondary-700);border-radius:var(--radius-sm);font-size:.625rem;font-weight:500;text-transform:uppercase}.sku-text{font-family:var(--font-mono);font-size:.75rem;color:var(--color-neutral-500)}.transaction-notes{margin-top:1rem;padding:.75rem;background:#fff;border-left:3px solid var(--color-secondary-500);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-neutral-700)}.transaction-notes strong{color:var(--color-neutral-900)}.bookings-tab{display:flex;flex-direction:column;gap:1.5rem}.bookings-controls{display:flex;align-items:center;gap:2rem;padding:1rem;background:var(--color-neutral-50);border-radius:var(--radius-lg);flex-wrap:wrap}.bookings-summary{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.875rem}.bookings-summary .summary-label{color:var(--color-neutral-600)}.bookings-summary .summary-value{font-weight:600;color:var(--color-primary-900);font-size:1rem}.bookings-table{width:100%;border-collapse:collapse}.bookings-table thead{background:var(--color-neutral-50)}.bookings-table th{text-align:left;padding:1rem;font-weight:600;font-size:.875rem;color:var(--color-neutral-700);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--color-neutral-200)}.bookings-table td{padding:1rem;border-bottom:1px solid var(--color-neutral-100);vertical-align:top}.booking-row{cursor:pointer;transition:background-color var(--transition-base)}.booking-row:hover{background:var(--color-neutral-50)}.booking-row.expanded{background:var(--color-neutral-50);border-left:3px solid var(--color-secondary-600)}.booking-reference{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--color-secondary-700);background:var(--color-secondary-50);padding:.375rem .625rem;border-radius:var(--radius-sm);display:inline-block}.event-info{display:flex;flex-direction:column;gap:.25rem}.event-name{font-weight:500;color:var(--color-neutral-900);font-size:.875rem}.event-description{font-size:.75rem;color:var(--color-neutral-500);font-style:italic;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quantity-badge{display:inline-block;padding:.375rem .75rem;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-md);font-weight:600;font-size:.875rem}.payment-status-badge{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:500;text-transform:capitalize}.payment-status-paid{background:var(--color-secondary-200);color:var(--color-secondary-900)}.payment-status-pending{background:var(--color-accent-100);color:var(--color-accent-700)}.payment-status-refunded{background:var(--color-neutral-100);color:var(--color-neutral-700)}.status-badge-confirmed{background:var(--color-secondary-200);color:var(--color-secondary-900)}.status-badge-cancelled{background:#fee2e2;color:var(--color-error)}.status-badge-active{background:var(--color-secondary-200);color:var(--color-secondary-900)}.booking-details-row{background:#fff}.booking-details-row td{padding:0;border-bottom:2px solid var(--color-neutral-200)}.booking-details{padding:1.5rem;background:var(--color-neutral-50)}.booking-details h4{margin:0 0 1.5rem;font-size:1rem;color:var(--color-primary-900);font-weight:600;border-bottom:2px solid var(--color-neutral-200);padding-bottom:.75rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;background:#fff;padding:1.5rem;border-radius:var(--radius-md)}.detail-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--color-neutral-50);border-radius:var(--radius-sm)}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.75rem;font-weight:600;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.875rem;color:var(--color-neutral-900);font-weight:500}.customer-details{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.customer-details span{font-size:.875rem;color:var(--color-neutral-700)}.sale-id{font-family:var(--font-mono);font-size:.75rem;color:var(--color-neutral-500);background:var(--color-neutral-100);padding:.25rem .5rem;border-radius:var(--radius-sm);display:inline-block}.memberships-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(560px,1fr));gap:1.5rem;margin-top:1rem}.membership-card{background:#fff;border:2px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;transition:all .2s ease;min-width:0}.membership-card:hover{border-color:var(--color-primary-400);box-shadow:0 4px 12px #0000001a}.membership-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-neutral-200)}.membership-header .membership-title{margin:0;font-size:1.25rem;color:var(--color-primary-900);font-weight:600;line-height:1.3}.membership-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.member-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.member-type-child{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0c4a6e;border:1px solid #7dd3fc}.text-muted{color:var(--color-neutral-500);font-size:.85em}.membership-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0}.detail-row.full-width{flex-direction:column;gap:.25rem}.detail-label{font-weight:500;color:var(--color-neutral-600);font-size:.875rem;min-width:150px;flex-shrink:0}.detail-value{color:var(--color-neutral-900);font-size:.875rem;text-align:right;flex:1;min-width:0;overflow-wrap:break-word;word-break:break-all}.detail-row.full-width .detail-value{text-align:left;color:var(--color-neutral-700);line-height:1.5}.text-warning{color:#f59e0b!important;font-weight:600}.text-danger{color:#ef4444!important;font-weight:600}.dd-status{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.dd-status-active{background:#d1fae5;color:#065f46}.dd-status-pending{background:#fef3c7;color:#92400e}.dd-status-cancelled,.dd-status-failed{background:#fee2e2;color:#991b1b}.auto-renew-badge{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;background:#dbeafe;color:#1e40af;display:inline-block}.membership-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-neutral-200)}.payment-status-badge{padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.contacts-tab{padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;font-size:1.5rem;color:var(--color-primary-900)}.contacts-list{display:flex;flex-direction:column;gap:1rem}.contact-card{background:#fff;border:2px solid var(--color-neutral-200);border-radius:var(--radius-xl);overflow:hidden;transition:all .2s ease}.contact-card:hover{border-color:var(--color-primary-400);box-shadow:0 4px 12px #00000014}.contact-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-neutral-200)}.contact-main-info h4{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-primary-900)}.contact-meta{display:flex;gap:.5rem;flex-wrap:wrap}.age-badge{display:inline-flex;padding:.25rem .75rem;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0c4a6e;border:1px solid #7dd3fc;border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.relationship-badge{display:inline-flex;padding:.25rem .75rem;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#581c87;border:1px solid #c084fc;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;text-transform:capitalize}.contact-details{padding:1.5rem;background:var(--color-neutral-50)}.contact-section{margin-top:1.5rem}.contact-section:first-child{margin-top:0}.contact-section h5{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-primary-900)}.medical-info,.contact-notes{padding:1rem;background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);color:var(--color-neutral-800);line-height:1.6}.consent-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}@media (max-width: 768px){.contact-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-header{flex-direction:column;align-items:stretch;gap:1rem}}.contact-detail-page{max-width:1400px;margin:0 auto;padding:2rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--color-neutral-300);border-radius:6px;color:var(--color-neutral-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.back-button:hover{background:var(--color-neutral-100);border-color:var(--color-neutral-400)}.contact-header-card{background:#fff;border-radius:var(--radius-xl);padding:2rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-header-main{display:flex;align-items:center;gap:1.5rem}.contact-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#fce7f3,#fbcfe8);display:flex;align-items:center;justify-content:center;color:#9f1239;flex-shrink:0}.contact-header-info h1{margin:0 0 .5rem;font-size:2rem;color:var(--color-primary-900)}.contact-header-title{display:flex;align-items:center;gap:1rem}.contact-type-badge{display:inline-flex;padding:.25rem .75rem;background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#9f1239;border:1px solid #f9a8d4;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.contact-age{font-size:1.125rem;color:var(--color-neutral-700);margin:0}.contact-relationship{font-size:.875rem;color:var(--color-neutral-600);text-transform:capitalize;margin:0}.contact-header-actions{display:flex;align-items:center;gap:1rem}.contact-content{display:flex;flex-direction:column;gap:1.5rem}.info-section{background:#fff;border-radius:var(--radius-xl);padding:2rem;box-shadow:0 1px 3px #0000001a}.info-section h3{margin:0 0 1.5rem;font-size:1.25rem;color:var(--color-primary-900);border-bottom:2px solid var(--color-neutral-200);padding-bottom:.75rem}.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-label{font-size:.875rem;font-weight:600;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em}.info-value{font-size:1.125rem;color:var(--color-primary-900);font-weight:500}.empty-text{color:var(--color-neutral-500);font-style:italic;margin:0}.parents-list,.pickups-list,.memberships-list,.enrollments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.parent-card,.pickup-card,.membership-mini-card,.enrollment-card{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s ease}.parent-card:hover,.pickup-card:hover{border-color:var(--color-primary-300);box-shadow:0 4px 12px #00000014}.parent-card h4,.pickup-card h4{margin:0;font-size:1.125rem;color:var(--color-primary-900)}.primary-badge{display:inline-flex;padding:.25rem .5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:var(--radius-sm);font-size:.7rem;font-weight:700;text-transform:uppercase;margin-left:.5rem}.parent-relationship,.pickup-relationship{font-size:.875rem;color:var(--color-neutral-600);text-transform:capitalize;margin:0}.parent-contact p{margin:.25rem 0;font-size:.875rem;color:var(--color-neutral-700)}.pickup-info h4{margin:0 0 .25rem}.pickup-info p{margin:0;font-size:.875rem;color:var(--color-neutral-700)}.medical-info-box,.notes-box{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:1.25rem}.medical-info-box p,.notes-box p{margin:0;color:var(--color-neutral-800);line-height:1.6}.consents-grid{display:flex;gap:1rem;flex-wrap:wrap}.consent-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.consent-yes{background:#d1fae5;color:#065f46;border:1px solid #10b981}.consent-no{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.membership-mini-card div h4,.enrollment-card div h4{margin:0 0 .5rem;font-size:1rem;color:var(--color-primary-900)}.membership-mini-card div p,.enrollment-card div p{margin:.25rem 0;font-size:.875rem;color:var(--color-neutral-700)}.days-remaining{color:var(--color-primary-600);font-weight:600}@media (max-width: 768px){.contact-detail-page{padding:1rem}.contact-header-card,.contact-header-main{flex-direction:column;align-items:flex-start}.info-grid,.parents-list,.pickups-list,.memberships-list,.enrollments-list{grid-template-columns:1fr}}.branding-page{max-width:900px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;margin-bottom:.5rem}.page-header p{color:var(--color-neutral-800);font-size:1.125rem}@media (max-width: 768px){.color-inputs{grid-template-columns:1fr}.brand-preview{padding:1rem}.preview-content{padding:1.5rem}}.settings-page{max-width:900px;margin:0 auto}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--color-neutral-200)}.tab-button{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:var(--color-neutral-800);cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button:hover{color:var(--color-secondary-600);background:var(--color-neutral-100)}.tab-button.active{color:var(--color-secondary-600);border-bottom-color:var(--color-secondary-600)}.section-description{color:var(--color-neutral-800);margin-bottom:1.5rem}.slug-form,.branding-form{display:flex;flex-direction:column;gap:1.5rem}.slug-preview{background:var(--color-neutral-100);padding:1rem;border-radius:.5rem;font-size:.875rem}.slug-preview strong{display:block;margin-bottom:.5rem}.slug-preview code{display:block;background:#fff;padding:.75rem;border-radius:.375rem;font-family:monospace;color:var(--color-secondary-600)}.color-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.color-input-group{display:flex;flex-direction:column;gap:.5rem}.color-input-group label{font-weight:600;color:var(--color-primary-700)}.color-input-wrapper{display:flex;gap:.75rem;align-items:center}.color-input-wrapper input[type=color]{width:60px;height:40px;border:2px solid var(--color-neutral-200);border-radius:.5rem;cursor:pointer}.color-input-wrapper input[type=text]{flex:1;padding:.625rem;border:1px solid var(--color-neutral-200);border-radius:.5rem;font-family:monospace;font-size:1rem}.color-help{font-size:.875rem;color:var(--color-neutral-800)}.form-actions{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--color-neutral-200)}.brand-preview{background:var(--color-neutral-100);padding:2rem;border-radius:.75rem;text-align:center}.preview-logo{margin-bottom:2rem}.preview-logo img{max-height:80px;max-width:200px}.preview-content{background:#fff;padding:2rem;border-radius:.75rem;max-width:500px;margin:0 auto}.preview-content h3{font-size:1.75rem;margin-bottom:1rem}.preview-content p{color:var(--color-neutral-800);margin-bottom:1.5rem}.preview-button{padding:.875rem 2rem;border:none;border-radius:.5rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s}.preview-button:hover{opacity:.9;transform:translateY(-1px)}.error-message{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}.success-message{background:#d1fae5;color:#16a34a;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.color-inputs{grid-template-columns:1fr}.brand-preview{padding:1rem}.preview-content{padding:1.5rem}.settings-tabs{flex-direction:column}.tab-button{text-align:left}}.staff-tabs{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-lg) 0 var(--spacing-lg);border-bottom:2px solid var(--color-border);background:#fff}.staff-tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:500;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.staff-tab:hover{color:var(--color-primary);background:var(--color-background-hover)}.staff-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.staff-content{padding:var(--spacing-lg);background:var(--color-background);min-height:calc(100vh - 200px)}.staff-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.staff-section-header h2{margin:0;font-size:var(--font-size-xxl);color:var(--color-text-primary)}.staff-status-tab,.staff-reports-tab,.staff-history-tab{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.staff-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.staff-status-card{background:#fff;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:0 1px 3px #0000001a;border:1px solid var(--color-border);display:flex;gap:var(--spacing-md);transition:transform .2s,box-shadow .2s}.staff-status-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.staff-status-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem;flex-shrink:0}.staff-status-info{flex:1;min-width:0}.staff-status-info h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.staff-status-role{display:inline-block;padding:2px 8px;background:var(--color-background-secondary);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.staff-status-time{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.staff-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#10b981;color:#fff;border-radius:var(--border-radius-sm);font-weight:500;font-size:var(--font-size-xs)}.staff-status-badge:before{content:"●";animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.staff-status-duration{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.staff-status-duration strong{color:var(--color-primary);font-weight:600}.staff-status-till{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.staff-reports-section{padding:var(--spacing-lg)}.reports-filters{margin-bottom:var(--spacing-xl)}.reports-date-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.reports-date-filters .attractis-form-group{flex:1;min-width:200px}.reports-quick-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.reports-summary,.reports-daily{margin-top:var(--spacing-xl)}.reports-summary h3,.reports-daily h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:var(--font-size-xl)}.reports-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);background:var(--color-background-secondary);border-radius:var(--border-radius-md)}.reports-table-container{overflow-x:auto;border-radius:var(--border-radius-md);border:1px solid var(--color-border);background:#fff}.attractis-table{width:100%;border-collapse:collapse}.attractis-table thead{background:var(--color-background-secondary)}.attractis-table th{padding:var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.attractis-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.attractis-table tbody tr:hover{background:var(--color-background-hover)}.staff-history-section{padding:var(--spacing-lg)}.history-filters{margin-bottom:var(--spacing-lg)}.history-filters .attractis-form-group{max-width:400px}.history-table-container{overflow-x:auto;border-radius:var(--border-radius-md);border:1px solid var(--color-border);background:#fff;margin-bottom:var(--spacing-lg)}.attractis-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.attractis-pagination span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.status-badge{display:inline-block;padding:4px 12px;border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:500;background:var(--color-background-secondary);color:var(--color-text-secondary)}.status-badge.status-active{background:#dcfce7;color:#166534}.attractis-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;box-shadow:0 4px 24px #0000000a}.attractis-alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg)}.attractis-alert--error{background:#fee2e2;color:#991b1b;border:1px solid #FCA5A5}.staff-users-tab{animation:fadeIn .3s ease-in}.users-table-container{overflow-x:auto;border-radius:var(--border-radius-md);border:1px solid var(--color-border);background:#fff;margin-top:var(--spacing-lg)}.role-badge{display:inline-block;padding:4px 12px;border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.role-staff{background:#e0e7ff;color:#3730a3}.role-manager{background:#dbeafe;color:#1e40af}.role-admin{background:#fef3c7;color:#92400e}.role-owner{background:#fee2e2;color:#991b1b}.access-type-badge{display:inline-block;padding:4px 12px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:500;background:var(--color-background-secondary);color:var(--color-text-secondary)}.status-toggle{padding:4px 12px;border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:500;border:none;cursor:pointer;transition:all .2s;text-transform:capitalize}.status-toggle.status-active{background:#dcfce7;color:#166534}.status-toggle.status-active:hover{background:#bbf7d0}.status-toggle.status-inactive{background:#fee2e2;color:#991b1b}.status-toggle.status-inactive:hover{background:#fecaca}.pin-badge{display:inline-block;padding:4px 12px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:500}.pin-set{background:#dcfce7;color:#166534}.pin-not-set{background:var(--color-background-secondary);color:var(--color-text-tertiary)}.table-actions{display:flex;gap:var(--spacing-sm)}.action-button{padding:6px 12px;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.action-edit{background:#dbeafe;color:#1e40af}.action-edit:hover{background:#bfdbfe}.action-delete{background:#fee2e2;color:#991b1b}.action-delete:hover{background:#fecaca}.attractis-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.attractis-form-group{margin-bottom:var(--spacing-md)}.attractis-label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text-primary);font-size:var(--font-size-sm)}.required{color:#dc2626}@media (max-width: 768px){.staff-status-grid{grid-template-columns:1fr}.reports-date-filters,.reports-quick-filters{flex-direction:column}.reports-quick-filters button{width:100%}.attractis-table{font-size:var(--font-size-sm)}.attractis-table th,.attractis-table td{padding:var(--spacing-sm)}.attractis-form-row{grid-template-columns:1fr}.table-actions{flex-direction:column}.staff-section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.staff-section-header button{width:100%}}.membership-type-modal{background:#fff;border-radius:12px;max-width:800px;width:90%;max-height:90vh;overflow:auto}.modal-body{padding:1.5rem;max-height:calc(90vh - 120px);overflow-y:auto}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.form-section:last-of-type{border-bottom:none}.form-section h3{font-size:1.125rem;font-weight:600;color:#1a202c;margin:0 0 1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#5fa888;box-shadow:0 0 0 3px #5fa8881a}.form-group textarea{resize:vertical}.form-group small{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.radio-item:hover{border-color:#5fa888;background:#5fa8880d}.radio-item input[type=radio]{width:auto;margin:0}.radio-item span{font-size:.875rem;color:#1a202c}.checkbox-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}.checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;transition:background .2s;border-radius:4px}.checkbox-item:hover{background:#fff}.checkbox-item input[type=checkbox]{width:auto;margin:0}.checkbox-item span{font-size:.875rem;color:#374151}.input-with-button{display:flex;gap:.5rem}.input-with-button input{flex:1}.benefits-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem;background:#f0f9f5;border-radius:6px}.benefit-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fff;border:1px solid #d1fae5;border-radius:4px;font-size:.875rem;color:#065f46}.benefit-item span{flex:1}.benefit-item .remove-btn{background:none;border:none;color:#dc2626;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s;font-size:1rem;line-height:1}.benefit-item .remove-btn:hover{background:#fee2e2}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;margin-bottom:1rem;font-size:.875rem}.error-message svg{flex-shrink:0}.empty-state-inline{display:flex;gap:1rem;padding:1.5rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;align-items:flex-start}.empty-state-inline svg{flex-shrink:0;color:#92400e}.empty-state-inline div{flex:1}.empty-state-inline strong{display:block;color:#78350f;font-size:.875rem;margin-bottom:.25rem}.empty-state-inline p{margin:0;font-size:.8125rem;color:#92400e;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;margin:0 -1.5rem -1.5rem;border-radius:0 0 12px 12px}.membership-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.membership-type-card{border:2px solid #e5e7eb;border-radius:12px;padding:0;transition:all .2s;overflow:hidden}.membership-type-card:hover{border-color:#5fa888;box-shadow:0 4px 12px #5fa88826}.membership-type-clickable{padding:1.5rem;padding-bottom:0}.membership-type-clickable:hover h3{color:#5fa888}.membership-type-card--inactive{opacity:.6;border-color:#d1d5db}.membership-type-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.membership-type-header h3{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0}.membership-status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.membership-type-description{color:#6b7280;font-size:.875rem;margin-bottom:1rem;line-height:1.5}.membership-type-details{background:linear-gradient(135deg,#f0f9f5,#e6f7ef);border-radius:8px;padding:1rem;margin-bottom:1rem}.membership-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(95,168,136,.1)}.membership-detail-row:last-child{border-bottom:none}.detail-value{font-size:.875rem;color:#1a202c;font-weight:600}.discount-highlight{color:#5fa888;font-size:1rem}.membership-benefits{margin-bottom:1rem}.membership-benefits h4{font-size:.875rem;font-weight:600;color:#1a202c;margin-bottom:.5rem}.membership-benefits ul{list-style:none;padding:0;margin:0}.membership-benefits li{font-size:.875rem;color:#4b5563;padding:.25rem 0 .25rem 1.25rem;position:relative}.membership-benefits li:before{content:"✓";position:absolute;left:0;color:#5fa888;font-weight:600}.membership-type-actions{display:flex;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.membership-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.membership-modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow:auto}.membership-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.membership-modal-header h2{margin:0;font-size:1.5rem;color:#1a202c}.membership-modal-body{padding:1.5rem}.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--color-neutral-300, #d1d5db);border-radius:6px;color:var(--color-neutral-700, #374151);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:.5rem}.back-button:hover{background:var(--color-neutral-100, #f3f4f6);border-color:var(--color-neutral-400, #9ca3af)}.membership-type-details-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;margin-bottom:2rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-size:.875rem;color:#6b7280;font-weight:500}.detail-value{font-size:1.25rem;color:#111827;font-weight:600}.description{padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.description p{color:#374151;line-height:1.6}.benefits{padding-top:1.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem}.benefits h3{font-size:1rem;font-weight:600;color:#111827;margin-bottom:1rem}.benefits ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.benefits li{padding-left:1.5rem;position:relative;color:#374151}.benefits li:before{content:"✓";position:absolute;left:0;color:#5fa888;font-weight:600}.members-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.members-header h2{font-size:1.5rem;font-weight:600;color:#111827;margin:0}.members-stats{display:flex;gap:1.5rem}.stat{font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:var(--radius-sm)}.stat.active{background:#d1fae5;color:#065f46}.stat.expired{background:#fef3c7;color:#92400e}.stat.cancelled{background:#fee2e2;color:#991b1b}.members-filters{margin-bottom:1.5rem}.filter-select{padding:.625rem 1rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer;min-width:200px}.members-table-container{overflow-x:auto}.members-table{width:100%;border-collapse:collapse}.members-table thead th{text-align:left;padding:.75rem 1rem;background:#f9fafb;border-bottom:2px solid #e5e7eb;font-size:.875rem;font-weight:600;color:#6b7280;white-space:nowrap}.members-table tbody td{padding:1rem;border-bottom:1px solid #e5e7eb;font-size:.875rem}.members-table tbody tr:hover{background:#f9fafb}.customer-cell{display:flex;flex-direction:column;gap:.25rem}.customer-name{font-weight:500;color:#111827;display:flex;align-items:center;gap:.5rem}.child-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0c4a6e;border:1px solid #7dd3fc}.parent-info{font-size:.75rem;color:#6b7280;font-style:italic}.customer-number{font-size:.75rem;color:#9ca3af;font-family:monospace}.membership-number{font-family:monospace;font-size:.75rem;color:#4b5563;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.end-date-cell{display:flex;flex-direction:column;gap:.25rem}.expiring-badge{font-size:.75rem;font-weight:600;color:#f59e0b;background:#fef3c7;padding:.125rem .5rem;border-radius:4px;width:fit-content}.allowance-badge{font-size:.875rem;font-weight:600;color:#047857;background:#d1fae5;padding:.25rem .75rem;border-radius:4px;display:inline-block}.empty-state{text-align:center;padding:3rem;color:#9ca3af}.status-badge{padding:.375rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge-active{background:#d1fae5;color:#065f46}.status-badge-inactive,.status-badge-expired{background:#fee2e2;color:#991b1b}.status-badge-cancelled{background:#f3f4f6;color:#6b7280}.payment-status-badge{padding:.375rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.payment-status-pending{background:#fef3c7;color:#92400e}.payment-status-paid{background:#d1fae5;color:#065f46}.payment-status-partial{background:#fde68a;color:#78350f}.payment-status-overdue{background:#fee2e2;color:#991b1b}.payment-status-cancelled{background:#f3f4f6;color:#6b7280}.discount-modal-form{background:#fff;border-radius:12px;max-width:800px;width:90%;max-height:90vh;overflow:auto}.discount-modal-form .modal-body{padding:1.5rem;max-height:calc(90vh - 120px);overflow-y:auto}.discount-modal-form .form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.discount-modal-form .form-section:last-of-type{border-bottom:none}.discount-modal-form .form-section h3{font-size:1.125rem;font-weight:600;color:#1a202c;margin:0 0 1rem}.discount-modal-form .form-group{margin-bottom:1rem}.discount-modal-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.discount-modal-form .form-group input[type=text],.discount-modal-form .form-group input[type=number],.discount-modal-form .form-group input[type=date],.discount-modal-form .form-group textarea,.discount-modal-form .form-group select{width:100%;padding:.625rem .875rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s}.discount-modal-form .form-group input:focus,.discount-modal-form .form-group textarea:focus,.discount-modal-form .form-group select:focus{outline:none;border-color:#5fa888;box-shadow:0 0 0 3px #5fa8881a}.discount-modal-form .form-group textarea{resize:vertical}.discount-modal-form .form-group small{display:block;margin-top:.25rem;font-size:.75rem;color:#6b7280}.discount-modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.discount-modal-form .radio-group{display:flex;flex-direction:column;gap:.75rem}.discount-modal-form .radio-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s}.discount-modal-form .radio-item:hover{border-color:#5fa888;background:#5fa8880d}.discount-modal-form .radio-item input[type=radio]{width:auto;margin:0}.discount-modal-form .radio-item span{font-size:.875rem;color:#1a202c}.discount-modal-form .checkbox-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb}.discount-modal-form .checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;transition:background .2s;border-radius:4px}.discount-modal-form .checkbox-item:hover{background:#fff}.discount-modal-form .checkbox-item input[type=checkbox]{width:auto;margin:0}.discount-modal-form .checkbox-item span{font-size:.875rem;color:#374151}.discount-modal-form .error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;margin-bottom:1rem;font-size:.875rem}.discount-modal-form .error-message svg{flex-shrink:0}.discount-modal-form .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;margin:0 -1.5rem -1.5rem;border-radius:0 0 12px 12px}.attractis-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;font-family:inherit}.attractis-button:disabled{opacity:.5;cursor:not-allowed}.attractis-button svg{width:16px;height:16px;flex-shrink:0}.attractis-button--primary{background:linear-gradient(135deg,#5fa888,#4a8b6f);color:#fff;box-shadow:0 2px 4px #5fa88833}.attractis-button--primary:hover:not(:disabled){background:linear-gradient(135deg,#4a8b6f,#3d7a5e);box-shadow:0 4px 8px #5fa8884d;transform:translateY(-1px)}.attractis-button--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #5fa88833}.attractis-button--secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.attractis-button--secondary:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.attractis-button--ghost{background:transparent;color:#6b7280}.attractis-button--ghost:hover:not(:disabled){background:#f3f4f6;color:#374151}.attractis-button--sm{padding:.5rem 1rem;font-size:.8125rem}.attractis-button--lg{padding:.875rem 1.75rem;font-size:1rem}.discounts-table-container{margin-top:1.5rem;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.discounts-table{width:100%;border-collapse:collapse}.discounts-table thead{background:linear-gradient(135deg,#5fa888,#4a8b6f);color:#fff}.discounts-table th{padding:1rem;text-align:left;font-weight:600;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.discounts-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s}.discounts-table tbody tr:hover{background:#f9fafb}.discounts-table tbody tr.discount-inactive{opacity:.5}.discounts-table td{padding:1rem;font-size:.875rem}.discount-code-badge{display:inline-block;padding:.25rem .75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:6px;font-family:Monaco,Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:1px}.discount-name{font-weight:600;color:#1a202c;margin-bottom:.25rem}.discount-description{font-size:.75rem;color:#6b7280}.discount-type-badge{display:inline-block;padding:.25rem .5rem;background:#e0e7ff;color:#4338ca;border-radius:4px;font-size:.75rem;font-weight:500}.discount-value{font-weight:700;color:#5fa888;font-size:1rem}.usage-info{display:flex;flex-direction:column;gap:.25rem}.usage-count{font-weight:600;color:#1a202c}.usage-limit{font-size:.75rem;color:#6b7280}.usage-type-badge{display:inline-block;padding:.125rem .5rem;background:#fef3c7;color:#92400e;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:capitalize;width:fit-content}.date-range{font-size:.75rem;color:#4b5563}.date-separator{color:#9ca3af;margin:.125rem 0}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-active{background:#d1fae5;color:#065f46}.status-inactive{background:#fee2e2;color:#991b1b}.status-expired{background:#fef3c7;color:#92400e}.actions-cell{display:flex;gap:.5rem}.discount-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.discount-modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow:auto}.discount-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.discount-modal-header h2{margin:0;font-size:1.5rem;color:#1a202c}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:.5rem;line-height:1}.modal-close-btn:hover{color:#1a202c}.discount-modal-body{padding:1.5rem}.discount-tabs{display:flex;gap:.5rem;padding:1rem 0;border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem}.discount-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:transparent;border:none;border-radius:8px 8px 0 0;font-size:.875rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;position:relative}.discount-tab:hover{background:#f3f4f6;color:#111827}.discount-tab--active{color:#5fa888;background:#f0fdf4}.discount-tab--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#5fa888}.discount-tab svg{width:16px;height:16px}.discount-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.discount-content-header{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.bulk-generation-section{margin-top:1rem;padding:1.25rem;background:linear-gradient(135deg,#f0fdf4,#e0f2fe);border:1px solid #5FA888;border-radius:8px}.bulk-generation-section .form-group{margin-bottom:1rem}.bulk-generation-section .form-group:last-child{margin-bottom:0}.usage-type-display{margin-bottom:.5rem}.usage-type-badge{display:inline-block;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.usage-type-badge.single-use{background:#fef3c7;color:#92400e}.usage-type-badge.reusable{background:#dbeafe;color:#1e40af}.campaigns-container{display:flex;flex-direction:column;gap:1rem}.campaign-group{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.campaign-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;cursor:pointer;transition:background .2s;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb}.campaign-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.campaign-header-left{display:flex;align-items:center;gap:1rem;flex:1}.campaign-toggle-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;padding:.25rem}.campaign-name{font-size:1.125rem;font-weight:600;color:#1a202c;margin:0}.campaign-stats{display:flex;gap:.5rem;align-items:center}.stat-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.stat-total{background:#e0e7ff;color:#4338ca}.stat-used{background:#fef3c7;color:#92400e}.stat-active{background:#d1fae5;color:#065f46}.campaign-meta{display:flex;align-items:center;gap:1rem}.campaign-meta .discount-value{font-size:1rem;font-weight:700;color:#5fa888}.campaign-codes{background:#fff}.campaign-codes .discounts-table{margin:0;box-shadow:none}.campaign-codes .discounts-table thead{background:#f9fafb;color:#374151}.used-badge{display:inline-block;padding:.25rem .5rem;background:#fef3c7;color:#92400e;border-radius:4px;font-size:.75rem;font-weight:600}.unused-badge{display:inline-block;padding:.25rem .5rem;background:#d1fae5;color:#065f46;border-radius:4px;font-size:.75rem;font-weight:600}.attractis-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 2.5rem;text-align:center;background:linear-gradient(180deg,var(--color-neutral-50) 0%,white 100%);border:2px dashed var(--color-neutral-300);border-radius:var(--radius-lg);min-height:380px;margin-top:1.5rem;box-shadow:0 4px 24px #0000000a}.attractis-empty-state-icon{width:96px;height:96px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.75rem;color:var(--color-secondary-400);background:linear-gradient(135deg,var(--color-secondary-50) 0%,white 100%);border-radius:50%;border:2px solid var(--color-secondary-200);box-shadow:0 4px 16px #5fa8881f}.attractis-empty-state-icon svg{width:48px;height:48px}.attractis-empty-state-title{margin:0 0 .75rem;font-size:1.5rem;font-weight:700;color:var(--color-primary-800);letter-spacing:-.02em;line-height:1.3}.attractis-empty-state-description{margin:0 0 2rem;font-size:1rem;color:var(--color-neutral-600);line-height:1.6;max-width:400px}.attractis-empty-state-cta{min-width:200px;padding:.75rem 1.5rem;font-weight:600;box-shadow:0 4px 14px #5fa88840;transition:transform .2s ease,box-shadow .2s ease}.attractis-empty-state-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5fa8884d}@media print{.modal-overlay{position:static!important;background:#fff!important}.modal-header,.modal-close-btn,button{display:none!important}.discount-modal-form{box-shadow:none!important;border:none!important;max-width:100%!important;max-height:none!important}.modal-body{padding:0!important}[style*=grid]{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1rem!important;page-break-inside:avoid}[style*=grid]>div{border:1px solid #000!important;padding:.5rem!important;page-break-inside:avoid}[style*=grid] img{display:block!important;margin:.5rem auto!important}}.filters-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:end}.attractis-table-container{overflow-x:auto}.attractis-table{width:100%;border-collapse:collapse;font-size:.875rem}.attractis-table thead{background:#f5f5f7;border-bottom:2px solid #e5e5e5}.attractis-table th{padding:.875rem 1rem;text-align:left;font-weight:600;color:#1a1a1a;font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.attractis-table td{padding:.875rem 1rem;border-bottom:1px solid #e5e5e5;color:#333}.attractis-table tbody tr:hover{background:#fafafa}.attractis-table tbody tr:last-child td{border-bottom:none}.filter-group{display:flex;flex-direction:column;gap:.5rem}.variance-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;display:inline-block}.variance-badge--success{background:#e8f5e9;color:#2e7d32}.variance-badge--error{background:#ffebee;color:#c62828}.variance-badge--info{background:#e3f2fd;color:#1565c0}.session-badge{padding:.25rem .625rem;border-radius:10px;font-size:.75rem;font-weight:500;display:inline-block}.session-badge--info{background:#f0f9f5;color:#5fa888;border:1px solid #5FA888}.session-notes{font-size:.875rem;color:#666;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;cursor:help}.text-right{text-align:right}@media (max-width: 768px){.filters-container{grid-template-columns:1fr}.attractis-table-container{overflow-x:auto}}.roster-page{padding:2rem;max-width:1600px;margin:0 auto}.roster-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem}.roster-header-content h1{margin:0}.roster-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem}.breadcrumb-link{color:var(--color-secondary-700);text-decoration:none;transition:color var(--transition-base)}.breadcrumb-link:hover{color:var(--color-secondary-900);text-decoration:underline}.breadcrumb-separator{color:var(--color-neutral-400)}.breadcrumb-current{color:var(--color-neutral-600)}.roster-title{font-size:2rem;font-weight:700;color:var(--color-primary-900);margin:0 0 .5rem;display:flex;align-items:center;gap:.75rem}.roster-age-badge{font-size:1.25rem;font-weight:600;color:var(--color-secondary-700);background:var(--color-secondary-100);padding:.25rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-secondary-300)}.roster-subtitle{font-size:1rem;color:var(--color-neutral-600);margin:0}.roster-header-actions{display:flex;gap:.75rem;flex-shrink:0}.roster-summary{display:flex;gap:1rem;background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.summary-stat{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:linear-gradient(135deg,var(--color-neutral-50) 0%,var(--color-neutral-100) 100%);border-radius:var(--radius-lg)}.summary-label{font-size:.75rem;font-weight:600;color:var(--color-neutral-600);text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.875rem;font-weight:700;color:var(--color-primary-900)}.summary-value--success{color:var(--color-secondary-700)}.roster-upcoming-sessions{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.roster-section-title{font-size:1rem;font-weight:600;color:var(--color-primary-900);margin:0 0 1rem}.upcoming-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.upcoming-slot-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg)}.upcoming-slot-date{font-size:.875rem;font-weight:600;color:var(--color-primary-800)}.upcoming-slot-time{font-size:1.25rem;font-weight:700;color:var(--color-secondary-700)}.roster-filters{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.filters-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.filter-group{flex:1;min-width:200px;max-width:300px}.filter-label{display:block;font-size:.875rem;font-weight:600;color:var(--color-neutral-700);margin-bottom:.5rem}.filter-select{width:100%;padding:.625rem .875rem;border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);font-size:.875rem;color:var(--color-primary-900);background:#fff;transition:all var(--transition-base)}.filter-select:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 3px #5fa88826}.roster-table-container{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.roster-table{width:100%;border-collapse:collapse}.roster-table thead{background:linear-gradient(135deg,var(--color-neutral-50) 0%,var(--color-neutral-100) 100%);border-bottom:2px solid var(--color-neutral-200)}.roster-table th{padding:1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-neutral-700)}.roster-table tbody tr{border-bottom:1px solid var(--color-neutral-100);transition:background-color var(--transition-fast)}.roster-table tbody tr:last-child{border-bottom:none}.roster-table tbody tr:hover{background-color:var(--color-neutral-50)}.roster-table td{padding:1rem;font-size:.875rem;color:var(--color-primary-800)}.participant-cell{display:flex;flex-direction:column;gap:.25rem}.participant-name{font-weight:600;color:var(--color-primary-900)}.participant-meta{font-size:.8125rem;color:var(--color-neutral-600)}.table-age,.table-date{color:var(--color-neutral-700)}.table-fee{font-weight:600;color:var(--color-primary-900);font-family:var(--font-mono)}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge-enrollment,.status-badge-booking{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;border:1px solid}.status-badge-enrollment:before,.status-badge-booking:before{display:none}.status-badge-enrollment{color:#1565c0;background:#e3f2fd;border-color:#90caf9}.status-badge-booking{color:#6a1b9a;background:#f3e5f5;border-color:#ce93d8}.summary-value--info{color:#1565c0}.status-badge-type-full{color:#1976d2;background:#e3f2fd;border-color:#90caf9}.status-badge-type-trial{color:#f57c00;background:#fff3e0;border-color:#ffb74d}.status-badge-type-drop_in{color:#7b1fa2;background:#f3e5f5;border-color:#ce93d8}.status-badge-payment-pending{color:#f57c00;background:#fff3e0;border-color:#ffb74d}.status-badge-payment-paid{color:var(--color-secondary-800);background:var(--color-secondary-100);border-color:var(--color-secondary-400)}.status-badge-payment-partial{color:#f57f17;background:#fff9c4;border-color:#fff176}.status-badge-payment-overdue{color:var(--color-error);background:#fee2e2;border-color:#fca5a5}.status-badge-payment-refunded{color:var(--color-neutral-700);background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.status-badge-active{color:var(--color-secondary-800);background:var(--color-secondary-100);border-color:var(--color-secondary-400)}.status-badge-suspended{color:#f57c00;background:#fff3e0;border-color:#ffb74d}.status-badge-cancelled{color:var(--color-error);background:#fee2e2;border-color:#fca5a5}.status-badge-completed{color:var(--color-neutral-700);background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.roster-actions{display:flex;gap:.5rem}.btn-action{padding:.5rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center}.btn-action svg{width:16px;height:16px;stroke-width:2}.btn-action-edit{background:var(--color-accent-100);color:var(--color-accent-700)}.btn-action-edit:hover{background:var(--color-accent-200);transform:translateY(-1px)}.btn-action-delete{background:#fee2e2;color:var(--color-error)}.btn-action-delete:hover{background:#fca5a5;transform:translateY(-1px)}.roster-empty{padding:4rem 2rem;text-align:center;background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.empty-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--color-neutral-300);stroke-width:1.5}.roster-empty h3{font-size:1.25rem;font-weight:600;color:var(--color-primary-800);margin:0 0 .5rem}.roster-empty p{font-size:.875rem;color:var(--color-neutral-600);margin:0}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.spinner{width:48px;height:48px;border:4px solid var(--color-neutral-200);border-top-color:var(--color-secondary-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{margin-top:1rem;color:var(--color-neutral-600);font-size:.875rem}@media (max-width: 1200px){.roster-table{font-size:.8125rem}.roster-table th,.roster-table td{padding:.75rem}}@media (max-width: 768px){.roster-page{padding:1rem}.roster-header{flex-direction:column}.roster-header-actions{width:100%}.roster-summary,.filters-row{flex-direction:column}.filter-group{width:100%;max-width:none}.roster-table-container{overflow-x:auto}.roster-table{min-width:900px}}.register-actions{display:flex;gap:.75rem;flex-wrap:wrap}.summary-stat--success{border-left:3px solid var(--color-secondary-600);background-color:var(--color-secondary-50)}.summary-stat--danger{border-left:3px solid var(--color-error);background-color:#ef44440d}.summary-stat--warning{border-left:3px solid #b45309;background-color:#b453090d}.summary-stat--info{border-left:3px solid #3b82f6;background-color:#3b82f60d}.summary-helper{font-size:.75rem;color:var(--color-neutral-500);margin-top:.25rem}.register-table .register-col-status{min-width:280px;width:280px}.register-cell-status{vertical-align:middle;padding:.75rem}.register-status-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.status-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:2px solid transparent;border-radius:var(--radius-md, 6px);background:#fff;color:var(--color-neutral-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.status-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.status-button:active{transform:translateY(0)}.status-button-icon{font-size:1rem;font-weight:600;line-height:1}.status-button-label{line-height:1}.status-button--present{border-color:var(--color-secondary-300);color:var(--color-secondary-700)}.status-button--present:hover{background:var(--color-secondary-50);border-color:var(--color-secondary-400)}.status-button--present.status-button--active{background:var(--color-secondary-600);border-color:var(--color-secondary-600);color:#fff;box-shadow:0 2px 6px #5fa8884d}.status-button--present.status-button--active:hover{background:var(--color-secondary-700);border-color:var(--color-secondary-700);transform:translateY(0)}.status-button--absent{border-color:var(--color-neutral-300);color:var(--color-neutral-600)}.status-button--absent:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-400)}.status-button--absent.status-button--active{background:var(--color-neutral-600);border-color:var(--color-neutral-600);color:#fff;box-shadow:0 2px 6px #0003}.status-button--absent.status-button--active:hover{background:var(--color-neutral-700);border-color:var(--color-neutral-700);transform:translateY(0)}.status-button--not-attending{border-color:#b453094d;color:var(--color-warning, #b45309)}.status-button--not-attending:hover{background:#b453090d;border-color:#b4530966}.status-button--not-attending.status-button--active{background:var(--color-warning, #b45309);border-color:var(--color-warning, #b45309);color:#fff;box-shadow:0 2px 6px #b453094d}.status-button--not-attending.status-button--active:hover{background:#a04708;border-color:#a04708;transform:translateY(0)}.register-row-status-present{background-color:var(--color-secondary-50)}.register-row-status-present:hover{background-color:var(--color-secondary-100)}.register-row-status-not_coming{background-color:#b453090f}.register-row-status-not_coming:hover{background-color:#b453091a}.register-notes-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-primary-900);background:#fff;transition:border-color var(--transition-base)}.register-notes-input:focus{outline:none;border-color:var(--color-secondary-600);box-shadow:0 0 0 2px #5fa88826}.register-notes-input::placeholder{color:var(--color-neutral-400)}.register-not-marked{color:var(--color-neutral-400);font-size:.8125rem}.btn-view-child{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;margin-left:.5rem;background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#9f1239;border:1px solid #f9a8d4;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-view-child:hover{background:linear-gradient(135deg,#fbcfe8,#f9a8d4);border-color:#ec4899;transform:translateY(-1px);box-shadow:0 2px 8px #ec48994d}.btn-view-child svg{flex-shrink:0}.participant-name{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}@media (max-width: 768px){.register-actions{width:100%}.register-actions .attractis-button{flex:1;min-width:0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
