.auth-layout{display:flex;min-height:100vh;background:var(--color-neutral-900);position:relative;overflow:hidden}.auth-layout:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(0,163,255,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(0,229,190,.1) 0%,transparent 40%),radial-gradient(ellipse at 60% 80%,rgba(0,92,145,.2) 0%,transparent 50%);animation:gradientMove 15s ease infinite alternate}@keyframes gradientMove{0%{transform:scale(1) rotate(0)}to{transform:scale(1.1) rotate(5deg)}}.auth-container{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl);max-width:480px;margin:0 auto;position:relative;z-index:1}.auth-header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-logo{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-2xl);margin-bottom:var(--spacing-lg);box-shadow:0 8px 32px #00a3ff4d;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-header h1{color:#fff;font-size:2rem;font-weight:700;margin-bottom:var(--spacing-xs)}.auth-header h1 .text-gradient{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{color:var(--color-text-secondary);font-size:1rem}.auth-background{display:none}.auth-layout:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:var(--gradient-primary);opacity:.03;top:-200px;right:-200px;animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.03}50%{transform:scale(1.2);opacity:.05}}@media (min-width: 1024px){.auth-layout{background:var(--color-neutral-950)}.auth-container{flex:0 0 480px;background:var(--color-neutral-900);border-right:1px solid var(--color-border);margin:0;max-width:none;position:relative;z-index:2}.auth-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,163,255,.1) 0%,transparent 60%);pointer-events:none}.auth-background{display:flex;flex:1;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--gradient-bg)}.auth-bg-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 30% 30%,rgba(0,163,255,.15) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,229,190,.1) 0%,transparent 50%);animation:patternMove 20s ease infinite alternate}@keyframes patternMove{0%{transform:scale(1)}to{transform:scale(1.2)}}.auth-bg-pattern:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:50px 50px}.auth-hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-2xl);max-width:600px}.auth-hero-imgs{position:relative;width:100%;max-width:450px;aspect-ratio:3/4;margin:0 auto var(--spacing-2xl);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff0d;animation:heroFloat 8s ease-in-out infinite}.auth-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease-in-out}.auth-hero-img.active{opacity:1;z-index:1}@keyframes heroFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(1deg)}}.auth-hero-content{position:relative}.auth-hero-title{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:var(--spacing-md);background:linear-gradient(135deg,#fff,#00e5be);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;text-shadow:0 0 40px rgba(0,229,190,.3)}.auth-hero-subtitle{font-size:1.25rem;color:var(--color-text-secondary);max-width:400px;margin:0 auto;line-height:1.6}.auth-hero-img:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;background:var(--gradient-primary);filter:blur(100px);opacity:.3;z-index:-1}}.change-password-modal .form-error-inline{background:var(--color-rojo-bg, rgba(239, 68, 68, .15));color:var(--color-rojo, #ef4444);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:.875rem;margin-bottom:var(--spacing-md)}.change-password-modal .form-group{margin-bottom:var(--spacing-md)}.change-password-modal .form-group:last-of-type{margin-bottom:0}.change-password-modal .form-group label{display:block;font-weight:500;margin-bottom:var(--spacing-xs);font-size:.875rem}.change-password-modal .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:.875rem;background:var(--color-bg);color:var(--color-text)}.change-password-modal .form-group input:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 2px #00a3ff33}.change-password-modal .form-group input::placeholder{color:var(--color-text-muted)}.app-layout{display:flex;min-height:100vh}.sidebar{width:280px;background:var(--color-neutral-900);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.sidebar-close-mobile{display:none}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-sm);color:#fff;font-weight:700;font-size:1.25rem}.sidebar-logo svg{color:var(--color-secondary-500)}.sidebar-logo span:first-of-type{color:var(--color-primary-400)}.sidebar-logo .logo-gradient{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.taller-selector{position:relative;margin-top:var(--spacing-md)}.taller-selector-btn{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:#fff;font-size:.875rem;cursor:pointer;transition:all .2s ease}.taller-selector-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-highlight)}.taller-selector-btn svg{color:var(--color-primary-400);flex-shrink:0}.taller-selector-btn .taller-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-type-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-primary-500);color:#fff;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-info-single{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.org-info-single .org-info-name{flex:1;font-size:.875rem;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taller-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:250px;overflow-y:auto;z-index:1000;box-shadow:var(--shadow-lg);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.taller-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;text-align:left;transition:all .15s ease}.taller-option:hover{background:var(--color-surface-hover);color:var(--color-text)}.taller-option.active{background:var(--gradient-primary);color:#fff}.taller-option small{font-size:.75rem;color:var(--color-text-muted)}.taller-option.active small{color:#fffc}.sidebar-nav{flex:1;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);transition:all .2s ease;font-weight:500;position:relative}.nav-link svg{width:20px;height:20px;flex-shrink:0}.nav-link:hover{background:var(--color-surface-hover);color:var(--color-text);text-decoration:none}.nav-link.active{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #00a3ff40}.nav-link.active svg{color:#fff}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:0;background:none;border:none;cursor:pointer;color:inherit;text-align:left;min-width:0}.user-menu-trigger:hover{opacity:.9}.user-menu-chevron{margin-left:auto;color:var(--color-text-muted);flex-shrink:0;transition:transform .2s ease}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;bottom:100%;left:var(--spacing-md);right:var(--spacing-md);margin-bottom:var(--spacing-xs);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:50;display:flex;flex-direction:column}.user-menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;width:100%;cursor:pointer;font-size:.875rem;color:var(--color-text);text-align:left;transition:background .2s ease}.user-menu-item:hover{background:var(--color-surface-hover)}.user-menu-item svg{flex-shrink:0}.user-menu-item-danger{color:var(--color-rojo)}.user-menu-item-danger:hover{background:var(--color-rojo-bg)}.user-info{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;color:#fff;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:500;font-size:.875rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:var(--color-primary-400);font-weight:500}.btn-logout{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-lg);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-logout:hover{background:var(--color-rojo-bg);border-color:#ef44444d;color:var(--color-rojo)}.btn-logout svg{width:20px;height:20px}.main-content{flex:1;margin-left:280px;padding:var(--spacing-xl);min-height:100vh;background:transparent}.mobile-header{display:none}@media (max-width: 767px){.mobile-header{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;min-height:56px;padding:env(safe-area-inset-top) var(--spacing-md) var(--spacing-md);background:var(--color-neutral-900);border-bottom:1px solid var(--color-border);z-index:90;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-header-inner{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.mobile-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text)}.mobile-hamburger:hover{background:var(--color-surface-hover)}.mobile-hamburger span{display:block;width:22px;height:2px;background:currentColor;border-radius:1px;transition:transform .2s ease,opacity .2s ease}.mobile-logo{display:flex;align-items:center;gap:var(--spacing-sm);color:#fff;font-weight:700;font-size:1.1rem}.mobile-logo svg{color:var(--color-secondary-500)}}@media (max-width: 767px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(320px,85vw);height:100vh;flex-direction:column;transform:translate(-100%);transition:transform .25s ease,box-shadow .25s ease;z-index:200;border-right:1px solid var(--color-border);overflow-y:auto}.sidebar--mobile-open{transform:translate(0);box-shadow:10px 0 40px #0006}.sidebar-header,.sidebar-footer{display:flex!important}.sidebar-header{flex-wrap:wrap;position:relative}.sidebar-close-mobile{display:flex;position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;padding:0}.sidebar-close-mobile:hover{background:var(--color-surface-hover)}.sidebar-nav{flex-direction:column;justify-content:flex-start;padding:var(--spacing-md);overflow-y:auto}.nav-link{flex-direction:row;padding:var(--spacing-md) var(--spacing-lg);font-size:.9375rem;min-width:auto}.nav-link span{display:block;text-align:left}.main-content{margin-left:0;padding:var(--spacing-xl) var(--spacing-lg);padding-top:calc(72px + env(safe-area-inset-top));padding-left:max(var(--spacing-lg),env(safe-area-inset-left));padding-right:max(var(--spacing-lg),env(safe-area-inset-right));padding-bottom:max(var(--spacing-xl),env(safe-area-inset-bottom))}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:150;animation:fadeIn .2s ease}}.nav-section-title{padding:var(--spacing-md) var(--spacing-lg);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:var(--spacing-md)}@media (min-width: 768px) and (max-width: 1024px){.mobile-header{display:none}.sidebar{width:100%;height:auto;position:fixed;top:auto;bottom:0;left:0;right:0;flex-direction:row;padding:0;border-right:none;border-top:1px solid var(--color-border);background:var(--color-neutral-900);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:none}.sidebar-header,.sidebar-footer{display:none}.sidebar-nav{flex:1;flex-direction:row;justify-content:space-around;padding:var(--spacing-sm);gap:0;overflow-x:auto}.nav-link{flex-direction:column;padding:var(--spacing-sm);font-size:.7rem;gap:var(--spacing-xs);border-radius:var(--radius-md);min-width:60px}.nav-link svg{width:24px;height:24px}.nav-link span{display:block;text-align:center;white-space:nowrap}.nav-link.active{background:var(--gradient-primary);box-shadow:none}.main-content{margin-left:0;padding:var(--spacing-md);padding-bottom:100px;padding-top:var(--spacing-md)}.nav-section-title{display:none}}.login-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--spacing-xl);box-shadow:var(--glass-shadow)}.login-card .form-label{color:var(--color-text-secondary)}.login-card .form-input{background:var(--color-neutral-800);border-color:var(--color-border);color:var(--color-text)}.login-card .form-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.login-card .form-input::placeholder{color:var(--color-text-muted)}.login-error{background:var(--color-rojo-bg);color:var(--color-rojo);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:.875rem;border:1px solid rgba(239,68,68,.3);display:flex;align-items:center;gap:var(--spacing-sm)}.login-error:before{content:"⚠️"}.login-btn{width:100%;margin-top:var(--spacing-md);background:var(--gradient-primary);border:none;padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #00a3ff4d;min-height:52px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #00a3ff66}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-btn .spinner{width:20px;height:20px;border-width:2px}.login-hint{margin-top:var(--spacing-xl);text-align:center;font-size:.8rem;color:var(--color-text-muted);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.login-hint strong{color:var(--color-primary-400);font-weight:500}.password-wrapper{position:relative}.password-toggle{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);transition:color .2s ease}.password-toggle:hover{color:var(--color-text)}.recepciones-page{max-width:1400px;margin:0 auto}.recepciones-controls{margin-bottom:var(--spacing-md)}.recepciones-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.recepciones-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.recepciones-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.recepciones-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.recepciones-table-wrap{margin-top:var(--spacing-md)}.recepciones-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.recepciones-table{width:100%;border-collapse:collapse;font-size:.9rem}.recepciones-table th,.recepciones-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.recepciones-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.recepciones-table tbody tr:hover{background:var(--color-surface-hover)}.recepciones-table .th-actions,.recepciones-table .td-actions{white-space:nowrap;text-align:right}.recepciones-table-link{color:var(--color-primary-400);text-decoration:none;font-weight:500}.recepciones-table-link:hover{text-decoration:underline}.filters-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl)}.filters-bar .filter-group{display:flex;flex-direction:column;gap:6px;min-width:0}.filters-bar .filter-group .search-input-wrapper,.filters-bar .filter-group .filter-select,.filters-bar .filter-group .filter-date-range{width:100%}.filters-bar .filter-group:first-child{flex:1;min-width:200px}.filters-bar .filter-group:nth-child(2){width:200px}.filters-bar .filter-group:nth-child(3){flex-shrink:0}.filters-bar .filter-group-actions{margin-left:auto}.filters-bar .filter-label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;line-height:1.2}.filters-bar .filter-select,.filters-bar .filter-date{height:42px;padding:0 var(--spacing-md);background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:.9375rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;width:100%}.filters-bar .filter-select{cursor:pointer}.filters-bar .filter-date::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;opacity:.8}.filters-bar .filter-date-range{display:flex;align-items:center;gap:var(--spacing-sm);height:42px}.filters-bar .filter-date-range .filter-date{width:140px;min-width:0}.filters-bar .date-range-sep{color:var(--color-text-muted);font-size:.875rem;flex-shrink:0}.filters-bar .filter-select:focus,.filters-bar .filter-date:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.filters-bar .search-input-wrapper{position:relative;display:flex;align-items:center;min-height:42px;height:42px;min-width:0;padding:0 var(--spacing-md) 0 calc(var(--spacing-md) + 20px + var(--spacing-sm));background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.filters-bar .search-input-wrapper svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none;flex-shrink:0}.filters-bar .search-input{flex:1;min-width:0;width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;font-size:.9375rem;color:var(--color-text)}.filters-bar .search-input:focus{box-shadow:none;outline:none}.filters-bar .search-input-wrapper:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.filters-bar .search-input::placeholder{color:var(--color-text-muted)}.btn-clear-filters{display:inline-flex;align-items:center;gap:var(--spacing-sm);height:42px;padding:0 var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:.875rem;cursor:pointer;transition:color .2s,border-color .2s,background .2s}@media (max-width: 900px){.filters-bar{flex-direction:column;align-items:stretch}.filters-bar .filter-group:first-child,.filters-bar .filter-group:nth-child(2){min-width:0;width:100%}.filters-bar .filter-group-actions{margin-left:0}.filters-bar .filter-date-range .filter-date{flex:1;min-width:120px}}@media (max-width: 520px){.filters-bar{padding:var(--spacing-md)}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-md)}.page-header h1{margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.page-loading,.page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.page-error{color:var(--color-rojo)}.empty-state{text-align:center;padding:var(--spacing-2xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.empty-state svg{color:var(--color-text-muted);margin-bottom:var(--spacing-md);opacity:.5}.empty-state h3{margin-bottom:var(--spacing-xs);color:var(--color-text)}.empty-state p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.empty-state .btn{display:inline-flex}.recepciones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-xl)}.recepcion-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-xl);text-decoration:none;color:inherit;transition:all .2s ease;display:flex;flex-direction:column}.recepcion-card:hover{border-color:var(--color-border-highlight);box-shadow:var(--shadow-glow);transform:translateY(-4px);text-decoration:none}.recepcion-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.recepcion-card-header .recepcion-matricula{flex-shrink:0}.recepcion-matricula{font-weight:700;font-size:1.25rem;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.025em}.recepcion-date{font-size:.875rem;color:var(--color-text-muted)}.recepcion-card-body{margin-bottom:var(--spacing-md)}.recepcion-card-body h3{font-size:1rem;font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text)}.recepcion-card-body p{color:var(--color-text-secondary);font-size:.875rem}.recepcion-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);margin-top:auto;border-top:1px solid var(--color-border)}.checklist-summary{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:500}.dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}.dot-verde{background-color:var(--color-verde);color:var(--color-verde)}.dot-ambar{background-color:var(--color-ambar);color:var(--color-ambar)}.dot-rojo{background-color:var(--color-rojo);color:var(--color-rojo)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-header .btn{width:100%}.recepciones-grid{grid-template-columns:1fr}}.vehiculo-diagram-container{background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin:var(--spacing-md) 0}.vehiculo-diagram-header{margin-bottom:var(--spacing-lg)}.vehiculo-diagram-header h3{margin:0 0 var(--spacing-xs) 0;font-size:1.125rem;color:var(--color-text)}.vehiculo-diagram-header p{color:var(--color-text-secondary);font-size:.875rem;margin:0}.tipo-dano-selector{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-md);background:var(--color-neutral-900);border:1px solid var(--color-border);border-radius:var(--radius-md)}.tipo-dano-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;background:var(--color-neutral-800)}.tipo-dano-option:hover{border-color:var(--color-primary-500);background:#00a3ff1a}.tipo-dano-option.selected{border-color:var(--color-primary-500);background:#00a3ff26}.tipo-dano-option input[type=radio]{margin:0;cursor:pointer;accent-color:var(--color-primary-500)}.tipo-dano-option .simbolo{font-size:1.25rem;font-weight:700;color:var(--color-rojo);min-width:1.5rem;text-align:center}.tipo-dano-option .label{font-size:.875rem;color:var(--color-text)}.vehiculo-diagram-wrapper{display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);background:var(--color-neutral-900);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);min-height:400px}.vehiculo-diagram-image-container{position:relative;display:inline-block;max-width:100%}.vehiculo-diagram-image{width:100%;max-width:600px;height:auto;display:block;border-radius:var(--radius-md);filter:brightness(1.1) contrast(.9)}.seccion-area{border:2px dashed rgba(148,163,184,.35);border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.seccion-area.clickeable{cursor:pointer;background-color:#94a3b814}.seccion-area.clickeable:hover{border-color:var(--color-primary-400);background-color:#00a3ff33;border-style:dashed}.seccion-area.tiene-danos{border-color:var(--color-rojo);border-style:solid;background-color:var(--color-rojo-bg)}.seccion-area.tiene-danos.clickeable:hover{border-color:#dc2626;background-color:#ef444440}.area-indicator{width:100%;height:100%;border:1px dashed rgba(148,163,184,.5);border-radius:4px;background:#94a3b80d}.simbolos-dano-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:.25rem;align-items:center;justify-content:center;pointer-events:none;z-index:10}.simbolo-dano-text{font-size:1.5rem;font-weight:700;color:var(--color-rojo);text-shadow:0 0 4px rgba(0,0,0,.8),0 0 8px var(--color-rojo);line-height:1}.vehiculo-diagram-legend{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-neutral-900);border:1px solid var(--color-border);border-radius:var(--radius-md)}.legend-title{font-weight:600;margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);font-size:.875rem}.legend-items{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--spacing-sm)}.legend-simbolo{font-size:1.25rem;font-weight:700;color:var(--color-rojo);min-width:1.5rem;text-align:center}.legend-label{font-size:.875rem;color:var(--color-text-secondary)}.danos-resumen{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-ambar-bg);border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-md)}.danos-resumen h4{margin:0 0 var(--spacing-md) 0;font-size:.9375rem;color:var(--color-ambar)}.danos-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dano-item{font-size:.875rem;color:var(--color-text-secondary)}.dano-tipo{margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-neutral-800);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text)}@media (max-width: 768px){.vehiculo-diagram-wrapper{min-height:300px;padding:var(--spacing-md)}.tipo-dano-selector{flex-direction:column}.tipo-dano-option{width:100%}.legend-items{flex-direction:column;gap:var(--spacing-md)}}.recepcion-detail-page{max-width:1200px;margin:0 auto}.detail-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-lg)}.card-header{display:flex;justify-content:space-between;align-items:center}.card-header h2{font-size:1rem;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.info-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.info-value{font-weight:500}.firma-imagen{max-width:280px;max-height:120px;object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-neutral-800);padding:var(--spacing-sm)}.info-observaciones{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.info-observaciones p{margin-top:var(--spacing-xs);color:var(--color-text-secondary)}.checklist-summary-detail{display:flex;gap:var(--spacing-sm)}.summary-item{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:600}.summary-item.verde{background-color:var(--color-verde-bg);color:var(--color-verde)}.summary-item.ambar{background-color:var(--color-ambar-bg);color:var(--color-ambar)}.summary-item.rojo{background-color:var(--color-rojo-bg);color:var(--color-rojo)}.empty-checklist{text-align:center;padding:var(--spacing-lg);color:var(--color-text-secondary)}.empty-checklist .btn{margin-top:var(--spacing-md)}.checklist-category{margin-bottom:var(--spacing-lg)}.checklist-category:last-child{margin-bottom:0}.category-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);padding:5px}.category-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.checklist-item-result{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background-color:var(--color-bg);border-radius:var(--radius-md)}.checklist-item-result .badge{min-width:60px;text-align:center}.item-name{flex:1;font-weight:500}.item-obs{font-size:.875rem;color:var(--color-text-secondary)}@media (max-width: 1024px){.detail-grid{grid-template-columns:1fr}}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.page-header .btn{width:100%;margin-top:var(--spacing-md)}}.signature-pad{display:flex;flex-direction:column;gap:var(--spacing-sm)}.signature-pad-canvas-wrapper{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:#1e293b}.signature-pad-canvas-wrapper canvas{display:block;width:100%!important;height:160px!important;touch-action:none}.signature-pad-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;color:var(--color-text-muted);pointer-events:none}.signature-pad-clear{align-self:flex-start}.signature-pad--disabled .signature-pad-canvas-wrapper{pointer-events:none;opacity:.6}.signature-pad--disabled .signature-pad-clear{pointer-events:none}.nueva-recepcion-page{max-width:960px;margin:0 auto;padding:0 var(--spacing-md)}.nueva-recepcion-page .page-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.nueva-recepcion-page .page-header>div{display:flex;flex-direction:column;gap:var(--spacing-sm)}.nueva-recepcion-page .back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s ease;width:fit-content}.nueva-recepcion-page .back-link:hover{color:var(--color-primary-400)}.nueva-recepcion-page .page-header h1{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0}.nueva-recepcion-page .recepcion-form{background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-md)}.nueva-recepcion-page .form-error-alert{background:var(--color-rojo-bg);color:var(--color-rojo);padding:var(--spacing-md) var(--spacing-xl);font-size:.875rem;font-weight:500}.nueva-recepcion-page .form-section{padding:var(--spacing-xl) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.nueva-recepcion-page .form-section:last-of-type{border-bottom:none}.nueva-recepcion-page .form-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.nueva-recepcion-page .form-section h2{font-size:.95rem;font-weight:600;color:var(--color-text);margin:0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-sm)}.nueva-recepcion-page .form-section h2:before{content:"";width:4px;height:1.25em;background:var(--gradient-primary);border-radius:var(--radius-full);flex-shrink:0}.nueva-recepcion-page .form-section h3{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.nueva-recepcion-page .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg) var(--spacing-xl)}.nueva-recepcion-page .form-row.form-row--3{grid-template-columns:repeat(3,1fr)}.nueva-recepcion-page .form-row.form-row--4{grid-template-columns:repeat(4,1fr)}.nueva-recepcion-page .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0;margin-bottom:0}.nueva-recepcion-page .form-label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);margin:0}.nueva-recepcion-page .form-group .radio-group--modo{display:inline-flex;width:fit-content;background:var(--color-neutral-800);border-radius:var(--radius-lg);padding:var(--spacing-xs);gap:0;border:1px solid var(--color-border)}.nueva-recepcion-page .form-group .radio-group--modo .radio-label{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin:0;font-size:.875rem;white-space:nowrap;transition:all .2s ease}.nueva-recepcion-page .form-group .radio-group--modo .radio-label:has(input:checked){background:var(--gradient-primary);color:#fff}.nueva-recepcion-page .form-group .radio-group--modo .radio-label input{position:absolute;opacity:0;pointer-events:none}.nueva-recepcion-page .form-group .radio-group--modo .radio-label:has(input:disabled){opacity:.5;cursor:not-allowed}.nueva-recepcion-page .radio-group{display:flex;gap:var(--spacing-lg);align-items:center;flex-wrap:wrap}.nueva-recepcion-page .radio-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.875rem;color:var(--color-text-secondary)}.nueva-recepcion-page .radio-label input{width:18px;height:18px;accent-color:var(--color-primary-500);flex-shrink:0}.nueva-recepcion-page .radio-label span{-webkit-user-select:none;user-select:none}.nueva-recepcion-page .vehiculo-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm) var(--spacing-xl);background:var(--color-neutral-800);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-top:var(--spacing-md);border:1px solid var(--color-border)}.nueva-recepcion-page .vehiculo-preview-item{display:flex;gap:var(--spacing-sm);padding:0;align-items:baseline}.nueva-recepcion-page .vehiculo-preview-item .label{font-weight:500;color:var(--color-text-muted);min-width:90px;font-size:.8125rem}.nueva-recepcion-page .vehiculo-preview-item span:last-child{color:var(--color-text);font-size:.875rem}.nueva-recepcion-page .form-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);background:var(--color-neutral-800);border-top:1px solid var(--color-border);flex-wrap:wrap}.nueva-recepcion-page .form-actions .btn{min-width:140px}.nueva-recepcion-page .form-group--firma{display:flex;flex-direction:column;gap:var(--spacing-sm)}.nueva-recepcion-page .form-textarea{min-height:100px;resize:vertical;background:var(--color-neutral-800);color:var(--color-text);border:1px solid var(--color-border)}.nueva-recepcion-page .form-textarea::placeholder{color:var(--color-text-muted)}.nueva-recepcion-page .form-section .vehiculo-diagram-container{margin:var(--spacing-md) 0;background:var(--color-neutral-800)!important;border:1px solid var(--color-border)}@media (max-width: 900px){.nueva-recepcion-page .form-row.form-row--4,.nueva-recepcion-page .form-row.form-row--3{grid-template-columns:repeat(2,1fr)}.nueva-recepcion-page .vehiculo-preview{grid-template-columns:1fr}}@media (max-width: 768px){.nueva-recepcion-page{padding:0 var(--spacing-sm);max-width:100%}.nueva-recepcion-page .form-section{padding:var(--spacing-lg) var(--spacing-md)}.nueva-recepcion-page .form-row,.nueva-recepcion-page .form-row.form-row--3,.nueva-recepcion-page .form-row.form-row--4{grid-template-columns:1fr;gap:var(--spacing-md)}.nueva-recepcion-page .form-group .radio-group--modo{flex-direction:column;width:100%}.nueva-recepcion-page .form-group .radio-group--modo .radio-label{width:100%;justify-content:center}.nueva-recepcion-page .form-actions{flex-direction:column-reverse;padding:var(--spacing-lg)}.nueva-recepcion-page .form-actions .btn{width:100%;min-width:unset}}.checklist-page{max-width:900px;margin:0 auto;padding-bottom:100px}.checklist-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-lg)}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-sm)}.progress-indicator{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs);min-width:120px}.progress-bar{width:100%;height:8px;background-color:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:var(--color-verde);transition:width .3s ease}.progress-text{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.checklist-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.checklist-category{background-color:#ffffff0a;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);overflow:hidden}.category-header{padding:var(--spacing-md) var(--spacing-lg);background-color:#1e293b99;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:1px solid rgba(255,255,255,.06)}.category-items{padding:var(--spacing-sm)}.checklist-item{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);transition:background-color .15s ease}.checklist-item:hover{background-color:#ffffff0f}.item-header{display:flex;align-items:center;justify-content:space-between}.item-name{font-weight:500;font-size:1rem}.semaforo-buttons{display:flex;gap:var(--spacing-md);justify-content:center}.semaforo-btn{width:72px;height:72px;border-radius:var(--radius-lg);border:3px solid transparent;background-color:#1e293b80;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.semaforo-btn:hover{transform:scale(1.05)}.semaforo-btn.verde{border-color:var(--color-verde)}.semaforo-btn.verde:hover,.semaforo-btn.verde.active{background-color:var(--color-verde);color:#fff;box-shadow:0 4px 12px #10b9814d}.semaforo-btn.ambar{border-color:var(--color-ambar)}.semaforo-btn.ambar:hover,.semaforo-btn.ambar.active{background-color:var(--color-ambar);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.semaforo-btn.rojo{border-color:var(--color-rojo)}.semaforo-btn.rojo:hover,.semaforo-btn.rojo.active{background-color:var(--color-rojo);color:#fff;box-shadow:0 4px 12px #ef44444d}.item-observaciones{animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.checklist-footer{position:fixed;bottom:0;left:260px;right:0;padding:var(--spacing-lg);background-color:#1e293bd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end;gap:var(--spacing-sm);box-shadow:var(--shadow-lg)}@media (max-width: 1024px){.checklist-footer{left:0;bottom:60px}.checklist-header{flex-direction:column}.progress-indicator{width:100%;align-items:flex-start}.semaforo-btn{width:64px;height:64px}.checklist-footer .btn{flex:1}}@media (max-width: 480px){.semaforo-btn{width:56px;height:56px}.semaforo-btn svg{width:20px;height:20px}}.interactions-page{max-width:1400px;margin:0 auto}.interactions-controls{margin-bottom:var(--spacing-md)}.interactions-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.interactions-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.interactions-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.interactions-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.interactions-table-wrap{margin-top:var(--spacing-md)}.interactions-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.interactions-table{width:100%;border-collapse:collapse;font-size:.9rem}.interactions-table th,.interactions-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.interactions-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.interactions-table tbody tr:hover{background:var(--color-surface-hover)}.interactions-table .th-actions,.interactions-table .td-actions{white-space:nowrap;text-align:right}.interactions-table-link{color:var(--color-primary-400);text-decoration:none;font-weight:500}.interactions-table-link:hover{text-decoration:underline}.interactions-table .dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}.interactions-table .dot-verde{background-color:var(--color-verde);color:var(--color-verde)}.interactions-table .dot-ambar{background-color:var(--color-ambar);color:var(--color-ambar)}.interactions-table .dot-rojo{background-color:var(--color-rojo);color:var(--color-rojo)}.interactions-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-md)}.interactions-page .page-header h1{margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.interactions-page .page-header h1 svg{color:var(--color-primary-400)}.interactions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.interaction-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-lg);text-decoration:none;color:inherit;transition:all .2s ease}.interaction-card:hover{border-color:var(--color-border-highlight);box-shadow:var(--shadow-glow);transform:translateY(-4px);text-decoration:none}.interaction-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.interaction-ref{font-weight:700;font-size:1.25rem;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.025em}.interaction-date{font-size:.875rem;color:var(--color-text-muted)}.interaction-card-body{margin-bottom:var(--spacing-md)}.interaction-card-body h3{font-size:1rem;font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text)}.interaction-card-body p{color:var(--color-text-secondary);font-size:.875rem}.interaction-type-badge{display:inline-block;margin-top:var(--spacing-xs);font-size:.75rem;padding:2px 8px;border-radius:var(--radius-md);background:var(--color-border);color:var(--color-text-secondary)}.interaction-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.interaction-card-footer .checklist-summary{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:500}.interaction-card-footer .dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}.interaction-card-footer .dot-verde{color:var(--color-verde)}.interaction-card-footer .dot-ambar{color:var(--color-ambar)}.interaction-card-footer .dot-rojo{color:var(--color-rojo)}@media (max-width: 768px){.interactions-page .page-header{flex-direction:column;align-items:stretch}.interactions-page .page-header .btn{width:100%}.interactions-grid{grid-template-columns:1fr}}.assets-page{max-width:1400px;margin:0 auto}.assets-controls{margin-bottom:var(--spacing-md)}.assets-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.assets-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.assets-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.assets-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.assets-table-wrap{margin-top:var(--spacing-md)}.assets-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.assets-table{width:100%;border-collapse:collapse;font-size:.9rem}.assets-table th,.assets-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.assets-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.assets-table tbody tr:hover{background:var(--color-surface-hover)}.assets-table .th-actions,.assets-table .td-actions{white-space:nowrap;text-align:right}.assets-table-link{color:var(--color-primary-400);text-decoration:none;font-weight:500}.assets-table-link:hover{text-decoration:underline}.assets-page .filters-bar{display:grid;grid-template-columns:minmax(220px,1fr) 200px auto;grid-template-rows:auto 42px;gap:0 var(--spacing-lg);row-gap:var(--spacing-xs);align-items:end;padding:var(--spacing-lg) var(--spacing-xl);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:var(--spacing-xl)}.assets-page .filters-bar .filter-label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;line-height:1.2;margin-bottom:2px}.assets-page .filters-bar .filter-label-spacer{display:block;height:0;visibility:hidden}.assets-page .filters-bar .filter-select{height:42px;padding:0 var(--spacing-md);background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:.9375rem;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;cursor:pointer}.assets-page .filters-bar .filter-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.assets-page .filters-bar .search-input-wrapper{position:relative;display:flex;align-items:center;min-height:42px;height:42px;min-width:0;padding:0 var(--spacing-md) 0 calc(var(--spacing-md) + 20px + var(--spacing-sm));background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.assets-page .filters-bar .search-input-wrapper svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none;flex-shrink:0}.assets-page .filters-bar .search-input{flex:1;min-width:0;width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;font-size:.9375rem;color:var(--color-text)}.assets-page .filters-bar .search-input:focus{box-shadow:none;outline:none}.assets-page .filters-bar .search-input-wrapper:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.assets-page .filters-bar .search-input::placeholder{color:var(--color-text-muted)}.assets-page .btn-clear-filters{display:inline-flex;align-items:center;gap:var(--spacing-sm);height:42px;padding:0 var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:.875rem;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.assets-page .btn-clear-filters:hover{color:var(--color-text);border-color:var(--color-text-muted);background:#ffffff0d}.assets-page .btn-clear-filters svg{width:16px;height:16px;flex-shrink:0}@media (max-width: 600px){.assets-page .filters-bar{grid-template-columns:1fr;padding:var(--spacing-md)}.assets-page .filters-bar .search-input-wrapper,.assets-page .btn-clear-filters{grid-column:1}}.assets-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-md)}.assets-page .page-header h1{margin-bottom:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-sm)}.assets-page .page-header h1 svg{color:var(--color-primary-400)}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-xl)}.asset-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-xl);text-decoration:none;color:inherit;transition:all .2s ease;display:flex;flex-direction:column}.asset-card:hover{border-color:var(--color-border-highlight);box-shadow:var(--shadow-glow);transform:translateY(-4px);text-decoration:none}.asset-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.asset-ref{font-weight:700;font-size:1.25rem;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.025em}.asset-type-badge{font-size:.75rem;padding:2px 8px;border-radius:var(--radius-md);background:var(--color-border);color:var(--color-text-secondary)}.asset-card-body{margin-bottom:var(--spacing-md)}.asset-card-body h3{font-size:1rem;font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text)}.asset-card-body p{color:var(--color-text-secondary);font-size:.875rem}.asset-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);margin-top:auto;border-top:1px solid var(--color-border)}.asset-date{font-size:.875rem;color:var(--color-text-muted)}@media (max-width: 768px){.assets-page .page-header{flex-direction:column;align-items:stretch}.assets-grid{grid-template-columns:1fr}}.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-modal{background:var(--color-bg-elevated, #1e293b);border-radius:1rem;width:100%;max-width:420px;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--color-border, rgba(255, 255, 255, .1))}.confirm-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1));display:flex;justify-content:space-between;align-items:center}.confirm-modal-header h2{font-size:1.25rem;font-weight:700;color:var(--color-text, #f1f5f9);margin:0}.confirm-modal-close{padding:.5rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;color:#94a3b8;transition:all .2s ease}.confirm-modal-close:hover:not(:disabled){background:#ffffff0d;color:#f1f5f9}.confirm-modal-close:disabled{opacity:.5;cursor:not-allowed}.confirm-modal-body{padding:1.5rem;text-align:center}.confirm-modal-icon{display:flex;justify-content:center;margin-bottom:1rem}.confirm-modal--danger .confirm-modal-icon,.confirm-modal--warning .confirm-modal-icon{color:#f59e0b}.confirm-modal-message{color:var(--color-text, #e2e8f0);margin:0 0 .5rem;font-size:.9375rem;line-height:1.5}.confirm-modal-message strong{font-weight:600}.confirm-modal-warning{font-size:.875rem;color:#94a3b8;margin:0}.confirm-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border, rgba(255, 255, 255, .1));display:flex;justify-content:flex-end;gap:.75rem}.confirm-modal-btn-cancel{padding:.625rem 1.25rem;border:1px solid var(--color-border, rgba(255, 255, 255, .2));border-radius:.5rem;background:transparent;color:#e2e8f0;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-modal-btn-cancel:hover:not(:disabled){background:#ffffff0d}.confirm-modal-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.confirm-modal-btn-confirm{padding:.625rem 1.25rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-modal--danger .confirm-modal-btn-confirm{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.confirm-modal--danger .confirm-modal-btn-confirm:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.confirm-modal--warning .confirm-modal-btn-confirm{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.confirm-modal--warning .confirm-modal-btn-confirm:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.confirm-modal-btn-confirm:disabled{opacity:.7;cursor:not-allowed;transform:none}.recordatorios-page{max-width:1000px;margin:0 auto}.recordatorios-page .channel-buttons{display:flex;gap:var(--spacing-xs)}.recordatorios-page .channel-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;transition:all .15s}.recordatorios-page .channel-btn:hover{border-color:var(--color-primary-300);color:var(--color-text)}.recordatorios-page .channel-btn.active{border-color:var(--color-primary-500);background:var(--color-surface-hover);color:var(--color-primary-400)}.recordatorios-page .form-hint{font-size:.8rem;color:var(--color-text-secondary);display:block}.recordatorios-controls{margin-bottom:var(--spacing-md)}.recordatorios-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.recordatorios-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.recordatorios-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.recordatorios-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.recordatorios-table-wrap{margin-top:var(--spacing-md)}.recordatorios-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.recordatorios-table{width:100%;border-collapse:collapse;font-size:.9rem}.recordatorios-table th,.recordatorios-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.recordatorios-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.recordatorios-table tbody tr:hover{background:var(--color-surface-hover)}.recordatorios-table .recordatorios-table-motivo{max-width:240px}.recordatorios-table .th-actions,.recordatorios-table .td-actions{white-space:nowrap;text-align:right}.recordatorios-table .td-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.filter-btn{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.empty-state{text-align:center;padding:var(--spacing-2xl);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.empty-state svg{color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.empty-state h3{margin-bottom:var(--spacing-xs)}.empty-state p{color:var(--color-text-secondary)}.recordatorios-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.recordatorio-card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.recordatorio-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.recordatorio-date{font-size:.875rem;color:var(--color-text-secondary)}.recordatorio-body{padding:var(--spacing-lg)}.recordatorio-body h3{font-size:1.125rem;margin-bottom:var(--spacing-md)}.recordatorio-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.info-row svg{color:var(--color-text-muted)}.recordatorio-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border)}.modal-content{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.modal-form .form-group{margin-bottom:var(--spacing-lg)}.modal-form .form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-text-secondary);font-size:.875rem}.modal-form .form-group input,.modal-form .form-group textarea,.modal-form .form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;font-family:inherit;background:var(--color-neutral-800);color:var(--color-text);transition:all .2s ease}.modal-form .form-group input:focus,.modal-form .form-group textarea:focus,.modal-form .form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.modal-form .form-group textarea{resize:vertical;min-height:80px}.modal-form .form-group input::placeholder,.modal-form .form-group textarea::placeholder{color:var(--color-text-muted)}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 768px){.recordatorio-info{grid-template-columns:1fr}.recordatorio-actions{flex-direction:column}.recordatorio-actions .btn{width:100%}.filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--spacing-sm)}.filter-btn{flex-shrink:0}.form-row-2col{grid-template-columns:1fr}.modal-overlay{padding:var(--spacing-md)}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.clientes-page{max-width:1400px;margin:0 auto}.clientes-controls{margin-bottom:var(--spacing-md)}.clientes-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.clientes-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.clientes-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.clientes-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.clientes-table-wrap{margin-top:var(--spacing-md)}.clientes-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.clientes-table{width:100%;border-collapse:collapse;font-size:.9rem}.clientes-table th,.clientes-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.clientes-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.clientes-table tbody tr:hover{background:var(--color-surface-hover)}.clientes-table .th-actions,.clientes-table .td-actions{white-space:nowrap;text-align:right}.clientes-table-link{color:var(--color-primary-400);text-decoration:none;font-weight:500}.clientes-table-link:hover{text-decoration:underline}.search-container{margin-bottom:var(--spacing-lg)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:var(--spacing-md);color:var(--color-text-muted);pointer-events:none}.search-input{width:100%;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) * 2 + 24px);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;background:var(--color-neutral-800);color:var(--color-text);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.search-input::placeholder{color:var(--color-text-muted)}.clientes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.cliente-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-lg);text-decoration:none;color:inherit;transition:all .2s ease}.cliente-card:hover{border-color:var(--color-border-highlight);box-shadow:var(--shadow-glow);transform:translateY(-4px);text-decoration:none}.cliente-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.cliente-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem;box-shadow:0 4px 15px #00a3ff40}.cliente-date{font-size:.875rem;color:var(--color-text-muted)}.cliente-card-body{margin-bottom:var(--spacing-md)}.cliente-card-body h3{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text)}.cliente-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.info-row svg{color:var(--color-primary-400);flex-shrink:0}.cliente-card-footer{display:flex;justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal-content{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.modal-close{background:var(--color-surface);border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--spacing-sm);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);transition:all .2s ease}.modal-form{padding:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-text-secondary);font-size:.875rem}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;font-family:inherit;background:var(--color-neutral-800);color:var(--color-text);transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group textarea{resize:vertical;min-height:100px}.form-error{background:var(--color-rojo-bg);color:var(--color-rojo);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:.875rem;border:1px solid rgba(239,68,68,.3)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.modal-actions .btn{min-width:120px}.clientes-page .form-group .radio-group--modo{display:inline-flex;width:fit-content;background:var(--color-neutral-800);border-radius:var(--radius-lg);padding:var(--spacing-xs);gap:0;border:1px solid var(--color-border)}.clientes-page .form-group .radio-group--modo .radio-label{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin:0;font-size:.875rem;white-space:nowrap;transition:all .2s ease;cursor:pointer}.clientes-page .form-group .radio-group--modo .radio-label:has(input:checked){background:var(--gradient-primary);color:#fff}.clientes-page .form-group .radio-group--modo .radio-label input{position:absolute;opacity:0;pointer-events:none}.clientes-page .form-group .form-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.9375rem;color:var(--color-text);font-weight:500}.clientes-page .form-group .form-checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;margin:0;flex-shrink:0;accent-color:var(--color-primary-500);cursor:pointer}.cliente-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm)}.cliente-badge.badge-particular{background:var(--info-bg, #e0f2fe);color:var(--info-text, #0369a1)}.cliente-badge.badge-empresa{background:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-header .btn{width:100%}.clientes-grid{grid-template-columns:1fr}.modal-overlay{padding:var(--spacing-md)}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.cliente-detail-page{max-width:1200px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);text-decoration:none;margin-bottom:var(--spacing-sm);font-size:.875rem;transition:color .15s ease}.back-link:hover{color:var(--color-primary)}.header-actions{display:flex;gap:var(--spacing-md)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.card-header h2{margin:0;font-size:1.25rem;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:.875rem;color:var(--color-text-muted);font-weight:500}.info-value{font-size:1rem;color:var(--color-text);word-break:break-word}.info-value p{margin:0;white-space:pre-wrap}.edit-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-weight:500;color:var(--color-text);font-size:.875rem}.form-group input,.form-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;background-color:var(--color-background);color:var(--color-text);transition:border-color .15s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:80px}.form-group .form-checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:.9375rem;color:var(--color-text);font-weight:500}.form-group .form-checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;margin:0;flex-shrink:0;accent-color:var(--color-primary-500);cursor:pointer}.form-group .form-checkbox-label:hover{color:var(--color-text)}.form-error{background-color:var(--color-rojo-light);color:var(--color-rojo);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem}.empty-state-small{text-align:center;padding:var(--spacing-lg);color:var(--color-text-muted)}.vehiculos-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.vehiculo-item{display:flex;flex-direction:column;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:all .15s ease}.vehiculo-item:hover{border-color:var(--color-primary);background-color:var(--color-background);text-decoration:none}.vehiculo-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.vehiculo-matricula{font-weight:600;font-size:1rem;color:var(--color-primary);letter-spacing:.025em}.vehiculo-item-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.vehiculo-marca-modelo{font-size:.875rem;color:var(--color-text);margin:0}.vehiculo-kms{font-size:.875rem;color:var(--color-text-muted);margin:0}.btn-danger{background-color:var(--color-rojo);color:#fff;border:none}.btn-danger:hover{background-color:var(--color-rojo-dark, #c53030)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}.header-actions{flex-direction:column}.header-actions .btn{width:100%}.detail-grid,.info-grid{grid-template-columns:1fr}}.cliente-detail-page .form-group .radio-group--modo{display:inline-flex;width:fit-content;background:var(--color-neutral-800);border-radius:var(--radius-lg);padding:var(--spacing-xs);gap:0;border:1px solid var(--color-border)}.cliente-detail-page .form-group .radio-group--modo .radio-label{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin:0;font-size:.875rem;white-space:nowrap;transition:all .2s ease;cursor:pointer}.cliente-detail-page .form-group .radio-group--modo .radio-label:has(input:checked){background:var(--gradient-primary);color:#fff}.cliente-detail-page .form-group .radio-group--modo .radio-label input{position:absolute;opacity:0;pointer-events:none}.facturas-page{max-width:1200px;margin:0 auto}.facturas-controls{margin-bottom:var(--spacing-md)}.facturas-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.facturas-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.facturas-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.facturas-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.facturas-table-wrap{margin-top:var(--spacing-md)}.facturas-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.facturas-table{width:100%;border-collapse:collapse;font-size:.9rem}.facturas-table th,.facturas-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.facturas-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.facturas-table .text-right{text-align:right}.facturas-table tbody tr:hover{background:var(--color-surface-hover)}.facturas-table .th-actions,.facturas-table .td-actions{white-space:nowrap;text-align:right}.facturas-table-link{color:var(--color-primary-400);text-decoration:none;font-weight:500}.facturas-table-link:hover{text-decoration:underline}.filters-bar{display:flex;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.filters-bar .filters{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.facturas-page .search-input-wrapper{position:relative;display:flex;align-items:center;flex-shrink:0;min-width:260px;max-width:400px;height:42px;padding:0 var(--spacing-md) 0 calc(var(--spacing-md) + 20px + var(--spacing-sm));background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.facturas-page .search-input-wrapper svg{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none}.facturas-page .search-input{flex:1;min-width:0;width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;font-size:.9375rem;line-height:1;color:var(--color-text);vertical-align:middle}.facturas-page .search-input:focus{outline:none}.facturas-page .search-input-wrapper:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.facturas-page .search-input::placeholder{color:var(--color-text-muted)}.filter-btn{height:42px;padding:0 var(--spacing-md);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:.875rem;box-sizing:border-box;transition:all .15s ease}.filter-btn:hover{border-color:var(--color-primary);background-color:var(--color-background)}.filter-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-clear-filters{display:inline-flex;align-items:center;gap:var(--spacing-sm);height:42px;padding:0 var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:.875rem;cursor:pointer;transition:color .2s,border-color .2s,background .2s;box-sizing:border-box}.btn-clear-filters:hover{color:var(--color-text);border-color:var(--color-text-muted);background:#ffffff0d}.btn-clear-filters svg{width:16px;height:16px;flex-shrink:0}.facturas-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg)}.factura-card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--spacing-lg);text-decoration:none;color:inherit;transition:all .15s ease}.factura-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);text-decoration:none}.factura-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.factura-card-header>div{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.factura-numero{font-weight:600;font-size:1.125rem;color:var(--color-primary)}.factura-date{font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.factura-card-body{margin-bottom:var(--spacing-md)}.factura-card-body h3{font-size:1rem;font-weight:500;margin-bottom:var(--spacing-xs)}.factura-totals{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.total-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.total-item-main{font-weight:600;font-size:1rem;padding-top:var(--spacing-xs);border-top:1px solid var(--color-border);margin-top:var(--spacing-xs)}.factura-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.factura-items-count{font-size:.875rem;color:var(--color-text-muted)}.badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.badge-borrador{background-color:var(--color-ambar-light, #fef3c7);color:var(--color-ambar-dark, #92400e)}.badge-emitida,.badge-pagada{background-color:var(--color-verde-light, #d1fae5);color:var(--color-verde-dark, #065f46)}.badge-cancelada{background-color:var(--color-rojo-light, #fee2e2);color:var(--color-rojo-dark, #991b1b)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.page-header .btn{width:100%}.facturas-list{grid-template-columns:1fr}.factura-card-header{flex-direction:column;align-items:flex-start}}.factura-detail-page{max-width:1200px;margin:0 auto}.factura-detail-page .page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.factura-detail-page .header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.factura-items-table{margin-bottom:var(--spacing-lg);overflow-x:auto}.factura-items-table table{width:100%;border-collapse:collapse}.factura-items-table th,.factura-items-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.factura-items-table th{font-weight:600;color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.025em}.factura-items-table .text-right{text-align:right}.factura-totals{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:2px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}@media (max-width: 768px){.factura-items-table{font-size:.875rem}.factura-items-table th,.factura-items-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.nueva-factura-page{max-width:1000px;margin:0 auto}.factura-form{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.form-section{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.form-section:last-of-type{border-bottom:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-secondary)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem}.factura-items{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.factura-item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:var(--spacing-md);align-items:start}.item-concepto{grid-column:1}.item-cantidad{grid-column:2}.item-precio{grid-column:3}.item-total{grid-column:4;padding:var(--spacing-sm) 0;font-weight:500;color:var(--color-text);display:flex;align-items:center}.btn-remove-item{background:none;border:none;color:var(--color-rojo);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .15s ease}.btn-remove-item:hover:not(:disabled){background-color:var(--color-rojo-light, #fee2e2)}.btn-remove-item:disabled{opacity:.3;cursor:not-allowed}.factura-totals-summary{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:2px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end}.total-row{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:300px;font-size:.875rem}.total-row-main{font-weight:600;font-size:1.125rem;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);margin-top:var(--spacing-sm)}.total-label{color:var(--color-text-secondary)}.total-value{color:var(--color-text);font-weight:500}.form-actions{padding:var(--spacing-lg);background-color:var(--color-background);display:flex;justify-content:flex-end;gap:var(--spacing-md)}@media (max-width: 768px){.factura-item-row{grid-template-columns:1fr;gap:var(--spacing-sm)}.item-concepto,.item-cantidad,.item-precio{grid-column:1}.item-total{grid-column:1;justify-content:flex-end}.btn-remove-item{grid-column:1;justify-self:flex-end}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.citas-page{max-width:1400px;margin:0 auto}.citas-header{padding:var(--spacing-md) 0}.citas-header .citas-header-main{display:flex;flex-direction:column;gap:var(--spacing-md)}.citas-header .section-header-title{align-items:center}.citas-header-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.citas-header-top .section-header-title{flex:1;min-width:0}.citas-action-config,.citas-action-new,.citas-action-refresh{flex-shrink:0}.citas-btn-refresh{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.citas-btn-refresh:hover:not(:disabled){color:var(--color-primary-400);border-color:var(--color-primary-400);background:var(--color-surface-hover)}.citas-btn-refresh:disabled{opacity:.6;cursor:default}.citas-refresh-spin{animation:citas-refresh-spin .8s linear infinite}@keyframes citas-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.citas-link-config{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;color:var(--color-text-secondary);text-decoration:none;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:color .15s ease,border-color .15s ease,background .15s ease}.citas-link-config:hover{color:var(--color-primary-400);border-color:var(--color-primary-400);background:var(--color-surface-hover)}.citas-link-config svg{flex-shrink:0}.citas-controls{width:100%;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.citas-controls-content{width:100%}.citas-controls-mobile-trigger{display:none}.citas-controls-row{display:flex;flex-wrap:wrap;gap:var(--spacing-xl);align-items:flex-start}.citas-control-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm)}.citas-filtros-acordeon-wrap{width:100%;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}.citas-filtros-acordeon{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.citas-filtros-acordeon-trigger{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease;text-align:left}.citas-filtros-acordeon-trigger:hover{background:var(--color-surface-hover);color:var(--color-text)}.citas-filtros-acordeon-trigger.open{color:var(--color-text)}.citas-filtros-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 4px;font-size:.75rem;font-weight:600;color:#fff;background:var(--color-primary-500);border-radius:var(--radius-full)}.citas-filtros-chevron{margin-left:auto;transition:transform .2s ease}.citas-filtros-acordeon-trigger.open .citas-filtros-chevron{transform:rotate(180deg)}.citas-filtros-acordeon-content{max-height:0;overflow:hidden;transition:max-height .25s ease}.citas-filtros-acordeon-content.open{max-height:400px}.citas-filtros-acordeon-content .citas-controls-row{padding:var(--spacing-md);padding-top:0;border-top:1px solid var(--color-border)}.citas-filtros-fecha-cliente .citas-control-group{flex-direction:column;align-items:stretch}.citas-filtros-fecha-cliente .citas-control-group:first-child input{min-width:220px}.control-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;width:100%;margin-bottom:2px}.citas-page .scope-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.citas-page .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.citas-page .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.citas-page .scope-btn.active{background:var(--color-primary-500);color:#fff}.form-input-sm{width:180px;padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}.estado-pills{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.estado-pill{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease}.estado-pill:hover{border-color:var(--color-border-highlight);color:var(--color-primary-400)}.estado-pill.active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.citas-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.citas-list-table-wrap{margin-top:var(--spacing-lg)}.citas-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.citas-table{width:100%;border-collapse:collapse;font-size:.9rem}.citas-table th,.citas-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.citas-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.citas-table tbody tr:hover{background:var(--color-surface-hover)}.citas-table .th-actions,.citas-table .td-actions{white-space:nowrap}.citas-table .td-actions{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.estado-badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.date-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.date-header{font-size:1rem;font-weight:600;color:var(--color-text);text-transform:capitalize;padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-primary-500);display:inline-block;margin-bottom:var(--spacing-sm)}.citas-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:var(--spacing-md)}.cita-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);padding:var(--spacing-lg);border:1px solid var(--color-border);border-left:4px solid var(--color-primary-500);transition:all .2s ease}.cita-card:hover{box-shadow:var(--shadow-glow);transform:translateY(-4px);border-color:var(--color-border-highlight);border-left-color:var(--color-primary-400)}.cita-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.cita-time{font-weight:600;font-size:1.1rem;color:var(--color-text)}.cita-estado{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.cita-motivo{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.cita-details{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.detail-row{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.9rem}.detail-row svg{color:var(--color-primary-400);flex-shrink:0}.detail-row.observaciones{font-style:italic;opacity:.8}.cita-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.btn-sm{padding:6px 12px;font-size:.85rem;border-radius:var(--radius-full)}.btn-success{background:var(--color-verde);color:#fff;border:none;box-shadow:0 4px 12px #10b98140}.btn-success:hover{background:#059669;transform:translateY(-1px)}.btn-danger{background:transparent;color:var(--color-rojo);border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:var(--color-rojo);color:#fff;border-color:var(--color-rojo)}.citas-fullcalendar-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);overflow:hidden}.citas-fullcalendar-wrap .fc{--fc-border-color: var(--color-border);--fc-button-bg-color: var(--color-neutral-700);--fc-button-border-color: var(--color-border);--fc-button-hover-bg-color: var(--color-primary-500);--fc-button-hover-border-color: var(--color-primary-500);--fc-button-active-bg-color: var(--color-primary-600);--fc-today-bg-color: rgba(0, 163, 255, .08);--fc-page-bg-color: transparent;--fc-neutral-bg-color: var(--color-bg-elevated);--fc-list-event-hover-bg-color: var(--color-surface-hover)}.citas-fullcalendar-wrap .fc-theme-standard td,.citas-fullcalendar-wrap .fc-theme-standard th{border-color:var(--color-border)}.citas-fullcalendar-wrap .fc-col-header-cell{background:var(--color-neutral-800)}.citas-fullcalendar-wrap .fc-col-header-cell-cushion{color:var(--color-text-secondary);font-weight:600;padding:var(--spacing-sm) var(--spacing-md)}.citas-fullcalendar-wrap .fc-daygrid-day-number{color:var(--color-text-muted);font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.citas-fullcalendar-wrap .fc-day-today .fc-daygrid-day-number{background:var(--color-primary-500);color:#fff;border-radius:50%;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center}.citas-fullcalendar-wrap .fc-scrollgrid{border-radius:var(--radius-lg)}.citas-fullcalendar-wrap .fc-button{text-transform:capitalize;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md)}.citas-fullcalendar-wrap .fc-button-primary:not(:disabled):hover{background:var(--color-primary-500)!important;border-color:var(--color-primary-500)!important}.citas-fullcalendar-wrap .fc-toolbar-title{font-size:1.25rem;font-weight:600;color:var(--color-text)}.citas-fullcalendar-wrap .fc-event{border-radius:var(--radius-sm);padding:2px 6px;font-size:.8rem;cursor:pointer;border:none!important}.citas-fullcalendar-wrap .fc-event:hover{filter:brightness(1.1)}.citas-fullcalendar-wrap .fc-timegrid-slot{height:3rem}.citas-fullcalendar-wrap .fc-timegrid-slot-label{color:var(--color-text-muted);font-size:.8rem}.citas-fullcalendar-wrap .fc-timegrid-now-indicator-line{border-color:var(--color-primary-500);border-width:2px}.citas-fullcalendar-wrap .fc-list-event:hover td{background:var(--color-surface-hover)}.citas-fullcalendar-wrap .fc-list-event-title{color:var(--color-text)}.citas-fullcalendar-wrap .fc-list-event-time{color:var(--color-text-secondary)}.citas-calendar-mobile.citas-fullcalendar-wrap{padding:var(--spacing-md);margin-top:var(--spacing-md)}.citas-calendar-mobile .fc-toolbar{flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);touch-action:manipulation}.citas-calendar-mobile .fc-toolbar-chunk{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--spacing-xs);min-height:44px}.citas-calendar-mobile .fc-toolbar-title{font-size:1rem;text-align:center}.citas-calendar-mobile .fc-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:.85rem;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}.citas-calendar-mobile .fc-button .fc-icon{font-size:1rem}.citas-calendar-mobile .fc-col-header-cell-cushion,.citas-calendar-mobile .fc-daygrid-day-number{font-size:.8rem;padding:var(--spacing-xs)}.citas-calendar-mobile .fc-event{font-size:.75rem;padding:2px 4px}.citas-calendar-mobile .fc-list-event-title{font-size:.85rem}.citas-calendar-mobile .fc-list-event-time{font-size:.8rem}.citas-fullcalendar-wrap .fc-daygrid-more-link{color:var(--color-primary-400);font-weight:500}.citas-fullcalendar-wrap .fc-daygrid-day-frame{min-height:100px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--color-text)}.modal-close{background:var(--color-surface);border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-lg);transition:all .2s ease}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md)}.form-label{display:block;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:.875rem}.form-input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;transition:all .2s ease;background:var(--color-neutral-800);color:var(--color-text)}.form-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}textarea.form-input{resize:vertical;min-height:80px}.color-picker{display:flex;gap:var(--spacing-sm)}.color-option{width:32px;height:32px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--color-text);box-shadow:var(--shadow-md)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);margin-top:var(--spacing-md)}.citas-list .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);min-height:280px}.empty-state-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);opacity:.5;margin-bottom:var(--spacing-md)}.empty-state-icon svg{width:48px;height:48px}.empty-state h3{margin:0;font-size:1.1rem;color:var(--color-text)}.empty-state p{margin:var(--spacing-sm) 0 var(--spacing-lg) 0;font-size:.95rem;max-width:320px}.empty-state .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.cita-slots-picker{margin-top:var(--spacing-sm)}.cita-slots-by-tramo{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cita-slots-tramo-title{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-xs)}.cita-slots-tramo:first-child .cita-slots-tramo-title{margin-top:0}.cita-slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xs);flex-wrap:wrap}.cita-slot-btn{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:.875rem;cursor:pointer;transition:all .15s}.cita-slot-btn:hover{border-color:var(--color-primary-400);background:var(--color-primary-50, #eff6ff)}.cita-slot-btn.selected{border-color:var(--color-primary-500);background:var(--color-primary-500);color:#fff}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-secondary)}@media (max-width: 767px){.citas-page{padding:0}.citas-header{margin-bottom:var(--spacing-lg)}.citas-header .citas-header-main{gap:var(--spacing-sm)}.citas-header-top{align-items:center;gap:var(--spacing-md)}.citas-header .section-header-title{flex:1;min-width:0}.citas-header .section-header-desc{display:none}.citas-header .section-header-icon{width:40px;height:40px}.citas-header .section-header-icon svg{width:20px;height:20px}.citas-header .section-header-title h1{font-size:1.25rem}.citas-header-top{flex-wrap:wrap}.citas-header-top .section-header-title{order:1;flex:1;min-width:0}.citas-action-refresh{order:2}.citas-action-new{order:3}.citas-action-config{order:4;width:100%;padding:var(--spacing-xs) 0;border:none;border-radius:0}.citas-action-config:hover{background:transparent;border:none}.citas-btn-new{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}.citas-btn-new svg{width:18px;height:18px}.citas-link-config{font-size:.85rem;padding:var(--spacing-xs) 0;color:var(--color-text-muted)}.citas-controls{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.citas-controls-mobile-trigger{display:block}.citas-controls-trigger-btn{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-lg);background:var(--color-surface);color:var(--color-text);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s ease}.citas-controls-trigger-btn:hover{background:var(--color-surface-hover)}.citas-controls-trigger-btn.open{border-color:var(--color-primary-500);background:var(--color-surface-hover)}.citas-controls-chevron{flex-shrink:0;transition:transform .2s ease}.citas-controls-trigger-btn.open .citas-controls-chevron{transform:rotate(180deg)}.citas-controls-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.citas-controls-content.open{max-height:800px}.citas-controls-content .citas-controls-row{padding:var(--spacing-md) 0;margin-top:var(--spacing-sm);border-top:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:var(--spacing-lg)}.citas-control-group{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.citas-control-group .scope-switcher,.citas-control-group .estado-pills{width:100%;flex-wrap:wrap;gap:var(--spacing-xs)}.citas-control-group .scope-switcher{display:flex}.estado-pills{justify-content:flex-start}.form-input-sm{width:100%;max-width:none}.citas-filtros-acordeon-wrap{margin-bottom:var(--spacing-md)}.citas-filtros-acordeon-content.open{max-height:700px}.citas-list{gap:var(--spacing-lg)}.citas-cards{grid-template-columns:1fr;gap:var(--spacing-md)}.cita-card{padding:var(--spacing-md)}.cita-actions{flex-direction:column}.cita-actions .btn{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}.date-header{font-size:.95rem}}@media (min-width: 768px) and (max-width: 1024px){.citas-controls-mobile-trigger{display:none}}.alert-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.alert-modal{background:var(--color-bg-elevated, #1e293b);border-radius:1rem;width:100%;max-width:420px;box-shadow:0 25px 50px -12px #00000080;border:1px solid var(--color-border, rgba(255, 255, 255, .1))}.alert-modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .1));display:flex;justify-content:space-between;align-items:center}.alert-modal-header h2{font-size:1.25rem;font-weight:700;color:var(--color-text, #f1f5f9);margin:0}.alert-modal-close{padding:.5rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;color:#94a3b8;transition:all .2s ease}.alert-modal-close:hover{background:#ffffff0d;color:#f1f5f9}.alert-modal-body{padding:1.5rem;text-align:center}.alert-modal-icon{display:flex;justify-content:center;margin-bottom:1rem}.alert-modal--error .alert-modal-icon{color:#f59e0b}.alert-modal--info .alert-modal-icon{color:#0ea5e9}.alert-modal-message{color:var(--color-text, #e2e8f0);margin:0;font-size:.9375rem;line-height:1.5}.alert-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border, rgba(255, 255, 255, .1));display:flex;justify-content:flex-end}.alert-modal-btn-ok{padding:.625rem 1.25rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease}.alert-modal--error .alert-modal-btn-ok{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.alert-modal--info .alert-modal-btn-ok{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff}.alert-modal-btn-ok:hover{filter:brightness(1.1);transform:translateY(-1px)}.calendar-config-page{max-width:900px;margin:0 auto}.page-header-with-back{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.btn-back{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all .15s ease;background:transparent;border:1px solid transparent}.btn-back:hover{color:var(--color-primary-400);background:var(--color-surface-hover)}.btn-back svg{flex-shrink:0}.config-tabs{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px;margin-bottom:var(--spacing-lg)}.tab-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:500;font-size:.95rem;transition:all .15s ease}.tab-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.tab-btn.active{background:var(--color-primary-500);color:#fff}.config-section{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-lg);border:1px solid var(--color-border)}.config-section h2{font-size:1.25rem;margin:0 0 var(--spacing-md);color:var(--color-text)}.config-section .form-group{margin-bottom:var(--spacing-md)}.config-section .form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-secondary)}.config-section .form-group input[type=checkbox]{margin-right:var(--spacing-sm)}.config-general-header,.section-header{margin-bottom:var(--spacing-lg)}.config-summary,.section-summary{font-size:.95rem;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0}.config-rows{display:flex;flex-direction:column;gap:var(--spacing-md)}.config-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border)}.config-row:last-of-type{border-bottom:none}.config-row-label label{display:block;font-weight:500;color:var(--color-text);margin-bottom:2px}.config-row-desc{font-size:.85rem;color:var(--color-text-muted)}.config-row-input{min-width:200px}.channel-buttons{display:flex;gap:var(--spacing-xs)}.channel-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;transition:all .15s}.channel-btn:hover{border-color:var(--color-primary-300);color:var(--color-text)}.channel-btn.active{border-color:var(--color-primary-500);background:var(--color-surface-hover);color:var(--color-primary-400)}.btn-save{margin-top:var(--spacing-lg)}.event-types-cal .section-header,.absence-cal .section-header{margin-bottom:var(--spacing-lg)}.event-types-cards,.absence-cards{display:flex;flex-direction:column;gap:var(--spacing-sm)}.event-types-cal .event-type-card,.absence-cal .absence-card{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:4px solid var(--color-primary-500);color:var(--color-text)}.event-types-cal .event-type-card-main{display:flex;align-items:center;gap:var(--spacing-md)}.absence-cal .absence-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.event-types-cal .event-type-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.event-types-cal .event-type-info{display:flex;flex-direction:column;gap:2px}.event-types-cal .event-type-info strong{color:var(--color-text);font-weight:600}.event-types-cal .event-type-meta{font-size:.9rem;color:var(--color-text-secondary)}.event-types-cal .event-type-add-card,.absence-cal .absence-add-card{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:500;transition:all .15s}.event-types-cal .event-type-add-card:hover,.absence-cal .absence-add-card:hover{border-color:var(--color-primary-400);color:var(--color-primary-400);background:var(--color-surface-hover)}.add-icon{font-size:1.25rem;font-weight:600;line-height:1}.event-types-cal .event-type-form-card,.absence-cal .absence-form-card{flex-direction:column;align-items:stretch;background:var(--color-bg-elevated);color:var(--color-text)}.event-types-cal .event-type-form-fields,.absence-cal .absence-form-fields{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-md)}.event-types-cal .event-type-form-fields .form-input,.absence-cal .absence-form-fields .form-input{min-width:140px}.event-types-cal .event-type-form-row{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.color-picker-row{display:flex;gap:6px}.color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-bg-elevated)}.event-type-form-actions,.absence-form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.absence-scope{margin-bottom:var(--spacing-lg)}.absence-who{font-weight:500;color:var(--color-text)}.absence-dates{font-size:.9rem;color:var(--color-text-secondary)}.absence-hours{color:var(--color-text-muted);font-size:.85rem}.absence-todo-dia-row{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-xs)}.absence-todo-dia-label{font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.absence-cal .absence-form-fields .absence-toggle{flex-shrink:0}.absence-motive{font-size:.85rem;color:var(--color-text-muted);margin-top:2px}.date-sep{color:var(--color-text-muted)}.section-footer{margin-top:var(--spacing-lg);font-size:.85rem;color:var(--color-text-muted)}.booking-links-section .section-header{margin-bottom:var(--spacing-lg)}.booking-links-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.booking-link-card{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);border-left:4px solid var(--color-primary-500)}.booking-link-main{display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-link-label{font-size:1.1rem;font-weight:600;margin:0;color:var(--color-text)}.booking-link-desc{font-size:.9rem;color:var(--color-text-secondary);margin:0}.booking-link-params{font-size:.85rem;color:var(--color-text-muted)}.booking-link-params-title{font-weight:600;color:var(--color-text-secondary);display:block;margin-bottom:4px}.booking-link-params ul{margin:0;padding-left:1.2rem}.booking-link-params li{margin:2px 0}.booking-link-params code{background:var(--color-bg-elevated);padding:2px 6px;border-radius:4px;font-size:.85em}.booking-link-url-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.booking-link-url{flex:1;min-width:0;display:block;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-elevated);border-radius:var(--radius-md);font-size:.85rem;word-break:break-all;color:var(--color-text);border:1px solid var(--color-border)}.btn-copy-link{flex-shrink:0}.booking-link-extra{padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.booking-link-extra h4{font-size:1rem;margin:0 0 var(--spacing-sm);color:var(--color-text)}.booking-link-extra p{font-size:.9rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-sm)}.booking-link-extra .booking-link-url{display:block;margin:var(--spacing-sm) 0}.booking-link-note{font-size:.85rem!important;color:var(--color-text-muted)!important;margin-top:var(--spacing-sm)!important}.booking-form-section .section-header,.booking-form-auto-client{margin-bottom:var(--spacing-lg)}.booking-form-fields-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.booking-form-field-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.field-drag{display:flex;flex-direction:column;gap:2px}.field-drag button{padding:2px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-elevated);cursor:pointer;font-size:.75rem;color:var(--color-text-secondary);line-height:1}.field-drag button:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-primary-300)}.field-drag button:disabled{opacity:.4;cursor:not-allowed}.field-edits{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);flex:1;min-width:200px}.field-edits .form-input-sm{min-width:100px;flex:1;max-width:180px}.field-options-editor,.field-checkbox-url-editor{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-xs)}.field-options-label{font-size:.85rem;color:var(--color-text-secondary);width:100%}.field-option-row{display:flex;gap:var(--spacing-xs);align-items:center;width:100%}.field-option-row .form-input-sm{flex:1;min-width:80px}.btn-add-field{margin-bottom:var(--spacing-md)}.field-toggle-group{display:flex;align-items:center;gap:var(--spacing-md)}.field-toggle-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-elevated);cursor:pointer;transition:all .15s ease}.field-toggle-btn:hover{border-color:var(--color-primary-300);background:var(--color-surface-hover)}.field-toggle-btn[aria-checked=true]{border-color:var(--color-primary-500);background:var(--color-surface-hover)}.field-toggle-btn:disabled{cursor:not-allowed;opacity:.6;background:var(--color-bg-elevated);border-color:var(--color-border)}.field-toggle-btn:disabled .field-toggle-label{color:var(--color-text-muted)}.field-toggle-btn:disabled .field-toggle-track{background:var(--color-border);opacity:.9}.field-toggle-btn:disabled .field-toggle-thumb{opacity:.9}.field-toggle-track{display:block;width:32px;height:18px;border-radius:10px;background:var(--color-border);position:relative;transition:background .2s}.field-toggle-btn[aria-checked=true] .field-toggle-track{background:var(--color-primary-500)}.field-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .2s}.field-toggle-btn[aria-checked=true] .field-toggle-thumb{transform:translate(14px)}.field-toggle-label{font-size:.8rem;font-weight:500;color:var(--color-text-secondary)}.field-toggle-btn[aria-checked=true] .field-toggle-label{color:var(--color-primary-500)}.form-input-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem}.availability-scope{margin-bottom:var(--spacing-lg)}.scope-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.95rem;font-weight:500;transition:all .15s ease}.scope-btn:hover{color:var(--color-text);background:var(--color-surface-hover)}.scope-btn.active{background:var(--color-primary-500);color:#fff}.scope-icon{display:flex;opacity:.9}.employee-picker{margin-top:var(--spacing-lg)}.employee-picker-label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.employee-picker-empty{margin:0;padding:var(--spacing-md);color:var(--color-text-muted);font-size:.9rem}.employee-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.employee-chip{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;transition:all .15s ease}.employee-chip:hover{border-color:var(--color-primary-300);color:var(--color-text)}.employee-chip.selected{border-color:var(--color-primary-500);background:var(--color-surface-hover);color:var(--color-primary-400)}.chip-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-surface);font-weight:700;font-size:.85rem}.employee-chip.selected .chip-avatar{background:var(--color-primary-500);color:#fff}.chip-name{white-space:nowrap}.availability-placeholder{padding:var(--spacing-xl);text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.availability-placeholder p{margin:0;color:var(--color-text-muted)}.availability-cal .availability-header{margin-bottom:var(--spacing-lg)}.availability-cal .availability-summary{font-size:.95rem;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0}.availability-days{display:flex;flex-direction:column;gap:var(--spacing-sm)}.availability-day-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);min-height:48px}.availability-day-row:last-of-type{border-bottom:none}.availability-day-row.active{color:var(--color-text)}.availability-day-row:not(.active) .availability-day-name{color:var(--color-text-muted)}.availability-toggle{flex-shrink:0;cursor:pointer;padding:2px;border:none;background:transparent;border-radius:999px}.availability-toggle .toggle-track{display:block;width:44px;height:24px;border-radius:12px;background:var(--color-border);position:relative;transition:background .2s}.availability-day-row.active .availability-toggle .toggle-track{background:var(--color-primary-500)}.availability-toggle .toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.availability-day-row.active .availability-toggle .toggle-thumb{transform:translate(20px)}.availability-day-name{min-width:100px;font-weight:500}.availability-slots{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.availability-slot{display:flex;align-items:center;gap:var(--spacing-xs)}.availability-slot .form-input-time{width:100px;padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem}.availability-slot .slot-sep{color:var(--color-text-muted);font-weight:500}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);cursor:pointer;background:transparent;color:var(--color-text-secondary);transition:color .15s,background .15s}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-add-slot{font-size:1.25rem;font-weight:600;line-height:1}.btn-copy{color:var(--color-primary-500)}.btn-copy:hover{color:var(--color-primary-600)}.btn-danger-icon{font-size:1.25rem;line-height:1}.btn-danger-icon:hover{background:#ef44441a;color:var(--color-danger, #ef4444)}.availability-unavailable{color:var(--color-text-muted);font-size:.9rem}.availability-footer{margin-top:var(--spacing-lg);font-size:.85rem}.availability-form,.event-type-form,.absence-form{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin:var(--spacing-md) 0;align-items:center}.availability-form .form-input,.event-type-form .form-input,.absence-form .form-input{max-width:160px}.availability-list,.event-types-list,.absence-list{list-style:none;margin:var(--spacing-lg) 0 0;padding:0}.availability-list li,.event-types-list li,.absence-list li{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);border-left:4px solid var(--color-primary-500)}.event-types-list li{border-left-width:4px}.availability-list li span,.absence-list li span{flex:1;color:var(--color-text-secondary)}.event-types-list li div{flex:1;display:flex;justify-content:space-between;align-items:center}.event-types-list li strong{color:var(--color-text)}.event-types-list li span{font-size:.9rem;color:var(--color-text-muted)}@media (max-width: 767px){.calendar-config-page{padding:0;margin:0}.calendar-config-page .page-header,.calendar-config-page .page-header-with-back{margin-bottom:var(--spacing-lg)}.config-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--spacing-lg);padding:6px;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;white-space:nowrap;flex-shrink:0}.config-section{padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-radius:var(--radius-lg)}.config-section h2{font-size:1.125rem;margin-bottom:var(--spacing-md)}.config-general-header,.section-header{margin-bottom:var(--spacing-lg)}.config-row,.config-row-toggle{flex-direction:column;align-items:stretch;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.config-row-input{min-width:auto;width:100%}.config-rows{gap:var(--spacing-md)}.availability-day-row{flex-direction:column;align-items:stretch;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.availability-day-name{min-width:auto}.availability-slots{padding-left:0}.availability-slot{flex-wrap:wrap}.availability-slot .form-input-time{width:100%;max-width:120px}.availability-days{gap:var(--spacing-md)}.event-types-cal .event-type-card,.absence-cal .absence-card{flex-direction:column;align-items:stretch;gap:var(--spacing-md);padding:var(--spacing-md)}.event-types-cal .event-type-card-main,.absence-cal .absence-card-main{flex-wrap:wrap}.event-types-cal .event-type-card-actions,.absence-cal .absence-card-actions{flex-direction:row;justify-content:flex-start}.absence-form-fields{flex-direction:column;align-items:stretch}.absence-form-fields .form-input,.absence-form-fields .form-input-time{width:100%;max-width:none}.absence-dates-row,.absence-hours-row{flex-direction:column;gap:var(--spacing-sm)}.absence-todo-dia-row{width:100%}.booking-form-field-row{flex-direction:column;align-items:stretch;padding:var(--spacing-md)}.field-edits{flex-direction:column;max-width:none}.field-edits .form-input-sm{max-width:none}.booking-links-section .section-header{margin-bottom:var(--spacing-md)}.booking-link-card{padding:var(--spacing-md)}.booking-link-url-row{flex-direction:column;align-items:stretch}.booking-link-url{font-size:.8rem;padding:var(--spacing-sm)}.btn-copy-link{width:100%}.booking-link-extra{padding:var(--spacing-md)}.btn-save{margin-top:var(--spacing-lg);width:100%}.employee-chips{flex-wrap:wrap}}.access-denied-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.access-denied-box{text-align:center;padding:var(--spacing-2xl);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);color:#ef4444}.access-denied-box h2{margin:0 0 var(--spacing-sm);font-size:1.5rem;font-weight:600}.access-denied-box p{margin:0;font-size:1rem;opacity:.95}.usuarios-page{max-width:1400px;margin:0 auto}.usuarios-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.usuarios-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.usuarios-header h1 svg{color:var(--color-primary-400)}.btn-nuevo-usuario{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #00a3ff4d}.btn-nuevo-usuario:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00a3ff66}.usuarios-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:flex-end}.usuarios-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.usuarios-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.usuarios-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.usuarios-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.usuarios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.usuarios-grid .loading-spinner{grid-column:1 / -1;display:flex;justify-content:center;padding:var(--spacing-2xl)}.usuarios-empty{grid-column:1 / -1}.usuario-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);transition:border-color .2s ease,box-shadow .2s ease}.usuario-card:hover{border-color:var(--color-border-highlight);box-shadow:var(--shadow-md)}.usuario-card-header{display:flex;justify-content:space-between;align-items:flex-start}.usuario-card-body{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.usuario-card-body .usuario-nombre{font-size:1rem;font-weight:600}.usuario-card-body .usuario-email{font-size:.85rem;color:var(--color-text-muted)}.usuario-organizacion{font-size:.8rem;color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.usuario-card-footer{display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.usuarios-table-container{background:var(--color-bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden}.usuarios-table{width:100%;border-collapse:collapse}.usuarios-table th{background:var(--color-neutral-800);padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.usuarios-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-secondary)}.usuarios-table tr:hover td{background:var(--color-surface-hover)}.usuarios-table tr:last-child td{border-bottom:none}.usuario-info{display:flex;align-items:center;gap:var(--spacing-md)}.usuario-avatar{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;text-transform:uppercase}.usuario-avatar.megaadmin{background:linear-gradient(135deg,#f43f5e,#e11d48);box-shadow:0 4px 12px #f43f5e4d}.usuario-avatar.superadmin{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.usuario-avatar.admin{background:var(--gradient-primary);box-shadow:0 4px 12px #00a3ff4d}.usuario-avatar.operario{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.usuario-nombre{font-weight:600;color:var(--color-text)}.usuario-email{font-size:.75rem;color:var(--color-text-muted)}.rol-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.rol-badge.megaadmin{background:#f43f5e26;color:#fb7185;border:1px solid rgba(244,63,94,.3)}.rol-badge.superadmin{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.rol-badge.admin{background:#00a3ff26;color:var(--color-primary-400);border:1px solid rgba(0,163,255,.3)}.rol-badge.operario{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.taller-nombre{font-size:.875rem;color:var(--color-text-secondary)}.taller-nombre.multiple{font-size:.75rem}.acciones-cell{display:flex;gap:var(--spacing-sm)}.btn-accion{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;background:var(--color-surface)}.talleres-checkboxes{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:150px;overflow-y:auto;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-neutral-800)}.taller-checkbox{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:background .2s ease}.taller-checkbox:hover{background:var(--color-surface-hover)}.taller-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary-500)}.empty-state{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted)}.loading-spinner{display:flex;justify-content:center;padding:var(--spacing-2xl)}@media (max-width: 768px){.usuarios-header{flex-direction:column;align-items:stretch}.btn-nuevo-usuario{width:100%;justify-content:center}.usuarios-filters{flex-direction:column}.usuarios-grid{grid-template-columns:1fr}.usuarios-table-container{overflow-x:auto}.usuarios-table{min-width:700px}}.talleres-page{max-width:1400px;margin:0 auto}.talleres-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.talleres-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0;display:flex;align-items:center;gap:var(--spacing-sm)}.talleres-header h1 svg{color:var(--color-primary-400)}.btn-nuevo-taller{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #00a3ff4d}.btn-nuevo-taller:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00a3ff66}.talleres-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.talleres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg)}.taller-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-xl);overflow:hidden;transition:all .3s ease;border:1px solid var(--color-border)}.taller-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:var(--color-border-highlight)}.taller-card.inactive{opacity:.6}.taller-card.inactive:hover{border-color:var(--color-text-muted)}.taller-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background:var(--color-neutral-800);border-bottom:1px solid var(--color-border)}.taller-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-lg);color:#fff;box-shadow:0 4px 15px #00a3ff40}.taller-card-body{padding:var(--spacing-lg)}.taller-nombre{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.taller-info-row{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:.875rem;margin-bottom:var(--spacing-sm)}.taller-info-row svg{flex-shrink:0;color:var(--color-primary-400)}.tipo-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;background:var(--color-primary-500);color:var(--color-neutral-900)}.employees-badge{font-size:.8rem;color:var(--color-text-secondary)}.taller-card-footer{display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-neutral-800);border-top:1px solid var(--color-border)}.estado-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.estado-badge.activo{background:var(--color-verde-bg);color:var(--color-verde);border:1px solid rgba(16,185,129,.3)}.estado-badge.inactivo{background:var(--color-rojo-bg);color:var(--color-rojo);border:1px solid rgba(239,68,68,.3)}.estado-badge:before{content:"";width:6px;height:6px;border-radius:50%}.estado-badge.activo:before{background:var(--color-verde);box-shadow:0 0 6px var(--color-verde)}.estado-badge.inactivo:before{background:var(--color-rojo);box-shadow:0 0 6px var(--color-rojo)}.btn-accion{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;background:var(--color-surface)}.btn-accion.editar{color:var(--color-primary-400);border-color:#00a3ff4d}.btn-accion.editar:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.btn-accion.eliminar{color:var(--color-rojo);border-color:#ef44444d}.btn-accion.eliminar:hover{background:var(--color-rojo);color:#fff;border-color:var(--color-rojo)}.btn-accion.reactivar{color:var(--color-verde);border-color:#10b9814d}.btn-accion.reactivar:hover{background:var(--color-verde);color:#fff;border-color:var(--color-verde)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.modal.modal-confirm{max-width:420px}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.btn-cerrar{padding:var(--spacing-sm);border:none;background:var(--color-surface);border-radius:var(--radius-lg);cursor:pointer;color:var(--color-text-muted);transition:all .2s ease}.btn-cerrar:hover{background:var(--color-surface-hover);color:var(--color-text)}.form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.form-group input,.form-group select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:.875rem;transition:all .2s ease;background:var(--color-neutral-800);color:var(--color-text)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.form-group input.error,.form-group select.error{border-color:var(--color-rojo)}.config-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) 0}.config-row-toggle{padding:var(--spacing-md) 0}.config-row-label{flex:1}.config-row-label label{display:block;font-weight:500;color:var(--color-text-secondary);margin-bottom:0}.config-toggle{flex-shrink:0;cursor:pointer;padding:2px;border:none;background:transparent;border-radius:999px}.config-toggle .toggle-track{display:block;width:44px;height:24px;border-radius:12px;background:var(--color-border);position:relative;transition:background .2s}.config-toggle[aria-checked=true] .toggle-track{background:var(--color-primary-500)}.config-toggle .toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.config-toggle[aria-checked=true] .toggle-thumb{transform:translate(20px)}.form-error{font-size:.75rem;color:var(--color-rojo);margin-top:var(--spacing-xs)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.btn-cancelar{padding:var(--spacing-md) var(--spacing-xl);border:1px solid var(--color-border);background:transparent;border-radius:var(--radius-full);font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.btn-cancelar:hover{background:var(--color-surface);color:var(--color-text)}.btn-guardar{padding:var(--spacing-md) var(--spacing-xl);border:none;background:var(--gradient-primary);border-radius:var(--radius-full);font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #00a3ff4d}.btn-guardar:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00a3ff66}.btn-guardar:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-eliminar{padding:var(--spacing-md) var(--spacing-xl);border:none;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:var(--radius-full);font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #dc26264d}.btn-eliminar:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc262666}.confirm-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-ambar)}.modal-body p{text-align:center;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.confirm-warning{font-size:.875rem;color:var(--color-text-secondary)!important}.empty-state{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted);grid-column:1 / -1}.empty-state p{font-size:1rem;margin:0}.loading-spinner{display:flex;justify-content:center;padding:var(--spacing-2xl);grid-column:1 / -1}.loading-spinner:after{content:"";width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.talleres-header{flex-direction:column;align-items:stretch}.btn-nuevo-taller{width:100%;justify-content:center}.talleres-grid{grid-template-columns:1fr}.taller-card-footer{flex-direction:column}.btn-accion{justify-content:center}}.analytics-page{padding:2rem;min-height:100%}.analytics-header{margin-bottom:2rem}.analytics-header h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#fff 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem}.analytics-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.analytics-loading,.analytics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:3rem}.analytics-error-detail{font-size:.9rem;color:var(--color-text-muted, rgba(255, 255, 255, .6));margin:.25rem 0 0;max-width:400px;text-align:center}.analytics-date-filters{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.analytics-date-presets{display:flex;flex-wrap:wrap;gap:.5rem}.analytics-preset-btn{padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.875rem;cursor:pointer;transition:all .15s ease}.analytics-preset-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.analytics-preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.analytics-custom-range{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.analytics-custom-range label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted)}.analytics-custom-range input[type=date]{padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.875rem}.analytics-custom-range input:focus{outline:none;border-color:var(--color-primary)}.analytics-config-section{margin-bottom:var(--spacing-xl)}.analytics-config-toggle{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .15s ease}.analytics-config-toggle:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-highlight)}.analytics-config-toggle svg{color:var(--color-primary-400)}.toggle-arrow{margin-left:auto;font-size:.75rem;opacity:.8}.analytics-config-panel{margin-top:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.analytics-config-desc{font-size:.9rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-lg)}.analytics-config-rows{display:flex;gap:var(--spacing-xl);flex-wrap:wrap}.analytics-config-block{flex:1;min-width:260px}.analytics-config-block h4{font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-sm)}.analytics-config-drag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.analytics-config-drag-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:grab;transition:all .15s ease}.analytics-config-drag-item:active{cursor:grabbing}.analytics-config-drag-item.dragging{opacity:.5;background:var(--color-surface-hover)}.analytics-config-drag-item.hidden{opacity:.6}.analytics-config-drag-item .drag-handle{color:var(--color-text-muted);font-size:1rem;cursor:grab;-webkit-user-select:none;user-select:none}.analytics-config-drag-item .drag-label{flex:1;font-size:.9rem;color:var(--color-text)}.analytics-config-drag-item .visibility-toggle{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xs);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:color .15s,background .15s}.analytics-config-drag-item .visibility-toggle:hover{color:var(--color-primary-400);background:var(--color-surface-hover)}.analytics-config-drag-item.hidden .visibility-toggle{color:var(--color-text-muted)}.analytics-config-saving{font-size:.85rem;color:var(--color-text-muted);margin:var(--spacing-md) 0 0}.kpis-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;transition:all .3s ease}.kpi-card:hover{transform:translateY(-2px);border-color:#ffffff26;box-shadow:0 8px 32px #0000004d}.kpi-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.kpi-icon.recepciones{background:linear-gradient(135deg,#06f3,#0066ff1a);border:1px solid rgba(0,102,255,.3)}.kpi-icon.facturacion{background:linear-gradient(135deg,#00d4aa33,#00d4aa1a);border:1px solid rgba(0,212,170,.3)}.kpi-icon.clientes{background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);border:1px solid rgba(139,92,246,.3)}.kpi-icon.citas{background:linear-gradient(135deg,#ec489933,#ec48991a);border:1px solid rgba(236,72,153,.3)}.kpi-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.kpi-label{font-size:.875rem;color:var(--text-secondary)}.kpi-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.kpi-comparison{font-size:.75rem;color:var(--text-tertiary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.kpi-change{font-weight:600;padding:2px 6px;border-radius:4px}.kpi-change.positive{color:#10b981;background:#10b98126}.kpi-change.negative{color:#ef4444;background:#ef444426}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.chart-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;transition:all .3s ease}.chart-card:hover{border-color:#ffffff26}.chart-card.large{grid-column:span 1}@media (min-width: 900px){.chart-card.large{grid-column:span 2}}.chart-card h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.top-clients-list{display:flex;flex-direction:column;gap:.75rem}.top-client-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff08;border-radius:8px;transition:background .2s ease}.top-client-item:hover{background:#ffffff0f}.rank{font-size:.875rem;font-weight:700;color:var(--accent-primary);width:28px}.client-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.client-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-invoices{font-size:.75rem;color:var(--text-tertiary)}.client-total{font-weight:600;color:var(--accent-secondary);white-space:nowrap}.problematic-items-list{display:flex;flex-direction:column;gap:.75rem}.problematic-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:#ffffff08;border-radius:8px}.item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.item-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-category{font-size:.75rem;color:var(--text-tertiary)}.item-stats{display:flex;gap:.5rem}.item-stats .stat{font-size:.75rem;padding:2px 8px;border-radius:4px;white-space:nowrap}.item-stats .stat.critical{background:#ef444426;color:#ef4444}.item-stats .stat.warning{background:#f59e0b26;color:#f59e0b}.stats-row{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--glass-border)}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:var(--text-tertiary)}.stat-value{font-size:1.25rem;font-weight:700}.stat-value.danger{color:#ef4444}.stat-value.warning{color:#f59e0b}.no-data{text-align:center;color:var(--text-tertiary);padding:2rem;font-style:italic}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#ffffff0d}.recharts-legend-item-text{color:var(--text-secondary)!important}@media (max-width: 768px){.analytics-page{padding:1rem}.charts-grid{grid-template-columns:1fr}.chart-card.large{grid-column:span 1}.kpis-section{grid-template-columns:1fr 1fr}.kpi-card{flex-direction:column;text-align:center;align-items:center}.kpi-comparison{justify-content:center}}@media (max-width: 480px){.kpis-section{grid-template-columns:1fr}.stats-row{flex-direction:column;gap:1rem}}.modulos-page{padding:var(--spacing-xl);max-width:1400px;margin:0 auto}.modulos-header{margin-bottom:var(--spacing-2xl)}.modulos-header h1{color:#fff;font-size:2rem;font-weight:700;margin-bottom:var(--spacing-xs);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modulos-subtitle{color:var(--color-text-secondary);font-size:1rem;margin-bottom:var(--spacing-md)}.modulos-taller-selector{margin-top:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.modulos-taller-selector label{color:var(--color-text-secondary);font-weight:500}.modulos-select{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:#fff;font-size:.9rem;min-width:250px}.modulos-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #00a3ff1a}.modulos-loading{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.modulos-error{text-align:center;padding:var(--spacing-2xl);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);color:#ef4444}.modulos-content{margin-top:var(--spacing-xl)}.modulos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.modulo-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modulo-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00a3ff26}.modulo-card.activo{border-color:var(--accent-secondary);background:linear-gradient(135deg,var(--color-card) 0%,rgba(0,229,190,.05) 100%)}.modulo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.modulo-header h3{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.modulo-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.modulo-badge.activo{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.modulo-badge.inactivo{background:#6b728033;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.modulo-descripcion{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:var(--spacing-md)}.modulo-info{margin-bottom:var(--spacing-md)}.modulo-plan{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:#00a3ff1a;border:1px solid rgba(0,163,255,.2);border-radius:var(--radius-md);color:var(--accent-primary);font-size:.85rem;font-weight:500}.modulo-toggle{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9rem}.modulo-toggle.activar{background:var(--gradient-primary);color:#fff}.modulo-toggle.activar:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 12px #00a3ff4d}.modulo-toggle.desactivar{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.modulo-toggle.desactivar:hover:not(:disabled){background:#ef444433}.modulo-toggle:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 767px){.modulos-page{padding:var(--spacing-md)}.modulos-header h1{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.modulos-subtitle{font-size:.9rem;margin-bottom:var(--spacing-md)}.modulos-taller-selector{flex-direction:column;align-items:stretch;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.modulos-taller-selector label{font-size:.9rem}.modulos-select{min-width:0;width:100%;padding:var(--spacing-md)}.modulos-content{margin-top:var(--spacing-lg)}.modulos-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.modulo-card{padding:var(--spacing-md)}.modulo-header{flex-wrap:wrap;gap:var(--spacing-sm)}.modulo-header h3{font-size:1.1rem;flex:1;min-width:0}.modulo-badge{flex-shrink:0}.modulo-descripcion{font-size:.875rem}.modulo-card:hover{transform:none}.modulo-toggle{padding:var(--spacing-md)}}.audit-logs-page{padding:1.5rem;max-width:960px;margin:0 auto}.audit-logs-forbidden{text-align:center;padding:3rem 2rem;background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.audit-logs-forbidden h1{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-text)}.audit-logs-forbidden p{margin:0;color:var(--color-text-muted)}.audit-logs-header{margin-bottom:1.5rem}.audit-logs-header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:var(--color-text)}.audit-logs-subtitle{margin:0;font-size:.9rem;color:var(--color-text-muted)}.audit-logs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem}.audit-logs-filters{display:flex;flex-wrap:wrap;gap:.5rem}.audit-logs-filters select,.audit-logs-filters input[type=date]{padding:.4rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.875rem}.audit-logs-filters select:focus,.audit-logs-filters input:focus{outline:none;border-color:var(--color-primary)}.btn-clear-filters{padding:.4rem .75rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.875rem;cursor:pointer}.btn-clear-filters:hover{color:var(--color-text);border-color:var(--color-text-muted)}.btn-quick-filter{padding:.4rem .75rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.875rem;cursor:pointer}.btn-quick-filter:hover,.btn-quick-filter.active{color:var(--color-primary);border-color:var(--color-primary)}.audit-logs-summary{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1rem}.audit-logs-loading,.audit-logs-error{text-align:center;padding:2rem;color:var(--color-text-muted)}.audit-logs-loading .spinner{width:32px;height:32px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.audit-logs-timeline{display:flex;flex-direction:column;gap:.75rem}.audit-log-entry{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;font-size:.9rem}.audit-log-entry-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.5rem}.audit-log-action{display:inline-flex;padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.audit-log-action--create{background:#22c55e26;color:#16a34a}.audit-log-action--update{background:#3b82f626;color:#2563eb}.audit-log-action--delete{background:#ef444426;color:#dc2626}.audit-log-action--login{background:#a855f726;color:#9333ea}.audit-log-action--logout{background:#6b728033;color:#6b7280}.audit-log-entity{color:var(--color-text-muted)}.audit-log-entity-id{font-size:.7rem;margin-left:.25rem;opacity:.8}.audit-log-time{margin-left:auto;color:var(--color-text-muted);font-size:.8rem}.audit-log-description{margin:0 0 .5rem;color:var(--color-text)}.audit-log-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;color:var(--color-text-muted)}.audit-log-org:before{content:"🏢 "}.audit-log-user:before{content:"👤 "}.audit-log-ip:before{content:"🌐 "}.audit-log-details{margin-top:.5rem;font-size:.8rem}.audit-log-details summary{cursor:pointer;color:var(--color-primary)}.audit-log-details pre{margin:.5rem 0 0;padding:.5rem;background:var(--color-bg);border-radius:var(--radius-sm);overflow-x:auto}.audit-logs-empty{text-align:center;padding:2rem;color:var(--color-text-muted)}.audit-logs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.audit-logs-pagination button{padding:.4rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer}.audit-logs-pagination button:hover:not(:disabled){background:var(--color-bg-elevated)}.audit-logs-pagination button:disabled{opacity:.5;cursor:not-allowed}.automations-page{max-width:900px;margin:0 auto}.automations-page .page-header{margin-bottom:var(--spacing-lg)}.automations-page .page-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 4px}.automations-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.automation-card-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.automation-card{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);cursor:pointer;transition:all .15s ease}.automation-card:hover{background:var(--color-surface-hover)}.automation-card.selected{border-bottom:1px solid var(--color-border)}.automation-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#25d366;flex-shrink:0}[data-tipo=CHATBOT_TELEGRAM] .automation-card-icon{color:#08c}[data-tipo=FACTURA_PDF] .automation-card-icon{color:#3b82f6}.automation-card-info{flex:1;min-width:0}.automation-card h3{margin:0 0 4px;font-size:1.1rem;color:var(--color-text)}.automation-card p{margin:0;font-size:.9rem;color:var(--color-text-muted)}.automation-card-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;margin-left:auto}.automation-status{padding:4px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;flex-shrink:0}.automation-status.activo{background:var(--color-verde-bg);color:var(--color-verde)}.automation-status.inactivo{background:var(--color-ambar-bg);color:var(--color-ambar)}.automation-toggle-btn{padding:4px 14px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.automation-toggle-btn.inactivo{background:var(--color-verde-bg, rgba(34, 197, 94, .15));color:var(--color-verde, #22c55e);border-color:var(--color-verde, #22c55e)}.automation-toggle-btn.inactivo:hover{background:var(--color-verde, #22c55e);color:#fff}.automation-toggle-btn.activo{background:var(--color-rojo-bg, rgba(239, 68, 68, .15));color:var(--color-rojo, #ef4444);border-color:var(--color-rojo, #ef4444)}.automation-toggle-btn.activo:hover{background:var(--color-rojo, #ef4444);color:#fff}.automation-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.automation-form-panel{padding:var(--spacing-lg);background:var(--color-bg-elevated)}.form-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.form-panel-header h3{margin:0;font-size:1.1rem;color:var(--color-text)}.form-error-banner{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background:var(--color-rojo-bg, rgba(239, 68, 68, .15));border:1px solid var(--color-rojo, #ef4444);border-radius:var(--radius-lg);color:var(--color-rojo, #ef4444);font-size:.9rem}.btn-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1.5rem;line-height:1;border-radius:var(--radius-md);transition:all .15s}.btn-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.automation-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.automation-form .form-row-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0}.automation-form .config-toggle{flex-shrink:0;cursor:pointer;padding:2px;border:none;background:transparent;border-radius:999px}.automation-form .config-toggle .toggle-track{display:block;width:44px;height:24px;border-radius:12px;background:var(--color-border);position:relative;transition:background .2s}.automation-form .config-toggle[aria-checked=true] .toggle-track{background:var(--color-primary-500)}.automation-form .config-toggle .toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.automation-form .config-toggle[aria-checked=true] .toggle-thumb{transform:translate(20px)}.automation-form .form-group{margin-bottom:var(--spacing-md)}.automation-form .form-label{display:block;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:.875rem}.automation-form .form-input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;background:var(--color-neutral-800);color:var(--color-text);transition:border-color .15s}.automation-form .form-input:focus{outline:none;border-color:var(--color-primary-500)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.automations-footer{margin-top:var(--spacing-xl);font-size:.85rem;color:var(--color-text-muted)}.logo-preview-hint{font-size:.875rem;color:var(--color-verde, #22c55e)}.form-group-logo{margin-bottom:var(--spacing-lg)}.logo-preview{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-neutral-800, #27272a);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:fit-content;max-width:200px;min-height:80px;display:flex;align-items:center;justify-content:center;overflow:visible}.logo-preview img{max-width:100%;max-height:120px;width:auto;height:auto;object-fit:contain;display:block}[data-tipo=AI_KEYS] .automation-card-icon{color:#8b5cf6}.ai-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg)}.ai-tab{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:none;background:transparent;color:var(--color-text-muted);font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.ai-tab:hover{color:var(--color-text);background:var(--color-surface-hover)}.ai-tab.active{color:#8b5cf6;border-bottom-color:#8b5cf6}.ai-usage-section{padding:0}.ai-usage-range-bar{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.ai-range-btn{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-muted);font-size:.8rem;cursor:pointer;transition:all .15s ease}.ai-range-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.ai-range-btn.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.ai-usage-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.ai-kpi-card{display:flex;flex-direction:column;gap:4px;padding:var(--spacing-md);background:var(--color-neutral-800, #1e1e2e);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ai-kpi-label{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.ai-kpi-value{font-size:1.3rem;font-weight:700;color:var(--color-text)}.ai-usage-chart{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);background:var(--color-neutral-800, #1e1e2e)}.ai-usage-loading,.ai-usage-empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-muted);font-size:.9rem}.ai-usage-empty code{background:var(--color-neutral-700, #333);padding:2px 6px;border-radius:var(--radius-sm);font-size:.85rem}.form-hint{display:block;margin-top:4px;font-size:.8rem;color:var(--color-text-muted)}.book-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;padding:1.5rem}.book-layout{display:flex;gap:2rem;max-width:900px;width:100%;align-items:flex-start}.book-sidebar{flex-shrink:0;width:220px;padding:1.5rem 0}.book-org-name{font-size:1.25rem;font-weight:600;color:#e8e8e8;margin:0 0 .25rem}.book-org-city{font-size:.875rem;color:#94a3b8;margin:0 0 1.5rem}.book-step-indicator{display:flex;gap:.5rem}.book-step-indicator span{width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem;font-weight:600;background:#ffffff1a;color:#64748b}.book-step-indicator span.active{background:#3b82f6;color:#fff}.book-main{flex:1;min-width:0}.book-card{background:#fffffff5;border-radius:12px;padding:1.75rem;box-shadow:0 8px 32px #0003}.book-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#64748b}.book-loading .spinner{width:2rem;height:2rem;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:book-spin .8s linear infinite}@keyframes book-spin{to{transform:rotate(360deg)}}.book-error{color:#dc2626;margin:0;text-align:center}.book-success{text-align:center;max-width:400px}.book-success .success-icon{width:3rem;height:3rem;border-radius:50%;background:#22c55e;color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.book-success h2{margin:0 0 .5rem;font-size:1.25rem;color:#1e293b}.book-success p{margin:0 0 .5rem;color:#64748b;font-size:.95rem}.book-success-detail{font-size:.875rem!important;margin-top:.75rem!important}.book-success-link{margin-top:1rem!important}.book-success-link a{color:#3b82f6;text-decoration:none;font-weight:500}.book-success-link a:hover{text-decoration:underline}.book-step h2{margin:0 0 1rem;font-size:1.125rem;color:#1e293b;font-weight:600}.book-back{background:none;border:none;color:#64748b;font-size:.875rem;cursor:pointer;padding:0 0 1rem;margin:-.25rem 0 0}.book-back:hover{color:#3b82f6}.event-types-grid{display:flex;flex-direction:column;gap:.75rem}.event-type-card{display:block;width:100%;text-align:left;padding:1rem 1.25rem;border:1px solid #e2e8f0;border-left:4px solid #3b82f6;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.event-type-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f626}.event-type-name{display:block;font-weight:600;color:#1e293b;margin-bottom:.25rem}.event-type-duration{display:block;font-size:.8rem;color:#64748b}.event-type-desc{display:block;font-size:.8rem;color:#94a3b8;margin-top:.25rem}.calendar-wrapper{margin-top:1rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-title{font-weight:600;color:#1e293b;font-size:1rem}.calendar-nav{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:1.25rem;color:#64748b;cursor:pointer;transition:all .2s}.calendar-nav:hover{border-color:#3b82f6;color:#3b82f6}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekday{padding:.5rem;font-size:.7rem;font-weight:600;color:#64748b;text-align:center}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:#fff;font-size:.9rem;font-weight:500;color:#1e293b;cursor:pointer;transition:all .15s}.calendar-day:hover:not(.past):not(:disabled){background:#eff6ff;color:#1d4ed8}.calendar-day.selected{background:#3b82f6;color:#fff}.calendar-day.past,.calendar-day:disabled{opacity:.4;color:#94a3b8;cursor:not-allowed}.calendar-day.other-month{color:#cbd5e1}.calendar-day.no-availability{opacity:.5;cursor:not-allowed}.book-selected-date{font-size:.95rem;color:#64748b;margin:0 0 1rem;text-transform:capitalize}.slots-loading{display:flex;align-items:center;gap:.5rem;color:#64748b;padding:1rem 0}.slots-loading .spinner{width:1.25rem;height:1.25rem;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:book-spin .8s linear infinite}.no-slots{color:#64748b;margin:0;padding:1rem 0}.slots-by-tramo{display:flex;flex-direction:column;gap:1.25rem}.slots-tramo-title{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.slots-tramo:first-child .slots-tramo-title{margin-top:0}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.slot-btn{padding:.6rem 1rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.slot-btn:hover{border-color:#3b82f6;background:#f8fafc}.slot-btn.selected{border-color:#3b82f6;background:#3b82f6;color:#fff}.book-resumen{font-size:.9rem;color:#64748b;margin:0 0 1rem;text-transform:capitalize}.book-step-form{max-width:420px}.book-form-title{margin-bottom:.5rem}.book-resumen-badge{display:inline-block;padding:.35rem .75rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;font-weight:500;color:#0369a1;margin-bottom:1.5rem}.book-form{display:flex;flex-direction:column;gap:1.25rem}.book-form-group{display:flex;flex-direction:column;gap:.4rem}.book-form-group label{font-size:.875rem;font-weight:600;color:#1e293b}.book-form-input{padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;background:#f8fafc;color:#1e293b;transition:border-color .2s,box-shadow .2s,background .2s}.book-form-input::placeholder{color:#94a3b8}.book-form-input:hover{background:#f1f5f9}.book-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background:#fff}.book-form-textarea{resize:vertical;min-height:72px;font-family:inherit}.book-form-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.book-form-label{font-size:.875rem;font-weight:600;color:#1e293b;display:block}.book-form-radio-group{display:flex;flex-direction:column;gap:.5rem}.book-form-radio-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#475569;cursor:pointer}.book-form-radio-label input{width:1.1rem;height:1.1rem;accent-color:#3b82f6}.book-form-group-checkbox{flex-direction:row;align-items:flex-start}.book-form-checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.95rem;color:#475569;cursor:pointer}.book-form-checkbox{width:1.1rem;height:1.1rem;margin-top:.15rem;flex-shrink:0;accent-color:#3b82f6}.book-form-link{color:#3b82f6;text-decoration:underline}.book-form-link:hover{color:#2563eb}.btn-book-confirm{width:100%;padding:1rem 1.25rem;border:none;border-radius:10px;font-size:1rem;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(135deg,#38bdf8,#22d3ee,#2dd4bf);box-shadow:0 4px 14px #2dd4bf66;transition:transform .15s,box-shadow .2s,filter .2s}.btn-book-confirm:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #2dd4bf80;filter:brightness(1.05)}.btn-book-confirm:active:not(:disabled){transform:translateY(0)}.btn-book-confirm:disabled{opacity:.7;cursor:not-allowed}.book-form-error{color:#dc2626;font-size:.875rem;margin:0}.book-form-empty{color:#64748b;font-size:.9rem;margin:0}.book-form .form-group{display:flex;flex-direction:column;gap:.35rem}.book-form .form-group label{font-size:.875rem;font-weight:500;color:#374151}.book-form .form-group input,.book-form .form-group textarea{padding:.6rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem}.btn-block{width:100%}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:.75rem 1rem;border-radius:6px;font-weight:600;cursor:pointer}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#dc2626;font-size:.875rem;margin:0}@media (max-width: 640px){.book-layout{flex-direction:column;align-items:stretch}.book-sidebar{width:100%;padding:0 0 1rem}.calendar-day{font-size:.8rem}.slots-grid{grid-template-columns:repeat(2,1fr)}}.leads-page{max-width:1400px;margin:0 auto}.leads-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.leads-controls .view-switcher{display:inline-flex;background:var(--color-surface);border-radius:var(--radius-lg);padding:4px;border:1px solid var(--color-border);gap:2px}.leads-controls .scope-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s ease}.leads-controls .scope-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.leads-controls .scope-btn.active{background:var(--color-primary-500);color:#fff}.leads-filters{display:flex;gap:var(--spacing-sm)}.leads-filters .filter-select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-neutral-800);color:var(--color-text);font-size:.9rem}.leads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.lead-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-lg);text-decoration:none;color:inherit;transition:all .2s ease}.lead-card:hover{border-color:var(--color-border-highlight);box-shadow:var(--shadow-glow);transform:translateY(-4px);text-decoration:none}.lead-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.lead-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem;box-shadow:0 4px 15px #00a3ff40}.lead-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase}.lead-badge.badge-nuevo{background:#e0f2fe;color:#0369a1}.lead-badge.badge-contactado{background:#fef3c7;color:#92400e}.lead-badge.badge-calificado{background:#d1fae5;color:#047857}.lead-badge.badge-en-negociacion{background:#e0e7ff;color:#3730a3}.lead-badge.badge-convertido{background:#dcfce7;color:#166534}.lead-badge.badge-descartado{background:#fee2e2;color:#991b1b}.lead-card-body{margin-bottom:var(--spacing-md)}.lead-card-body h3{font-size:1.125rem;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text)}.lead-empresa{font-size:.875rem;color:var(--color-text-muted);display:block;margin-bottom:var(--spacing-sm)}.lead-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.lead-info .info-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.lead-info .info-row svg{color:var(--color-primary-400);flex-shrink:0}.lead-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.lead-date{font-size:.875rem;color:var(--color-text-muted)}.leads-table-wrap{margin-top:var(--spacing-md)}.leads-table-scroll{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.leads-table{width:100%;border-collapse:collapse;font-size:.9rem}.leads-table th,.leads-table td{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.leads-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem}.leads-table tbody tr:hover{background:var(--color-surface-hover)}.leads-table .th-actions,.leads-table .td-actions{white-space:nowrap;text-align:right}.leads-table-link{color:var(--color-primary-400);text-decoration:none;font-weight:500}.leads-table-link:hover{text-decoration:underline}.lead-detail-page{max-width:800px;margin:0 auto}.lead-detail-page .back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-primary-400);text-decoration:none;font-size:.9rem;margin-bottom:var(--spacing-md)}.lead-detail-page .back-link:hover{text-decoration:underline}.lead-detail-page .section-header-title{display:flex;align-items:center;gap:var(--spacing-md)}.lead-detail-avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.5rem;box-shadow:0 4px 15px #00a3ff40}.lead-detail-page .lead-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;margin-left:var(--spacing-sm)}.lead-detail-content{margin-top:var(--spacing-xl);background:var(--glass-bg);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--spacing-xl)}.lead-detail-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.lead-detail-form .form-group{margin-bottom:var(--spacing-lg)}.lead-detail-form .form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-text-secondary);font-size:.875rem}.lead-detail-form .form-group input,.lead-detail-form .form-group select,.lead-detail-form .form-group textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:1rem;background:var(--color-neutral-800);color:var(--color-text)}.lead-detail-form .form-group input:disabled,.lead-detail-form .form-group select:disabled,.lead-detail-form .form-group textarea:disabled{opacity:.7;cursor:not-allowed}.lead-converted-info{padding:var(--spacing-md);background:var(--color-success-bg, rgba(34, 197, 94, .1));border-radius:var(--radius-lg);margin-top:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md)}.lead-converted-info p{margin:0;color:var(--color-success-text, #166534);font-weight:500}.form-actions{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.form-error{background:var(--color-rojo-bg);color:var(--color-rojo);padding:var(--spacing-md);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);font-size:.875rem}@media (max-width: 600px){.lead-detail-form .form-row{grid-template-columns:1fr}}:root{--color-primary-400: #47B9FF;--color-primary-500: #00A3FF;--color-primary-600: #0082CC;--color-primary-900: #005C91;--color-accent-400: #47FFDB;--color-accent-500: #00E5BE;--color-accent-600: #00B598;--color-accent-900: #00806B;--color-secondary-400: #FFB347;--color-secondary-500: #FF9500;--color-secondary-600: #CC7700;--color-neutral-50: #F8FAFC;--color-neutral-100: #F1F5F9;--color-neutral-200: #E2E8F0;--color-neutral-300: #CBD5E1;--color-neutral-400: #94A3B8;--color-neutral-500: #64748B;--color-neutral-600: #475569;--color-neutral-700: #334155;--color-neutral-800: #1E293B;--color-neutral-900: #0F172A;--color-neutral-950: #020617;--color-verde: #10b981;--color-verde-bg: rgba(16, 185, 129, .15);--color-ambar: #f59e0b;--color-ambar-bg: rgba(245, 158, 11, .15);--color-rojo: #ef4444;--color-rojo-bg: rgba(239, 68, 68, .15);--color-bg: var(--color-neutral-900);--color-bg-elevated: var(--color-neutral-800);--color-surface: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .08);--color-border: rgba(255, 255, 255, .1);--color-border-highlight: rgba(0, 163, 255, .3);--color-text: #F8FAFC;--color-text-secondary: #94A3B8;--color-text-muted: #64748B;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--gradient-primary: linear-gradient(135deg, var(--color-primary-500) 0%, var(--color-accent-500) 100%);--gradient-bg: linear-gradient(180deg, var(--color-neutral-900) 0%, var(--color-primary-900) 100%);--gradient-text: linear-gradient(90deg, var(--color-primary-400) 0%, var(--color-accent-400) 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(0, 163, 255, .3);--shadow-glow-accent: 0 0 20px rgba(0, 229, 190, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-family: "Inter", "Plus Jakarta Sans", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--gradient-bg);background-attachment:fixed;color:var(--color-text);line-height:1.5;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-800)}::-webkit-scrollbar-thumb{background:var(--color-neutral-600);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--color-text)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}.text-gradient{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}a{color:var(--color-primary-400);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-family:inherit;font-size:.9375rem;font-weight:500;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all .2s ease;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px #00a3ff4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00a3ff66}.btn-secondary{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-highlight)}.btn-outline{background:transparent;color:var(--color-primary-400);border:1px solid var(--color-border-highlight)}.btn-outline:hover:not(:disabled){background:#00a3ff1a}.btn-danger{background:var(--color-rojo);color:#fff;box-shadow:0 4px 15px #ef44444d}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:none}.btn-ghost:hover:not(:disabled){color:var(--color-text);background:var(--color-surface)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;min-height:52px}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem;min-height:36px}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-md);font-family:inherit;font-size:1rem;color:var(--color-text);background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .2s ease;min-height:48px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff26}.form-input::placeholder{color:var(--color-text-muted)}.form-error{margin-top:var(--spacing-xs);font-size:.875rem;color:var(--color-rojo)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow)}.card{background:var(--color-bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border);overflow:hidden}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card-body{padding:var(--spacing-lg)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--spacing-md);background:var(--gradient-bg)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:var(--radius-full)}.badge-verde{background:var(--color-verde-bg);color:var(--color-verde);border:1px solid rgba(16,185,129,.3)}.badge-ambar{background:var(--color-ambar-bg);color:var(--color-ambar);border:1px solid rgba(245,158,11,.3)}.badge-rojo{background:var(--color-rojo-bg);color:var(--color-rojo);border:1px solid rgba(239,68,68,.3)}.badge-pendiente{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.badge-enviado{background:var(--color-verde-bg);color:var(--color-verde);border:1px solid rgba(16,185,129,.3)}.badge-cancelado{background:#64748b26;color:var(--color-text-muted);border:1px solid rgba(100,116,139,.3)}.badge-primary{background:#00a3ff26;color:var(--color-primary-400);border:1px solid rgba(0,163,255,.3)}.badge-accent{background:#00e5be26;color:var(--color-accent-400);border:1px solid rgba(0,229,190,.3)}.toast-container{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-sm)}.toast{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-neutral-800);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:slideIn .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast-success{background:#10b981e6;border-color:var(--color-verde)}.toast-error{background:#ef4444e6;border-color:var(--color-rojo)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.modal{background:var(--color-bg-elevated);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:var(--spacing-lg)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.table-container{overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-bg-elevated)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background:var(--color-neutral-800)}.table tr:hover td{background:var(--color-surface-hover)}.table tr:last-child td{border-bottom:none}.sortable-th-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;width:100%}.sortable-th-btn:hover{color:var(--color-primary-400)}.sortable-th-icon{display:inline-flex;opacity:.7}.sortable-th-icon-inactive{opacity:.35}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:var(--spacing-md);opacity:.5}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1{display:flex;align-items:center;gap:var(--spacing-sm)}.page-header h1 svg{color:var(--color-primary-400)}.section-header{margin-bottom:var(--spacing-xl)}.section-header-main{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--spacing-lg)}.section-header-title{display:flex;align-items:flex-start;gap:var(--spacing-md)}.section-header-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);color:var(--color-primary-400);flex-shrink:0}.section-header-icon svg{width:24px;height:24px}.section-header h1{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0 0 2px}.section-header-desc{font-size:.95rem;color:var(--color-text-muted);margin:0}.section-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.section-header-actions .btn-primary{display:flex;align-items:center;gap:var(--spacing-xs)}.filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-group select,.filter-group input{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-neutral-800);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:.875rem;min-width:180px;cursor:pointer;transition:all .2s ease}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #00a3ff1a}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:.9rem;cursor:pointer;transition:background .15s ease}.pagination-btn:hover:not(:disabled){background:var(--color-surface-hover)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.9rem;color:var(--color-text-muted)}.text-center{text-align:center}.text-right{text-align:right}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.glow-primary{box-shadow:var(--shadow-glow)}.glow-accent{box-shadow:var(--shadow-glow-accent)}.hover-card{transition:transform .2s ease,box-shadow .2s ease}.hover-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}@media (max-width: 767px){html,body{overflow-x:hidden}h1{font-size:1.375rem}h2{font-size:1.125rem}.modal-overlay{padding:var(--spacing-md)}.modal{width:100%;max-height:90vh;overflow-y:auto}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-lg)}.page-header,.section-header-main{flex-direction:column;align-items:stretch}.section-header-actions{width:100%;justify-content:flex-start}.filters{flex-direction:column}.filter-group select,.filter-group input{width:100%}.table-wrapper,.responsive-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.section-header{margin-bottom:var(--spacing-lg)}.section-header-main{gap:var(--spacing-md)}.form-row{flex-direction:column;align-items:stretch}.form-row>*{width:100%}}
