@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap";.calendar-legend{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-subtle);display:flex}.legend-item{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.legend-dot{border-radius:var(--radius-full);width:10px;height:10px}.calendar-grid{background:var(--color-border-subtle);border-radius:var(--radius-md);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-weekday{padding:var(--space-2) var(--space-2);text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);background:var(--color-bg-elevated)}.calendar-day{min-height:80px;padding:var(--space-2);background:var(--color-bg-surface);transition:background var(--transition-fast);flex-direction:column;display:flex;position:relative}.calendar-day:hover{background:var(--color-bg-hover)}.calendar-day-empty,.calendar-day-empty:hover{background:var(--color-bg-base)}.calendar-day-past{opacity:.5}.calendar-day-today{background:var(--color-accent-primary-muted)!important}.calendar-day-today .calendar-day-number{color:var(--color-accent-primary);font-weight:var(--weight-bold)}.calendar-day-booked{background:#06b6d40d}.calendar-day-number{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.calendar-day-events{padding-top:var(--space-1);flex-wrap:wrap;gap:3px;margin-top:auto;display:flex}.calendar-event-dot{border-radius:var(--radius-full);width:8px;height:8px;transition:transform var(--transition-fast);flex-shrink:0}.calendar-event-dot:hover{transform:scale(1.5)}:root{--color-bg-base:#0a0e1a;--color-bg-surface:#111827;--color-bg-elevated:#1a2235;--color-bg-hover:#1e293b;--color-bg-active:#243044;--color-accent-primary:#06b6d4;--color-accent-primary-hover:#22d3ee;--color-accent-primary-muted:#06b6d426;--color-accent-primary-glow:#06b6d440;--color-accent-secondary:#818cf8;--color-accent-secondary-hover:#a5b4fc;--color-accent-secondary-muted:#818cf826;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-text-muted:#475569;--color-text-inverse:#0f172a;--color-border-subtle:#94a3b81a;--color-border-default:#94a3b826;--color-border-strong:#94a3b840;--color-success:#34d399;--color-success-muted:#34d39926;--color-warning:#fbbf24;--color-warning-muted:#fbbf2426;--color-error:#f87171;--color-error-muted:#f8717126;--color-info:#60a5fa;--color-info-muted:#60a5fa26;--color-airbnb:#ff5a5f;--color-booking:#003580;--color-vrbo:#0e47a1;--color-direct:var(--color-accent-primary);--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Outfit", "Inter", sans-serif;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -4px #0003;--shadow-xl:0 20px 25px -5px #0000004d, 0 8px 10px -6px #0003;--shadow-glow:0 0 20px var(--color-accent-primary-glow);--sidebar-width:260px;--sidebar-collapsed-width:72px;--header-height:64px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--z-sidebar:40;--z-header:30;--z-dropdown:50;--z-modal-backdrop:60;--z-modal:70;--z-toast:80}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-base);min-height:100vh;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}a{color:var(--color-accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-primary-hover)}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}table{border-collapse:collapse;width:100%}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background:var(--color-accent-primary-muted);color:var(--color-accent-primary-hover)}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap;line-height:1.5;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-accent-primary-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-hover)}.btn-danger{background:var(--color-error-muted);color:var(--color-error);border:1px solid #f8717133}.btn-danger:hover:not(:disabled){background:#f8717140}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-base)}.card-elevated{background:var(--color-bg-elevated);border:1px solid var(--color-border-default)}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-glass{-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border-subtle);background:#11182799}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-accent,var(--color-accent-primary));border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card .stat-icon{border-radius:var(--radius-lg);background:var(--stat-accent-muted,var(--color-accent-primary-muted));width:48px;height:48px;color:var(--stat-accent,var(--color-accent-primary));justify-content:center;align-items:center;display:flex}.stat-card .stat-value{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--weight-extrabold);color:var(--color-text-primary);margin-top:var(--space-3);line-height:1}.stat-card .stat-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;line-height:1.6;display:inline-flex}.badge-success{background:var(--color-success-muted);color:var(--color-success)}.badge-warning{background:var(--color-warning-muted);color:var(--color-warning)}.badge-error{background:var(--color-error-muted);color:var(--color-error)}.badge-info{background:var(--color-info-muted);color:var(--color-info)}.badge-neutral{color:var(--color-text-tertiary);background:#64748b26}.badge-airbnb{color:var(--color-airbnb);background:#ff5a5f26}.badge-booking{color:#4d94ff;background:#0035804d}.badge-vrbo{color:#5b9aff;background:#0e47a14d}.badge-direct{background:var(--color-accent-primary-muted);color:var(--color-accent-primary)}.data-table{width:100%}.data-table thead th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);text-align:left;border-bottom:1px solid var(--color-border-default);background:var(--color-bg-elevated);z-index:1;position:sticky;top:0}.data-table tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-hover)}.data-table tbody td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);vertical-align:middle}.data-table tbody td:first-child{color:var(--color-text-primary);font-weight:var(--weight-medium)}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.form-input,.form-select{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-base);border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-primary-muted)}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-error{font-size:var(--text-xs);color:var(--color-error)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6l3.5 4 3.5-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast) ease-out;background:#0009;position:fixed;inset:0}.modal{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);width:min(560px,90vw);max-height:85vh;animation:fadeInUp var(--transition-slow) ease-out;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-lg)}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-subtle);display:flex}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state svg{width:64px;height:64px;margin-bottom:var(--space-4);opacity:.4}.empty-state h3{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.spinner{border:3px solid var(--color-border-default);border-top-color:var(--color-accent-primary);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{padding:var(--space-16);justify-content:center;align-items:center;display:flex}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.page-header h1{font-size:var(--text-2xl)}.page-header .page-actions{align-items:center;gap:var(--space-3);display:flex}.filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.toast-container{top:var(--space-4);right:var(--space-4);z-index:9999;gap:var(--space-3);flex-direction:column;max-width:400px;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:.3s ease-out slideInRight;display:flex}.toast-exit{animation:.3s ease-in forwards slideOutRight}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info .toast-icon{color:var(--color-info)}.toast-icon{flex-shrink:0;margin-top:2px}.toast-body{flex:1;min-width:0}.toast-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.toast-message{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px}.toast-close{color:var(--color-text-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.toast-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.skeleton{background:linear-gradient(90deg, var(--color-bg-elevated) 25%, #64748b1a 50%, var(--color-bg-elevated) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-card{border-radius:var(--radius-lg);height:120px}.skeleton-row{height:48px;margin-bottom:var(--space-2)}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-bg-surface);border-right:1px solid var(--color-border-subtle);height:100vh;z-index:var(--z-sidebar);transition:width var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-logo{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);border-bottom:1px solid var(--color-border-subtle);display:flex}.sidebar-logo .logo-icon{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));color:#fff;width:36px;height:36px;font-family:var(--font-heading);font-weight:var(--weight-extrabold);font-size:var(--text-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo .logo-text{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:-.5px}.sidebar-logo .logo-text span{color:var(--color-accent-primary)}.sidebar-nav{padding:var(--space-4) var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-section-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);padding:var(--space-4) var(--space-3) var(--space-2)}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast);text-decoration:none;display:flex}.nav-item:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.nav-item.active{color:var(--color-accent-primary);background:var(--color-accent-primary-muted)}.nav-item.active:before{content:"";background:var(--color-accent-primary);border-radius:0 var(--radius-full) var(--radius-full) 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item svg{flex-shrink:0;width:20px;height:20px}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border-subtle)}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-fast);display:flex}.sidebar-user:hover{background:var(--color-bg-hover)}.sidebar-user .user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-accent-primary-muted), var(--color-accent-secondary-muted));width:36px;height:36px;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user .user-info{flex:1;min-width:0}.sidebar-user .user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user .user-role{font-size:var(--text-xs);color:var(--color-text-tertiary)}.main-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.app-header{height:var(--header-height);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-subtle);padding:0 var(--space-6);z-index:var(--z-header);background:#0a0e1acc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-3);display:flex}.header-search{position:relative}.header-search input{width:280px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-8);background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:all var(--transition-fast);outline:none}.header-search input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px var(--color-accent-primary-muted);width:340px}.header-search input::placeholder{color:var(--color-text-muted)}.header-search svg{left:var(--space-3);width:16px;height:16px;color:var(--color-text-muted);position:absolute;top:50%;transform:translateY(-50%)}.header-right{align-items:center;gap:var(--space-2);display:flex}.main-content{padding:var(--space-6);animation:fadeIn var(--transition-slow) ease-out;flex:1}@media (width<=1024px){.sidebar{width:var(--sidebar-collapsed-width)}.sidebar .logo-text,.sidebar .nav-item span,.sidebar .user-info,.sidebar .sidebar-section-label{display:none}.sidebar-logo{padding:var(--space-4) var(--space-2);justify-content:center}.sidebar-nav .nav-item{padding:var(--space-3);justify-content:center}.sidebar-user{justify-content:center}.main-wrapper{margin-left:var(--sidebar-collapsed-width)}}
