.gymphyx-logo{display:flex;align-items:center;transition:transform .2s ease;border:none;background:none;padding:0;cursor:default}.nav-brand .gymphyx-logo .logo-text,.gymphyx-logo .logo-text{color:#000!important}@media (prefers-color-scheme: light){.nav-brand .gymphyx-logo .logo-text,.gymphyx-logo .logo-text,.gymphyx-logo.minimal .logo-text,.gymphyx-logo.minimal.small .logo-text,.gymphyx-logo.minimal.large .logo-text{color:#000!important}}.gymphyx-logo.clickable{cursor:pointer}.gymphyx-logo.clickable:hover{transform:translateY(-2px)}.gymphyx-logo .logo-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0}.gymphyx-logo .logo-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:50%;opacity:.2}.gymphyx-logo .logo-icon svg{fill:#fff;z-index:1;position:relative}.gymphyx-logo .logo-text{color:#000;font-weight:700;letter-spacing:-.02em;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.gymphyx-logo .logo-text .highlight{color:#0ea5e9}.gymphyx-logo.main{gap:12px;background:var(--surface-primary, white);padding:20px;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.gymphyx-logo.main .logo-icon{width:48px;height:48px}.gymphyx-logo.main .logo-icon:before{width:24px;height:24px}.gymphyx-logo.main .logo-icon svg{width:28px;height:28px}.gymphyx-logo.main .logo-text{font-size:28px}.gymphyx-logo.compact{gap:8px;background:var(--surface-primary, white);padding:12px 16px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.gymphyx-logo.compact .logo-icon{width:32px;height:32px;border-radius:8px}.gymphyx-logo.compact .logo-icon:before{width:16px;height:16px}.gymphyx-logo.compact .logo-icon svg{width:18px;height:18px}.gymphyx-logo.compact .logo-text{font-size:20px}.gymphyx-logo.minimal{gap:6px}.gymphyx-logo.minimal .logo-icon{width:24px;height:24px;border-radius:6px}.gymphyx-logo.minimal .logo-icon:before{width:12px;height:12px}.gymphyx-logo.minimal .logo-icon svg{width:14px;height:14px}.gymphyx-logo.minimal .logo-text{font-size:16px;font-weight:600;color:#000!important}.gymphyx-logo.main.small{padding:12px;gap:8px}.gymphyx-logo.main.small .logo-icon{width:32px;height:32px}.gymphyx-logo.main.small .logo-icon:before{width:16px;height:16px}.gymphyx-logo.main.small .logo-icon svg{width:18px;height:18px}.gymphyx-logo.main.small .logo-text{font-size:20px}.gymphyx-logo.main.large{padding:24px;gap:16px}.gymphyx-logo.main.large .logo-icon{width:56px;height:56px}.gymphyx-logo.main.large .logo-icon:before{width:28px;height:28px}.gymphyx-logo.main.large .logo-icon svg{width:32px;height:32px}.gymphyx-logo.main.large .logo-text{font-size:32px}.gymphyx-logo.compact.small{padding:8px 12px;gap:6px}.gymphyx-logo.compact.small .logo-icon{width:24px;height:24px;border-radius:6px}.gymphyx-logo.compact.small .logo-icon:before{width:12px;height:12px}.gymphyx-logo.compact.small .logo-icon svg{width:14px;height:14px}.gymphyx-logo.compact.small .logo-text{font-size:16px}.gymphyx-logo.compact.large{padding:16px 20px;gap:10px}.gymphyx-logo.compact.large .logo-icon{width:40px;height:40px;border-radius:10px}.gymphyx-logo.compact.large .logo-icon:before{width:20px;height:20px}.gymphyx-logo.compact.large .logo-icon svg{width:22px;height:22px}.gymphyx-logo.compact.large .logo-text{font-size:24px}.gymphyx-logo.minimal.small{gap:4px}.gymphyx-logo.minimal.small .logo-icon{width:20px;height:20px;border-radius:4px}.gymphyx-logo.minimal.small .logo-icon:before{width:10px;height:10px}.gymphyx-logo.minimal.small .logo-icon svg{width:12px;height:12px}.gymphyx-logo.minimal.small .logo-text{font-size:14px;color:#000!important}.gymphyx-logo.minimal.large{gap:8px}.gymphyx-logo.minimal.large .logo-icon{width:28px;height:28px;border-radius:8px}.gymphyx-logo.minimal.large .logo-icon:before{width:14px;height:14px}.gymphyx-logo.minimal.large .logo-icon svg{width:16px;height:16px}.gymphyx-logo.minimal.large .logo-text{font-size:18px;color:#000!important}@media (prefers-color-scheme: dark){.nav-brand .gymphyx-logo .logo-text,.gymphyx-logo .logo-text,.gymphyx-logo.minimal .logo-text,.gymphyx-logo.minimal.small .logo-text,.gymphyx-logo.minimal.large .logo-text{color:#fff!important}.gymphyx-logo.main,.gymphyx-logo.compact{background:var(--surface-primary, #1e293b);box-shadow:0 4px 6px -1px #0000004d}}[data-theme=light] .nav-brand .gymphyx-logo .logo-text,[data-theme=light] .gymphyx-logo .logo-text,[data-theme=light] .gymphyx-logo.minimal .logo-text,[data-theme=light] .gymphyx-logo.minimal.small .logo-text,[data-theme=light] .gymphyx-logo.minimal.large .logo-text{color:#000!important}[data-theme=dark] .gymphyx-logo.main,[data-theme=dark] .gymphyx-logo.compact{background:var(--surface-primary, #1e293b);box-shadow:0 4px 6px -1px #0000004d}.nav-brand .gymphyx-logo .logo-text,.gymphyx-logo .logo-text,.gymphyx-logo.minimal .logo-text,.gymphyx-logo.minimal.small .logo-text,.gymphyx-logo.minimal.large .logo-text{color:#000!important}[data-theme=dark] .nav-brand .gymphyx-logo .logo-text,[data-theme=dark] .gymphyx-logo .logo-text,[data-theme=dark] .gymphyx-logo.minimal .logo-text,[data-theme=dark] .gymphyx-logo.minimal.small .logo-text,[data-theme=dark] .gymphyx-logo.minimal.large .logo-text{color:#fff!important}.gymphyx-icon{background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0;border:none;padding:0;cursor:default;transition:transform .2s ease}.gymphyx-icon.clickable{cursor:pointer}.gymphyx-icon.clickable:hover{transform:translateY(-2px)}.gymphyx-icon:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:50%;opacity:.2}.gymphyx-icon svg{fill:#fff;z-index:1;position:relative}.gymphyx-icon.small{width:24px;height:24px;border-radius:6px}.gymphyx-icon.small:before{width:12px;height:12px}.gymphyx-icon.small svg{width:14px;height:14px}.gymphyx-icon.medium{width:32px;height:32px;border-radius:8px}.gymphyx-icon.medium:before{width:16px;height:16px}.gymphyx-icon.medium svg{width:18px;height:18px}.gymphyx-icon.large{width:48px;height:48px;border-radius:12px}.gymphyx-icon.large:before{width:24px;height:24px}.gymphyx-icon.large svg{width:28px;height:28px}.gymphyx-icon.custom{border-radius:calc(var(--icon-size, 32px) * .25)}.gymphyx-icon.custom:before{width:calc(var(--icon-size, 32px) * .5);height:calc(var(--icon-size, 32px) * .5)}.gymphyx-icon.custom svg{width:calc(var(--icon-size, 32px) * .6);height:calc(var(--icon-size, 32px) * .6)}.navigation{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.nav-container{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);height:var(--header-height);max-width:var(--container-max-width);margin:0 auto;gap:var(--spacing-lg)}.nav-left{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-md);transition:var(--transition-fast)}.mobile-menu-toggle:hover{background:var(--color-background-hover)}.nav-brand h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.nav-center{flex:1;display:flex;justify-content:center;max-width:400px;margin:0 auto}.nav-right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.profile-menu{position:relative}.profile-trigger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.profile-trigger:hover{background:var(--color-background-hover);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.profile-icon{transition:var(--transition-fast)}.profile-dropdown{position:absolute;top:100%;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);margin-top:var(--spacing-xs);width:280px;overflow:hidden;animation:slideDownFadeIn .2s ease-out}@keyframes slideDownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{display:flex;align-items:center;padding:var(--spacing-lg);background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border)}.profile-dropdown-avatar{margin-right:var(--spacing-md);color:var(--color-text-secondary);flex-shrink:0}.profile-dropdown-details{flex:1;min-width:0}.profile-dropdown-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-email{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-content{padding:var(--spacing-md)}.profile-dropdown-section{margin-bottom:var(--spacing-lg)}.profile-dropdown-section label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.profile-dropdown-theme{display:flex;justify-content:flex-start}.profile-dropdown-actions{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.profile-logout-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.profile-logout-btn:hover{background-color:var(--color-error);border-color:var(--color-error);color:#fff}.location-selector{position:relative;width:100%;max-width:320px}.location-trigger{width:100%;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;min-height:48px}.location-trigger:hover:not(:disabled){background:var(--color-background-hover);border-color:var(--color-border-secondary)}.location-trigger:disabled{opacity:.6;cursor:not-allowed}.location-trigger-content{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.location-icon{color:var(--color-primary-500);flex-shrink:0}.location-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.location-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%}.location-company{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%}.location-loading,.location-error,.location-none{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-error{color:var(--color-error)}.chevron{color:var(--color-text-tertiary);transition:var(--transition-fast);transform:rotate(0);flex-shrink:0}.chevron.open{transform:rotate(180deg)}.location-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);margin-top:var(--spacing-xs);max-height:400px;overflow:hidden;display:flex;flex-direction:column}.location-dropdown-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background-secondary)}.location-dropdown-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.location-dropdown-content{overflow-y:auto;max-height:320px}.location-dropdown-empty{padding:var(--spacing-xl);text-align:center}.location-dropdown-empty p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.location-option{width:100%;background:none;border:none;padding:var(--spacing-md);text-align:left;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-md);border-bottom:1px solid var(--color-border)}.location-option:last-child{border-bottom:none}.location-option:hover{background:var(--color-background-hover)}.location-option.selected{background:var(--color-primary-50);color:var(--color-primary-700)}.location-option-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);min-width:0}.location-option-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%}.location-option.selected .location-option-name{color:var(--color-primary-700)}.location-option-details{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.location-option-company{font-size:var(--font-size-xs);color:var(--color-text-secondary);flex:1;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.location-option-access{font-size:var(--font-size-xs);color:var(--color-primary-600);background:var(--color-primary-100);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);flex-shrink:0}.location-option.selected .location-option-access{background:var(--color-primary-200);color:var(--color-primary-800)}.location-option-address{font-size:var(--font-size-xs);color:var(--color-text-tertiary);width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.check-icon{color:var(--color-primary-600);flex-shrink:0}@media (max-width: 768px){.mobile-menu-toggle{display:block}.nav-container{gap:var(--spacing-md)}.nav-brand h1{font-size:var(--font-size-lg)}.nav-center,.location-selector{max-width:none}.profile-dropdown{right:0;width:260px}}@media (max-width: 640px){.nav-container{padding:0 var(--spacing-md);gap:var(--spacing-sm)}.nav-brand h1{font-size:var(--font-size-base)}.nav-center{margin:0}.location-selector{min-width:0}.location-trigger{min-height:44px;padding:var(--spacing-xs) var(--spacing-sm)}.location-dropdown{left:-20px;right:-20px}.profile-dropdown{right:-20px;width:240px}}@media (max-width: 480px){.nav-container{padding:0 var(--spacing-sm)}.nav-brand h1{font-size:var(--font-size-sm)}.nav-center{flex:1;min-width:0}.location-selector{width:100%}.location-trigger{min-height:40px}.location-info{gap:0}.location-name,.location-company{font-size:var(--font-size-xs)}.location-dropdown{left:-10px;right:-10px}.profile-trigger{width:40px;height:40px}.profile-dropdown{right:-10px;width:220px}}:root[data-theme=dark] .location-option.selected{background:var(--color-primary-900);color:var(--color-primary-100)}:root[data-theme=dark] .location-option.selected .location-option-name{color:var(--color-primary-100)}:root[data-theme=dark] .location-option-access{background:var(--color-primary-800);color:var(--color-primary-200)}:root[data-theme=dark] .location-option.selected .location-option-access{background:var(--color-primary-700);color:var(--color-primary-100)}:root[data-theme=dark] .check-icon{color:var(--color-primary-400)}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;background-color:var(--color-background-secondary);border-right:1px solid var(--color-border);transform:translate(-100%);transition:transform .3s ease,width .3s ease;z-index:40;display:flex;flex-direction:column}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:80px}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.sidebar-nav{flex:1;padding:var(--spacing-md);overflow-y:auto}.sidebar-nav-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.sidebar-nav-header h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sidebar-nav-header p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.access-level{color:var(--color-primary-500);font-weight:var(--font-weight-medium);text-transform:capitalize}.sidebar-nav-list{list-style:none;margin:0;padding:0}.sidebar-nav-item{margin-bottom:2px}.sidebar-nav-link{display:flex;align-items:center;width:100%;height:40px;padding:0 var(--spacing-md);background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;cursor:pointer;transition:all .2s ease;position:relative}.sidebar-nav-link:hover:not(.disabled):not(.active){background-color:var(--color-background-tertiary);color:var(--color-text-primary)}.sidebar-nav-link.active{background-color:var(--color-primary-500);color:var(--color-text-inverse)}.sidebar-nav-link.active:hover{background-color:var(--color-primary-600);color:var(--color-text-inverse)}.sidebar-nav-link.disabled{opacity:.5;cursor:not-allowed}.sidebar-nav-icon{margin-right:var(--spacing-sm);flex-shrink:0}.sidebar-nav-label{flex:1;transition:opacity .3s ease}.lock-icon{margin-left:auto;opacity:.6}.collapse-toggle-item{margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.collapse-toggle{font-weight:var(--font-weight-medium);height:40px}.collapse-toggle:hover:not(.disabled):not(.active){background-color:var(--color-background-tertiary);color:var(--color-text-primary)}.sidebar.collapsed .sidebar-nav{padding:var(--spacing-md)}.sidebar.collapsed .sidebar-nav-label{opacity:0;width:0;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-nav-icon{margin:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.sidebar.collapsed .sidebar-nav-icon svg{display:block;margin:0 auto}.sidebar.collapsed .sidebar-nav-link,.sidebar.collapsed .collapse-toggle{justify-content:center;align-items:center;padding:0;width:48px;margin:0 auto 2px;text-align:center}.sidebar.collapsed .collapse-toggle svg{display:block;margin:0 auto}.sidebar.collapsed .lock-icon{display:none}.sidebar-no-location{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);height:100%}.sidebar-no-location-icon{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);opacity:.6}.sidebar-no-location h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sidebar-no-location p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:30;display:none}@media (max-width: 768px){.sidebar-overlay{top:var(--header-height)}}@media (min-width: 769px){.sidebar{position:fixed;top:var(--header-height);left:0;transform:translate(0);height:calc(100vh - var(--header-height));z-index:10}.sidebar-overlay{display:none!important}}@media (max-width: 768px){.sidebar{top:var(--header-height);height:calc(100vh - var(--header-height));z-index:var(--z-fixed)}.sidebar-overlay{display:block}.collapse-toggle-item{display:none}.sidebar.collapsed{width:280px}.sidebar.collapsed .sidebar-nav-label{opacity:1;width:auto}.sidebar.collapsed .sidebar-nav-icon{margin-right:var(--spacing-sm)}.sidebar.collapsed .sidebar-nav-link,.sidebar.collapsed .collapse-toggle{justify-content:flex-start;width:auto;margin:0 0 2px;padding:0 var(--spacing-md)}.sidebar.collapsed .lock-icon{display:block}}@media (max-width: 480px){.sidebar{width:100vw}}.app-layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-background)}.app-body{display:flex;flex:1;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:margin-left var(--transition-normal)}.app-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);background:var(--color-background-secondary)}@media (min-width: 1025px){.app-body{min-height:calc(100vh - var(--header-height))}.app-main{margin-left:280px}.app-main.sidebar-collapsed{margin-left:80px}.app-content{padding:var(--spacing-xl)}}@media (max-width: 1024px) and (min-width: 769px){.app-main{margin-left:280px}.app-main.sidebar-collapsed{margin-left:80px}.app-content{padding:var(--spacing-lg)}}@media (max-width: 768px){.app-content{padding:var(--spacing-md)}.app-main.sidebar-collapsed{margin-left:0}}@media (max-width: 640px){.app-content{padding:var(--spacing-sm)}}@media (max-width: 480px){.app-content{padding:var(--spacing-xs) var(--spacing-sm)}}.app-main{transition:margin-left var(--transition-normal)}.view-container{width:100%;margin:0 auto;color:var(--color-text-primary)}@media (min-width: 1920px){.view-container{max-width:1600px}}.view-header{margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-lg)}.view-header h1{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.view-header p{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.view-no-location{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);min-height:300px}.view-no-location-icon{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);opacity:.6}.view-section{background-color:var(--color-background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.view-section h2{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.view-section p{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.view-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);background-color:var(--color-background-tertiary);border-radius:var(--radius-md);border:2px dashed var(--color-border)}.placeholder-icon{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);opacity:.7}.placeholder-icon svg{width:48px;height:48px}.placeholder-text{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}@media (max-width: 768px){.view-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.view-header h1{font-size:var(--font-size-xl)}.view-section{padding:var(--spacing-lg)}.view-placeholder{padding:var(--spacing-xl)}.placeholder-icon svg{width:40px;height:40px}}@media (max-width: 480px){.view-header h1{font-size:var(--font-size-lg)}.view-section{padding:var(--spacing-md)}.view-placeholder{padding:var(--spacing-lg)}.placeholder-icon svg{width:32px;height:32px}.view-placeholder h3{font-size:var(--font-size-base)}.view-placeholder p{font-size:var(--font-size-sm)}}.membership-info{display:flex;flex-direction:column;gap:4px}.membership-name{font-weight:600;color:var(--color-text-primary)}.membership-description{font-size:12px;color:var(--color-text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.membership-type{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.membership-type.contract{background:var(--color-warning-100);color:var(--color-warning-700)}.membership-type.no_contract{background:var(--color-success-100);color:var(--color-success-700)}.membership-price{font-weight:600;color:var(--color-text-primary);font-size:14px}.billing-frequency{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge.active{background:var(--color-success-100);color:var(--color-success-700)}.status-badge.inactive{background:var(--color-error-100);color:var(--color-error-700)}.checkin-door{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-weight:500}.empty-state-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;height:100%;min-height:220px;margin:0 auto}.empty-state{padding:0;height:100%;vertical-align:middle}color: var(--color-text-secondary); font-style: italic; } .payment-summary{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:8px;padding:20px;margin-bottom:24px}.payment-summary h3{margin:0 0 16px;color:var(--color-text-primary);font-size:18px;font-weight:600}.payment-details{display:flex;flex-direction:column;gap:8px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-light)}.payment-item.total{font-weight:600;font-size:16px;color:var(--color-text-primary);border-top:2px solid var(--color-border);padding-top:12px;margin-top:8px}.payment-error{background:var(--color-error-light);border:1px solid var(--color-error);border-radius:8px;padding:12px;margin-bottom:16px;color:var(--color-error);font-size:14px}.payment-loading{display:flex;align-items:center;gap:8px;font-size:14px}.loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.location-form-container{width:100%;margin:0 auto}@media (min-width: 1920px){.location-form-container{max-width:1600px}}.location-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.location-form-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.location-form-header p{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.location-form-actions{display:flex;gap:var(--spacing-md);align-items:center}.location-form{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.form-section{margin-bottom:var(--spacing-2xl)}.form-section:last-child{margin-bottom:0}.form-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) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.form-label.required:after{content:"*";color:var(--color-error);margin-left:var(--spacing-xs)}.form-input{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-background);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background:var(--color-background-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.form-input.view-mode,.form-select.view-mode,.form-textarea.view-mode{background:var(--color-background);color:var(--color-text-primary);cursor:default;border-color:var(--color-border)}.form-input.view-mode:focus,.form-select.view-mode:focus,.form-textarea.view-mode:focus{outline:none;border-color:var(--color-border);box-shadow:none}.form-textarea.view-mode{resize:none}.form-select{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-background);transition:all var(--transition-fast);cursor:pointer}.form-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-checkbox-group{display:flex;align-items:center;gap:var(--spacing-md)}.form-checkbox{width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);cursor:pointer;transition:all var(--transition-fast);position:relative}.form-checkbox:checked{background:var(--color-primary-500);border-color:var(--color-primary-500)}.form-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.form-checkbox-label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.form-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.btn{padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none}.btn-primary{background:var(--color-primary-500);color:#fff}.btn-primary:disabled{background:var(--color-gray-400);cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-surface-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-tertiary)}.loading-spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:var(--color-error);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.success-message{background:var(--color-success);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.loading-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-3xl);flex-direction:column;gap:var(--spacing-md)}.loading-container .loading-spinner{width:32px;height:32px;border-width:3px}.location-form .table-container{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.location-form .data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.location-form .data-table th,.location-form .data-table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.location-form .data-table th{background:var(--color-background-secondary);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.location-form .data-table tr:hover{background:var(--color-background-tertiary)}.location-form .data-table tr:last-child td{border-bottom:none}.location-form .clickable-row{cursor:pointer;transition:var(--transition-fast)}.location-form .clickable-row:hover{background:var(--color-background-tertiary);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.location-form .clickable-row:active{transform:translateY(0)}.location-form .empty-state{text-align:center;padding:var(--spacing-2xl)}.location-form .empty-state-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.location-form .empty-state-content svg{color:var(--color-text-secondary);opacity:.6}.location-form .empty-state-content h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.location-form .empty-state-content p{margin:0;color:var(--color-text-secondary)}.location-form .contacts-table{font-size:var(--font-size-sm)}.location-form .description-column{max-width:200px;width:200px}.location-form .contacts-table th{padding:var(--spacing-sm) var(--spacing-md);vertical-align:middle}.location-form .contacts-table td{padding:var(--spacing-sm) var(--spacing-md);vertical-align:middle;height:60px}.location-form .contact-info{display:flex;flex-direction:row!important;align-items:center;gap:var(--spacing-sm);height:100%}.location-form .contact-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;flex-shrink:0;letter-spacing:.5px;transition:var(--transition-fast)}.location-form .contact-profile-picture{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background:var(--color-background-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.location-form .contact-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-transform:uppercase;flex-shrink:0;letter-spacing:1px;transition:var(--transition-fast);box-shadow:var(--shadow-md)}.location-form .contact-profile-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;flex:1}.location-form .contact-profile-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.location-form .contact-profile-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.3}.location-form .member-profile-header{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-xl);background:var(--color-background-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.location-form .member-avatar-large{width:96px;height:96px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-transform:uppercase;flex-shrink:0;letter-spacing:1px;transition:var(--transition-fast);box-shadow:var(--shadow-lg)}.location-form .member-profile-info{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0;flex:1}.location-form .member-profile-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2;margin:0}.location-form .member-profile-details{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.location-form .member-id{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:monospace;background:var(--color-background-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.location-form .member-status{display:flex;align-items:center}.location-form .member-profile-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex-wrap:wrap}.location-form .tab-navigation{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-xl);gap:0}.location-form .tab-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.location-form .tab-button:hover{color:var(--color-text-primary);background:var(--color-background-secondary)}.location-form .tab-button.active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-500);background:none}.location-form .tab-button svg{flex-shrink:0}.location-form .tab-content{animation:fadeIn .2s ease-in-out}.location-form .membership-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.location-form .membership-card.current-membership{border-color:var(--color-primary-200);background:var(--color-primary-50)}.location-form .membership-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.location-form .membership-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.location-form .membership-details{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.location-form .membership-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.location-form .membership-detail-row:last-child{border-bottom:none}.location-form .detail-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.location-form .detail-value{font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:right}.location-form .membership-settings{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-md)}.location-form .setting-item{display:flex;align-items:center;gap:var(--spacing-sm)}.location-form .setting-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.location-form .membership-description,.location-form .membership-notes{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-500)}.location-form .membership-description p,.location-form .membership-notes p{margin:var(--spacing-xs) 0 0 0;color:var(--color-text-primary);line-height:1.5}.location-form .membership-edit-form{background:var(--color-background-secondary);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.location-form .membership-actions{padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-md);text-align:center}.location-form .empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.location-form .empty-state svg{margin:0 auto var(--spacing-lg);color:var(--color-text-tertiary)}.location-form .empty-state h4{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);font-size:var(--font-size-lg)}.location-form .empty-state p{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm)}.location-form .empty-state .text-muted{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.location-form .contact-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.location-form .contact-info-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-fast)}.location-form .contact-info-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.location-form .contact-info-card.full-width{grid-column:1 / -1}.location-form .contact-card-header{background:var(--color-background-secondary);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.location-form .contact-card-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.location-form .contact-card-content{padding:var(--spacing-lg)}.location-form .contact-field{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);gap:var(--spacing-md)}.location-form .contact-field:last-child{border-bottom:none}.location-form .contact-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);min-width:120px;flex-shrink:0}.location-form .contact-value{font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:right;line-height:1.4;word-break:break-word}.location-form .contact-notes{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5;padding:var(--spacing-md);background:var(--color-background-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-500)}.location-form .membership-overview{margin-bottom:var(--spacing-2xl)}.location-form .membership-header-section{margin-bottom:var(--spacing-xl)}.location-form .membership-title-group{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.location-form .membership-title-group h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.location-form .membership-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.location-form .membership-info-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition-fast)}.location-form .membership-info-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.location-form .membership-info-card.full-width{grid-column:1 / -1}.location-form .membership-card-header{background:var(--color-background-secondary);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.location-form .membership-card-header h4{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.location-form .membership-card-content{padding:var(--spacing-lg)}.location-form .membership-plan-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.location-form .membership-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.4}.location-form .membership-pricing{display:flex;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.location-form .membership-pricing .price{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-600)}.location-form .membership-pricing .billing{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-form .contract-info{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--color-warning-500)}.location-form .date-field{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);gap:var(--spacing-md)}.location-form .date-field:last-child{border-bottom:none}.location-form .date-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.location-form .date-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.location-form .setting-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);gap:var(--spacing-md)}.location-form .setting-row:last-child{border-bottom:none}.location-form .setting-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.location-form .setting-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.5px}.location-form .setting-badge.enabled{background:var(--color-success-100);color:var(--color-success-700);border:1px solid var(--color-success-200)}.location-form .setting-badge.disabled{background:var(--color-error-100);color:var(--color-error-700);border:1px solid var(--color-error-200)}.location-form .membership-notes{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5;padding:var(--spacing-md);background:var(--color-background-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--color-primary-500)}.location-form .membership-history-section,.location-form .purchases-section{margin-top:var(--spacing-2xl)}.location-form .membership-history-section h3,.location-form .purchases-section h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.location-form .form-help{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.location-form .skeleton-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--color-background-secondary);animation:skeleton-shimmer 2s ease-in-out infinite}.location-form .skeleton-profile-name{width:200px;height:24px;margin-bottom:var(--spacing-xs)}.location-form .skeleton-profile-email{width:180px;height:16px}.location-form .contact-details{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.location-form .contact-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-sm)}.location-form .contact-email{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-form .contact-phone,.location-form .contact-created{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.3;display:flex;align-items:center;height:100%}.location-form .table-actions{display:flex;gap:var(--spacing-xs);align-items:center;height:100%}.location-form .pagination{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.location-form .pagination-info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.location-form .pagination-loading{display:flex;align-items:center;gap:var(--spacing-sm)}.location-form .loading-spinner-small{width:16px;height:16px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}.location-form .pagination-loading span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 768px){.location-form-container{max-width:100%}.location-form{padding:var(--spacing-lg)}.form-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.location-form-actions{flex-direction:column;gap:var(--spacing-sm)}.form-buttons{flex-direction:column}.location-form .contact-profile-picture{flex-direction:column;text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.location-form .contact-avatar-large{width:60px;height:60px;font-size:var(--font-size-lg)}.location-form .contact-profile-name{font-size:var(--font-size-lg)}.location-form .skeleton-avatar-large{width:60px;height:60px}.location-form .skeleton-profile-name{width:150px;margin:0 auto var(--spacing-xs)}.location-form .skeleton-profile-email{width:120px;margin:0 auto}.location-form .member-profile-header{flex-direction:column;text-align:center;gap:var(--spacing-lg);padding:var(--spacing-lg)}.location-form .member-avatar-large{width:80px;height:80px;font-size:var(--font-size-xl);margin:0 auto}.location-form .member-profile-name{font-size:var(--font-size-xl)}.location-form .contact-avatar-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.location-form .contact-avatar-actions{margin-top:var(--spacing-xs)}.location-form .contact-avatar-actions .profile-image-upload{width:100%}.location-form .contact-avatar-actions .profile-image-actions{justify-content:center}.location-form .member-profile-details{justify-content:center;gap:var(--spacing-sm)}.location-form .member-profile-meta{justify-content:center;text-align:center}.location-form .tab-navigation{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.location-form .tab-navigation::-webkit-scrollbar{display:none}.location-form .tab-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);gap:var(--spacing-xs);min-width:max-content}.location-form .contact-details-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.location-form .contact-field{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.location-form .contact-label{min-width:auto}.location-form .contact-value{text-align:left}.location-form .membership-info-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.location-form .membership-title-group{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.location-form .membership-pricing,.location-form .date-field,.location-form .setting-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}}@media (max-width: 480px){.location-form-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.form-section-title{font-size:var(--font-size-base)}}@media (max-width: 768px){.location-form .data-table{font-size:var(--font-size-xs)}.location-form .data-table th,.location-form .data-table td{padding:var(--spacing-sm)}.location-form .contacts-table{border:none}.location-form .contacts-table thead{display:none}.location-form .contacts-table tbody{display:block}.location-form .contacts-table tr{display:block;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.location-form .contacts-table tr:hover{background:var(--color-background-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.location-form .contacts-table td{display:block;border:none;padding:0;height:auto;margin-bottom:var(--spacing-sm)}.location-form .contacts-table td:last-child{margin-bottom:0}.location-form .contacts-table td[data-label]:before{content:attr(data-label) ": ";font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:var(--spacing-xs)}.location-form .contacts-table td[data-label=Contact]:before{display:none}.location-form .contact-info{flex-direction:row!important;align-items:center;gap:var(--spacing-sm)}.location-form .contact-details{flex-direction:column;gap:2px}.location-form .contact-avatar{width:44px;height:44px;font-size:var(--font-size-xs)}.location-form .contact-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.location-form .contact-email{font-size:var(--font-size-xs)}.location-form .contact-phone,.location-form .location-name{font-size:var(--font-size-sm);display:block;height:auto}.location-form .skeleton-row{height:auto;min-height:120px}.location-form .skeleton-avatar{width:44px;height:44px}.location-form .skeleton-name{height:20px;width:160px}.location-form .skeleton-email{height:18px;width:200px}.location-form .skeleton-phone{height:20px;width:140px}.location-form .skeleton-created{height:20px;width:100px}.location-form .skeleton-row .contact-phone,.location-form .skeleton-row .contact-created{height:auto;display:block}.location-form .pagination{flex-direction:column;gap:var(--spacing-md)}.location-form .pagination-loading{justify-content:center}.location-form .sort-header{font-size:var(--font-size-xs);gap:calc(var(--spacing-xs) / 2)}.location-form .sort-icon{width:12px;height:12px}.location-form .contacts-table th.sortable:hover .sort-icon.sort-inactive{color:var(--color-text-secondary);opacity:.8}}.location-form .skeleton-row{pointer-events:none;height:60px}.location-form .skeleton-row:hover{background:transparent;transform:none;box-shadow:none}.location-form .skeleton-line,.location-form .skeleton-avatar,.location-form .skeleton-button{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite ease-in-out;border-radius:var(--radius-sm)}.location-form .skeleton-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.location-form .skeleton-name{height:17px;width:140px;margin-bottom:2px}.location-form .skeleton-email{height:15px;width:180px}.location-form .skeleton-phone{height:19px;width:120px}.location-form .skeleton-created{height:19px;width:80px}.location-form .skeleton-button{width:32px;height:32px;border-radius:var(--radius-sm)}.location-form .skeleton-row .contact-info{height:100%}.location-form .skeleton-row .contact-details{gap:var(--spacing-xs);min-width:0;flex:1}.location-form .skeleton-row .contact-phone,.location-form .skeleton-row .contact-created{height:100%;display:flex;align-items:center}.location-form .skeleton-row .table-actions{height:100%;align-items:center}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}:root[data-theme=dark] .location-form .skeleton-line,:root[data-theme=dark] .location-form .skeleton-avatar,:root[data-theme=dark] .location-form .skeleton-button{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-300) 50%,var(--color-gray-200) 75%);background-size:200% 100%}.location-form .contacts-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-fast)}.location-form .contacts-table th.sortable:hover{background:var(--color-background-hover)}.location-form .contacts-table th.sortable:hover .sort-icon{opacity:1;color:var(--color-text-primary)}.location-form .sort-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs)}.location-form .sort-icon{transition:var(--transition-fast);flex-shrink:0}.location-form .sort-icon.sort-inactive{color:var(--color-text-tertiary);opacity:.5}.location-form .sort-icon.sort-asc,.location-form .sort-icon.sort-desc{color:var(--color-primary-600);opacity:1}[data-theme=dark] .form-input.view-mode,[data-theme=dark] .form-select.view-mode,[data-theme=dark] .form-textarea.view-mode{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}[data-theme=dark] .location-form .contact-notes{background:var(--color-surface);color:var(--color-text-primary);border-left:3px solid var(--color-primary-500)}.location-fees-section{margin-top:var(--spacing-xl)}.location-fees-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.location-fees-section h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.location-fees-section .btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm)}.fees-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.no-fees{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-style:italic;background:var(--color-background-secondary);border-radius:var(--radius-md);border:2px dashed var(--color-border)}.fee-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:var(--transition-fast)}.fee-item:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.fee-info{flex:1;min-width:0}.fee-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.fee-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.fee-details{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.fee-type,.fee-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:var(--color-background-secondary);color:var(--color-text-primary)}.fee-amount{background:var(--color-primary-50);color:var(--color-primary-700);border:1px solid var(--color-primary-200)}.fee-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.fee-status.active{background:var(--color-success-100);color:var(--color-success-700);border:1px solid var(--color-success-200)}.fee-status.inactive{background:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-200)}.fee-actions{display:flex;gap:var(--spacing-sm);align-items:center}.btn-danger{background:var(--color-error);color:#fff;border:1px solid var(--color-error)}.btn-danger:hover:not(:disabled){background:var(--color-error-600);border-color:var(--color-error-600)}.fee-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.fee-form-modal{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.close-btn{background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);line-height:1;transition:var(--transition-fast)}.close-btn:hover{color:var(--color-text-primary)}.fee-form{padding:var(--spacing-xl)}.fee-form .form-row{display:grid;grid-template-columns:1fr 120px 120px;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.fee-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.fee-form .form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.fee-form .form-control{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-background);transition:var(--transition-fast)}.fee-form .form-control:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.fee-form textarea.form-control{resize:vertical;min-height:80px}.fee-form .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.fee-form .checkbox-label input[type=checkbox]{width:18px;height:18px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);cursor:pointer;transition:var(--transition-fast)}.fee-form .checkbox-label input[type=checkbox]:checked{background:var(--color-primary-500);border-color:var(--color-primary-500)}.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)}[data-theme=dark] .fee-form-modal{background:var(--color-surface)}[data-theme=dark] .fee-amount{background:var(--color-primary-900);color:var(--color-primary-300);border-color:var(--color-primary-800)}[data-theme=dark] .fee-status.active{background:var(--color-success-900);color:var(--color-success-300);border-color:var(--color-success-800)}[data-theme=dark] .fee-status.inactive{background:var(--color-gray-800);color:var(--color-gray-400);border-color:var(--color-gray-700)}@media (max-width: 768px){.fee-form-overlay{padding:var(--spacing-sm)}.fee-form-modal{max-height:95vh}.fee-form .form-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.fee-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.fee-actions{width:100%;justify-content:flex-end}.form-actions{flex-direction:column}}.company-form-container{width:100%;margin:0 auto;padding:0}@media (min-width: 1920px){.company-form-container{max-width:1600px}}.company-form-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.company-form-header h1{margin:0 0 .5rem;font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary)}.company-form-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.company-form-actions{display:flex;align-items:center;gap:1rem}.company-form{padding:0;background:none;border:none;border-radius:0;box-shadow:none}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-primary)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-grid-full{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-label{font-weight:500;color:var(--color-text-primary);margin-bottom:.5rem;font-size:var(--font-size-sm)}.form-label.required:after{content:" *";color:var(--color-danger)}.form-input,.form-select{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);background:var(--color-background-primary);color:var(--color-text-primary);transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.form-input:disabled,.form-select:disabled{background:var(--color-background-disabled);color:var(--color-text-disabled);cursor:not-allowed}.form-checkbox-group{display:flex;align-items:center;gap:.75rem}.form-checkbox{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);cursor:pointer}.form-checkbox:disabled{cursor:not-allowed;opacity:.5}.form-checkbox-label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.form-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-700)}:root[data-theme=dark] .btn-primary:hover:not(:disabled){background:var(--color-primary-400)}.btn-secondary{background:var(--color-background-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background-tertiary)}.loading-spinner{width:1rem;height:1rem;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.company-form .tab-navigation{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-xl);gap:0}.company-form .tab-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.company-form .tab-button:hover{color:var(--color-text-primary);background:var(--color-background-secondary)}.company-form .tab-button.active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-500);background:none}.company-form .tab-button svg{flex-shrink:0}.company-form .tab-content{animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.company-form-container{padding:0 1rem}.company-form{padding:1.5rem}.company-form-header{flex-direction:column;gap:1rem}.form-grid{grid-template-columns:1fr;gap:1rem}.form-buttons{flex-direction:column}.btn{justify-content:center}}.stripe-integration{max-width:100%}.stripe-status{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:1.5rem;margin-bottom:2rem}.status-indicator{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-weight:500}.status-dot{width:12px;height:12px;border-radius:50%}.status-dot.success{background:var(--color-success)}.status-dot.warning{background:var(--color-warning)}.status-dot.error{background:var(--color-danger)}.stripe-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.masked-input{padding:.75rem;background:var(--color-background-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-family:monospace;font-size:var(--font-size-sm);color:var(--color-text-primary)}.webhook-status{grid-column:1 / -1;background:var(--color-background-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:1rem}.webhook-details{margin-top:.5rem;color:var(--color-text-secondary)}.setup-notice{margin-top:1rem;padding:1rem;background:var(--color-background-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius-md)}.setup-notice p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.stripe-form{background:var(--color-background-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:1.5rem;margin-bottom:2rem}.form-help{font-size:.875rem;color:var(--color-text-secondary);margin-top:.25rem}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-700)}:root[data-theme=dark] .btn-danger:hover:not(:disabled){background:var(--color-danger-400)}.setup-instructions{background:var(--color-background-tertiary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:1.5rem}.setup-instructions h3{margin:0 0 1rem;font-size:var(--font-size-lg);color:var(--color-text-primary)}.setup-instructions ol{margin:0 0 1.5rem;padding-left:1.5rem}.setup-instructions li{margin-bottom:.5rem;color:var(--color-text-primary)}.setup-instructions a{color:var(--color-primary);text-decoration:none}.setup-instructions a:hover{text-decoration:underline}.webhook-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.webhook-info h4{margin:0 0 .5rem;font-size:var(--font-size-md);color:var(--color-text-primary)}.webhook-info ul{margin:0;padding-left:1.5rem}.webhook-info li{margin-bottom:.25rem;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.webhook-info code{background:var(--color-background-secondary);padding:.125rem .25rem;border-radius:3px;font-family:monospace;font-size:.875em;color:var(--color-primary)}@media (max-width: 768px){.stripe-status,.stripe-form,.setup-instructions{padding:1rem}.stripe-details{grid-template-columns:1fr}.webhook-status{grid-column:unset}}.memberships-section{margin-bottom:var(--spacing-xl)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.memberships-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.membership-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all .2s ease}.membership-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.membership-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.membership-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.membership-card-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.membership-detail{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.detail-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-align:right}.purchase-history-section{margin-bottom:var(--spacing-xl)}.invoices-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.invoice-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease}.invoice-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.invoice-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);cursor:pointer;transition:background-color .2s ease}.invoice-header:hover{background:var(--color-background-hover)}.invoice-main-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.invoice-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.invoice-description{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.invoice-summary{display:flex;align-items:center;gap:var(--spacing-md)}.invoice-total{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.expand-indicator{display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.expand-indicator.rotated{transform:rotate(180deg)}.invoice-details{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-surface-secondary)}.loading-details{display:flex;align-items:center;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-lg);color:var(--color-text-secondary)}.invoice-financial-details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.financial-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.financial-row:not(:last-child){border-bottom:1px solid var(--color-border)}.financial-row.total-row{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);padding:var(--spacing-sm) 0;border-top:2px solid var(--color-border);margin-top:var(--spacing-xs)}.financial-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.financial-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.line-items-container{margin-bottom:var(--spacing-lg)}.line-items-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.line-items-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.line-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.line-item-icon{font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-surface-secondary);border-radius:var(--radius-sm)}.line-item-details{flex:1}.line-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.line-item-name{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.line-item-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-surface-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);text-transform:uppercase;font-weight:var(--font-weight-medium)}.line-item-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--spacing-xs) 0}.line-item-pricing{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.line-item-quantity,.line-item-price{color:var(--color-text-secondary)}.line-item-total{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.line-item-required{margin-top:var(--spacing-xs)}.line-items-divider{height:1px;background:var(--color-border);margin:var(--spacing-md) 0}.line-items-subtotal{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.subtotal-label{color:var(--color-text-secondary)}.subtotal-amount{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.required-badge,.optional-badge{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);text-transform:uppercase}.required-badge{background:var(--color-error-background);color:var(--color-error)}.optional-badge{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.payments-container{margin-bottom:var(--spacing-lg)}.payments-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.payments-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.payment-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md)}.payment-details{display:flex;gap:var(--spacing-md);align-items:center;font-size:var(--font-size-sm)}.payment-date,.payment-method{color:var(--color-text-secondary)}.payment-amount{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.payment-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase}.payment-status.completed{background:var(--color-success-background);color:var(--color-success)}.payment-status.pending{background:var(--color-warning-background);color:var(--color-warning)}.payment-status.failed,.payment-status.refunded{background:var(--color-error-background);color:var(--color-error)}.payment-status.void{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.025em}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background:var(--color-error-light);color:var(--color-error)}.badge-secondary{background:var(--color-surface-secondary);color:var(--color-text-secondary)}.badge-primary{background:var(--color-primary-100);color:var(--color-primary)}.error-state,.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.error-state h3,.empty-state h3{color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.error-details{text-align:center;padding:var(--spacing-lg);color:var(--color-error);background:var(--color-error-light);border-radius:var(--radius-sm);border:1px solid var(--color-error)}.contact-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.contact-detail-content{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid var(--color-border);box-shadow:var(--shadow-xl)}.contact-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.contact-detail-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.contact-detail-close{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-text-secondary);padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.contact-detail-close:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.contact-detail-body{padding:var(--spacing-xl)}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.contact-info-item{display:flex;flex-direction:column}.contact-info-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.contact-info-value{font-size:var(--font-size-base);color:var(--color-text-primary);padding:var(--spacing-sm);background:var(--color-background-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border);min-height:1.5rem}.contact-info-value.empty{color:var(--color-text-tertiary);font-style:italic}.contact-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)}.contact-form{max-width:600px;margin:0 auto}.contact-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.contact-form-header h1{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.contact-form-header p{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary)}.contact-form-actions{display:flex;gap:var(--spacing-md);align-items:center}.contact-form-container{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.contact-form-section{margin-bottom:var(--spacing-2xl)}.contact-form-section:last-child{margin-bottom:0}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.contact-form-group{display:flex;flex-direction:column}.contact-form-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.filters-row{display:flex;gap:var(--spacing-lg);align-items:end;flex-wrap:wrap}.search-input-wrapper{position:relative}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:180px}.filter-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-color-secondary);margin-bottom:var(--spacing-xs)}.filter-select{min-width:180px}.search-icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);z-index:1;pointer-events:none}.search-input-with-icon{padding-left:48px!important}.search-clear-btn{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{color:var(--color-text-secondary);background:var(--color-background-secondary)}.contact-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.skeleton{background:linear-gradient(90deg,var(--color-background-secondary) 25%,var(--color-background-tertiary) 50%,var(--color-background-secondary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-form{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.skeleton-section{margin-bottom:var(--spacing-2xl)}.skeleton-section-title{height:24px;width:200px;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.skeleton-grid-full{grid-column:1 / -1}.skeleton-group{display:flex;flex-direction:column}.skeleton-label{height:16px;width:120px;margin-bottom:var(--spacing-xs)}.skeleton-input{height:44px;width:100%}.skeleton-textarea{height:100px;width:100%}.skeleton-checkbox-group{display:flex;align-items:center;gap:var(--spacing-md)}.skeleton-checkbox{width:20px;height:20px;border-radius:var(--radius-sm)}.skeleton-checkbox-label{height:16px;width:100px}.skeleton-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.skeleton-button{height:44px;width:120px;border-radius:var(--radius-md)}.skeleton-button.primary{width:140px}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--color-gray-800) 25%,var(--color-gray-700) 50%,var(--color-gray-800) 75%);background-size:200% 100%}@media (max-width: 768px){.skeleton-grid{grid-template-columns:1fr}.skeleton-buttons{flex-direction:column}.skeleton-button{width:100%}}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.form-textarea{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-background);transition:all var(--transition-fast);resize:vertical;min-height:100px;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-textarea.error{border-color:var(--color-error)}.form-textarea.error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.form-input,.form-textarea{background:var(--color-surface)!important}.form-input:focus,.form-textarea:focus{background:var(--color-surface)!important}.location-form-container .location-form{padding:0;border:none;box-shadow:none;background:transparent}@media (max-width: 768px){.contact-info,.contact-form-grid{grid-template-columns:1fr}.contact-actions{justify-content:stretch}.contact-actions .btn{flex:1}.contact-form-buttons{flex-direction:column}.contact-form-buttons .btn{width:100%}}.selected-contact-info,.selected-membership-info{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.selected-contact-info h3,.selected-membership-info h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.contact-card,.membership-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md)}.contact-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.contact-details,.membership-details{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.contact-details>div,.membership-details>div{margin-bottom:var(--spacing-xs)}.contact-details>div:last-child,.membership-details>div:last-child{margin-bottom:0}.membership-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.membership-price{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.membership-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}.membership-info{display:flex;flex-direction:column}.membership-info .membership-name{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.membership-info .membership-type,.contact-email{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.badge.badge-success{background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-200)}.badge.badge-warning{background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-200)}.badge.badge-danger{background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-200)}.badge.badge-secondary{background:var(--color-background-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}[data-theme=dark] .badge.badge-success{background:var(--color-success-900);color:var(--color-success-300);border-color:var(--color-success-700)}[data-theme=dark] .badge.badge-warning{background:var(--color-warning-900);color:var(--color-warning-300);border-color:var(--color-warning-700)}[data-theme=dark] .badge.badge-danger{background:var(--color-error-900);color:var(--color-error-300);border-color:var(--color-error-700)}[data-theme=dark] .badge.badge-secondary{background:#67718933;color:#9ca3af;border-color:#6771894d}.contact-search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-height:300px;overflow-y:auto}.contact-search-item{padding:var(--spacing-md);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.contact-search-item:hover{background:var(--color-background-secondary)}.contact-search-item.loading{display:flex;align-items:center;gap:var(--spacing-md);cursor:default;color:var(--color-text-secondary)}.contact-search-item.no-results{cursor:default;color:var(--color-text-secondary);font-style:italic;text-align:center}.contact-search-item .contact-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.contact-search-item .contact-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.contact-search-item .contact-phone{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s ease-in-out infinite}[data-theme=dark] .contact-search-dropdown{background:var(--color-surface);border-color:var(--color-border);box-shadow:0 10px 25px #0000004d}[data-theme=dark] .contact-search-item:hover{background:var(--color-background-secondary)}[data-theme=dark] .loading-spinner{border-color:var(--color-border);border-top-color:var(--color-primary)}.selected-contact-display{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:var(--spacing-sm)}.selected-contact-display span{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.selected-contact-display .btn-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.selected-contact-display .btn-link:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}[data-theme=dark] .selected-contact-display{background:var(--color-surface-secondary);border-color:var(--color-border)}[data-theme=dark] .selected-contact-display .btn-link:hover{background:var(--color-primary-dark);color:var(--color-primary-light)}@media (max-width: 768px){.contact-search-dropdown{max-height:250px}.contact-search-item{padding:var(--spacing-sm) var(--spacing-md)}.selected-contact-display{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important}.agreement-selection{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:300px;overflow-y:auto;padding:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.checkbox-label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:var(--color-background-tertiary)}.checkbox-label input[type=checkbox]{margin:2px 0 0;cursor:pointer}.checkbox-text{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.checkbox-text strong{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.agreement-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}[data-theme=dark] .agreement-selection{background:var(--color-background-tertiary)}[data-theme=dark] .checkbox-label:hover{background:var(--color-background-quaternary)}@media (max-width: 768px){.agreement-selection{max-height:200px}}.version-number{font-weight:var(--font-weight-medium);color:var(--color-primary-600);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-50);border-radius:var(--radius-sm);display:inline-block}.version-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.version-filename{color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);word-break:break-all}.version-date{color:var(--color-text-secondary);font-size:var(--font-size-sm)}[data-theme=dark] .version-number{background:var(--color-primary-900);color:var(--color-primary-300)}[data-theme=dark] .version-filename{color:var(--color-text-tertiary)}@media (max-width: 768px){.data-table th:nth-child(2),.data-table td:nth-child(2){display:none}.version-number{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.version-filename{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}}.stepper{display:flex;justify-content:center;margin-bottom:2rem;gap:1rem}.step-btn{padding:.75rem 1.5rem;border:1px solid var(--color-border);background:var(--color-background-secondary);color:var(--color-text-secondary);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.step-btn:hover:not(:disabled){background:var(--color-background-hover);border-color:var(--color-border-hover)}.step-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.step-btn:disabled{opacity:.5;cursor:not-allowed}.payment-summary{background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.payment-summary h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.payment-details{display:flex;flex-direction:column;gap:.75rem}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.payment-item.total{font-weight:600;font-size:1.125rem;color:var(--color-text-primary);border-top:2px solid var(--color-border);padding-top:1rem;margin-top:.5rem}.payment-item span:last-child{color:var(--color-text-primary);font-weight:500}.payment-step{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.payment-summary{background:var(--color-background-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--color-border)}.payment-summary h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.payment-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-base)}.payment-item:last-child{border-bottom:none}.payment-item.total{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text-primary);border-top:2px solid var(--color-border);padding-top:var(--spacing-md);margin-top:var(--spacing-sm)}.payment-item span:first-child{color:var(--color-text-secondary)}.payment-item span:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.payment-item.total span:last-child{color:var(--color-primary)}.payment-error{background:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);color:var(--color-error);font-size:var(--font-size-sm)}[data-theme=dark] .payment-error{background:var(--color-error-dark);border-color:var(--color-error);color:var(--color-error-light)}.payment-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.payment-loading .loading-spinner{width:16px;height:16px}.payment-success{background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);color:var(--color-success);font-size:var(--font-size-sm)}[data-theme=dark] .payment-success{background:var(--color-success-dark);border-color:var(--color-success);color:var(--color-success-light)}.sales-items-list{margin-top:var(--spacing-sm)}.sales-item-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);background:var(--color-background)}.sales-item-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.sales-item-name{font-weight:500;color:var(--color-text-primary)}.sales-item-price{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}[data-theme=dark] .sales-item-item{background:var(--color-background-secondary);border-color:var(--color-border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content.large{max-width:900px}.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)}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);line-height:1;transition:var(--transition-fast);border-radius:var(--radius-md)}.modal-close:hover{color:var(--color-text-primary);background:var(--color-background)}.modal-body{padding:var(--spacing-xl)}.search-container{margin-bottom:var(--spacing-xl)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--spacing-md);color:var(--color-text-secondary);z-index:1}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) * 2 + 20px);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-background);transition:var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.membership-selection-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);cursor:pointer;transition:all .2s ease;position:relative}.membership-selection-card:hover{border-color:var(--color-primary-500);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.membership-selection-card .membership-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.membership-selection-card .membership-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 var(--spacing-md) 0 0}.membership-price{text-align:right;flex-shrink:0}.membership-price{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-600);line-height:1.2}.billing-frequency{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.membership-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.5}.membership-details{display:grid;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.select-membership-button{display:flex;align-items:center;justify-content:space-between;color:var(--color-primary-600);font-weight:var(--font-weight-medium);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.payment-form-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.membership-summary{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.membership-summary h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.summary-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-row{display:flex;justify-content:space-between;align-items:center}.summary-row.total{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-weight:var(--font-weight-semibold)}.summary-label{color:var(--color-text-secondary)}.summary-value{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.summary-item-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.summary-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.summary-fee-type{font-size:var(--font-size-xs);color:var(--color-warning-600);font-weight:var(--font-weight-medium);text-transform:uppercase}.summary-required{font-size:var(--font-size-xs);color:var(--color-error-600);font-weight:var(--font-weight-medium);text-transform:uppercase}.summary-row.subtotal{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-weight:var(--font-weight-medium)}.payment-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-primary)}.form-section-header .form-section-title{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section-actions{display:flex;gap:.75rem;align-items:center}.form-section-actions .btn{white-space:nowrap}.form-section h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.form-row{display:grid;grid-template-columns:1fr 1fr 120px;gap:var(--spacing-md)}.form-row.two-column{grid-template-columns:1fr 1fr}.form-row.three-column{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);transition:var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-primary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.error-message{background:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-700);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.form-actions{display:flex;justify-content:space-between;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.form-actions .btn{flex:1;max-width:200px}@media (max-width: 768px){.modal-content{margin:var(--spacing-md);max-height:calc(100vh - var(--spacing-md) * 2)}.modal-header,.modal-body{padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr;gap:var(--spacing-md)}.form-actions{flex-direction:column}.form-actions .btn{max-width:none}.membership-selection-card .membership-card-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.membership-price{text-align:left}}.description-cell{max-width:200px;display:flex;flex-direction:column}.description-primary{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);line-height:1.3;margin-bottom:2px}.description-secondary{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.description-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.camera-capture-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg)}.camera-capture-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;width:100%;max-width:600px;overflow:hidden;position:relative}.camera-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-surface)}.camera-header h3{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.btn-close{background:none;border:none;padding:var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.btn-close:hover{background-color:var(--color-background-hover);color:var(--color-text-primary)}.camera-content{padding:var(--spacing-xl);background:var(--color-surface)}.camera-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-background-secondary);margin-bottom:var(--spacing-xl);min-height:300px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border)}.camera-video{width:100%;height:auto;min-height:300px;max-height:500px;display:block;object-fit:cover;border-radius:var(--radius-lg);background:#000}.camera-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}.camera-frame{position:absolute;top:50%;left:50%;width:min(calc(100% - 20px),calc(100vh - 200px));height:min(calc(100% - 20px),calc(100vh - 200px));transform:translate(-50%,-50%);border:3px solid rgba(255,255,255,.9);border-radius:50%;background:transparent;box-shadow:0 0 0 9999px #0006}.camera-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap}.camera-loading,.camera-error{padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.camera-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin:0 auto var(--spacing-md)}.camera-loading p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.camera-error svg{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.camera-error h3{margin:0 0 var(--spacing-sm);color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.camera-error p{margin:0 0 var(--spacing-xl);color:var(--color-text-secondary);line-height:var(--line-height-normal);font-size:var(--font-size-sm)}.camera-error-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.profile-image-upload{position:relative}.profile-image-container{position:relative;width:120px;height:120px;margin:0 auto var(--spacing-md)}.profile-image-preview{position:relative;width:100%;height:100%;border-radius:var(--radius-full);overflow:hidden;border:3px solid var(--color-border);transition:var(--transition-fast)}.profile-image-preview:hover{border-color:var(--color-primary)}.profile-image{width:100%;height:100%;object-fit:cover;display:block}.profile-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition-fast)}.profile-image-preview:hover .profile-image-overlay{opacity:1}.btn-image-action{background:#ffffffe6;border:none;border-radius:var(--radius-full);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}.btn-remove{color:var(--color-error)}.btn-remove:hover{background:var(--color-error);color:#fff}.profile-image-placeholder{width:100%;height:100%;border:2px dashed var(--color-border);border-radius:var(--radius-full);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-secondary);background-color:var(--color-background-secondary);transition:var(--transition-fast)}.profile-image-placeholder:hover{border-color:var(--color-primary);color:var(--color-primary)}.profile-image-placeholder span{font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.profile-image-actions{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.profile-image-loading{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-lg);gap:var(--spacing-sm)}.profile-image-loading .spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.profile-image-loading span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.camera-not-supported{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.camera-not-supported span{font-size:var(--font-size-sm);font-style:italic}.contact-view-image-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.contact-view-image-container .contact-avatar-large{width:120px;height:120px;font-size:var(--font-size-2xl)}.contact-view-image-actions{display:flex;justify-content:center}.contact-view-image-actions .profile-image-upload{margin:0}.contact-view-image-actions .profile-image-container{display:none}.contact-view-image-actions .profile-image-actions{margin:0;justify-content:center}.contact-header-info{display:flex;align-items:center;gap:var(--spacing-md)}.contact-header-avatar{flex-shrink:0}.contact-header-text{flex:1}.contact-header-text h1{margin:0 0 var(--spacing-xs) 0}.contact-header-text p{margin:0}.contact-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);flex-shrink:0}.contact-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.contact-avatar-large{width:80px;height:80px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);flex-shrink:0}.contact-avatar-large img{width:100%;height:100%;object-fit:cover;border-radius:50%}@media (max-width: 768px){.camera-capture-overlay{padding:var(--spacing-sm)}.camera-capture-modal{max-width:95vw;max-height:95vh}.camera-header{padding:var(--spacing-md) var(--spacing-lg)}.camera-content{padding:var(--spacing-lg)}.camera-frame{width:min(calc(100% - 10px),calc(100vh - 160px));height:min(calc(100% - 10px),calc(100vh - 160px))}.camera-controls{flex-direction:column;gap:var(--spacing-sm)}.camera-controls .btn{width:100%;justify-content:center}.profile-image-actions{flex-direction:column;gap:var(--spacing-xs)}.profile-image-actions .btn{width:100%}}.multi-select{position:relative;width:100%}.multi-select-trigger,.form-group .multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-background);transition:all var(--transition-fast);cursor:pointer;min-height:44px}.multi-select-trigger:focus,.form-group .multi-select-trigger:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.multi-select-trigger.disabled,.form-group .multi-select-trigger.disabled{background:var(--color-background-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;border-color:var(--color-border)}.multi-select-trigger.view-mode,.form-group .multi-select-trigger.view-mode{background:var(--color-background);color:var(--color-text-primary);cursor:default;border-color:var(--color-border)}.multi-select-trigger.view-mode:focus,.form-group .multi-select-trigger.view-mode:focus{outline:none;border-color:var(--color-border);box-shadow:none;transform:none}.multi-select-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-trigger.disabled .multi-select-text{color:var(--color-text-tertiary)}.multi-select-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.multi-select-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--color-text-tertiary);color:var(--color-surface);border:none;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;transition:all var(--transition-fast)}.multi-select-clear:hover{background:var(--color-text-secondary)}.multi-select-arrow{transition:transform var(--transition-fast);color:var(--color-text-secondary)}.multi-select-arrow.rotated{transform:rotate(180deg)}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;margin-top:var(--spacing-xs)}.multi-select-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background-secondary);font-size:var(--font-size-sm)}.multi-select-count{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.multi-select-clear-all{background:none;border:none;color:var(--color-primary-500);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0;transition:color var(--transition-fast)}.multi-select-clear-all:hover{color:var(--color-primary-600)}.multi-select-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border:none;background:none;width:100%;text-align:left}.multi-select-option:hover{background:var(--color-background-hover)}.multi-select-option.selected{background:var(--color-background-secondary);color:var(--color-primary-500)}.multi-select-option.selected:hover{background:var(--color-background-tertiary)}.multi-select-option.disabled{color:var(--color-text-tertiary);cursor:not-allowed;justify-content:center}.multi-select-checkbox{margin:0;cursor:pointer;width:20px;height:20px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);transition:all var(--transition-fast);position:relative}.multi-select-checkbox:checked{background:var(--color-primary-500);border-color:var(--color-primary-500)}.multi-select-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.multi-select-option-text{flex:1;font-size:var(--font-size-base);color:inherit}[data-theme=dark] .multi-select-trigger,[data-theme=dark] .form-group .multi-select-trigger{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .multi-select-trigger:focus,[data-theme=dark] .form-group .multi-select-trigger:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}[data-theme=dark] .multi-select-trigger.disabled,[data-theme=dark] .form-group .multi-select-trigger.disabled{background:var(--color-background-tertiary);border-color:var(--color-border);color:var(--color-text-tertiary)}[data-theme=dark] .multi-select-trigger.view-mode,[data-theme=dark] .form-group .multi-select-trigger.view-mode{background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-border)}[data-theme=dark] .multi-select-dropdown{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .multi-select-header{background:var(--color-surface-secondary);border-color:var(--color-border)}[data-theme=dark] .multi-select-option:hover{background:var(--color-background-hover)}[data-theme=dark] .multi-select-option.selected{background:var(--color-surface-secondary);color:var(--color-primary-500)}[data-theme=dark] .multi-select-option.selected:hover{background:var(--color-surface-tertiary)}[data-theme=dark] .multi-select-checkbox{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .multi-select-checkbox:checked{background:var(--color-primary-500);border-color:var(--color-primary-500)}[data-theme=dark] .multi-select-clear-all:hover{color:var(--color-primary-600)}.multi-select-dropdown::-webkit-scrollbar{width:6px}.multi-select-dropdown::-webkit-scrollbar-track{background:var(--color-background-secondary)}.multi-select-dropdown::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.multi-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.multi-select-trigger:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.multi-select-checkbox:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}@media (max-width: 768px){.multi-select-dropdown{max-height:200px}.multi-select-option{padding:var(--spacing-md)}.multi-select-header{padding:var(--spacing-sm) var(--spacing-md)}}.view-content.pos-view .view-section{padding:0!important;border:none!important;box-shadow:none!important;background:none!important}.card-element-container{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast)}.card-element-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.stripe-payment-form .form-group .card-element-container{margin-top:var(--spacing-xs)}.StripeElement{width:100%;padding:var(--spacing-sm) 0}.payment-method-notice{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-success-light),var(--color-success-lighter));border:1px solid var(--color-success);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);align-items:flex-start}.notice-icon{color:var(--color-success);flex-shrink:0;margin-top:2px}.notice-content h5{margin:0 0 var(--spacing-xs) 0;font-size:.875rem;font-weight:600;color:var(--color-success-dark)}.notice-content p{margin:0;font-size:.8125rem;color:var(--color-success-dark);line-height:1.4}.form-help{display:block;margin-top:var(--spacing-xs);font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.payment-method-selection{margin-bottom:var(--spacing-lg)}.payment-method-selection h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:600;color:var(--color-text)}.payment-method-options{display:flex;gap:var(--spacing-lg)}.payment-method-option{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.payment-method-option:hover{border-color:var(--color-primary)}.payment-method-option input[type=radio]{margin:0}.option-label{font-size:.875rem;font-weight:500;color:var(--color-text)}.cash-payment-form{margin-top:var(--spacing-lg)}.cash-payment-form p{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary)}.stripe-payment-section{margin-top:var(--spacing-lg)}.loading-stripe{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);color:var(--color-text-secondary)}.stripe-not-configured{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background-secondary)}.stripe-warning-icon{color:var(--color-warning)}.stripe-not-configured h4{margin:0;color:var(--color-text);font-size:1rem;font-weight:600}.stripe-not-configured p{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.4}.payment-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg)}.customer-search-container{position:relative;margin-bottom:var(--spacing-lg)}.contact-search-results{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-height:300px;overflow-y:auto;margin-top:4px}.contact-search-result{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border)}.contact-search-result:hover{background:var(--color-background-secondary)}.contact-search-result:last-child{border-bottom:none}.contact-avatar-small{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0}.contact-info{flex:1;min-width:0}.contact-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-base)}.contact-email{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:2px}.no-results{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-style:italic}.selected-customer-profile{margin-top:var(--spacing-lg)}.customer-profile-card{display:flex;align-items:center;gap:var(--spacing-lg);background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--spacing-lg)}.customer-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg);flex-shrink:0}.customer-info{flex:1;min-width:0}.customer-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-lg);margin-bottom:4px}.customer-email{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:2px}.customer-phone{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.sales-items-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:var(--spacing-lg)}.sales-items-table-container{min-height:200px;max-height:40vh;overflow:hidden;position:relative}.sales-items-table{overflow-y:auto;max-height:40vh;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.sales-items-table table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.sales-items-table th{background:var(--color-background-secondary);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.sales-items-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);vertical-align:middle}.sales-items-table tr:hover{background:var(--color-background-secondary)}.sales-item-row{transition:background-color var(--transition-fast)}.item-name{min-width:200px}.item-name-text{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:2px}.item-description-text{color:var(--color-text-secondary);font-size:var(--font-size-xs);line-height:1.2}.item-price{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-align:right;min-width:80px}.item-action{text-align:center;min-width:80px}.cart-items-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.cart-item-row{display:flex;align-items:center;gap:var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-sm);padding:var(--spacing-md);border:1px solid var(--color-border)}.cart-item-info{flex:1;display:flex;flex-direction:column;gap:2px}.cart-item-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cart-item-price{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.cart-item-qty{display:flex;align-items:center;gap:var(--spacing-xs)}.qty-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);font-weight:var(--font-weight-semibold)}.qty-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.qty-display{min-width:32px;text-align:center;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cart-item-total{font-weight:var(--font-weight-semibold);color:var(--color-primary);min-width:70px;text-align:right}.cart-item-remove{color:var(--color-error);font-size:var(--font-size-lg);margin-left:var(--spacing-md);background:none;border:none;cursor:pointer;padding:0 4px;line-height:1;transition:color var(--transition-fast)}.cart-item-remove:hover{color:var(--color-error-700)}.cart-summary{margin-top:var(--spacing-lg)}.cart-summary-row{display:flex;justify-content:space-between;align-items:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-primary);border-top:2px solid var(--color-border);padding-top:var(--spacing-md);margin-bottom:var(--spacing-lg)}.cart-summary-total{font-size:var(--font-size-xl)}.btn-full{width:100%}.payment-step{display:flex;flex-direction:column;gap:var(--spacing-xl)}.payment-summary{background:var(--color-background-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--color-border)}.payment-summary h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.payment-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.payment-item{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);padding:var(--spacing-xs) 0}.payment-item.total{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-primary);border-top:2px solid var(--color-border);padding-top:var(--spacing-md);margin-top:var(--spacing-md)}.payment-error{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.payment-success{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.success-icon{color:var(--color-success);margin-bottom:var(--spacing-lg)}.payment-success h3{margin:0 0 var(--spacing-md) 0;color:var(--color-success)}.payment-success p{color:var(--color-text-secondary);margin:0}@media (max-width: 1024px){.sales-items-table-container{max-height:35vh}}@media (max-width: 768px){.sales-items-table-container{max-height:25vh}.customer-profile-card{flex-direction:column;text-align:center;gap:var(--spacing-md)}.sales-items-table{font-size:var(--font-size-xs)}.sales-items-table th,.sales-items-table td{padding:var(--spacing-xs) var(--spacing-sm)}.item-name{min-width:150px}}:root{--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--container-max-width: 1200px;--sidebar-width: 280px;--header-height: 64px}:root[data-theme=light]{--color-primary-50: #f0f9ff;--color-primary-100: #e0f2fe;--color-primary-200: #bae6fd;--color-primary-300: #7dd3fc;--color-primary-400: #38bdf8;--color-primary-500: #0ea5e9;--color-primary-600: #0284c7;--color-primary-700: #0369a1;--color-primary-800: #075985;--color-primary-900: #0c4a6e;--color-primary: var(--color-primary-500);--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-light: #fee2e2;--color-info: #3b82f6;--color-background: #ffffff;--color-background-secondary: #f9fafb;--color-background-tertiary: #f3f4f6;--color-background-hover: #f9fafb;--color-background-active: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-secondary: #d1d5db;--color-border-focus: #3b82f6;--color-surface: #ffffff;--color-surface-secondary: #f9fafb;--color-surface-tertiary: #f3f4f6}:root[data-theme=dark]{--color-primary-50: #0c1729;--color-primary-100: #1e293b;--color-primary-200: #334155;--color-primary-300: #475569;--color-primary-400: #64748b;--color-primary-500: #0ea5e9;--color-primary-600: #38bdf8;--color-primary-700: #7dd3fc;--color-primary-800: #bae6fd;--color-primary-900: #e0f2fe;--color-primary: var(--color-primary-500);--color-gray-50: #1f2937;--color-gray-100: #374151;--color-gray-200: #4b5563;--color-gray-300: #6b7280;--color-gray-400: #9ca3af;--color-gray-500: #d1d5db;--color-gray-600: #e5e7eb;--color-gray-700: #f3f4f6;--color-gray-800: #f9fafb;--color-gray-900: #ffffff;--color-success: #34d399;--color-success-light: #064e3b;--color-warning: #fbbf24;--color-warning-light: #451a03;--color-error: #f87171;--color-error-light: #7f1d1d;--color-info: #60a5fa;--color-background: #0f172a;--color-background-secondary: #1e293b;--color-background-tertiary: #334155;--color-background-hover: #1e293b;--color-background-active: #334155;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-secondary: #475569;--color-border-focus: #60a5fa;--color-surface: #1e293b;--color-surface-secondary: #334155;--color-surface-tertiary: #475569;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .5)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-inverse{color:var(--color-text-inverse)}.bg-primary{background-color:var(--color-background)}.bg-secondary{background-color:var(--color-background-secondary)}.bg-tertiary{background-color:var(--color-background-tertiary)}.border-primary{border-color:var(--color-border)}.border-secondary{border-color:var(--color-border-secondary)}.border-focus{border-color:var(--color-border-focus)}.surface{background-color:var(--color-surface)}.surface-secondary{background-color:var(--color-surface-secondary)}.surface-tertiary{background-color:var(--color-surface-tertiary)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.transition-fast{transition:var(--transition-fast)}.transition-normal{transition:var(--transition-normal)}.transition-slow{transition:var(--transition-slow)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);transition:var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}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{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}a{color:var(--color-primary-600);text-decoration:none;font-weight:var(--font-weight-medium);transition:var(--transition-fast)}a:hover{color:var(--color-primary-700);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary-600);color:var(--color-text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--color-primary-700)}:root[data-theme=dark] .btn-primary:hover{background:var(--color-primary-400)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--color-background-hover);border-color:var(--color-border-secondary)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.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-primary);margin-bottom:var(--spacing-sm)}.form-input{width:100%;padding:var(--spacing-md);font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.form-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.form-input::placeholder{color:var(--color-text-tertiary)}select.form-input,select{padding-right:var(--spacing-md)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-surface),var(--color-surface-secondary))}.card-body{padding:var(--spacing-xl)}.card-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-border);background:var(--color-surface-secondary)}.message{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);border-left:4px solid}.message-success{background:#10b9811a;color:var(--color-success);border-color:var(--color-success)}.message-error{background:#ef44441a;color:var(--color-error);border-color:var(--color-error)}.message-warning{background:#f59e0b1a;color:var(--color-warning);border-color:var(--color-warning)}.message-info{background:#3b82f61a;color:var(--color-info);border-color:var(--color-info)}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background)}.loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);color:var(--color-text-secondary)}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary-600);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-toggle{position:relative;width:64px;height:32px;background:none;border:none;cursor:pointer;padding:0;outline:none}.theme-toggle-track{width:100%;height:100%;background:var(--color-surface-secondary);border:2px solid var(--color-border);border-radius:var(--radius-2xl);position:relative;transition:all var(--transition-normal);box-shadow:inset 0 2px 4px #0000001a}.theme-toggle:hover .theme-toggle-track{border-color:var(--color-border-secondary);box-shadow:inset 0 2px 4px #00000026,var(--shadow-md)}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--radius-xl);transition:all var(--transition-normal);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(32px);background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500))}.theme-toggle-icon{width:14px;height:14px;color:var(--color-text-inverse);transition:all var(--transition-normal)}.theme-toggle-icon svg{width:100%;height:100%}@media (max-width: 768px){.card{margin:var(--spacing-md);border-radius:var(--radius-lg)}.card-header,.card-body,.card-footer{padding:var(--spacing-lg)}.btn{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base)}}.custom-select-wrapper{position:relative;display:inline-block;width:100%}.custom-select{width:100%;padding:var(--spacing-md);padding-right:2.5rem;font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important}.custom-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.custom-select-arrow{position:absolute;top:0;right:.75rem;height:100%;display:flex;align-items:center;pointer-events:none;color:var(--color-text-tertiary)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-primary-100) 25%,var(--color-primary-200) 50%,var(--color-primary-100) 75%,var(--color-primary-50) 100%);background-size:400% 400%;animation:gradientShift 15s ease infinite;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(59,130,246,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>');opacity:.3;animation:float 20s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(1deg)}66%{transform:translateY(5px) rotate(-1deg)}}.auth-card{width:100%;max-width:420px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-xl);box-shadow:0 32px 64px #0000001a,0 16px 32px #0000000d,inset 0 1px #fff9;padding:var(--spacing-3xl);position:relative;z-index:1;transition:all var(--transition-slow)}:root[data-theme=dark] .auth-card{background:#1e293bf2;border:1px solid rgba(148,163,184,.1);box-shadow:0 32px 64px #0000004d,0 16px 32px #0003,inset 0 1px #94a3b81a}.auth-card:hover{transform:translateY(-4px);box-shadow:0 40px 80px #00000026,0 20px 40px #0000001a,inset 0 1px #fff9}.auth-card h2{text-align:center;margin-bottom:var(--spacing-2xl);background:linear-gradient(135deg,var(--color-text-primary),var(--color-primary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);position:relative}.auth-card h2:after{content:"";position:absolute;bottom:-var(--spacing-md);left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--radius-full)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-form .form-group{position:relative}.auth-form .form-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.auth-form .form-input{background:var(--color-surface);border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--spacing-md);font-size:var(--font-size-base);transition:all var(--transition-normal);box-shadow:inset 0 2px 4px #0000000d,0 1px 3px #0000001a;position:relative;z-index:1}.auth-form .form-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 4px #3b82f61a,inset 0 2px 4px #0000000d,0 4px 12px #3b82f626;transform:translateY(-2px)}.auth-form .form-input::placeholder{color:var(--color-text-tertiary);transition:var(--transition-fast)}.auth-form .form-input:focus::placeholder{opacity:.7}.auth-submit-btn{background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));color:var(--color-text-inverse);border:none;border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 8px 16px #3b82f64d,0 4px 8px #3b82f633;position:relative;overflow:hidden}.auth-submit-btn: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 .6s}.auth-submit-btn:hover{background:linear-gradient(135deg,var(--color-primary-700),var(--color-primary-800));transform:translateY(-2px);box-shadow:0 12px 24px #3b82f666,0 6px 12px #3b82f64d}.auth-submit-btn:hover:before{left:100%}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 8px #3b82f633}.auth-loading{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.auth-loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top:2px solid rgba(255,255,255,.9);border-radius:50%;animation:spin 1s linear infinite}.auth-message{border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid}.auth-message-success{background:#10b98126;border-color:#10b9814d;color:var(--color-success)}.auth-message-error{background:#ef444426;border-color:#ef44444d;color:var(--color-error)}.auth-message-info{background:#3b82f626;border-color:#3b82f64d;color:var(--color-info)}.auth-links{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.auth-links a{color:var(--color-primary-600);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-fast);position:relative}.auth-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-600));transition:width var(--transition-fast)}.auth-links a:hover{color:var(--color-primary-700);transform:translateY(-1px)}.auth-links a:hover:after{width:100%}.auth-theme-toggle{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);z-index:10}.auth-success-section,.auth-error-section{text-align:center;animation:fadeInUp .6s ease-out}.auth-success-section h3,.auth-error-section h3{margin-bottom:var(--spacing-lg);font-size:var(--font-size-xl)}.auth-success-section p,.auth-error-section p{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary)}.auth-success-section .btn,.auth-error-section .btn{background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;font-weight:var(--font-weight-semibold);transition:all var(--transition-normal);box-shadow:0 4px 12px #3b82f64d}.auth-success-section .btn:hover,.auth-error-section .btn:hover{background:linear-gradient(135deg,var(--color-primary-700),var(--color-primary-800));transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.auth-card{padding:var(--spacing-2xl);margin:var(--spacing-md);border-radius:var(--radius-lg)}.auth-card h2{font-size:var(--font-size-2xl)}.auth-form .form-input{padding:var(--spacing-sm)}.auth-submit-btn{padding:var(--spacing-sm) var(--spacing-md)}}.dashboard-content{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-4xl);color:var(--color-text-secondary)}.dashboard-empty h2{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary)}.dashboard-empty p{margin:0;font-size:var(--font-size-lg)}.dashboard-header{margin-bottom:var(--spacing-xl)}.dashboard-header h1{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.dashboard-header p{margin:0;font-size:var(--font-size-lg);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.dashboard-quick-actions{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:all var(--transition-fast);min-width:80px;flex:0 1 auto;max-width:120px}.quick-action-btn:hover{background:var(--color-button-ghost-hover);border-color:var(--color-border-focus)}.quick-action-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);flex-shrink:0;color:var(--color-text-secondary)}.quick-action-icon.primary{background:var(--color-primary-light);color:var(--color-primary)}.quick-action-icon.success{background:var(--color-success-50);color:var(--color-success-600)}.quick-action-icon.info{background:var(--color-info-50);color:var(--color-info-600)}.quick-action-btn span{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;line-height:1.2}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.dashboard-stats.condensed{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);display:flex;align-items:center;gap:var(--spacing-lg);transition:all var(--transition-medium)}.stat-card.condensed{flex-direction:column;align-items:stretch;gap:var(--spacing-lg);padding:var(--spacing-lg)}.stat-main{display:flex;align-items:center;gap:var(--spacing-md)}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);flex-shrink:0}.stat-card.condensed .stat-icon{width:40px;height:40px}.stat-icon.stat-primary{background:var(--color-primary-light);color:var(--color-primary)}.stat-icon.stat-success{background:var(--color-success-50);color:var(--color-success-600)}.stat-icon.stat-warning{background:var(--color-warning-50);color:var(--color-warning-600)}.stat-content{flex:1}.stat-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1}.stat-card.condensed .stat-number{font-size:var(--font-size-2xl)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-weight:var(--font-weight-medium)}.stat-trend{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.sparkline{display:block;flex-shrink:0}.trend-indicator{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.trend-indicator.up{color:var(--color-success-600)}.trend-indicator.down{color:var(--color-error-600)}.trend-indicator.neutral{color:var(--color-text-secondary)}.trend-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.dashboard-widgets{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:flex-start}@media (max-width: 900px){.dashboard-widgets{grid-template-columns:1fr}}.dashboard-widget.large{grid-column:span 2}.dashboard-widget.small{grid-column:span 1}.dashboard-widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:visible;transition:all var(--transition-medium)}.dashboard-widget.interactive:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-focus);transform:translateY(-1px)}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-background-secondary);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.widget-header.condensed{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-sm)}.widget-header h3{margin:0;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)}.widget-header.condensed h3{font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.widget-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.widget-header.condensed .widget-link{font-size:var(--font-size-xs)}.widget-link:hover{color:var(--color-primary-700)}.widget-content{padding:var(--spacing-xl);overflow:visible}.widget-content.condensed{padding:var(--spacing-lg)}.quick-checkin-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.contact-search-container{position:relative}.form-input.large{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-primary);transition:all var(--transition-fast)}.form-input.large:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f61a;transform:translateY(-1px)}.search-clear-btn{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all var(--transition-fast)}.search-clear-btn:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.contact-search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1000;max-height:300px;overflow-y:auto;margin-top:var(--spacing-xs)}.contact-search-item{padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-md)}.contact-search-item:last-child{border-bottom:none}.contact-search-item:hover{background:var(--color-background-hover)}.contact-search-item.loading{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);cursor:default}.contact-search-item.no-results{color:var(--color-text-secondary);cursor:default;font-style:italic}.contact-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;flex-shrink:0;letter-spacing:.5px;transition:var(--transition-fast)}.contact-details{flex:1;min-width:0}.contact-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact-email,.contact-phone{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.quick-profile-view{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--spacing-lg) 0;transition:all var(--transition-fast);text-align:center}.profile-avatar-large{width:96px;height:96px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-transform:uppercase;flex-shrink:0;letter-spacing:1px;transition:var(--transition-fast);box-shadow:var(--shadow-md)}.profile-details{width:100%;max-width:300px}.profile-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.profile-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.profile-email,.profile-phone{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.profile-email svg,.profile-phone svg{flex-shrink:0;color:var(--color-text-tertiary)}.btn.btn-large{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:48px}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.alert.alert-success{background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-200)}.alert.alert-error{background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-200)}.alert.alert-warning{background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-200)}.alert.alert-info{background:var(--color-info-50);color:var(--color-info-700);border:1px solid var(--color-info-200)}.alert-content{flex:1}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.alert-message{font-size:var(--font-size-sm);opacity:.9}.activity-reason{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs);font-style:italic}.status-container{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);text-align:right;width:100%}.checkin-reason{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-style:italic;line-height:1.3;text-align:right}.status-header-right{text-align:right}.status-header-right .sort-header{justify-content:flex-end}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.activity-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.activity-item:hover{background:var(--color-background-hover)}.activity-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary-500);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;flex-shrink:0;letter-spacing:.5px;transition:var(--transition-fast)}.activity-details{flex:1;min-width:0}.activity-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:0;font-size:var(--font-size-sm)}.activity-time{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.activity-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:var(--transition-fast)}.activity-status svg{width:24px;height:24px}.activity-status.success{background:var(--color-success-50);color:var(--color-success)}.activity-status.danger{background:var(--color-error-50);color:var(--color-error)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.empty-state svg{margin-bottom:var(--spacing-lg);opacity:.6}.empty-state p{margin:0;font-size:var(--font-size-md)}.loading-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s linear infinite}.skeleton{background:var(--color-background-tertiary);animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-line{height:16px;background:var(--color-background-tertiary);border-radius:var(--radius-sm);animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-line.short{width:60%;margin-bottom:var(--spacing-xs)}.skeleton-line.shorter{width:40%}.skeleton-line.tiny{width:20px;height:20px}.activity-item.loading{pointer-events:none}.activity-item.loading .activity-avatar{background:var(--color-background-tertiary);animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1200px){.dashboard-widget.large{grid-column:span 12}.dashboard-widget.medium{grid-column:span 6}}@media (max-width: 768px){.dashboard-content{padding:var(--spacing-lg)}.dashboard-header h1{font-size:var(--font-size-2xl)}.dashboard-header p{font-size:var(--font-size-md)}.dashboard-quick-actions{gap:var(--spacing-sm);padding:var(--spacing-sm);margin-bottom:var(--spacing-lg);justify-content:center}.quick-action-btn{padding:var(--spacing-xs) var(--spacing-sm);min-width:70px;flex:0 1 auto;max-width:100px}.quick-action-icon{width:28px;height:28px}.quick-action-btn span{font-size:var(--font-size-xs)}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.dashboard-stats.condensed{grid-template-columns:1fr;gap:var(--spacing-lg)}.stat-card{padding:var(--spacing-lg)}.stat-card.condensed{padding:var(--spacing-md)}.stat-number{font-size:var(--font-size-2xl)}.stat-card.condensed .stat-number{font-size:var(--font-size-xl)}.stat-trend{padding:var(--spacing-xs) var(--spacing-sm)}.dashboard-widgets{grid-template-columns:1fr;gap:var(--spacing-lg)}.dashboard-widget.large,.dashboard-widget.medium,.dashboard-widget.small{grid-column:span 1}.widget-header,.widget-content{padding:var(--spacing-lg)}}@media (max-width: 480px){.dashboard-content{padding:var(--spacing-md)}.dashboard-header h1{font-size:var(--font-size-xl)}.dashboard-quick-actions{flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs);justify-content:center}.quick-action-btn{flex:0 1 auto;min-width:60px;max-width:80px;padding:var(--spacing-xs)}.quick-action-icon{width:24px;height:24px}.quick-action-btn span{font-size:var(--font-size-xs)}.dashboard-stats{grid-template-columns:1fr}.dashboard-stats.condensed{gap:var(--spacing-md)}.stat-card{padding:var(--spacing-md);gap:var(--spacing-md)}.stat-card.condensed{gap:var(--spacing-sm)}.stat-icon{width:40px;height:40px}.stat-card.condensed .stat-icon{width:32px;height:32px}.widget-header{padding:var(--spacing-md);flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.widget-content{padding:var(--spacing-md)}.quick-profile-view{flex-direction:column;text-align:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.profile-avatar-large{width:80px;height:80px;font-size:var(--font-size-xl)}.profile-name{font-size:var(--font-size-lg)}.activity-item{padding:var(--spacing-xs)}.activity-avatar{width:28px;height:28px;font-size:var(--font-size-xs)}}[data-theme=dark] .dashboard-widget.interactive:hover,[data-theme=dark] .quick-action-btn:hover{border-color:var(--color-border-focus)}[data-theme=dark] .contact-search-dropdown{box-shadow:0 10px 40px #0006}[data-theme=dark] .alert.alert-success{background:var(--color-success-900);color:var(--color-success-300);border-color:var(--color-success-700)}[data-theme=dark] .alert.alert-error{background:var(--color-error-900);color:var(--color-error-300);border-color:var(--color-error-700)}[data-theme=dark] .alert.alert-warning{background:var(--color-warning-900);color:var(--color-warning-300);border-color:var(--color-warning-700)}[data-theme=dark] .alert.alert-info{background:var(--color-info-900);color:var(--color-info-300);border-color:var(--color-info-700)}[data-theme=dark] .activity-status.success{background:var(--color-success-900);color:var(--color-success)}[data-theme=dark] .activity-status.danger{background:var(--color-error-900);color:var(--color-error)}.recent-activity-scrollable{max-height:420px;overflow-y:auto;padding-right:4px}.recent-activity-scrollable .activity-list{max-height:none}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
