@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--color-bg-primary: #0f0f0f;--color-bg-secondary: #1a1a1a;--color-bg-card: #242424;--color-bg-elevated: #2d2d2d;--color-bg-hover: #2d2d2d;--color-bg-input: #1e1e1e;--color-accent-primary: #e91e63;--color-accent-light: #ff4081;--color-accent-dark: #c2185b;--color-accent-gradient: linear-gradient(135deg, #e91e63 0%, #9c27b0 100%);--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-muted: rgba(255, 255, 255, .5);--color-text-disabled: rgba(255, 255, 255, .3);--color-success: #4caf50;--color-success-light: #81c784;--color-success-dark: #388e3c;--color-warning: #ff9800;--color-warning-light: #ffb74d;--color-warning-dark: #f57c00;--color-error: #f44336;--color-error-light: #e57373;--color-error-dark: #d32f2f;--color-info: #2196f3;--color-info-light: #64b5f6;--color-info-dark: #1976d2;--color-border: rgba(255, 255, 255, .1);--color-border-light: rgba(255, 255, 255, .05);--color-border-strong: rgba(255, 255, 255, .2);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--border-radius-sm: 6px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--border-radius-full: 9999px;--font-family-base: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "JetBrains Mono", "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: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .7);--shadow-glow-accent: 0 0 20px rgba(233, 30, 99, .3);--shadow-glow-success: 0 0 20px rgba(76, 175, 80, .3);--shadow-glow-warning: 0 0 20px rgba(255, 152, 0, .3);--shadow-glow-error: 0 0 20px rgba(244, 67, 54, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600;--sidebar-width: 280px;--header-height: 60px;--input-height-sm: 36px;--input-height-md: 44px;--input-height-lg: 52px;--button-height-sm: 36px;--button-height-md: 44px;--button-height-lg: 52px}body{background-color:var(--color-bg-primary);color:var(--color-text-primary)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0}a{color:var(--color-accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-bg-elevated);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:#fff3}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-card{background-color:var(--color-bg-card)}.bg-elevated{background-color:var(--color-bg-elevated)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.m-0{margin:0}.p-0{padding:0}.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)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:0 var(--spacing-lg);height:var(--button-height-md);border:none;border-radius:var(--border-radius-md);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-accent),var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-card);border-color:var(--color-border-strong)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--color-success-dark);box-shadow:var(--shadow-glow-success)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);box-shadow:var(--shadow-glow-error)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:#ffffff0d;color:var(--color-text-primary)}.btn--primary{background:var(--color-accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-accent),var(--shadow-lg)}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-card);border-color:var(--color-border-strong)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:#ffffff0d;color:var(--color-text-primary)}.btn--danger{color:var(--color-error-light)}.btn--danger:hover:not(:disabled){color:var(--color-error);background:#f443361a}.btn--success{color:var(--color-success-light)}.btn--success:hover:not(:disabled){color:var(--color-success);background:#4caf501a}.btn--outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--outline:hover:not(:disabled){background:#ffffff0d;border-color:var(--color-border-strong);color:var(--color-text-primary)}.btn--text{background:transparent;color:var(--color-accent-primary);border:none;padding:0;height:auto}.btn--text:hover:not(:disabled){color:var(--color-accent-light);text-decoration:underline}.btn--active{background:#e91e6326;color:var(--color-accent-light);border-color:var(--color-accent-primary)}.btn--sm{height:var(--button-height-sm);padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.btn--xs{height:28px;padding:0 var(--spacing-sm);font-size:var(--font-size-xs)}.btn--icon{width:var(--button-height-sm);height:var(--button-height-sm);padding:0}.btn--small{height:32px;padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.btn-sm{height:var(--button-height-sm);padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.btn-lg{height:var(--button-height-lg);padding:0 var(--spacing-xl);font-size:var(--font-size-lg)}.input{width:100%;height:var(--input-height-md);padding:0 var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);transition:all var(--transition-normal)}.input::placeholder{color:var(--color-text-muted)}.input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e631a}.input:disabled{opacity:.5;cursor:not-allowed}.input-error:focus{box-shadow:0 0 0 3px #f443361a}.textarea{min-height:100px;padding:var(--spacing-md);resize:vertical}.card{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}.card-elevated{background:var(--color-bg-elevated)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.badge-success{background:#4caf5026;color:var(--color-success)}.badge-warning{background:#ff980026;color:var(--color-warning)}.badge-error{background:#f4433626;color:var(--color-error)}.badge-info{background:#2196f326;color:var(--color-info)}.badge-neutral{background:#ffffff1a;color:var(--color-text-secondary)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:var(--spacing-md);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:#ffffff05}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}@media(max-width:768px){.btn-sm{min-height:44px;padding:0 var(--spacing-md)}.page{padding:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.flex{display:flex}.flex-col{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)}.modal{background:var(--color-bg-card);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-2xl);max-width:520px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideInUp var(--transition-normal) ease}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.modal__header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal__body{padding:var(--spacing-xl);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--spacing-md)}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid var(--color-border);background:var(--color-bg-elevated)}.expense-modal{max-width:480px}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-field>span{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:border-color var(--transition-fast)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e631a}.form-field select option{background:var(--color-bg-card);color:var(--color-text-primary)}.form-field textarea{resize:vertical;min-height:60px}.layout{display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--color-bg-secondary);display:flex;flex-direction:column;border-right:1px solid var(--color-border);position:relative;z-index:var(--z-sticky)}.sidebar__header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#e91e630d,#9c27b00d)}.sidebar__logo{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.sidebar__logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-accent-gradient);border-radius:var(--border-radius-md);color:#fff}.sidebar__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.sidebar__user{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:flex-start;gap:var(--spacing-xs)}.sidebar__user-info{display:flex;flex-direction:column;gap:2px}.sidebar__user-name{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.sidebar__user-role{font-size:var(--font-size-xs);color:var(--color-accent-primary);opacity:.8}.sidebar__nav{flex:1;padding:var(--spacing-md) 0;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);position:relative;border-left:3px solid transparent}.nav-link:hover{background:#ffffff0d;color:var(--color-text-primary)}.nav-link--active{background:#e91e631a;color:var(--color-accent-primary);border-left-color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.nav-link--active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-accent-gradient);box-shadow:var(--shadow-glow-accent)}.nav-link__icon{flex-shrink:0}.sidebar__footer{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.sidebar__footer .nav-link{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.logout-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.logout-btn:hover{background:#f443361a;border-color:var(--color-error);color:var(--color-error)}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg-primary)}.main-content__wrapper{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--spacing-xl)}.bug-report-fab{position:fixed;bottom:32px;right:32px;z-index:var(--z-fixed, 1000);display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--color-accent-gradient, linear-gradient(135deg, #e91e63, #9c27b0));border:none;border-radius:24px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 16px #e91e6366;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;opacity:.85}.bug-report-fab:hover{transform:translateY(-2px);box-shadow:0 6px 22px #e91e638c;opacity:1}.bug-report-fab:active{transform:translateY(0)}.bug-report-fab__label{letter-spacing:.02em}.mobile-header,.sidebar__close-btn,.sidebar-overlay{display:none}@media(max-width:1024px){.sidebar{width:240px}}@media(max-width:768px){.mobile-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-fixed) - 1);height:56px}.mobile-header__menu-btn{background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:background var(--transition-fast)}.mobile-header__menu-btn:hover{background:#ffffff14}.mobile-header__logo{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.sidebar-overlay{display:block;position:fixed;inset:0;background:#0000008c;z-index:calc(var(--z-fixed) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:var(--z-fixed);transform:translate(-100%);transition:transform .25s ease}.sidebar--open{transform:translate(0)}.sidebar__close-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:var(--border-radius-sm);transition:color var(--transition-fast),background var(--transition-fast);z-index:1}.sidebar__close-btn:hover{color:var(--color-text-primary);background:#ffffff14}.layout{height:auto;overflow:unset}.main-content{width:100%;padding-top:56px;display:block;overflow:unset}.main-content__wrapper{padding:var(--spacing-md);overflow:unset}.bug-report-fab{bottom:20px;right:16px;padding:8px 12px;font-size:12px}}.booking-detail__payment-link-section{margin-top:1rem}.booking-detail__subsection-title{font-size:.95rem;font-weight:600;color:#333;margin:0 0 .75rem}.booking-detail__payment-link-display{display:flex;flex-direction:column;gap:.75rem}.booking-detail__payment-link-url{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem}.booking-detail__payment-link-input{width:100%;background:transparent;border:none;outline:none;font-size:.85rem;color:#667eea;font-family:Monaco,Courier New,monospace;padding:0}.booking-detail__payment-link-actions{display:flex;gap:.5rem}.booking-detail__pay-btn--copy{background:#f3f4f6;color:#666}.booking-detail__pay-btn--copy:hover{background:#e5e7eb}.booking-detail__pay-btn--generate{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:100%}.booking-detail__pay-btn--generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.booking-detail__payment-link-hint{font-size:.85rem;color:#666;margin:.5rem 0 0;line-height:1.5}.booking-detail__sbp-qr-section{margin-top:1rem}.booking-detail__sbp-qr-display{display:flex;flex-direction:column;align-items:center;gap:.75rem}.booking-detail__sbp-qr-image{width:220px;height:220px;border:2px solid #e5e7eb;border-radius:12px;padding:8px;background:#fff}.booking-detail__sbp-qr-amount{font-size:1.1rem;font-weight:600;color:#1a1a1a}.booking-detail__sbp-qr-hint{font-size:.85rem;color:#666;text-align:center;margin:0}.booking-detail__pay-btn--sbp{background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;width:100%}.booking-detail__pay-btn--sbp:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.booking-detail__payment-actions button{flex:1}@media(max-width:640px){.booking-detail__payment-link-actions{flex-direction:column}.booking-detail__payment-link-actions button{width:100%}}.payment-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.payment-container{max-width:600px;margin:0 auto}.payment-header{background:#fff;border-radius:16px;padding:2rem;text-align:center;margin-bottom:1.5rem;box-shadow:0 10px 40px #0000001a}.payment-header h1{margin:0 0 .5rem;font-size:2rem;color:#1a1a1a;font-weight:700}.payment-subtitle{margin:0;color:#666;font-size:1.1rem}.payment-loading{background:#fff;border-radius:16px;padding:4rem 2rem;text-align:center;box-shadow:0 10px 40px #0000001a}.payment-loading .spinner{width:48px;height:48px;border:4px solid rgba(102,126,234,.1);border-top-color:#667eea;border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}.payment-loading p{color:#666;font-size:1.1rem}.payment-error{background:#fff;border-radius:16px;padding:3rem 2rem;text-align:center;box-shadow:0 10px 40px #0000001a}.payment-error svg{color:#ef4444;margin-bottom:1rem}.payment-error h2{margin:0 0 1rem;color:#1a1a1a}.payment-error p{color:#666;margin:0}.payment-success-message,.payment-error-message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;font-weight:500;box-shadow:0 4px 12px #0000001a}.payment-success-message{background:#10b981;color:#fff}.payment-error-message{background:#ef4444;color:#fff}.payment-section{margin-bottom:1.5rem}.payment-section h2{color:#fff;font-size:1.25rem;margin:0 0 1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.1)}.payment-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 10px 40px #0000001a}.payment-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.payment-detail-row:last-child{border-bottom:none;padding-bottom:0}.payment-label{color:#666;font-size:.95rem}.payment-value{color:#1a1a1a;font-weight:500;text-align:right}.payment-value a{color:#667eea;text-decoration:none}.payment-value a:hover{text-decoration:underline}.payment-price-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.payment-price-row--discount .payment-value{color:#10b981}.payment-price-row--total{border-top:2px solid #e5e5e5;padding-top:1rem;margin-top:.5rem;font-size:1.1rem}.payment-value--total{font-size:1.5rem;font-weight:700;color:#667eea}.payment-price-row--remaining{background:#f9fafb;padding:1rem;border-radius:8px;margin-top:.5rem;font-weight:600}.payment-value--remaining{font-size:1.25rem;color:#ef4444}.payment-value--remaining.fully-paid,.payment-value--paid{color:#10b981}.payment-divider{height:1px;background:#e5e5e5;margin:1.5rem 0}.payment-edit-form{display:flex;flex-direction:column;gap:1rem}.payment-form-group{display:flex;flex-direction:column;gap:.5rem}.payment-form-group label{font-weight:500;color:#333;font-size:.95rem}.payment-form-group input{padding:.75rem;border:2px solid #e5e5e5;border-radius:8px;font-size:1rem;transition:border-color .2s}.payment-form-group input:focus{outline:none;border-color:#667eea}.payment-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.payment-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem}.payment-btn:disabled{opacity:.5;cursor:not-allowed}.payment-btn--primary{background:#667eea;color:#fff;flex:1}.payment-btn--primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.payment-btn--secondary{background:#f3f4f6;color:#666;flex:1}.payment-btn--secondary:hover:not(:disabled){background:#e5e7eb}.payment-btn--full{width:100%;margin-top:1rem}.payment-options-title{font-size:1.1rem;color:#333;margin:1.5rem 0 1rem;font-weight:600}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.payment-option-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:1.5rem 1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;overflow:hidden}.payment-option-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.payment-option-btn:disabled{opacity:.7;cursor:not-allowed}.payment-option-btn--deposit{background:linear-gradient(135deg,#667eea,#764ba2)}.payment-option-btn--deposit:hover:not(:disabled){box-shadow:0 8px 24px #667eea66}.payment-option-btn--full{background:linear-gradient(135deg,#10b981,#059669)}.payment-option-btn--full:hover:not(:disabled){box-shadow:0 8px 24px #10b98166}.payment-option-label{font-size:.9rem;opacity:.9}.payment-option-amount{font-size:1.5rem;font-weight:700}.payment-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.payment-success-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:1.5rem;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1.1rem;font-weight:600;margin-top:1rem}.payment-option-paid{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;padding:1.5rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;flex:1}.payment-option-paid-text{display:flex;flex-direction:column;align-items:center;gap:.5rem}.payment-percentage{font-size:.85rem;opacity:.8;font-weight:400}.payment-scheme-info{display:flex;align-items:center;gap:.5rem;background:#eff6ff;color:#1e40af;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;border:1px solid #bfdbfe;margin-bottom:.5rem}.payment-scheme-info svg{flex-shrink:0}.payment-deposit-paid-info{display:flex;align-items:flex-start;gap:.75rem;background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:1rem;border-radius:10px;margin-bottom:1rem;border:1px solid #6ee7b7}.payment-deposit-paid-info svg{flex-shrink:0;color:#059669;margin-top:2px}.payment-deposit-paid-info strong{display:block;color:#065f46;margin-bottom:.25rem;font-size:.95rem}.payment-deposit-paid-info p{margin:0;color:#047857;font-size:.85rem;line-height:1.4}.payment-option-hint{font-size:.75rem;opacity:.8;font-weight:400}.payment-test-notice{background:#fef3c7;color:#92400e;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;text-align:center;margin:0;border:1px solid #fbbf24}@media(max-width:640px){.payment-page{padding:1rem .75rem}.payment-header{padding:1.5rem}.payment-header h1{font-size:1.5rem}.payment-card{padding:1.25rem}.payment-options{grid-template-columns:1fr}.payment-form-actions{flex-direction:column}.payment-btn{width:100%}}.payment-timer{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:12px;font-weight:600;transition:all .3s ease}.payment-timer--small{padding:.5rem .75rem;font-size:.85rem;flex-direction:row;gap:.75rem}.payment-timer--medium{padding:1rem;font-size:1rem}.payment-timer--large{padding:1.5rem;font-size:1.25rem}.payment-timer--running{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.payment-timer--warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;animation:timer-pulse 1s infinite}.payment-timer--expired{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}@keyframes timer-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.payment-timer__label{font-size:.85em;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.payment-timer__display{display:flex;align-items:center;gap:.5rem}.payment-timer__icon{opacity:.9}.payment-timer__time{font-size:1.5em;font-weight:700;font-variant-numeric:tabular-nums}.payment-timer-section{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 10px 40px #0000001a;text-align:center}.payment-timer-notice{margin:1rem 0 0;color:#666;font-size:.95rem}.payment-expired-notice{background:#fff;border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:0 10px 40px #0000001a;text-align:center}.payment-expired-notice svg{color:#ef4444;margin-bottom:1rem}.payment-expired-notice h3{margin:0 0 .5rem;color:#ef4444;font-size:1.25rem}.payment-expired-notice p{margin:0;color:#666}.booking-detail__timer-section{background:#f9fafb;border-radius:12px;padding:1rem;margin:1rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.booking-detail__timer{width:100%}.booking-detail__timer-actions{display:flex;gap:.5rem}.booking-detail__extend-btn{padding:.5rem 1rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.booking-detail__extend-btn:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db}.booking-detail__extend-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.payment-timer--small{flex-direction:column;text-align:center}}.booking-detail__deadline-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 4px 12px #f59e0b26}.booking-detail__deadline-header{display:flex;align-items:center;gap:.5rem;color:#92400e;font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}.booking-detail__deadline-header svg{color:#f59e0b}.booking-detail__deadline-actions{display:flex;gap:.5rem}.booking-detail__deadline-banner:has(.payment-timer--expired){background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.booking-detail__deadline-banner:has(.payment-timer--expired) .booking-detail__deadline-header{color:#991b1b}.booking-detail__deadline-banner:has(.payment-timer--expired) .booking-detail__deadline-header svg{color:#ef4444}.booking-detail__deadline-banner:has(.payment-timer--warning){animation:deadline-pulse 1.5s ease-in-out infinite}@keyframes deadline-pulse{0%,to{box-shadow:0 4px 12px #f59e0b26}50%{box-shadow:0 4px 20px #f59e0b59}}.booking-detail__restore-banner{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.booking-detail__restore-info{display:flex;align-items:flex-start;gap:.75rem;color:#991b1b;font-size:.9rem;line-height:1.4}.booking-detail__restore-info svg{flex-shrink:0;margin-top:2px;color:#ef4444}.booking-detail__restore-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.booking-detail__restore-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.booking-detail__restore-btn:disabled{opacity:.6;cursor:not-allowed}.booking-detail__restore-btn svg{flex-shrink:0}@media(max-width:480px){.booking-detail__restore-banner{padding:1rem}.booking-detail__restore-info{font-size:.85rem}}.sbp-modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1500;padding:1rem;animation:fadeIn .15s ease}.sbp-modal{background:var(--color-bg-card, #242424);border-radius:20px;box-shadow:0 25px 50px -12px #000000b3;max-width:400px;width:100%;padding:2rem;position:relative;text-align:center;animation:slideInUp .25s ease}.sbp-modal__close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff9;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.sbp-modal__close:hover{background:#fff3;color:#fff}.sbp-modal__title{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 .5rem}.sbp-modal__amount{font-size:2rem;font-weight:700;color:#fff;margin:0 0 .5rem}.sbp-modal__hint{font-size:.875rem;color:#fff9;margin:0 0 1.5rem}.sbp-modal__qr{display:flex;justify-content:center;margin-bottom:1rem}.sbp-modal__qr-img{width:220px;height:220px;border-radius:16px;background:#fff;padding:12px}.sbp-modal__polling{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;margin-bottom:1rem;font-size:.875rem;color:#ffffffb3}.sbp-modal__polling .payment-spinner{position:static;transform:none;width:20px;height:20px;border-width:2px}.sbp-modal__polling p{margin:0}.sbp-modal__divider{display:flex;align-items:center;gap:1rem;margin:1rem 0;color:#fff6;font-size:.8rem}.sbp-modal__divider:before,.sbp-modal__divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.sbp-modal__card-btn{width:100%;padding:.875rem 1.5rem;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fffc;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:inherit}.sbp-modal__card-btn:hover{background:#ffffff26;color:#fff}@media(max-width:480px){.sbp-modal{padding:1.5rem;border-radius:16px}.sbp-modal__qr-img{width:180px;height:180px}.sbp-modal__amount{font-size:1.5rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);position:relative;overflow:hidden;background:var(--color-bg-primary)}.login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 50% 50%,rgba(233,30,99,.08) 0%,rgba(156,39,176,.05) 25%,transparent 50%);animation:rotate 20s linear infinite;pointer-events:none}.login-page:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px;animation:patternMove 20s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes patternMove{0%{background-position:0 0}to{background-position:50px 50px}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-2xl);animation:slideInUp .35s ease}.login-card__header{text-align:center;margin-bottom:var(--spacing-xl)}.login-card__icon{width:56px;height:56px;margin:0 auto var(--spacing-md);display:flex;align-items:center;justify-content:center;background:var(--color-accent-gradient);border-radius:var(--border-radius-md);box-shadow:var(--shadow-glow-accent);color:#fff}.login-card__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.login-card__subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-input{width:100%;height:var(--input-height-lg);padding:0 var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);transition:all var(--transition-normal)}.form-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e631a,var(--shadow-glow-accent)}.login-remember{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember__checkbox{width:16px;height:16px;accent-color:var(--color-accent-primary);cursor:pointer;flex-shrink:0}.login-remember__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-error{padding:var(--spacing-md);background:#f4433626;border:1px solid var(--color-error);border-radius:var(--border-radius-md);color:var(--color-error);font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--spacing-sm);animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.login-submit{width:100%;height:var(--button-height-lg);padding:0 var(--spacing-xl);background:var(--color-accent-gradient);border:none;border-radius:var(--border-radius-md);color:#fff;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.login-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-accent),var(--shadow-lg)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-card__footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}@media(max-width:480px){.login-card{padding:var(--spacing-xl)}.login-card__title{font-size:var(--font-size-2xl)}.login-card__icon{width:48px;height:48px}}.dashboard{animation:fadeIn var(--transition-slow) ease}.dashboard__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.dashboard__title-section{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.dashboard__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.dashboard__actions{display:flex;gap:var(--spacing-sm)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.btn--primary{background:var(--color-accent-gradient);color:#fff}.btn--primary:hover{opacity:.9;transform:translateY(-1px)}.btn--secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-bg-hover)}.btn--secondary.btn--active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.btn--small{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.btn--icon{padding:var(--spacing-xs);background:transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--color-danger);color:#fff;border-radius:50%;font-size:10px;font-weight:var(--font-weight-bold)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filters-panel{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md);animation:slideInDown var(--transition-normal) ease}.filters-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.filters-panel__header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.filters-panel__content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.date-range-inputs{display:flex;gap:var(--spacing-md)}.date-input{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.date-input label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.input,.select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-input);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.input:focus,.select:focus{outline:none;border-color:var(--color-accent-primary)}.date-presets{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.filters-panel__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.active-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-md)}.active-filter{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-accent-primary);color:#fff;border-radius:var(--border-radius-full);font-size:var(--font-size-xs)}.active-filter button{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fff;cursor:pointer;opacity:.7;padding:2px}.active-filter button:hover{opacity:1}.date-range-display{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.error-message{padding:var(--spacing-lg);background:#f443361a;border:1px solid var(--color-danger);border-radius:var(--border-radius-md);color:var(--color-danger);text-align:center;margin-bottom:var(--spacing-lg)}.error-message p{margin:0 0 var(--spacing-md)}.quick-links-section{margin-top:var(--spacing-2xl)}.section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.stat-card{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:all var(--transition-normal);animation:slideInUp var(--transition-slow) ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card__header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.stat-card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md)}.stat-card__icon--primary{background:linear-gradient(135deg,#e91e6326,#9c27b026);color:var(--color-accent-primary)}.stat-card__icon--info{background:#2196f326;color:var(--color-info)}.stat-card__icon--warning{background:#ff980026;color:var(--color-warning)}.stat-card__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.stat-card__value{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:0}.stat-card__details{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-lg)}.quick-link-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);text-decoration:none;color:var(--color-text-primary);box-shadow:var(--shadow-md);transition:all var(--transition-normal);animation:slideInUp var(--transition-slow) ease}.quick-link-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.quick-link-card__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);border-radius:var(--border-radius-md)}.quick-link-card__icon--primary{background:var(--color-accent-gradient);color:#fff;box-shadow:var(--shadow-glow-accent)}.quick-link-card__icon--info{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.quick-link-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.quick-link-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.dashboard-metrics{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard-metrics--loading{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.metrics-section{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.metrics-section__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.metrics-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--spacing-md)}.metrics-cards--small{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.metric-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:var(--color-bg-secondary);transition:transform var(--transition-fast)}.metric-card:hover{transform:translateY(-2px)}.metric-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-md)}.metric-card__content{display:flex;flex-direction:column;gap:2px}.metric-card__label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.metric-card__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.metric-card--primary .metric-card__icon{background:linear-gradient(135deg,#e91e6326,#9c27b026);color:var(--color-accent-primary)}.metric-card--info .metric-card__icon{background:#2196f326;color:var(--color-info)}.metric-card--success .metric-card__icon{background:#4caf5026;color:var(--color-success)}.metric-card--warning .metric-card__icon{background:#ff980026;color:var(--color-warning)}.metric-card--pending .metric-card__icon{background:#ffc10726;color:#ffc107}.metric-card--confirmed .metric-card__icon{background:#2196f326;color:#2196f3}.metric-card--completed .metric-card__icon{background:#4caf5026;color:#4caf50}.metric-card--cancelled .metric-card__icon{background:#f4433626;color:#f44336}.metric-card--noshow .metric-card__icon{background:#9e9e9e26;color:#9e9e9e}.payment-breakdown{display:flex;flex-direction:column;gap:var(--spacing-md)}.payment-breakdown__row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--border-radius-md);flex-wrap:wrap;gap:var(--spacing-md)}.payment-type{display:flex;align-items:center;gap:var(--spacing-md)}.payment-type__icon{width:40px;height:40px;padding:var(--spacing-sm);border-radius:var(--border-radius-md)}.payment-type__icon--cash{background:#4caf5026;color:#4caf50}.payment-type__icon--card{background:#2196f326;color:#2196f3}.payment-type__icon--online{background:#9c27b026;color:#9c27b0}.payment-type__info{display:flex;flex-direction:column}.payment-type__name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.payment-type__count{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.payment-type__stats{display:flex;gap:var(--spacing-lg)}.payment-type__stat{display:flex;flex-direction:column;text-align:right}.payment-type__stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.payment-type__stat-value{font-weight:var(--font-weight-semibold)}.payment-type__stat-value--paid{color:var(--color-success)}.payment-type__stat-value--unpaid{color:var(--color-warning)}.payment-status-summary{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.payment-status-summary__item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.payment-status-summary__item--paid{color:var(--color-success)}.payment-status-summary__item--pending{color:var(--color-warning)}.cancellations-refunds{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.cancellation-card,.refund-card{padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--border-radius-md)}.cancellation-card__header,.refund-card__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.cancellation-card__icon{color:var(--color-danger)}.refund-card__icon{color:var(--color-warning)}.cancellation-card__title,.refund-card__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cancellation-card__stats,.refund-card__stats{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.cancellation-card__stat,.refund-card__stat{display:flex;justify-content:space-between}.cancellation-card__stat-label,.refund-card__stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cancellation-card__stat-value,.refund-card__stat-value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cancellation-card__stat-value--negative{color:var(--color-danger)}.refund-card__stat-value--warning{color:var(--color-warning)}.cancellation-card__breakdown,.refund-card__breakdown{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.cancellation-card__breakdown-title,.refund-card__breakdown-title{display:block;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.cancellation-card__breakdown-items{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.refund-card__breakdown-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.refund-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.locations-table{overflow-x:auto}.locations-table table{width:100%;border-collapse:collapse}.locations-table th,.locations-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.locations-table th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.locations-table td{font-size:var(--font-size-sm);color:var(--color-text-primary)}.location-name{display:flex;align-items:center;gap:var(--spacing-xs)}.td--success{color:var(--color-success)}.td--danger{color:var(--color-danger)}.td--primary{font-weight:var(--font-weight-semibold);color:var(--color-accent-primary)}.td--warning{color:var(--color-warning)}.bookings-source{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.source-card{border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);border:1px solid transparent;position:relative;overflow:hidden}.source-card--client{background:linear-gradient(135deg,#6366f10f,#8b5cf60a);border-color:#6366f133}.source-card--admin{background:linear-gradient(135deg,#10b9810f,#0596690a);border-color:#10b98133}.source-card__header{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.source-card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);flex-shrink:0}.source-card--client .source-card__icon{background:#6366f11f;color:#6366f1}.source-card--admin .source-card__icon{background:#10b9811f;color:#10b981}.source-card__label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}.source-card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);width:100%;margin-top:-4px}.source-card__count{font-size:3rem;font-weight:var(--font-weight-bold);line-height:1;letter-spacing:-.02em}.source-card--client .source-card__count{color:#6366f1}.source-card--admin .source-card__count{color:#10b981}.source-card__stats{display:flex;flex-direction:column;gap:6px}.source-card__stat{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.source-card__stat strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.source-card__bar{position:relative;height:6px;background:#00000014;border-radius:999px;overflow:visible;margin-top:var(--spacing-xs)}.source-card__bar-fill{height:100%;border-radius:999px;transition:width .4s ease}.source-card__bar-fill--client{background:#6366f1}.source-card__bar-fill--admin{background:#10b981}.source-card__bar-pct{position:absolute;right:0;top:-20px;font-size:11px;font-weight:600;color:var(--color-text-secondary)}@media(max-width:768px){.dashboard__header{flex-direction:column;align-items:flex-start}.dashboard__title{font-size:var(--font-size-2xl)}.stats-grid,.quick-links-grid,.filters-panel__content{grid-template-columns:1fr}.date-range-inputs{flex-direction:column}.payment-breakdown__row{flex-direction:column;align-items:flex-start}.payment-type__stats{width:100%;justify-content:space-between}.cancellations-refunds{grid-template-columns:1fr}.payment-status-summary{flex-direction:column;gap:var(--spacing-sm)}.bookings-source{grid-template-columns:1fr}.metrics-cards,.metrics-cards--small{grid-template-columns:1fr 1fr}.date-range-display{flex-wrap:wrap;font-size:var(--font-size-xs)}.filters-panel{padding:var(--spacing-md)}.filters-panel__actions{flex-direction:column}.filters-panel__actions .btn{width:100%;justify-content:center}}@media(max-width:480px){.metrics-cards{grid-template-columns:1fr}.metrics-cards--small{grid-template-columns:1fr 1fr}.metrics-cards--small>*:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - var(--spacing-sm))}.metric-card__value{font-size:var(--font-size-lg)}.stat-card__value{font-size:var(--font-size-3xl)}}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl);animation:slideInUp var(--transition-slow) ease}.page-header .btn{flex-shrink:0;white-space:nowrap}.page-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.filters-bar{background:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;box-shadow:var(--shadow-md);border:1px solid var(--color-border);animation:slideInUp var(--transition-slow) ease .1s both}.filters-bar>*{flex:1;min-width:200px}.filters-bar>*:last-child{flex:0 0 auto;min-width:auto}.search-input-wrapper{position:relative;width:100%}.search-input-wrapper svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;width:20px;height:20px}.search-input-wrapper .input{padding-left:var(--spacing-xl);background:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-text-primary)}.search-input-wrapper .input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e6326}.search-input-wrapper .input::placeholder{color:var(--color-text-muted)}.filter-select-wrapper{position:relative}.filter-select-wrapper svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;width:20px;height:20px}.filter-select-wrapper select{padding:0 var(--spacing-md);padding-left:var(--spacing-xl);height:var(--input-height-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-normal);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;background-size:20px;padding-right:var(--spacing-xl)}.filter-select-wrapper select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e6326}.filter-select-wrapper select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.table-container{background:var(--color-bg-card);border-radius:var(--border-radius-lg);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-md);border:1px solid var(--color-border);animation:slideInUp var(--transition-slow) ease .2s both}.table-container-loading,.table-container-empty{padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:var(--color-text-secondary)}.table-container-empty svg{width:48px;height:48px;opacity:.3;margin-bottom:var(--spacing-md);color:var(--color-text-muted)}.table-container-empty p{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-strong)}.data-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.data-table tbody tr{transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.data-table tbody tr:hover{background-color:#e91e630d}.cell-primary{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cell-secondary{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cell-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.cell-with-icon{display:flex;align-items:center;gap:var(--spacing-md)}.cell-with-icon svg{width:18px;height:18px;flex-shrink:0;color:var(--color-accent-primary);opacity:.7}.cell-name-email{display:flex;flex-direction:column;gap:2px}.cell-name-email .cell-email{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cell-birthday{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-accent-primary)}.cell-birthday svg{opacity:.8}.filters-panel{background:var(--color-bg-card);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);margin-top:calc(-1 * var(--spacing-md));display:flex;gap:var(--spacing-lg);align-items:flex-end;flex-wrap:wrap;box-shadow:var(--shadow-md);border:1px solid var(--color-border);border-top:none;border-top-left-radius:0;border-top-right-radius:0;animation:slideInDown .2s ease}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:150px}.filter-group label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.filter-group label svg{width:16px;height:16px;color:var(--color-accent-primary);opacity:.7}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--spacing-xs);background:var(--color-accent-primary);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--border-radius-full);margin-left:var(--spacing-xs)}.btn-active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.status-pending{background:#ff980026;color:var(--color-warning)}.status-confirmed{background:#2196f326;color:var(--color-info)}.status-completed{background:#4caf5026;color:var(--color-success)}.status-cancelled{background:#f4433626;color:var(--color-error)}.tier-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.tier-bronze{background:#cd7f3226;color:#cd7f32}.tier-silver{background:#c0c0c026;color:silver}.tier-gold{background:#ffd70026;color:gold}.tier-none{background:#ffffff0d;color:var(--color-text-secondary)}.action-select{padding:0 var(--spacing-md);height:var(--input-height-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-normal);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23fff'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd' /%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-xs) center;background-size:18px;padding-right:var(--spacing-lg)}.action-select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e631a}.action-select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.cell-info-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.cell-info-primary{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cell-info-secondary{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(max-width:1200px){.filters-bar{flex-direction:column;gap:var(--spacing-md)}.filters-bar>*{flex:1;width:100%;min-width:unset}.data-table{font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--spacing-md) var(--spacing-md)}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.page-title{font-size:var(--font-size-3xl)}.filters-bar{flex-direction:column;padding:var(--spacing-md)}.filters-bar>*{width:100%;min-width:0}.data-table th,.data-table td{padding:8px 10px;font-size:var(--font-size-sm)}.data-table th:nth-child(n+4),.data-table td:nth-child(n+4){display:none}.data-table th:last-child,.data-table td:last-child{display:table-cell}.modal-overlay{padding:8px}.modal-content{border-radius:var(--border-radius-lg)}.modal-header{padding:var(--spacing-md)}.modal-header__title{font-size:var(--font-size-xl)}.modal-body{padding:var(--spacing-md)}.modal-timeline__slot{height:44px;width:52px}.modal-timeline__legend{flex-wrap:wrap;gap:var(--spacing-sm)}.modal-timeline__selection-buttons{flex-direction:column}.modal-timeline__selection-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.timeline-page__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md)}.timeline-page__date-selector{width:100%}.timeline-page__date-input{flex:1}.filters-panel{padding:var(--spacing-md)}.filter-group{min-width:0;width:100%}}@media(max-width:480px){.page-title{font-size:var(--font-size-2xl)}}.animate-slideInUp{animation:slideInUp var(--transition-slow) ease}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(233,30,99,.3);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin .8s linear infinite}.data-table tbody tr:focus-within{background-color:#e91e6314;box-shadow:inset 0 0 0 2px #e91e6333}.rooms-page__header-section{display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);align-items:flex-start}.rooms-page__calendar{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);min-width:320px}.calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.calendar__month-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:capitalize}.calendar__nav-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.calendar__nav-btn:hover{background:var(--color-bg-elevated);color:var(--color-accent-primary)}.calendar__days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--spacing-sm)}.calendar__day-name{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);padding:var(--spacing-xs);text-transform:uppercase}.calendar__body{display:flex;flex-direction:column;gap:2px}.calendar__row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.calendar__cell:hover:not(.calendar__cell--disabled){background:var(--color-bg-elevated)}.calendar__cell-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.calendar__cell--disabled{cursor:default}.calendar__cell--disabled .calendar__cell-number{color:var(--color-text-muted);opacity:.4}.calendar__cell--today{background:#e91e631a}.calendar__cell--today .calendar__cell-number{color:var(--color-accent-primary)}.calendar__cell--selected{background:var(--color-accent-gradient);box-shadow:var(--shadow-glow-accent)}.calendar__cell--selected .calendar__cell-number{color:#fff;font-weight:var(--font-weight-bold)}.calendar__cell--selected:hover{background:var(--color-accent-gradient)}.rooms-page__location-selector{flex:1;max-width:300px}.rooms-page__location-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.rooms-page__dropdown{position:relative}.rooms-page__dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast)}.rooms-page__dropdown-trigger:hover{border-color:var(--color-accent-primary)}.rooms-page__dropdown-icon{transition:transform var(--transition-fast);color:var(--color-text-muted)}.rooms-page__dropdown-icon--open{transform:rotate(180deg)}.rooms-page__dropdown-menu{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);overflow:hidden;animation:slideInUp var(--transition-fast) ease}.rooms-page__dropdown-item{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);text-align:left;cursor:pointer;transition:all var(--transition-fast)}.rooms-page__dropdown-item:hover{background:var(--color-bg-elevated)}.rooms-page__dropdown-item--active{background:#e91e631a;color:var(--color-accent-primary)}.rooms-page__selected-date{margin-bottom:var(--spacing-xl)}.rooms-page__selected-date h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rooms-page__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md);color:var(--color-text-secondary)}.rooms-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md);color:var(--color-error)}.rooms-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md);color:var(--color-text-muted)}.rooms-page__empty svg{opacity:.3}.rooms-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);animation:fadeIn var(--transition-slow) ease}.rooms-page__footer{text-align:center;padding:var(--spacing-xl) 0;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xl);border-top:1px solid var(--color-border-light)}.room-card{position:relative;background:var(--color-bg-card);border-radius:var(--border-radius-lg);overflow:hidden;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.room-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl),0 0 40px #e91e6333}.room-card__image-wrapper{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden}.room-card__image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.room-card:hover .room-card__image{transform:scale(1.05)}.room-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000001a,#0000004d,#000000b3);pointer-events:none}.room-card__status{position:absolute;top:var(--spacing-md);left:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.room-card__status--available{background:#4caf50e6;color:#fff}.room-card__status--busy{background:#f44336e6;color:#fff}.room-card__price{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:var(--color-accent-gradient);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff;box-shadow:0 2px 8px #e91e6366}.room-card__content{padding:var(--spacing-md);background:var(--color-bg-card)}.room-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.room-card__capacity{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.room-card__capacity svg{color:var(--color-accent-primary);opacity:.8}.room-card__availability{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:var(--spacing-xs)}.room-card__interval{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);transition:all var(--transition-fast)}.room-card__interval-label{font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.3px;min-width:65px}.room-card__interval-time{font-family:Courier New,monospace;font-weight:var(--font-weight-medium);font-size:11px}.room-card__interval--free{background:#4caf501f;border:1px solid rgba(76,175,80,.25)}.room-card__interval--free .room-card__interval-label{color:var(--color-success)}.room-card__interval--free .room-card__interval-time{color:#4caf50e6}.room-card__interval--booked{background:#e91e631f;border:1px solid rgba(233,30,99,.25)}.room-card__interval--booked .room-card__interval-label{color:var(--color-accent-primary)}.room-card__interval--booked .room-card__interval-time{color:#e91e63e6}.room-card__interval--pending{background:#ff98001f;border:1px solid rgba(255,152,0,.35)}.room-card__interval--pending .room-card__interval-label{color:#f57c00}.room-card__interval--pending .room-card__interval-time{color:#ff9800e6}.room-card__no-bookings{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;font-style:italic}.modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg);animation:fadeIn var(--transition-fast) ease}.modal-content{background:var(--color-bg-card);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-2xl);max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideInUp var(--transition-normal) ease}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.modal-header__info{flex:1}.modal-header__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.modal-header__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal-close-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.modal-close-btn:hover{background:#ffffff1a;color:var(--color-text-primary)}.modal-body{padding:var(--spacing-xl);overflow-y:auto;overflow-x:hidden;flex:1;-webkit-overflow-scrolling:touch;min-height:0}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);flex-shrink:0}.modal-section{border-top:1px solid var(--color-border);padding-top:var(--spacing-lg);margin-top:var(--spacing-lg)}.modal-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, var(--color-text-secondary));margin-bottom:var(--spacing-md)}.modal-loading,.modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md);color:var(--color-text-secondary)}.modal-timeline{margin-bottom:var(--spacing-xl)}.modal-timeline__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.modal-timeline__closed{font-size:var(--font-size-sm);color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.modal-timeline__hours{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.modal-timeline__slots{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--spacing-md)}.modal-timeline__slot{width:48px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.modal-timeline__slot--free{background:#4caf5033;color:var(--color-success);border:1px solid rgba(76,175,80,.3)}.modal-timeline__slot--booked{background:#e91e6333;color:var(--color-accent-primary);border:1px solid rgba(233,30,99,.3)}.modal-timeline__slot--past{background:#64646426;color:var(--color-text-muted);border:1px solid rgba(100,100,100,.2);cursor:not-allowed;opacity:.6}.modal-timeline__slot--past:hover{transform:none;box-shadow:none}.modal-timeline__slot--free{cursor:pointer}.modal-timeline__slot--free:hover{background:#4caf504d;border-color:#4caf5080;transform:scale(1.05)}.modal-timeline__slot--selected{background:#2196f333!important;color:var(--color-info)!important;border:2px solid rgba(33,150,243,.5)!important;box-shadow:0 0 6px #2196f34d}.modal-timeline__slot--start{background:#2196f366!important;color:#1976d2!important;border:2px solid #1976d2!important;box-shadow:0 0 12px #2196f399;font-weight:var(--font-weight-bold)}.modal-timeline__slot--end{background:#4caf5066!important;color:#388e3c!important;border:2px solid #388e3c!important;box-shadow:0 0 12px #4caf5099;font-weight:var(--font-weight-bold)}.modal-timeline__slot--disabled-min{background:#6464641a;color:var(--color-text-muted);border:1px solid rgba(100,100,100,.15);cursor:not-allowed;opacity:.45}.modal-timeline__slot--disabled-min:hover{transform:none;box-shadow:none}.modal-timeline__slot--selectable-end{border:1px dashed rgba(76,175,80,.5);animation:selectable-end-pulse 2s ease-in-out infinite}@keyframes selectable-end-pulse{0%,to{background:#4caf5026}50%{background:#4caf504d}}.modal-timeline__slot-time{font-size:var(--font-size-xs)}.modal-timeline__legend{display:flex;gap:var(--spacing-lg)}.modal-timeline__legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.modal-timeline__legend-dot{width:12px;height:12px;border-radius:var(--border-radius-sm)}.modal-timeline__legend-item--free .modal-timeline__legend-dot{background:#4caf5066;border:1px solid rgba(76,175,80,.6)}.modal-timeline__legend-item--booked .modal-timeline__legend-dot{background:#e91e6366;border:1px solid rgba(233,30,99,.6)}.modal-timeline__legend-item--past .modal-timeline__legend-dot{background:#64646466;border:1px solid rgba(100,100,100,.6)}.modal-timeline__legend-item--selected .modal-timeline__legend-dot{background:#2196f366;border:1px solid rgba(33,150,243,.6)}.modal-timeline__legend-item--start .modal-timeline__legend-dot{background:#2196f380;border:2px solid #1976d2}.modal-timeline__legend-item--end .modal-timeline__legend-dot{background:#4caf5080;border:2px solid #388e3c}.modal-timeline__selection-actions{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:linear-gradient(135deg,#2196f31a,#2196f30d);border:1px solid rgba(33,150,243,.3);border-radius:var(--border-radius-lg);animation:slideInUp var(--transition-fast) ease}.modal-timeline__selection-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.modal-timeline__selection-time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-info)}.modal-timeline__selection-duration{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal-timeline__selection-buttons{display:flex;gap:var(--spacing-sm)}.modal-timeline__btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.modal-timeline__btn--create{background:linear-gradient(135deg,#4caf50,#43a047);color:#fff;flex:1}.modal-timeline__btn--create:hover{transform:translateY(-2px);box-shadow:0 4px 16px #4caf5066}.modal-timeline__btn--cancel{background:var(--color-bg-elevated);color:var(--color-text-secondary);border-color:var(--color-border)}.modal-timeline__btn--cancel:hover{background:var(--color-bg-card);color:var(--color-text-primary)}.modal-timeline__btn--create:disabled{opacity:.5;cursor:not-allowed}.modal-timeline__selection-hint{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:var(--border-radius-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-info);animation:fadeIn var(--transition-fast) ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.modal-bookings__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.modal-bookings__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);color:var(--color-text-muted);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg)}.modal-bookings__empty svg{opacity:.3}.modal-bookings__list{display:flex;flex-direction:column;gap:var(--spacing-md)}.modal-booking{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast);min-width:0;overflow:hidden}.modal-booking:hover{border-color:var(--color-accent-primary);background:var(--color-bg-elevated)}.modal-booking__time{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-accent-gradient);border-radius:var(--border-radius-md);min-width:70px}.modal-booking__time-start,.modal-booking__time-end{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff}.modal-booking__time-separator{font-size:var(--font-size-xs);color:#ffffffb3}.modal-booking__info{flex:1;min-width:0;overflow:hidden}.modal-booking__guest{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-booking__guest svg{color:var(--color-accent-primary);opacity:.8;flex-shrink:0}.modal-booking__details{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.modal-booking__phone,.modal-booking__count{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);min-width:0}.modal-booking__phone svg,.modal-booking__count svg{opacity:.6;flex-shrink:0}.modal-booking__meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.modal-booking__status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.modal-booking__status--pending{background:#ff980026;color:var(--color-warning)}.modal-booking__status--confirmed{background:#2196f326;color:var(--color-info)}.modal-booking__status--completed{background:#4caf5026;color:var(--color-success)}.modal-booking__status--cancelled{background:#f4433626;color:var(--color-error)}.modal-booking__status--no-show{background:#9c27b026;color:#9c27b0}.modal-booking__price{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.modal-booking__price-details{display:flex;flex-direction:column;gap:4px;min-width:160px;padding:var(--spacing-sm);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);border:1px solid var(--color-border-light)}.modal-booking__price-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm)}.modal-booking__price-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.modal-booking__price-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);white-space:nowrap}.modal-booking__price-row--discount .modal-booking__price-label,.modal-booking__price-value--discount{color:var(--color-success);font-style:italic}.modal-booking__price-row--total{margin-top:4px;padding-top:4px;border-top:1px dashed var(--color-border)}.modal-booking__price-row--total .modal-booking__price-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-booking__price-value--total{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-accent-primary)}.modal-booking__price-row--paid{margin-top:4px;padding-top:4px;border-top:1px solid var(--color-border-light)}.modal-booking__price-row--paid .modal-booking__price-label,.modal-booking__price-value--paid{color:var(--color-info)}.modal-booking__price-row--remaining .modal-booking__price-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-booking__price-value--remaining{font-weight:var(--font-weight-bold);color:var(--color-warning);font-size:var(--font-size-base)}.modal-booking__creation-info{display:flex;flex-direction:column;gap:4px;margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border-light)}.modal-booking__creation-row{display:flex;gap:4px;font-size:var(--font-size-xs)}.modal-booking__creation-label{color:var(--color-text-secondary);white-space:nowrap}.modal-booking__creation-value{color:var(--color-text-primary)}.rooms-page__business-day-note{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-normal);opacity:.8}.timeline-page__business-date-note{display:inline-block;margin-left:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;opacity:.8}.timeline-page{animation:fadeIn var(--transition-slow) ease}.timeline-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg-card);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.timeline-page__back-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.timeline-page__back-button:hover{background:var(--color-bg-card);border-color:var(--color-accent-primary);color:var(--color-accent-primary);transform:translate(-4px)}.timeline-page__date-selector{display:flex;align-items:center;gap:var(--spacing-md)}.timeline-page__date-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.timeline-page__date-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-fast)}.timeline-page__date-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e6326}.timeline-page__loading,.timeline-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md);background:var(--color-bg-card);border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.timeline-page__loading{color:var(--color-text-secondary)}.timeline-page__error{color:var(--color-error)}.timeline-page__error button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.timeline-page__error button:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}@media(max-width:900px){.rooms-page__header-section{flex-direction:column}.rooms-page__calendar{min-width:unset;width:100%}.rooms-page__location-selector{max-width:unset;width:100%}}@media(max-width:768px){.rooms-page__header-section{flex-direction:column;gap:var(--spacing-md)}.rooms-page__location-selector{max-width:100%;width:100%}.rooms-page__calendar{width:100%;min-width:0}.rooms-page__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md)}.modal-content{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:var(--spacing-sm)}.modal-booking{flex-direction:column;align-items:stretch}.modal-booking__time{flex-direction:row;justify-content:center;gap:var(--spacing-sm)}.modal-booking__meta{flex-direction:row;justify-content:space-between;align-items:center}}@media(max-width:480px){.rooms-page__grid{grid-template-columns:1fr}.modal-timeline__slots{justify-content:center}.modal-booking__time{align-self:flex-start}.modal-booking__meta{flex-direction:column;align-items:flex-start;width:100%;gap:var(--spacing-sm)}.modal-booking__price-details{min-width:0;width:100%}.modal-booking__price-label{white-space:normal}}.modal-booking__user-badge{display:inline-flex;padding:2px 6px;border-radius:var(--border-radius-sm);font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;background:#2196f326;color:var(--color-info);margin-left:var(--spacing-xs)}.modal-booking__contacts{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border-light)}.modal-booking__email{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.modal-booking__email svg{opacity:.6}.modal-booking__social{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-fast);border:1px solid transparent}.modal-booking__social svg{width:12px;height:12px}.modal-booking__social--telegram{background:#0088cc1a;color:#08c;border-color:#08c3}.modal-booking__social--telegram:hover{background:#08c3;border-color:#08c6;transform:translateY(-1px);box-shadow:0 2px 8px #08c3}.modal-booking__social--vk{background:#45668e1a;color:#45668e;border-color:#45668e33}.modal-booking__social--vk:hover{background:#45668e33;border-color:#45668e66;transform:translateY(-1px);box-shadow:0 2px 8px #45668e33}@media(max-width:768px){.modal-booking__contacts{flex-direction:column;gap:var(--spacing-xs)}.modal-booking__social{width:100%;justify-content:center}}.booking-card{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);padding:var(--spacing-md);border:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.booking-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.booking-card__time{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.booking-card__status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.booking-card__status--pending{background:#ff980026;color:var(--color-warning)}.booking-card__status--confirmed{background:#2196f326;color:var(--color-info)}.booking-card__status--completed{background:#4caf5026;color:var(--color-success)}.booking-card__status--cancelled{background:#f4433626;color:var(--color-error)}.booking-card__status--no-show{background:#9c27b026;color:#9c27b0}.booking-card__body{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-card__info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-card__info-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm)}.booking-card__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-card__value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.booking-card__price-section{display:flex;flex-direction:column;gap:var(--spacing-xs);background:var(--color-bg-elevated);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--color-border-light)}.booking-card__price-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm)}.booking-card__price-row--discount{color:var(--color-success)}.booking-card__price-row--discount .booking-card__label,.booking-card__price-row--discount .booking-card__value{color:var(--color-success);font-style:italic}.booking-card__price-row--total{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:2px solid var(--color-border)}.booking-card__price-row--total .booking-card__label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text-primary)}.booking-card__value--total{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-accent-primary)}.booking-card__price-row--paid{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border-light)}.booking-card__price-row--paid .booking-card__label,.booking-card__price-row--paid .booking-card__value{color:var(--color-info)}.booking-card__price-row--remaining .booking-card__label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.booking-card__value--remaining{font-weight:var(--font-weight-bold);color:var(--color-warning);font-size:var(--font-size-base)}.booking-card__notes{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.booking-card__notes-text{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;margin-bottom:0}.booking-card__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.booking-card__action{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.booking-card__action--edit{background:#2196f326;color:var(--color-info);border-color:#2196f34d}.booking-card__action--edit:hover{background:#2196f340;border-color:#2196f380}.booking-card__action--cancel{background:#f4433626;color:var(--color-error);border-color:#f443364d}.booking-card__action--cancel:hover{background:#f4433640;border-color:#f4433680}.booking-pending{border-left:3px solid var(--color-warning)}.booking-confirmed{border-left:3px solid var(--color-info)}.booking-completed{border-left:3px solid var(--color-success);opacity:.7}.booking-cancelled{border-left:3px solid var(--color-error);opacity:.6}.booking-no-show{border-left:3px solid #9c27b0;opacity:.6}@media(max-width:768px){.booking-card__actions{flex-direction:column}.booking-card__price-section{padding:var(--spacing-sm)}}.booking-detail-overlay{z-index:calc(var(--z-modal) + 10)}.booking-detail-modal{max-width:600px;max-height:90vh}.booking-detail__header{background:linear-gradient(135deg,var(--color-bg-elevated) 0%,var(--color-bg-card) 100%)}.booking-detail__body{display:flex;flex-direction:column;gap:var(--spacing-xl)}.booking-detail__error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:var(--border-radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.booking-detail__error svg{flex-shrink:0}.booking-detail__section{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border)}.booking-detail__section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.booking-detail__section-title svg{color:var(--color-accent-primary);opacity:.8}.booking-detail__edit-btn{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast)}.booking-detail__edit-btn:hover:not(:disabled){background:#e91e631a;border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.booking-detail__edit-btn:disabled{opacity:.5;cursor:not-allowed}.booking-detail__client-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-detail__client-name{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);flex-wrap:wrap;word-break:break-word;overflow-wrap:break-word}.booking-detail__client-badge{padding:2px 8px;background:#2196f326;color:var(--color-info);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-shrink:0}.booking-detail__client-contacts{display:flex;flex-wrap:wrap;gap:var(--spacing-md);max-width:100%}.booking-detail__contact-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);min-width:0;max-width:100%}.booking-detail__contact-item svg{color:var(--color-text-muted);opacity:.7;flex-shrink:0}.booking-detail__contact-link{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.booking-detail__contact-link:hover{color:var(--color-accent-primary)}.booking-detail__social-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-fast)}.booking-detail__social-link--telegram{background:#0088cc1a;color:#08c}.booking-detail__social-link--telegram:hover{background:#08c3;transform:translateY(-1px)}.booking-detail__social-link--vk{background:#45668e1a;color:#45668e}.booking-detail__social-link--vk:hover{background:#45668e33;transform:translateY(-1px)}.booking-detail__guest-count{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.booking-detail__guest-count svg{color:var(--color-accent-primary);opacity:.7}.booking-detail__guest-count strong{color:var(--color-text-primary)}.booking-detail__booking-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.booking-detail__booking-meta-row{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-detail__booking-meta-row svg{flex-shrink:0;color:var(--color-accent-primary);opacity:.7}.booking-detail__booking-meta-row strong{color:var(--color-text-primary)}.booking-detail__contact-messengers{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 2px}.booking-detail__messenger-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,transform .15s;white-space:nowrap}.booking-detail__messenger-btn:hover{opacity:.85;transform:translateY(-1px)}.booking-detail__messenger-btn--whatsapp{background:#25d3661f;color:#1da851;border:1px solid rgba(37,211,102,.25)}.booking-detail__messenger-btn--telegram{background:#0088cc1a;color:#08c;border:1px solid rgba(0,136,204,.2)}.booking-detail__social-section{padding-top:12px;border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:8px}.booking-detail__social-header{display:flex;align-items:center;justify-content:space-between}.booking-detail__social-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.booking-detail__social-edit-btn{background:none;border:none;padding:3px 8px;border-radius:var(--border-radius-sm);font-size:12px;font-weight:500;color:var(--color-accent-primary);cursor:pointer;transition:background .15s}.booking-detail__social-edit-btn:hover{background:rgba(var(--color-accent-primary-rgb, 99, 102, 241),.08)}.booking-detail__social-chips{display:flex;flex-wrap:wrap;gap:6px;min-height:26px;align-items:center}.booking-detail__social-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,transform .15s}.booking-detail__social-chip:hover{opacity:.85;transform:translateY(-1px)}.booking-detail__social-chip--tg{background:#0088cc1a;color:#08c;border:1px solid rgba(0,136,204,.2)}.booking-detail__social-chip--vk{background:#45668e1a;color:#45668e;border:1px solid rgba(69,102,142,.2)}.booking-detail__social-empty{font-size:13px;color:var(--color-text-muted);font-style:italic}.booking-detail__social-form{display:flex;flex-direction:column;gap:8px}.booking-detail__social-field{display:flex;align-items:center;gap:0;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden;background:var(--color-surface);transition:border-color .15s}.booking-detail__social-field:focus-within{border-color:var(--color-accent-primary)}.booking-detail__social-field-icon{display:flex;align-items:center;justify-content:center;width:36px;flex-shrink:0;height:34px}.booking-detail__social-field-icon--tg{background:#0088cc14;color:#08c;border-right:1px solid var(--color-border)}.booking-detail__social-field-icon--vk{background:#45668e14;color:#45668e;border-right:1px solid var(--color-border)}.booking-detail__social-field-icon--max{background:#0077ff14;color:#07f;border-right:1px solid var(--color-border)}.booking-detail__social-chip--max{background:#0077ff1a;color:#07f;border:1px solid rgba(0,119,255,.2)}.booking-detail__social-input{flex:1;border:none;background:transparent;padding:7px 10px;font-size:13px;color:var(--color-text-primary);outline:none;min-width:0}.booking-detail__social-input::placeholder{color:var(--color-text-muted)}.booking-detail__social-error{font-size:12px;color:var(--color-error);margin:0}.booking-detail__social-actions{display:flex;gap:8px;margin-top:2px}.booking-detail__social-save-btn{padding:6px 16px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.booking-detail__social-save-btn:hover:not(:disabled){opacity:.88}.booking-detail__social-save-btn:disabled{opacity:.5;cursor:not-allowed}.booking-detail__social-cancel-btn{padding:6px 14px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:13px;cursor:pointer;transition:border-color .15s,color .15s}.booking-detail__social-cancel-btn:hover:not(:disabled){border-color:var(--color-text-secondary);color:var(--color-text-primary)}.booking-detail__social-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.booking-detail__status-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-detail__current-status{display:inline-flex;align-self:flex-start;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px}.booking-detail__status--pending{background:#ff980026;color:var(--color-warning)}.booking-detail__status--confirmed{background:#2196f326;color:var(--color-info)}.booking-detail__status--completed{background:#4caf5026;color:var(--color-success)}.booking-detail__status--cancelled{background:#f4433626;color:var(--color-error)}.booking-detail__status--no-show{background:#9c27b026;color:#9c27b0}.booking-detail__status-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-detail__status-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.booking-detail__status-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.booking-detail__status-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.booking-detail__status-btn:disabled{opacity:.5;cursor:not-allowed}.booking-detail__status-btn--confirmed{background:#2196f31a;border-color:#2196f34d;color:var(--color-info)}.booking-detail__status-btn--confirmed:hover:not(:disabled){background:#2196f333;border-color:var(--color-info)}.booking-detail__status-btn--completed{background:#4caf501a;border-color:#4caf504d;color:var(--color-success)}.booking-detail__status-btn--completed:hover:not(:disabled){background:#4caf5033;border-color:var(--color-success)}.booking-detail__status-btn--no-show{background:#9c27b01a;border-color:#9c27b04d;color:#9c27b0}.booking-detail__status-btn--no-show:hover:not(:disabled){background:#9c27b033;border-color:#9c27b0}.booking-detail__status-btn--cancelled{background:#f443361a;border-color:#f443364d;color:var(--color-error)}.booking-detail__status-btn--cancelled:hover:not(:disabled){background:#f4433633;border-color:var(--color-error)}.booking-detail__time-display{display:flex;justify-content:center}.booking-detail__time-block{text-align:center;padding:var(--spacing-md) var(--spacing-xl);background:var(--color-accent-gradient);border-radius:var(--border-radius-lg)}.booking-detail__time-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#fff}.booking-detail__time-label{font-size:var(--font-size-sm);color:#ffffffb3;margin-top:var(--spacing-xs)}.booking-detail__edit-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-detail__form-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.booking-detail__form-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1;min-width:120px}.booking-detail__form-select,.booking-detail__form-input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:all var(--transition-fast)}.booking-detail__form-select:focus,.booking-detail__form-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e6326}.booking-detail__form-select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.booking-detail__price-preview{padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.booking-detail__price-breakdown{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:#00000005;border-radius:var(--border-radius-md);border:1px solid var(--color-border-light)}.booking-detail__breakdown-title{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.booking-detail__price-item{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#666;padding:6px 0}.booking-detail__price-item:last-child{margin-bottom:0}.booking-detail__price-item--modifier{flex-direction:column;align-items:flex-start;gap:4px}.booking-detail__price-item-row{display:flex;justify-content:space-between;width:100%}.booking-detail__price-item-details{padding-left:12px;font-size:13px;color:#8e8e93;width:100%}.booking-detail__price-item-detail{display:flex;justify-content:space-between;padding:2px 0}.booking-detail__price-item-subtotal{display:flex;justify-content:space-between;padding:4px 0 0 12px;border-top:1px solid #f0f0f0;margin-top:4px;width:100%}.booking-detail__price-subtotal{border-top:1px solid #e5e5ea;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.booking-detail__price-subtotal .booking-detail__price-item-row{font-weight:var(--font-weight-medium);color:#333}.booking-detail__price-positive{color:var(--color-warning)}.booking-detail__modifier-tag{display:inline-block;margin-left:var(--spacing-xs);padding:2px 6px;background:var(--color-accent-primary);color:#fff;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.booking-detail__price-change{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-detail__price-change strong{color:var(--color-text-primary)}.booking-detail__price-change--remaining{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border-light)}.booking-detail__price-change--remaining strong.positive{color:var(--color-warning)}.booking-detail__price-change--remaining strong.negative{color:var(--color-success)}.booking-detail__form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.booking-detail__form-btn{flex:1;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.booking-detail__form-btn:disabled{opacity:.6;cursor:not-allowed}.booking-detail__form-btn--save{background:var(--color-accent-gradient);color:#fff}.booking-detail__form-btn--save:hover:not(:disabled){box-shadow:var(--shadow-glow-accent);transform:translateY(-1px)}.booking-detail__form-btn--cancel{background:var(--color-bg-elevated);border-color:var(--color-border);color:var(--color-text-secondary)}.booking-detail__form-btn--cancel:hover:not(:disabled){background:var(--color-bg-card);border-color:var(--color-text-muted)}.booking-detail__payment-card{display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-detail__payment-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-detail__payment-value{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.booking-detail__payment-row--discount,.booking-detail__payment-row--discount .booking-detail__payment-value{color:var(--color-success)}.booking-detail__payment-row--total{padding-top:var(--spacing-sm);margin-top:var(--spacing-xs);border-top:2px solid var(--color-border);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.booking-detail__payment-value--total{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-accent-primary)}.booking-detail__payment-divider{height:1px;background:var(--color-border);margin:var(--spacing-sm) 0}.booking-detail__payment-row--paid,.booking-detail__payment-value--paid{color:var(--color-info)}.booking-detail__payment-row--remaining{font-weight:var(--font-weight-semibold)}.booking-detail__payment-value--remaining{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.booking-detail__payment-value--remaining.has-debt{color:var(--color-warning)}.booking-detail__payment-value--remaining.no-debt{color:var(--color-success)}.booking-detail__pay-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-md);background:linear-gradient(135deg,#4caf50,#43a047);border:none;border-radius:var(--border-radius-md);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.booking-detail__pay-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #4caf5066}.booking-detail__pay-btn:disabled{opacity:.7;cursor:not-allowed}.booking-detail__paid-badge{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);margin-top:var(--spacing-md);background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:var(--border-radius-md);color:var(--color-success);font-weight:var(--font-weight-semibold)}.booking-detail__payment-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.booking-detail__payment-actions .booking-detail__pay-btn{flex:1;margin-top:0}.booking-detail__pay-btn--partial{background:linear-gradient(135deg,#2196f3,#1976d2)!important}.booking-detail__pay-btn--partial:hover:not(:disabled){box-shadow:0 4px 16px #2196f366!important}.booking-detail__payment-edit{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.booking-detail__payment-edit-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.booking-detail__payment-edit-row .booking-detail__form-label{flex:1}.booking-detail__payment-edit-actions{display:flex;gap:var(--spacing-sm)}.booking-detail__payment-edit-actions .booking-detail__form-btn{flex:1}.booking-detail__payment-row--editable{position:relative}.booking-detail__paid-value-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.booking-detail__edit-inline-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-secondary);cursor:pointer;opacity:.6;transition:all var(--transition-fast)}.booking-detail__edit-inline-btn:hover{opacity:1;color:var(--color-accent-primary);background:rgba(var(--color-accent-primary-rgb, 99, 102, 241),.1)}.booking-detail__payment-edit-inline{display:flex;flex-direction:column;gap:var(--spacing-xs)}.booking-detail__paid-edit-form{display:flex;align-items:center;gap:var(--spacing-xs)}.booking-detail__form-input--inline{width:120px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-base);text-align:right}.booking-detail__currency{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.booking-detail__paid-edit-actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs)}.booking-detail__inline-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-fast)}.booking-detail__inline-btn--save{background:var(--color-success);color:#fff}.booking-detail__inline-btn--save:hover:not(:disabled){background:#3d9140}.booking-detail__inline-btn--cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.booking-detail__inline-btn--cancel:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-primary)}.booking-detail__inline-btn:disabled{opacity:.5;cursor:not-allowed}.booking-detail__coupon-section{padding:4px 0 2px}.booking-detail__coupon-add-btn{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:12px;padding:4px 10px;transition:border-color .15s,color .15s}.booking-detail__coupon-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.booking-detail__coupon-form{display:flex;align-items:center;gap:4px}.booking-detail__coupon-input{flex:1;font-size:13px;padding:4px 8px;height:30px}.booking-detail__coupon-error{color:var(--color-danger, #e53e3e);font-size:12px;margin:4px 0 0}.booking-detail__coupon-remove-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:3px;line-height:1;transition:background .15s,color .15s}.booking-detail__coupon-remove-btn:hover:not(:disabled){background:var(--color-danger-bg, rgba(229, 62, 62, .1));color:var(--color-danger, #e53e3e)}.booking-detail__coupon-remove-btn:disabled{opacity:.5;cursor:not-allowed}.booking-detail__coupon-name{font-size:11px;color:var(--color-text-secondary);font-style:italic}.booking-detail__refund-section{margin-top:var(--spacing-md)}.booking-detail__refund-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:linear-gradient(135deg,#ff5722,#e64a19);color:#fff;border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease}.booking-detail__refund-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #ff572266}.booking-detail__refund-btn:active:not(:disabled){transform:translateY(0)}.booking-detail__refund-btn:disabled{opacity:.6;cursor:not-allowed}.booking-detail__refund-btn svg{flex-shrink:0}.booking-detail__refund-unavailable{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:var(--border-radius-md);color:var(--color-warning);font-size:var(--font-size-sm);line-height:1.5}.booking-detail__refund-unavailable svg{flex-shrink:0}.create-booking-overlay{z-index:calc(var(--z-modal) + 20)}.modal-content.create-booking-modal{max-width:700px;max-height:90vh}.create-booking__header{background:linear-gradient(135deg,rgba(76,175,80,.1) 0%,var(--color-bg-elevated) 100%)}.create-booking__body{display:block}.create-booking__error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:var(--border-radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.create-booking__error svg{flex-shrink:0}.create-booking__hours-info,.create-booking__hours-warning{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-sm)}.create-booking__hours-info{color:var(--color-text-secondary);background:#ffffff0a;border:1px solid var(--color-border)}.create-booking__hours-warning{color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.3);font-weight:var(--font-weight-medium)}.create-booking__section{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg);overflow:hidden}.create-booking__section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.create-booking__section-title svg{color:var(--color-success);opacity:.8}.create-booking__time-display{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.create-booking__time-block{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,#4caf50,#43a047);border-radius:var(--border-radius-lg)}.create-booking__time-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#fff}.create-booking__time-label{font-size:var(--font-size-xs);color:#fffc;margin-top:var(--spacing-xs)}.create-booking__time-separator{font-size:var(--font-size-2xl);color:var(--color-text-muted);font-weight:var(--font-weight-light)}.create-booking__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);overflow:hidden}.create-booking__form-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);min-width:0}.create-booking__form-label--full{grid-column:1 / -1}.create-booking__form-input,.create-booking__form-textarea{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:all var(--transition-fast);width:100%;max-width:100%;box-sizing:border-box}.create-booking__form-input:focus,.create-booking__form-textarea:focus{outline:none;border-color:var(--color-success);box-shadow:0 0 0 3px #4caf5026}.create-booking__form-textarea{resize:vertical;min-height:60px}.create-booking__form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.create-booking__form-input[placeholder="@username"]{font-family:Courier New,monospace}.create-booking__form-input[placeholder="@username"]::placeholder{font-family:var(--font-family-base)}.create-booking__price-loading,.create-booking__price-error{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);color:var(--color-text-secondary)}.create-booking__price-error{color:var(--color-error);background:#f443361a;border-radius:var(--border-radius-md)}.create-booking__price-card{background:var(--color-bg-elevated);border-radius:var(--border-radius-md);padding:var(--spacing-md);border:1px solid var(--color-border)}.create-booking__price-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.create-booking__price-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.create-booking__price-sublabel{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.create-booking__price-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.create-booking__price-value--modifier{color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.create-booking__price-row--modifiers{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.create-booking__price-row--modifier{background:#e91e630d;margin:2px 0;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.create-booking__modifier-tag{display:inline-block;margin-left:var(--spacing-xs);padding:2px 8px;background:var(--color-accent-primary);color:#fff;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.create-booking__price-row--total{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:2px solid var(--color-border)}.create-booking__price-row--total .create-booking__price-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.create-booking__price-value--total{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-success)}.create-booking__price-row--discount{border-top:1px dashed var(--color-border);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs)}.create-booking__price-value--discount{color:var(--color-success);font-weight:var(--font-weight-semibold)}.promotion-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.promotion-selector__loading{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.promotion-selector__option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast)}.promotion-selector__option:hover{border-color:var(--color-accent-primary);background:var(--color-bg-hover)}.promotion-selector__option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.promotion-selector__radio{flex-shrink:0;width:20px;height:20px;border:2px solid var(--color-border);border-radius:50%;position:relative;transition:all var(--transition-fast)}.promotion-selector__option input[type=radio]:checked~.promotion-selector__radio{border-color:var(--color-accent-primary);background:var(--color-accent-primary)}.promotion-selector__option input[type=radio]:checked~.promotion-selector__radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:50%}.promotion-selector__content{display:flex;flex-direction:column;gap:4px;flex:1}.promotion-selector__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.promotion-selector__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.create-booking__actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.create-booking__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.create-booking__btn:disabled{opacity:.6;cursor:not-allowed}.create-booking__btn--cancel{background:var(--color-bg-elevated);border-color:var(--color-border);color:var(--color-text-secondary)}.create-booking__btn--cancel:hover:not(:disabled){background:var(--color-bg-card);color:var(--color-text-primary)}.create-booking__btn--submit{background:linear-gradient(135deg,#4caf50,#43a047);color:#fff}.create-booking__btn--submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #4caf5066}.guest-counter{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-lg)}.guest-counter__controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg)}.guest-counter__btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.guest-counter__btn:hover:not(:disabled){border-color:var(--color-success);background:#4caf501a;color:var(--color-success);transform:scale(1.1)}.guest-counter__btn:active:not(:disabled){transform:scale(.95)}.guest-counter__btn:disabled{opacity:.3;cursor:not-allowed}.guest-counter__display{display:flex;align-items:baseline;gap:var(--spacing-xs);min-width:80px;justify-content:center}.guest-counter__value{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.guest-counter__unit{font-size:var(--font-size-sm);color:var(--color-text-muted)}.guest-counter__capacity{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.guest-counter__dot{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--color-border);cursor:pointer;transition:all var(--transition-fast);padding:0}.guest-counter__dot:hover{transform:scale(1.2)}.guest-counter__dot--selected{color:var(--color-success)}.guest-counter__dot--extra{color:var(--color-warning, #ff9800)}.guest-counter__info{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.guest-counter__badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--border-radius-full, 100px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.guest-counter__badge--included{background:#4caf501a;color:var(--color-success);border:1px solid rgba(76,175,80,.25)}.guest-counter__badge--extra{background:#ff98001a;color:var(--color-warning, #ff9800);border:1px solid rgba(255,152,0,.25)}.guest-counter__extra-notice{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#ff980014;border:1px solid rgba(255,152,0,.2);border-radius:var(--border-radius-md);font-size:var(--font-size-xs);color:var(--color-warning, #ff9800)}.guest-counter__extra-notice svg{flex-shrink:0}.guest-counter__extra-notice strong{font-weight:var(--font-weight-semibold)}.loading-spinner--small{width:16px;height:16px;border-width:2px}@media(max-width:600px){.modal-content.create-booking-modal{max-width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:0}.create-booking__form-grid{grid-template-columns:1fr}.create-booking__time-block{padding:var(--spacing-sm) var(--spacing-md)}.create-booking__time-value{font-size:var(--font-size-xl)}.create-booking__actions{flex-direction:column}}.booking-detail__notes{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-detail__note{padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);border-left:3px solid var(--color-border)}.booking-detail__note--internal{border-left-color:var(--color-warning);background:#ff98000d}.booking-detail__note-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.booking-detail__note p{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.booking-detail__edit-btn--extend{margin-left:auto;background:#2196f314;border-color:#2196f34d;color:#2196f3}.booking-detail__edit-btn--extend:hover{background:#2196f326;border-color:#2196f3;color:#1976d2}.booking-detail__edit-btn+.booking-detail__edit-btn{margin-left:var(--spacing-xs)}.booking-detail__extension-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-xs);font-style:italic}.booking-detail__extension-discount-inline{font-size:var(--font-size-xs);color:#4caf50;margin-left:var(--spacing-xs)}.booking-detail__price-breakdown--extensions{border-left:3px solid #2196F3;margin-left:var(--spacing-xs)}.booking-detail__extension-form{background:#2196f30a;border:1px solid rgba(33,150,243,.15);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md)}.booking-detail__extension-current{display:flex;align-items:center;gap:var(--spacing-sm)}.booking-detail__extension-pricing{border-color:#2196f333}.booking-detail__extension-payment-row{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.booking-detail__extension-payment-row .booking-detail__form-label{flex:1}.booking-detail__price-item--discount{color:var(--color-success)}.booking-detail__price-item--total{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-sm);margin-top:var(--spacing-xs)}.booking-detail__loading{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.booking-detail__extensions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-detail__extension-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md)}.booking-detail__extension-time{font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-sm)}.booking-detail__extension-hours{color:#2196f3;font-size:var(--font-size-xs);background:#2196f31a;padding:2px 6px;border-radius:4px}.booking-detail__extension-price-info{margin-top:var(--spacing-xs);color:var(--color-success);font-weight:var(--font-weight-medium)}.booking-detail__extension-discount{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);margin-left:var(--spacing-sm)}.booking-detail__extension-meta{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted)}.booking-detail__extension-notes{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic}.modal-booking--clickable{cursor:pointer}.modal-booking--clickable:hover{border-color:var(--color-accent-primary);background:var(--color-bg-elevated);transform:translate(4px)}@media(max-width:768px){.booking-detail__payment-actions{flex-direction:column}.booking-detail__payment-actions .booking-detail__pay-btn{width:100%}.booking-detail__payment-edit-row{flex-direction:column}.booking-detail__section{padding:var(--spacing-md)}.modal-header__subtitle{word-break:break-word;overflow-wrap:break-word}}@media(max-width:480px){.booking-detail-modal{max-width:100%;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:var(--spacing-sm)}.booking-detail__form-row,.booking-detail__status-buttons{flex-direction:column}.booking-detail__status-btn{justify-content:center;width:100%}.booking-detail__time-value{font-size:var(--font-size-xl)}.booking-detail__pay-btn{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}}.tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-subtle)}.tab{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;margin-bottom:-2px}.tab:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.tab--active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.sort-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex:0 0 auto!important;min-width:auto!important}.sort-controls label{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.select-input{min-width:180px;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);color:var(--color-text-primary);border-radius:var(--border-radius-md);cursor:pointer}.select-input:focus{border-color:var(--color-accent-primary);outline:none}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--spacing-xs)}.sortable-header:hover{color:var(--color-accent-primary)}.sortable-header svg{opacity:.6}.sortable-header:hover svg{opacity:1}.page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal)}.cell-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.btn-sm svg{flex-shrink:0}.btn-text-desktop{display:none}@media(min-width:1024px){.btn-text-desktop{display:inline}}.btn-icon{padding:var(--spacing-sm);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease}.btn-icon:hover{background:var(--color-bg-hover);color:var(--color-accent-primary);border-color:var(--color-accent-primary)}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg-card);border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.pagination-info{color:var(--color-text-muted);font-size:var(--font-size-sm);min-width:150px;text-align:center}.pagination-controls .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.pagination-controls .btn:disabled{opacity:.5;cursor:not-allowed}.notification{position:fixed;top:var(--spacing-xl);right:var(--spacing-xl);z-index:1100;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);animation:slideInRight .3s ease;max-width:400px}.notification-success{background:var(--color-success-bg, rgba(76, 175, 80, .15));border:1px solid var(--color-success, #4caf50);color:var(--color-success, #4caf50)}.notification-error{background:var(--color-error-bg, rgba(244, 67, 54, .15));border:1px solid var(--color-error, #f44336);color:var(--color-error, #f44336)}.notification span{flex:1;font-size:var(--font-size-sm)}.notification-close{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:inherit;opacity:.7;transition:opacity .2s ease}.notification-close:hover{opacity:1}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.empty-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease}.coupon-modal{background:var(--color-bg-card);border-radius:var(--border-radius-xl);width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:slideInUp .3s ease}.coupon-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-elevated)}.coupon-modal .modal-title{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.coupon-modal .modal-title h2{margin:0;font-size:inherit;font-weight:inherit}.coupon-modal .modal-title svg{color:var(--color-accent-primary)}.coupon-modal .modal-close{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);color:var(--color-text-muted);border-radius:var(--border-radius-sm);transition:all .2s ease}.coupon-modal .modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.coupon-modal .modal-body{padding:var(--spacing-lg)}.client-info-banner{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-input);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);border-left:3px solid var(--color-accent-primary)}.client-info-banner .client-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.client-info-banner .client-email{font-size:var(--font-size-sm);color:var(--color-text-muted)}.form-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.form-label svg{color:var(--color-text-muted)}.form-hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.form-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-bg, rgba(244, 67, 54, .1));border:1px solid var(--color-error, #f44336);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);color:var(--color-error, #f44336);font-size:var(--font-size-sm)}.discount-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.discount-option{padding:var(--spacing-md);background:var(--color-bg-input);border:2px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease}.discount-option:hover{border-color:var(--color-accent-secondary);color:var(--color-text-primary)}.discount-option.selected{background:var(--color-accent-gradient);border-color:var(--color-accent-primary);color:#fff}.discount-option:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.form-actions .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.loading-spinner-small{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.filters-bar{flex-direction:column;align-items:stretch}.sort-controls{width:100%;justify-content:space-between}.select-input{flex:1}.pagination-controls{flex-direction:column;gap:var(--spacing-md)}.notification{left:var(--spacing-md);right:var(--spacing-md);max-width:none}.coupon-modal{margin:var(--spacing-md);max-width:calc(100% - var(--spacing-lg))}.discount-options{grid-template-columns:repeat(2,1fr)}}.role-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.badge-ceo{background:linear-gradient(135deg,#9c27b0,#e91e63);color:#fff}.badge-director{background:linear-gradient(135deg,#2196f3,#00bcd4);color:#fff}.badge-senior{background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff}.badge-admin{background:linear-gradient(135deg,#607d8b,#78909c);color:#fff}.locations-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.location-tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.location-tag-more{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.all-locations-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(135deg,#9c27b0,#e91e63);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);color:#fff}.no-locations{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-warning);font-size:var(--font-size-sm)}.permissions-preview{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.permission-tag{display:inline-flex;align-items:center;padding:2px var(--spacing-xs);background:#e91e631a;border-radius:var(--border-radius-sm);font-size:10px;color:var(--color-accent-primary);text-transform:capitalize}.permission-tag-more{background:var(--color-bg-elevated);color:var(--color-text-muted)}.user-info-display{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);border:1px solid var(--color-border)}.user-info-display strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.user-info-display span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.user-info-display .role-badge{align-self:flex-start;margin-top:var(--spacing-xs)}.warning-message{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ff98001a;border:1px solid var(--color-warning);border-radius:var(--border-radius-md);color:var(--color-warning);font-size:var(--font-size-sm)}.info-message{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#2196f31a;border:1px solid #2196f3;border-radius:var(--border-radius-md);color:#2196f3;font-size:var(--font-size-sm)}.info-message svg{flex-shrink:0;margin-top:2px}.assigned-locations-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.assigned-location-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.assigned-location-item:hover{border-color:var(--color-accent-primary)}.location-info{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.location-info svg{color:var(--color-accent-primary)}.location-name{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.location-address{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-left:var(--spacing-sm)}.no-locations-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}.add-location-row{display:flex;gap:var(--spacing-md);align-items:center}.add-location-row .select-input{flex:1}.btn-danger{background:transparent;border:1px solid var(--color-error);color:var(--color-error)}.btn-danger:hover{background:var(--color-error);color:#fff}.filter-select-wrapper{position:relative;flex:1;min-width:200px}.filter-select-wrapper svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;width:20px;height:20px;z-index:1}.filter-select-wrapper select,.filter-select-wrapper .select-input{padding-left:calc(var(--spacing-md) + 28px);width:100%}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.location-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all var(--transition-normal) ease;animation:fadeInUp var(--transition-slow) ease}.location-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--color-accent-primary)}.location-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.location-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.location-actions{display:flex;gap:var(--spacing-sm)}.btn-icon:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.btn-icon-danger{color:var(--color-error)}.location-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.location-info-row{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.location-icon{color:var(--color-accent-primary);flex-shrink:0}.location-meta{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted)}.empty-state{text-align:center;padding:var(--spacing-4xl) var(--spacing-lg);color:var(--color-text-muted)}.empty-icon{color:var(--color-text-muted);opacity:.5;margin-bottom:var(--spacing-lg)}.empty-message{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.form-label .required{color:var(--color-error)}.form-input{width:100%;padding:var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast) ease}.form-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #e91e6326}.form-input::placeholder{color:var(--color-text-muted)}.input-error:focus{box-shadow:0 0 0 3px #f4433626}.error-message{display:block;color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.form-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.notification{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);animation:slideInDown var(--transition-normal) ease}.notification-success{border-color:var(--color-success);background:#4caf501a;color:var(--color-success)}.notification-error{border-color:var(--color-error);background:#f443361a;color:var(--color-error)}.notification button{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity var(--transition-fast) ease}.notification button:hover{opacity:1}.page-loading{text-align:center;padding:var(--spacing-4xl);color:var(--color-text-muted);font-size:var(--font-size-lg)}.page-container{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.page-title-section{display:flex;align-items:center;gap:var(--spacing-md)}.page-icon{color:var(--color-accent-primary)}.page-subtitle{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-fast) ease;padding:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideInUp var(--transition-normal) ease;border:1px solid var(--color-border)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-bg-card);z-index:10}.modal-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--border-radius-md);transition:all var(--transition-fast) ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-content form{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.modal-footer{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);flex-shrink:0}.btn-primary{background:linear-gradient(135deg,var(--color-accent-primary),#d81b60);color:#fff;border:none;border-radius:var(--border-radius-md);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast) ease;box-shadow:0 2px 8px #e91e634d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e91e6366}.btn-primary:hover:before{left:100%}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 6px #e91e634d}.btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;gap:var(--spacing-sm);transition:all var(--transition-fast) ease}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary);color:var(--color-text-primary)}.btn-secondary:active{transform:scale(.98)}.form-group{margin-bottom:var(--spacing-xl)}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-input);border:2px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast) ease;font-family:inherit}.form-input:hover{border-color:#e91e634d}.form-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 4px #e91e631a;background:var(--color-bg-card)}.form-input::placeholder{color:var(--color-text-muted);opacity:.7}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 4px #f443361a}.error-message{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-sm);font-weight:var(--font-weight-medium)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-checkbox{display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-sm) 0;-webkit-user-select:none;user-select:none}.form-checkbox:hover{color:var(--color-text-primary)}.form-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-accent-primary)}.required{color:var(--color-error);font-weight:var(--font-weight-bold)}.location-card{position:relative;overflow:hidden}.location-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--color-accent-primary),#d81b60);opacity:0;transition:opacity var(--transition-fast) ease}.location-card:hover:before{opacity:1}.btn-icon{background:transparent;border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast) ease;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.btn-icon:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary);color:var(--color-accent-primary);transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.btn-icon:active{transform:translateY(0)}.btn-icon-danger:hover{background:#f443361a;border-color:var(--color-error);color:var(--color-error)}@media(max-width:768px){.modal-content{max-width:100%;margin:var(--spacing-md)}.locations-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.modal-header,.modal-content form{padding:var(--spacing-lg)}.modal-footer{flex-direction:column-reverse}.modal-footer button{width:100%}}.working-hours-modal{max-width:640px;width:100%}.working-hours-modal__title-wrap{display:flex;align-items:center;gap:var(--spacing-sm)}.working-hours-modal__loading{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.working-hours-modal__toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.btn-sm{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-xs)}.working-hours-modal__rows{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-lg)}.working-hours-modal__row{display:grid;grid-template-columns:130px 80px 1fr 1fr 100px;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);transition:background var(--transition-fast) ease}.working-hours-modal__header-row{background:transparent;border-color:transparent;font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.05em;padding-bottom:0}.working-hours-modal__row--closed{opacity:.55}.wh-col-day{font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex;flex-direction:column}.wh-day-short{display:none}@media(max-width:520px){.working-hours-modal__row{grid-template-columns:36px 52px 1fr 1fr 52px;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.wh-day-full{display:none}.wh-day-short{display:inline}.working-hours-modal__header-row .wh-col-overnight,.working-hours-modal__header-row .wh-col-closed{font-size:9px}}.wh-col-closed,.wh-col-overnight{display:flex;justify-content:center}.wh-checkbox{display:flex;align-items:center;cursor:pointer}.wh-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent-primary);cursor:pointer}.wh-time-input{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);width:100%}.wh-time-input:disabled{opacity:.35;cursor:not-allowed}@media(max-width:768px){.modal-overlay{padding:8px}.modal-content{margin:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.modal-body{padding:var(--spacing-md)}.modal-actions{padding:var(--spacing-md);flex-direction:column-reverse}.modal-actions button{width:100%}}.client-search{position:relative;margin-bottom:var(--spacing-md)}.client-search__input-wrap{position:relative;display:flex;align-items:center}.client-search__icon{position:absolute;left:var(--spacing-md);color:var(--color-text-muted);pointer-events:none;z-index:1}.client-search__input{padding-left:2.75rem!important;padding-right:2.75rem!important}.client-search__spinner{position:absolute;right:var(--spacing-md);display:flex;align-items:center}.client-search__clear{position:absolute;right:var(--spacing-sm);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.client-search__clear:hover{color:var(--color-error);background:#f443361a}.client-search__selected{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:var(--border-radius-md);color:var(--color-success-light);font-size:var(--font-size-sm)}.client-search__selected svg{color:var(--color-success);flex-shrink:0}.client-search__error{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#f443361a;border:1px solid rgba(244,67,54,.2);border-radius:var(--border-radius-md);color:var(--color-error-light);font-size:var(--font-size-sm)}.client-search__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--spacing-xs);background:var(--color-bg-card);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);max-height:280px;overflow-y:auto}.client-search__option{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.client-search__option:last-child{border-bottom:none}.client-search__option:hover{background:var(--color-bg-hover)}.client-search__option-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-bottom:2px}.client-search__option-details{display:flex;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted)}.client-search__option-details span+span:before{content:"·";margin-right:var(--spacing-sm)}.cancel-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-modal) + 10);padding:var(--spacing-lg);animation:fadeIn var(--transition-fast) ease}.cancel-modal{background:var(--color-bg-card);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-2xl);max-width:480px;width:100%;padding:var(--spacing-xl);animation:slideInUp var(--transition-normal) ease}.cancel-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-lg)}.cancel-modal__field{margin-bottom:var(--spacing-md)}.cancel-modal__label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.cancel-modal__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-family:var(--font-family-base);transition:border-color var(--transition-fast);box-sizing:border-box}.cancel-modal__input:focus{outline:none;border-color:var(--color-accent-primary)}.cancel-modal__prepaid{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md)}.cancel-modal__prepaid strong{color:var(--color-text-primary)}.cancel-modal__alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-bottom:var(--spacing-md)}.cancel-modal__alert--success{background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:var(--color-success-light)}.cancel-modal__alert--warning{background:#ff98001a;border:1px solid rgba(255,152,0,.3);color:var(--color-warning-light)}.cancel-modal__alert--bordered{border-width:2px}.cancel-modal__actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.cancel-modal__actions--row{flex-direction:row}.cancel-modal__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.cancel-modal__btn:disabled{opacity:.5;cursor:not-allowed}.cancel-modal__btn--refund{background:var(--color-accent-gradient);color:#fff;flex:1}.cancel-modal__btn--refund:hover:not(:disabled){box-shadow:var(--shadow-glow-accent);transform:translateY(-1px)}.cancel-modal__btn--danger{background:#f4433626;color:var(--color-error-light);border:1px solid rgba(244,67,54,.3);flex:1}.cancel-modal__btn--danger:hover:not(:disabled){background:#f4433640;box-shadow:var(--shadow-glow-error)}.cancel-modal__btn--secondary{background:var(--color-bg-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);flex:1}.cancel-modal__btn--secondary:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.cancel-modal__btn--back{width:100%;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);margin-top:var(--spacing-sm)}.cancel-modal__btn--back:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.cancel-modal__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-sm)}.source-select__group{margin-bottom:var(--spacing-md)}.source-select__label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:8px}.source-select__cards{display:flex;flex-wrap:wrap;gap:8px}.source-select__cards--row{flex-direction:row}.source-select__cards--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.source-select__card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border:1.5px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;font-size:11px;text-align:center;transition:border-color .15s,background .15s,color .15s;min-height:58px}.source-select__cards--row .source-select__card{flex:1;flex-direction:row;gap:8px;min-height:42px;font-size:13px}.source-select__card:hover{border-color:var(--color-border-strong);background:var(--color-bg-elevated);color:var(--color-text-primary)}.source-select__card--active{border-color:var(--color-accent-primary);background:#e91e631f;color:var(--color-text-primary)}.source-select__card-icon{font-size:18px;line-height:1}.source-select__cards--row .source-select__card-icon{font-size:16px}.source-select__card-label{line-height:1.2}.timeline{background:var(--color-bg-card);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:slideInUp var(--transition-normal) ease}.timeline__header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border)}.timeline__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.timeline__date{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0;font-weight:var(--font-weight-medium)}.timeline__hours{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;font-style:italic}.timeline__grid{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.timeline__time-column{display:flex;flex-direction:column;gap:2px;min-width:80px}.timeline__time-slot{height:60px;display:flex;align-items:center;justify-content:flex-end;padding-right:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);border:1px solid var(--color-border-light)}.timeline__time-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-family:Courier New,monospace;letter-spacing:.5px}.timeline__bookings-column{display:flex;flex-direction:column;gap:2px;min-height:400px}.timeline__slot-bookings{min-height:60px;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-bg-secondary);border-radius:var(--border-radius-md);border:1px solid var(--color-border-light);transition:all var(--transition-fast)}.timeline__slot-bookings:hover{background:var(--color-bg-elevated);border-color:var(--color-border)}.timeline__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);gap:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);border:1px dashed var(--color-border)}.timeline__empty p{font-size:var(--font-size-lg);color:var(--color-text-muted);margin:0}.timeline--horizontal .timeline__grid{display:block}.timeline__schedule{margin-bottom:var(--spacing-xl)}.timeline__schedule-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.timeline__schedule-hours{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--spacing-lg) 0}.timeline__slots-container{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.timeline__slots-row{display:flex;flex-wrap:wrap;gap:4px}.timeline__slot-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:Courier New,monospace;border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;min-width:70px;text-align:center}.timeline__slot-button--free{background:#4caf5033;color:var(--color-success);border-color:#4caf504d}.timeline__slot-button--free:hover{background:#4caf504d;border-color:#4caf5080;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5033}.timeline__slot-button--booked{background:#e91e6333;color:var(--color-accent-primary);border-color:#e91e634d;cursor:default}.timeline__slot-button--booked:hover{background:#e91e6340}.timeline__slot-button--current{border:2px solid var(--color-accent-primary);box-shadow:0 0 20px #e91e6366}.timeline__legend{display:flex;gap:var(--spacing-xl);align-items:center;padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg)}.timeline__legend-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.timeline__legend-dot{width:16px;height:16px;border-radius:var(--border-radius-sm);border:1px solid transparent}.timeline__legend-item--free .timeline__legend-dot{background:#4caf5033;border-color:#4caf504d}.timeline__legend-item--booked .timeline__legend-dot{background:#e91e6333;border-color:#e91e634d}@media(max-width:1024px){.timeline{padding:var(--spacing-lg)}.timeline__grid{gap:var(--spacing-sm)}.timeline__time-column{min-width:60px}.timeline__slot-button{min-width:60px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}@media(max-width:768px){.timeline{padding:var(--spacing-md)}.timeline__title{font-size:var(--font-size-2xl)}.timeline__grid{grid-template-columns:1fr}.timeline__time-column{display:none}.timeline__slots-row{justify-content:center}.timeline__legend{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}@media(max-width:480px){.timeline__slot-button{min-width:50px;font-size:10px}.timeline__slots-row{gap:2px}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.timeline__slot-bookings:empty:after{content:"";display:block;height:100%;min-height:60px}.timeline__closed{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl, 3rem) var(--spacing-xl);gap:var(--spacing-md);color:var(--color-text-secondary)}.timeline__closed-icon{font-size:2.5rem;line-height:1}.timeline__closed-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0}.timeline-page__day-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:capitalize;align-self:center}.timeline-page__closed-banner{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#f87171;border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-sm)}.analytics-page{animation:fadeIn var(--transition-slow) ease}.analytics-page__header{margin-bottom:var(--spacing-lg)}.analytics-page__title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.analytics-page__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.analytics-page__actions{display:flex;gap:var(--spacing-sm)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn--ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-accent-primary)}.btn--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn--xs{padding:4px var(--spacing-xs);font-size:var(--font-size-xs)}.analytics-filters{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-md);animation:slideInDown var(--transition-normal) ease}.analytics-filters__row{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--spacing-sm)}.analytics-filter{display:flex;flex-direction:column;gap:4px}.analytics-filter span{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.analytics-filter input,.analytics-filter select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-input);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast)}.analytics-filter input:focus,.analytics-filter select:focus{outline:none;border-color:var(--color-accent-primary)}.analytics-filters__presets{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.analytics-tabs{display:flex;gap:2px;border-bottom:2px solid var(--color-border)}.analytics-tab{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid transparent;margin-bottom:-2px}.analytics-tab:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.analytics-tab--active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.analytics-error{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:#f443361a;border:1px solid var(--color-danger);border-radius:var(--border-radius-md);color:var(--color-danger);margin-bottom:var(--spacing-lg)}.analytics-error button{background:transparent;border:none;color:var(--color-danger);cursor:pointer;padding:4px;display:flex}.analytics-page__content{margin-top:var(--spacing-lg)}.analytics-loading{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-md)}.analytics-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center;color:var(--color-text-tertiary)}.analytics-empty p{margin:0}.analytics-overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.analytics-card{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-fast)}.analytics-card:hover{transform:translateY(-2px)}.analytics-card__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.analytics-card__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--border-radius-md)}.analytics-card__icon--primary{background:linear-gradient(135deg,#e91e6326,#9c27b026);color:var(--color-accent-primary)}.analytics-card__icon--info{background:#2196f326;color:var(--color-info)}.analytics-card__icon--success{background:#4caf5026;color:var(--color-success)}.analytics-card__icon--warning{background:#ff980026;color:var(--color-warning)}.analytics-card__icon--danger{background:#f4433626;color:var(--color-danger)}.analytics-card__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.analytics-card__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.analytics-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.analytics-comparison__side{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.analytics-comparison__side h4{margin:0 0 var(--spacing-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-xs)}.analytics-comparison__row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.analytics-comparison__row span:first-child{color:var(--color-text-secondary)}.analytics-comparison__row span:last-child{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.analytics-roi{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:linear-gradient(135deg,#e91e6314,#9c27b014);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm)}.analytics-roi span:first-child{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.analytics-roi strong{font-size:var(--font-size-xl);color:var(--color-accent-primary)}.revenue-impact{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}.revenue-impact__card{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.revenue-impact__card h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.revenue-impact__stats{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.revenue-impact__stats .label{color:var(--color-text-secondary)}.revenue-impact__roi{grid-column:1 / -1;padding:var(--spacing-md);background:linear-gradient(135deg,#e91e6314,#9c27b014);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.revenue-impact__roi strong{font-size:var(--font-size-xl);color:var(--color-accent-primary)}.revenue-impact__roi-hint{font-size:var(--font-size-xs);opacity:.7}.analytics-table-wrap{overflow-x:auto;margin-top:var(--spacing-md)}.analytics-table-wrap table{width:100%;border-collapse:collapse}.analytics-table-wrap th,.analytics-table-wrap td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);white-space:nowrap}.analytics-table-wrap th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.conversion-bar{display:flex;align-items:center;gap:var(--spacing-xs);min-width:80px}.conversion-bar__fill{height:6px;border-radius:999px;background:var(--color-accent-primary);min-width:2px;flex:1;max-width:60px}.conversion-bar__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.bar-inline{height:4px;background:var(--color-border);border-radius:999px;margin-top:4px;overflow:hidden}.bar-inline__fill{height:100%;background:var(--color-accent-primary);border-radius:999px}.expired-summary{margin-bottom:var(--spacing-md)}.coupon-analytics{display:flex;flex-direction:column;gap:var(--spacing-lg)}.analytics-chart{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.analytics-chart h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.analytics-chart .recharts-cartesian-grid-horizontal line,.analytics-chart .recharts-cartesian-grid-vertical line{stroke:var(--color-border)}.analytics-chart .recharts-text{fill:var(--color-text-secondary);font-size:12px}.recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--color-bg-card)!important;border:1px solid var(--color-border)!important;border-radius:var(--border-radius-md)!important}.recharts-tooltip-wrapper .recharts-default-tooltip .recharts-tooltip-label{color:var(--color-text-primary)!important}.recharts-tooltip-wrapper .recharts-default-tooltip .recharts-tooltip-item{color:var(--color-text-secondary)!important}.analytics-table{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);overflow-x:auto}.analytics-table h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.analytics-table table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.analytics-table th{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.analytics-table td{font-size:var(--font-size-sm);color:var(--color-text-primary)}.analytics-table tr:hover td{background:var(--color-bg-hover)}.analytics-table .td--accent{color:var(--color-accent-primary);font-weight:var(--font-weight-semibold)}.analytics-table .td--success{color:var(--color-success)}.analytics-table .td--muted{color:var(--color-text-tertiary)}.analytics-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.analytics-bar__fill{height:6px;border-radius:999px;background:var(--color-accent-primary);transition:width .4s ease;min-width:2px}.analytics-bar__value{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.occupancy-heatmap{display:flex;flex-direction:column;gap:var(--spacing-xl)}.heatmap-container{overflow-x:auto}.heatmap-grid{display:grid;grid-template-columns:40px repeat(24,1fr);gap:2px;min-width:700px}.heatmap-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:3px;font-size:10px;min-height:28px}.heatmap-cell--header{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);aspect-ratio:unset}.heatmap-cell--day{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);justify-content:flex-end;padding-right:var(--spacing-xs);aspect-ratio:unset}.heatmap-cell--value{border:1px solid var(--color-border);cursor:default;transition:transform var(--transition-fast)}.heatmap-cell--value:hover{transform:scale(1.15);z-index:1}.heatmap-cell__text{font-size:9px;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.heatmap-legend{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:center;margin-top:var(--spacing-sm)}.heatmap-legend__bar{display:flex;width:200px;height:12px;border-radius:var(--border-radius-sm);overflow:hidden}.webhook-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.webhook-panel__header{display:flex;justify-content:space-between;align-items:center}.webhook-panel__header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.webhook-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.webhook-item{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:border-color var(--transition-fast)}.webhook-item:hover{border-color:var(--color-accent-primary)}.webhook-item--inactive{opacity:.6}.webhook-item__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm)}.webhook-item__name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.webhook-item__actions{display:flex;gap:var(--spacing-xs)}.webhook-item__url{font-size:var(--font-size-xs);color:var(--color-text-tertiary);word-break:break-all;margin-bottom:var(--spacing-sm);font-family:monospace}.webhook-item__events{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.webhook-event-tag{display:inline-flex;align-items:center;padding:2px var(--spacing-xs);background:#e91e631a;color:var(--color-accent-primary);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs)}.webhook-status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.webhook-status-badge--active{background:#4caf5026;color:var(--color-success)}.webhook-status-badge--inactive{background:#9e9e9e26;color:var(--color-text-tertiary)}.webhook-form{background:var(--color-bg-card);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:2px solid var(--color-accent-primary)}.webhook-form h3{margin:0 0 var(--spacing-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.webhook-form__field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-md)}.webhook-form__field label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.webhook-form__field input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-input);color:var(--color-text-primary);font-size:var(--font-size-sm)}.webhook-form__field input:focus{outline:none;border-color:var(--color-accent-primary)}.webhook-form__events{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.webhook-form__events label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.webhook-form__event-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.webhook-form__event-checkbox{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.webhook-form__event-checkbox input[type=checkbox]{accent-color:var(--color-accent-primary)}.webhook-form__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.btn--accent{background:var(--color-accent-gradient);color:#fff;border:none;display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn--accent:hover{opacity:.9;transform:translateY(-1px)}.btn--danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger);display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.btn--danger:hover{background:#f443361a}.webhook-test-result{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.webhook-test-result--success{background:#4caf501a;color:var(--color-success);border:1px solid rgba(76,175,80,.3)}.webhook-test-result--error{background:#f443361a;color:var(--color-danger);border:1px solid rgba(244,67,54,.3)}.webhook-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary)}.webhook-empty p{margin:var(--spacing-md) 0 0}@media(max-width:768px){.analytics-page__title-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.analytics-page__title{font-size:var(--font-size-2xl)}.analytics-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.analytics-tab{white-space:nowrap;min-width:unset}.analytics-filters__row{flex-direction:column}.analytics-overview-cards{grid-template-columns:1fr 1fr}.analytics-comparison{grid-template-columns:1fr}.heatmap-grid{min-width:600px}.webhook-item__header{flex-direction:column;gap:var(--spacing-sm)}.webhook-form__event-list{flex-direction:column}.metrics-section{padding:var(--spacing-md)}.revenue-impact{grid-template-columns:1fr}.analytics-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-md));padding:0 var(--spacing-md)}.analytics-table-wrap table{min-width:500px}.coupon-analytics .metrics-section{margin-bottom:var(--spacing-md)}}@media(max-width:480px){.analytics-overview-cards{grid-template-columns:1fr}.analytics-card__value{font-size:var(--font-size-2xl)}}.segmentation__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.segmentation__header h3{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary);font-size:var(--font-size-xl)}.segmentation__total{color:var(--text-secondary);font-size:var(--font-size-sm)}.segmentation__cards{display:flex;flex-direction:column;gap:var(--spacing-md)}.segment-card{background:var(--bg-card);border:1px solid var(--border-color);border-left:4px solid;border-radius:var(--radius-lg);overflow:hidden}.segment-card__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background var(--transition-fast)}.segment-card__header:hover{background:var(--bg-hover)}.segment-card__info{display:flex;align-items:center;gap:var(--spacing-md)}.segment-card__label{font-weight:600;color:var(--text-primary)}.segment-card__desc{font-size:var(--font-size-xs);color:var(--text-secondary)}.segment-card__stats{display:flex;align-items:center;gap:var(--spacing-md)}.segment-card__count{font-size:var(--font-size-2xl);font-weight:700}.segment-card__pct{font-size:var(--font-size-sm);color:var(--text-secondary);min-width:40px}.segment-card__clients{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--border-color)}.segment-client-name{font-weight:500;color:var(--text-primary)}.segment-client-phone{font-size:var(--font-size-xs);color:var(--text-secondary)}.segment-card__more{text-align:center;padding:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.ai-reports__insights{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.ai-reports__insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.ai-reports__insights-header h3{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary)}.ai-reports__insights-content{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg)}.ai-reports__insights-content hr{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-md) 0}.ai-reports__tokens{text-align:right;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-sm)}.ai-reports__list-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.ai-reports__list-header h3{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary)}.ai-reports__empty{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.ai-reports__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.report-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.report-card__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background var(--transition-fast)}.report-card__header:hover{background:var(--bg-hover)}.report-card__info{display:flex;align-items:center;gap:var(--spacing-md)}.report-card__badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;color:#fff}.report-card__date{font-size:var(--font-size-sm);color:var(--text-secondary)}.report-card__content{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ai-markdown h2,.ai-markdown h3,.ai-markdown h4{color:var(--text-primary);margin:var(--spacing-md) 0 var(--spacing-sm)}.ai-markdown h2{font-size:var(--font-size-xl)}.ai-markdown h3{font-size:var(--font-size-lg)}.ai-markdown h4{font-size:var(--font-size-md)}.ai-markdown p{color:var(--text-primary);line-height:1.7;margin-bottom:var(--spacing-sm)}.ai-markdown strong{color:var(--accent)}.ai-markdown ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.ai-markdown li{color:var(--text-primary);margin-bottom:4px;line-height:1.6}.ai-chat{display:flex;flex-direction:column;height:calc(100vh - 300px);height:calc(100dvh - 300px);min-height:500px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.ai-chat__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.ai-chat__header-title{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-primary)}.ai-chat__header-title h3{margin:0;font-size:var(--font-size-lg)}.ai-chat__messages{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.ai-chat__welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--text-secondary);text-align:center;gap:var(--spacing-sm)}.ai-chat__welcome h4{color:var(--text-primary);font-size:var(--font-size-xl);margin:0}.ai-chat__welcome p{max-width:400px}.ai-chat__suggestions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);justify-content:center}.ai-chat__suggestion{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.ai-chat__suggestion:hover{border-color:var(--accent);color:var(--accent)}.ai-chat__bubble{display:flex;gap:var(--spacing-sm);max-width:85%}.ai-chat__bubble--user{align-self:flex-end;flex-direction:row-reverse}.ai-chat__bubble--assistant{align-self:flex-start}.ai-chat__bubble-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-chat__bubble--user .ai-chat__bubble-icon{background:var(--accent);color:#fff}.ai-chat__bubble--assistant .ai-chat__bubble-icon{background:var(--bg-secondary);color:var(--accent);border:1px solid var(--border-color)}.ai-chat__bubble-content{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.ai-chat__bubble--user .ai-chat__bubble-content{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.ai-chat__bubble--user .ai-chat__bubble-content p{color:#fff;margin:0}.ai-chat__bubble--assistant .ai-chat__bubble-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.ai-chat__tokens{display:block;text-align:right;font-size:10px;color:var(--text-secondary);margin-top:4px;opacity:.7}.ai-chat__typing{display:flex;gap:4px;padding:var(--spacing-xs) 0}.ai-chat__typing span{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:typingDot 1.4s infinite}.ai-chat__typing span:nth-child(2){animation-delay:.2s}.ai-chat__typing span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.ai-chat__error{align-self:center;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.ai-chat__input-area{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.ai-chat__input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);resize:none;outline:none;font-family:inherit}.ai-chat__input:focus{border-color:var(--accent)}.ai-chat__send{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast)}.ai-chat__send:disabled{opacity:.4;cursor:not-allowed}.ai-chat__send:hover:not(:disabled){opacity:.9}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analytics-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-2xl);color:var(--text-secondary)}.analytics-error-inline{padding:var(--spacing-md);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:#ef4444;text-align:center}.expense-tracker{display:flex;flex-direction:column;gap:var(--spacing-lg)}.expense-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);flex-wrap:wrap}.expense-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.expense-filters input,.expense-filters select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border, var(--border-color));border-radius:var(--border-radius-md, var(--radius-md));background:var(--color-bg-input, var(--bg-secondary));color:var(--color-text-primary, var(--text-primary));font-size:var(--font-size-sm)}.expense-filters input:focus,.expense-filters select:focus{outline:none;border-color:var(--color-accent-primary, var(--accent))}.expense-categories-breakdown{display:flex;flex-direction:column;gap:var(--spacing-sm)}.expense-cat-row{padding:var(--spacing-xs) 0}.expense-cat-row__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.expense-cat-row__name{font-size:var(--font-size-sm);color:var(--color-text-primary, var(--text-primary));display:flex;align-items:center;gap:var(--spacing-xs)}.expense-cat-row__badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:10px;font-weight:600}.expense-cat-row__badge--fixed{background:#3b82f626;color:#3b82f6}.expense-cat-row__badge--variable{background:#f59e0b26;color:#f59e0b}.expense-cat-row__amount{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary, var(--text-primary))}.expense-cat-row__bar{height:6px;background:var(--color-border, var(--border-color));border-radius:999px;overflow:hidden}.expense-cat-row__fill{height:100%;border-radius:999px;transition:width .4s ease}.expense-cat-row__fill--fixed{background:#3b82f6}.expense-cat-row__fill--variable{background:#f59e0b}.expense-table-wrap{overflow-x:auto}.expense-table{width:100%;border-collapse:collapse}.expense-table th,.expense-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border, var(--border-color))}.expense-table th{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary, var(--text-secondary));text-transform:uppercase;letter-spacing:.05em}.expense-table td{font-size:var(--font-size-sm);color:var(--color-text-primary, var(--text-primary))}.expense-table tr:hover td{background:var(--color-bg-hover, var(--bg-hover))}.expense-table__amount{font-weight:600;white-space:nowrap}.expense-table__actions{display:flex;gap:4px}.expense-type-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;flex-shrink:0}.expense-type-dot--fixed{background:#3b82f6}.expense-type-dot--variable{background:#f59e0b}.expense-source{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:500}.expense-source--manual{background:#6b728026;color:var(--color-text-secondary, var(--text-secondary))}.expense-source--ai_chat{background:#8b5cf626;color:#8b5cf6}.expense-source--recurring{background:#22c55e26;color:#22c55e}.expense-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary, var(--text-secondary))}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease}.modal{background:var(--color-bg-card, var(--bg-card));border:1px solid var(--color-border, var(--border-color));border-radius:var(--border-radius-lg, var(--radius-lg));width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border, var(--border-color))}.modal__header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary, var(--text-primary))}.modal__body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border, var(--border-color))}.form-field{display:flex;flex-direction:column;gap:4px}.form-field span{font-size:var(--font-size-sm);color:var(--color-text-secondary, var(--text-secondary));font-weight:500}.form-field input,.form-field select,.form-field textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border, var(--border-color));border-radius:var(--border-radius-md, var(--radius-md));background:var(--color-bg-input, var(--bg-secondary));color:var(--color-text-primary, var(--text-primary));font-size:var(--font-size-sm);font-family:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--color-accent-primary, var(--accent))}.recurring-panel{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.recurring-panel__header{display:flex;justify-content:space-between;align-items:center}.recurring-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.recurring-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-card, var(--bg-card));border:1px solid var(--color-border, var(--border-color));border-radius:var(--border-radius-lg, var(--radius-lg));transition:border-color var(--transition-fast)}.recurring-card:hover{border-color:var(--color-accent-primary, var(--accent))}.recurring-card--inactive{opacity:.5}.recurring-card__main{flex:1;min-width:0}.recurring-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary, var(--text-primary));display:flex;align-items:center}.recurring-card__desc{font-weight:400;color:var(--color-text-secondary, var(--text-secondary))}.recurring-card__meta{display:flex;gap:var(--spacing-md);margin-top:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary, var(--text-secondary));flex-wrap:wrap;align-items:center}.recurring-card__meta span{display:flex;align-items:center;gap:4px}.recurring-card__badge-inactive{color:#ef4444;font-weight:500}.recurring-card__amount{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary, var(--text-primary));white-space:nowrap}.recurring-card__actions{display:flex;gap:4px;flex-shrink:0}.cashflow-forecast{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cashflow-forecast__controls{display:flex;gap:var(--spacing-md);align-items:center}.cashflow-forecast__controls label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary, var(--text-secondary))}.cashflow-forecast__controls select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border, var(--border-color));border-radius:var(--border-radius-md, var(--radius-md));background:var(--color-bg-input, var(--bg-secondary));color:var(--color-text-primary, var(--text-primary));font-size:var(--font-size-sm)}.cashflow-row--deficit{background:#ef44440d!important}.cashflow-deficit-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#ef444426;color:#ef4444;border-radius:10px;font-size:11px;font-weight:600}.cashflow-ai-analysis{background:var(--color-bg-card, var(--bg-secondary));border:1px solid var(--color-border, var(--border-color));border-radius:var(--border-radius-lg, var(--radius-lg));padding:var(--spacing-lg)}.ai-chat__expense-card{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md, var(--radius-md));font-size:var(--font-size-xs);font-weight:500;margin-bottom:var(--spacing-xs)}.ai-chat__expense-card--pending{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.ai-chat__expense-card--created{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}@media(max-width:768px){.expense-toolbar{flex-direction:column}.expense-filters{flex-direction:column;width:100%}.expense-filters input,.expense-filters select{width:100%}.recurring-card{flex-direction:column;align-items:flex-start}.recurring-card__amount,.recurring-card__actions{align-self:flex-end}}
