*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1280px;padding:20px}.btn{border-radius:5px;padding:10px 20px;transition:background-color .3s}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-success{background-color:#28a745}.btn-success:hover{background-color:#218838}.btn-edit{background-color:#28a745;border:none}.btn-edit:hover{background-color:#218838;color:#fff}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px}.form-group label input[type=checkbox]{cursor:pointer;margin:0 8px 0 0;vertical-align:middle;width:auto}.form-group label:has(input[type=checkbox]),.form-group>label:not(:has(>:not(input[type=checkbox]))){align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px;margin-bottom:0}.form-group label.checkbox-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px;margin-bottom:0}.form-group label.checkbox-label input[type=checkbox]{cursor:pointer;margin:0;width:auto}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;width:100%}.form-group textarea{min-height:100px;resize:vertical}.form-actions{border-top:1px solid #eee;margin-top:30px;padding-top:20px}.form-actions .btn{box-shadow:0 2px 4px #0000001a;flex-shrink:0;font-size:14px;font-weight:500;min-width:120px;padding:12px 24px}.form-actions .btn-secondary{background-color:#6c757d;border:none;color:#fff}.form-actions .btn-secondary:hover{background-color:#545b62;color:#fff}.form-actions .btn:hover{box-shadow:0 4px 6px #00000026;transform:translateY(-1px)}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.table{margin-top:20px}.table td,.table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.table th,.table tr:hover{background-color:#f8f9fa}.modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;position:relative;width:90%;z-index:1001}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{margin:0}.close-btn,.maximize-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover,.maximize-btn:hover{background-color:#f0f0f0;border-radius:4px;color:#333}.modal-content.maximized{border-radius:4px;height:95vh;max-height:95vh;max-width:95vw;width:95vw}.form-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:0;margin-bottom:20px}.form-tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:12px 24px;transition:all .2s}.form-tab:hover{background-color:#f8f9fa;color:#007bff}.form-tab.active{background-color:initial;border-bottom-color:#007bff;color:#007bff}.tab-content{min-height:200px}.navbar{background-color:#2c3e50;color:#fff;margin-bottom:30px;padding:10px 0}.navbar-content{align-items:center;display:flex;gap:6px;margin:0 auto;max-width:100%;padding:0 20px}.navbar h1{font-size:24px}.navbar-brand-logo{align-items:center;display:flex;flex-shrink:0}.navbar-brand-logo img{max-height:60px;max-width:180px;object-fit:contain}.navbar-logo{align-items:center;cursor:pointer;display:flex;flex-shrink:0;height:60px;text-decoration:none;transition:opacity .2s}.navbar-logo:hover{opacity:.8}.navbar-logo img{max-height:60px;max-width:180px;object-fit:contain}.hamburger-menu{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:30px;justify-content:space-around;padding:0;width:30px;z-index:1001}.hamburger-menu span{background-color:#fff;border-radius:3px;height:3px;transition:all .3s;width:100%}.hamburger-menu:hover span{background-color:#ecf0f1}.nav-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}.nav-links{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:1px;min-width:0}.nav-link-flat{border-radius:4px;color:#fff;font-size:13px;font-weight:500;padding:5px 8px;text-decoration:none;transition:background-color .2s;white-space:nowrap}.nav-link-flat.active,.nav-link-flat:hover{background-color:#ffffff26}.nav-dropdown{position:relative}.nav-dropdown-trigger{align-items:center;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:4px;padding:5px 8px;text-decoration:none;transition:background-color .2s;white-space:nowrap}.nav-dropdown-trigger.active,.nav-dropdown-trigger:hover{background-color:#ffffff26}.nav-caret{font-size:10px;line-height:1;opacity:.7}.nav-dropdown-bridge{height:6px;left:0;position:absolute;top:100%;width:100%;z-index:9999}.nav-dropdown-menu{background-color:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 6px 20px #00000026;left:0;min-width:200px;overflow:hidden;padding:4px 0;position:absolute;top:calc(100% + 6px);z-index:10000}.nav-dropdown-menu a{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:13px;font-weight:400;gap:10px;padding:9px 16px;text-decoration:none;transition:all .15s}.nav-dropdown-icon{flex-shrink:0;font-size:14px;text-align:center;width:20px}.nav-dropdown-menu a:hover{background-color:#f0f4ff;color:#007bff}.nav-dropdown-menu a.active{background-color:#e7f1ff;color:#007bff;font-weight:500}.navbar-icons{border-left:1px solid #fff3;flex-shrink:0;gap:4px;margin-left:8px;padding-left:10px}.navbar-icon,.navbar-icons{align-items:center;display:flex}.navbar-icon{border-radius:50%;color:inherit;cursor:pointer;height:32px;justify-content:center;text-decoration:none;transition:background-color .2s;width:32px}.navbar-icon.active,.navbar-icon:hover{background-color:#ffffff26}.navbar-icon svg{display:block}.btn-logout-icon{background:none;border:none;color:inherit;padding:0}.btn-logout-icon:hover{background-color:#e74c3c4d}@media (max-width:768px){.container{padding:10px}.navbar-content{flex-wrap:wrap;position:relative}.hamburger-menu{display:flex}.nav-overlay{display:block}.nav-links{align-items:flex-start;background-color:#2c3e50;box-shadow:-2px 0 10px #0000004d;flex-direction:column;gap:0;height:100vh;overflow-y:auto;padding:80px 20px 20px;position:fixed;right:-100%;top:0;transition:right .3s ease;width:280px;z-index:1000}.nav-links.nav-links-open{right:0}.nav-dropdown{width:100%}.nav-dropdown-trigger{border-bottom:1px solid #ffffff1a;border-radius:0;box-sizing:border-box;font-size:15px;padding:14px 15px;width:100%}.nav-dropdown-bridge{display:none}.nav-dropdown-menu{background-color:#00000026;border:none;border-radius:0;box-shadow:none;margin:0;min-width:0;padding:0;position:static;width:100%}.nav-dropdown-menu a{border-bottom:1px solid #ffffff0d;color:#ffffffd9;font-size:14px;padding:12px 15px 12px 30px}.nav-dropdown-menu a:hover{background-color:#ffffff1a;color:#fff}.nav-dropdown-menu a.active{background-color:#3498db33;border-left:3px solid #3498db;color:#fff;padding-left:27px}.nav-link-flat{border-bottom:1px solid #ffffff1a;border-radius:0;display:block;font-size:15px;padding:14px 15px;width:100%}.nav-link-flat.active,.nav-link-flat:hover{background-color:#34495e;border-left:4px solid #3498db;padding-left:11px}.navbar-icons{border-left:none;margin-left:auto;padding-left:0}.navbar h1{font-size:20px;text-align:center}.page-header{flex-direction:column;gap:15px}.page-header h2{font-size:20px}.card{padding:15px}.modal-content{max-height:95vh;padding:20px;width:95%}}@media (max-width:480px){.navbar h1{font-size:18px}.nav-links{flex-direction:column;width:100%}.nav-links a{text-align:center;width:100%}.container{padding:5px}.page-header h2{font-size:18px}.btn{font-size:13px;padding:8px 16px}}.grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.alert{word-wrap:break-word;padding:15px;position:relative}.alert-error{padding-right:40px}.alert strong{display:block;font-weight:600;margin-bottom:5px}.alert button{background:none;border:none;border-radius:50%;cursor:pointer;font-size:20px;height:24px;line-height:20px;padding:0;position:absolute;right:10px;text-align:center;top:10px;transition:background-color .2s;width:24px}.alert-error button{color:#721c24}.alert-error button:hover{background-color:#721c241a}.alert-success button{color:#155724}.alert-success button:hover{background-color:#1557241a}.dashboard{box-sizing:border-box;max-width:100%;min-height:calc(100vh - 200px);padding:20px;width:100%;will-change:contents}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:30px}.dashboard-header h2{color:#2c3e50;font-size:28px;font-weight:600;margin:0}.widget-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.widget-slot.widget-full{grid-column:1/-1}.widget-slot.widget-half{grid-column:span 1}.widget-slot.widget-editable{border:2px dashed #0000;border-radius:10px;cursor:grab;position:relative;transition:border-color .2s,box-shadow .2s}.widget-slot.widget-editable:hover{border-color:#007bff;box-shadow:0 0 0 2px #007bff26}.widget-slot.widget-editable:active{cursor:grabbing}.widget-drag-bar{align-items:center;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px 6px 0 0;color:#fff;display:flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px;-webkit-user-select:none;user-select:none}.widget-config-panel{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 12px #00000014;margin-bottom:24px;padding:20px}.widget-config-header{align-items:center;color:#555;display:flex;flex-wrap:wrap;font-size:14px;gap:10px;justify-content:space-between;margin-bottom:16px}.widget-config-list{display:flex;flex-direction:column;gap:6px}.widget-config-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;cursor:grab;display:flex;gap:10px;padding:10px 14px;transition:background .15s,border-color .15s,transform .15s;-webkit-user-select:none;user-select:none}.widget-config-item:hover{background:#e9ecef}.widget-config-item:active{cursor:grabbing}.widget-config-item.drag-over{background:#e7f1ff;border-color:#007bff;transform:scale(1.01)}.widget-drag-handle{color:#aaa;cursor:grab;flex-shrink:0;font-size:18px;line-height:1}.widget-config-label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px}.widget-config-label input[type=checkbox]{accent-color:#007bff;cursor:pointer;height:18px;width:18px}.widget-config-icon{font-size:18px}.widget-config-size{background:#e9ecef;border-radius:10px;color:#888;flex-shrink:0;font-size:11px;padding:2px 8px}.dashboard-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.dashboard-stat-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;padding:15px;transition:transform .2s,box-shadow .2s}.dashboard-stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.dashboard-stat-card-warning{background:#fffbf0;border-left:4px solid #ffc107}.dashboard-card-highlight{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 15px #667eea66;color:#fff}.dashboard-card-highlight .dashboard-card-header h3{color:#fff;font-size:20px}.dashboard-card-highlight .dashboard-card-header{border-bottom-color:#ffffff4d}.stat-icon{flex-shrink:0;font-size:32px}.stat-content{flex:1 1}.stat-value{line-height:1.2}.stat-label{font-size:12px;margin-top:4px}.stat-link{color:#007bff;flex-shrink:0;font-size:12px;font-weight:500;text-decoration:none;transition:color .2s}.stat-link:hover{color:#0056b3;text-decoration:underline}.summary-stats{display:flex;flex-direction:column;gap:12px}.summary-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.summary-item:last-child{border-bottom:none}.summary-label{color:#666;font-size:14px}.summary-value{color:#2c3e50;font-size:18px;font-weight:600}.dashboard-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:300px 1fr 300px;margin-bottom:20px}.dashboard-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;padding:20px}.dashboard-card-large{grid-column:2;grid-row:1/3}.dashboard-card-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.dashboard-card-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.dashboard-link{color:#007bff;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.dashboard-link:hover{color:#0056b3;text-decoration:underline}.dashboard-link-small{color:#007bff;font-size:12px;font-weight:500;text-decoration:none;transition:color .2s}.dashboard-link-small:hover{color:#0056b3;text-decoration:underline}.dashboard-card-content{display:flex;flex:1 1;flex-direction:column;min-height:100px}.stat-number{color:#007bff;font-size:48px}.empty-state{font-size:14px;padding:20px}.calendario-mini{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.calendario-mini-dia{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;display:flex;flex-direction:column;max-height:350px;min-height:120px;overflow:hidden;padding:8px}.calendario-mini-dia.hoy{background:#e3f2fd;border:2px solid #2196f3}.calendario-mini-fecha{border-bottom:1px solid #dee2e6;color:#666;font-size:11px;font-weight:600;margin-bottom:5px;padding-bottom:5px;text-align:center}.calendario-mini-citas{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:3px;max-height:320px;min-height:80px;overflow-x:hidden;overflow-y:auto}.cita-mini-dashboard{align-items:center;border-radius:3px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:10px;gap:4px;padding:3px 5px;transition:opacity .2s}.cita-mini-dashboard:hover{opacity:.8}.cita-mini-hora-dashboard{flex-shrink:0;font-size:9px;font-weight:600}.cita-mini-titulo-dashboard{flex:1 1;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cumpleanos-list{display:flex;flex-direction:column;gap:12px}.cumpleanos-item{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;gap:12px;padding:10px;transition:background-color .2s}.cumpleanos-item:hover{background:#e9ecef}.cumpleanos-fecha{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#007bff;font-size:14px;font-weight:600;min-width:60px;padding:5px 8px;text-align:center}.cumpleanos-nombre{color:#2c3e50;flex:1 1;font-size:14px}.tareas-list-dashboard{display:flex;flex-direction:column;gap:10px}.tarea-item-dashboard{background:#f8f9fa;border-left:4px solid #dee2e6;border-radius:6px;padding:12px;transition:background-color .2s,transform .2s}.tarea-item-dashboard:hover{background:#e9ecef;transform:translateX(2px)}.tarea-item-dashboard.vencida{background:#fff5f5;border-left-color:#dc3545}.tarea-item-dashboard.prioridad-urgente{border-left-color:#dc3545}.tarea-item-dashboard.prioridad-alta{border-left-color:#fd7e14}.tarea-item-dashboard.prioridad-media{border-left-color:#ffc107}.tarea-item-dashboard.prioridad-baja{border-left-color:#28a745}.tarea-header-dashboard{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.tarea-titulo-dashboard{color:#2c3e50;flex:1 1;font-size:14px;min-width:120px}.tarea-cliente-dashboard{color:#666;font-size:12px;margin-bottom:4px}.tarea-fecha-dashboard{color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.tipo-badge{font-size:10px;padding:2px 6px}.prioridad-badge{padding:2px 5px}.kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.kpi-card{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;gap:14px;padding:18px 16px;transition:transform .2s,box-shadow .2s}.kpi-card:hover{box-shadow:0 4px 12px #00000021;transform:translateY(-2px)}.kpi-card-wide{grid-column:span 2}.kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.kpi-icon-blue{background:#e7f1ff}.kpi-icon-teal{background:#e0f7f4}.kpi-icon-green{background:#e8f5e9}.kpi-icon-purple{background:#f3e8ff}.kpi-icon-emerald{background:#d1fae5}.kpi-body{flex:1 1;min-width:0}.kpi-value{color:#2c3e50;font-size:22px;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-label{color:#6c757d;font-size:12px;margin-top:2px}.kpi-trend{border-radius:8px;display:inline-block;font-size:11px;font-weight:600;margin-top:2px;padding:1px 6px}.kpi-trend-up{background:#d1fae5;color:#065f46}.kpi-trend-down{background:#fee2e2;color:#991b1b}.kpi-sub{color:#6c757d;display:block;font-size:11px;margin-top:2px}.quick-stats-row{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;padding:14px 18px}.quick-stat{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:20px;display:flex;gap:6px;padding:4px 12px}.quick-stat-val{color:#2c3e50;font-size:15px;font-weight:700}.quick-stat-lbl{color:#6c757d;font-size:12px}.quick-stat-warn{background:#fffbf0;border-color:#ffc107}.dashboard-row{align-items:stretch;display:flex;gap:20px;margin-bottom:24px}.revenue-chart{align-items:flex-end;display:flex;gap:12px;height:180px;padding-top:8px}.revenue-bar-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.revenue-bar-label{color:#6c757d;font-size:10px;margin-bottom:4px;text-align:center;white-space:nowrap}.revenue-bar-track{align-items:flex-end;background:#e9ecef;border-radius:4px 4px 0 0;display:flex;flex:1 1;max-width:40px;position:relative;width:100%}.revenue-bar-fill{background:linear-gradient(180deg,#28a745,#20c997);border-radius:4px 4px 0 0;min-height:2px;transition:height .6s ease;width:100%}.revenue-bar-month{color:#495057;font-size:11px;font-weight:600;margin-top:6px;text-transform:capitalize}.oport-pipeline{display:flex;gap:0;overflow-x:auto}.oport-stage{background:#f8f9fa;border-right:2px solid #fff;flex:1 1;min-width:100px;padding:14px 10px;text-align:center;transition:background .2s}.oport-stage:first-child{border-radius:8px 0 0 8px}.oport-stage:last-child{border-radius:0 8px 8px 0;border-right:none}.oport-stage:hover{background:#e9ecef}.oport-stage-count{color:#2c3e50;font-size:24px;font-weight:700}.oport-stage-label{color:#6c757d;font-size:12px;margin-top:2px;text-transform:capitalize}.oport-stage-val{color:#28a745;font-size:11px;font-weight:600;margin-top:4px}.oport-conversion{background:#e8f5e9;border-radius:8px;color:#2e7d32;font-size:14px;margin-top:14px;padding:10px 14px;text-align:center}.facturacion-widget-dashboard{margin-bottom:30px}.facturacion-widget-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:15px}.facturacion-stat-card{background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.facturacion-stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.facturacion-stat-title{color:#6c757d;font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.facturacion-stat-value{color:#2c3e50;font-size:28px;font-weight:700;line-height:1.2;margin-bottom:8px}.facturacion-stat-desc{color:#6c757d;font-size:12px;line-height:1.4}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr 2fr 1fr}.dashboard-card-large{grid-row:1/2}}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-card-large{grid-column:1/-1;grid-row:2/3}.calendario-mini{grid-template-columns:repeat(7,1fr)}}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-card-large{grid-column:1;grid-row:auto}.calendario-mini{grid-template-columns:repeat(2,1fr)}.stat-number{font-size:36px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-card-wide{grid-column:span 2}.dashboard-row{flex-direction:column}.oport-pipeline{flex-wrap:wrap}.oport-stage{min-width:80px}.widget-grid{grid-template-columns:1fr}.widget-slot.widget-half{grid-column:span 1}.widget-config-panel{padding:14px}}@media (max-width:480px){.calendario-mini,.kpi-grid{grid-template-columns:1fr}.kpi-card-wide{grid-column:span 1}.quick-stats-row{gap:6px}}.clientes{box-sizing:border-box;margin:0 auto;max-width:100%;padding:20px;width:100%}.clientes-grid{display:flex;flex-direction:column;gap:15px;width:100%}.cliente-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.cliente-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.cliente-card.inactiva{background-color:#f8f9fa;opacity:.6}.cliente-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.cliente-header h3{color:#2c3e50;margin:0}.cliente-estado{color:#333;font-size:14px;font-weight:500;margin:5px 0}.cliente-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.cliente-actions .btn{border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;line-height:1.4;min-height:auto;min-width:80px;padding:8px 16px;transition:all .2s;white-space:nowrap}.cliente-actions .btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.cliente-actions .btn-sm{font-size:14px;font-weight:500;padding:8px 16px}.btn-sm{font-size:.8rem;padding:5px 10px}.cliente-info p{color:#555;margin:8px 0}.clientes-modal-content.cliente-detail,.modal-content.cliente-form-modal{max-height:90vh;max-width:1400px!important;overflow-y:auto}.cliente-detail-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.cliente-detail-info{display:flex;flex-direction:column;gap:30px}.info-section{background:#f8f9fa;border-radius:8px;padding:15px}.info-section h3{color:#2c3e50;margin-bottom:15px;margin-top:0}.timeline-section h3{color:#2c3e50;margin-bottom:20px;margin-top:0}.timeline{padding-left:30px;position:relative}.timeline:before{background:#dee2e6;bottom:0;content:"";left:15px;position:absolute;top:0;width:2px}.timeline-item{display:flex;gap:15px;margin-bottom:25px;position:relative}.timeline-marker{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:50%;display:flex;height:30px;justify-content:center;left:-23px;position:absolute;top:0;width:30px;z-index:1}.timeline-icon{font-size:16px}.timeline-content{background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000000d;flex:1 1;padding:15px}.timeline-header{align-items:start;display:flex;gap:15px;justify-content:space-between;margin-bottom:8px}.timeline-header strong{color:#2c3e50;flex:1 1;font-size:15px}.timeline-date{color:#6c757d;font-size:12px;white-space:nowrap}.timeline-type{background:#e9ecef;border-radius:12px;color:#495057;display:inline-block;font-size:11px;margin-bottom:8px;padding:3px 8px;text-transform:uppercase}.timeline-desc{color:#555;font-size:14px;line-height:1.5;margin:8px 0}.timeline-duration{color:#6c757d;display:inline-block;font-size:12px;margin-top:8px}.timeline-resultado{background:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;color:#495057;font-size:13px;margin-top:10px;padding:10px}.clientes-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.clientes-modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:1400px;overflow-y:auto;padding:24px;width:100%}.cliente-info strong{color:#333;margin-right:5px}.empty-state{color:#999;padding:60px 20px}.loading{font-size:18px}.form-actions{justify-content:flex-end}.detail-tabs,.form-actions{margin-top:20px}.detail-tabs-nav{border-bottom:2px solid #eee;display:flex;gap:0}.detail-tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:all .2s}.detail-tab-btn:hover{background:#f8f9fa;color:#555}.detail-tab-btn.active{border-bottom-color:#667eea;color:#667eea}.facturacion-section{margin-top:20px}.facturacion-section h3{color:#2c3e50;font-size:16px;margin:0}.facturas-lista table tr:hover{background:#f8f9fa}.archivos-section{margin-top:20px}.archivos-section h3{color:#2c3e50;font-size:16px;margin:0}.archivo-upload-form{background:#f8f9fa;border:1px dashed #ccc;border-radius:8px;margin-bottom:16px;padding:14px}.archivos-lista{display:flex;flex-direction:column;gap:8px;margin-top:12px}.archivo-item{align-items:center;background:#fff;border:1px solid #eee;border-radius:8px;display:flex;gap:12px;padding:10px 12px;transition:box-shadow .15s}.archivo-item:hover{box-shadow:0 2px 8px #00000014}.archivo-icon{flex-shrink:0;font-size:24px;text-align:center;width:36px}.archivo-info{flex:1 1;min-width:0}.archivo-nombre{color:#2c3e50;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archivo-meta{color:#888;display:flex;font-size:12px;gap:10px;margin-top:2px}.archivo-categoria{background:#e8eaf6;border-radius:3px;color:#3f51b5;font-size:11px;font-weight:500;padding:1px 6px}.archivo-notas{color:#666;font-size:12px;font-style:italic;margin-top:3px}.archivo-actions{display:flex;flex-shrink:0;gap:4px}.archivo-actions button:hover{background:#f0f0f0!important}@media (max-width:600px){.archivo-item{flex-wrap:wrap}.archivo-upload-form>div{flex-direction:column}}.sesiones-section{margin-top:20px}.sesiones-resumen-kpis{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.sesiones-lista table{border-collapse:collapse;font-size:14px;width:100%}.sesiones-lista th{border-bottom:2px solid #eee;color:#666;font-weight:500;padding:8px 10px;text-align:left}.sesiones-lista td{border-bottom:1px solid #f0f0f0;padding:10px}.sesiones-lista tr:hover{background:#f8f9fa}.consultas{margin:0 auto;max-width:100%;padding:20px}.filtros{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.filtros .form-group{margin-bottom:0;max-width:300px}.consultas-list{display:flex;flex-direction:column;gap:20px}.consulta-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.consulta-header{align-items:flex-start;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.consulta-header h3{color:#2c3e50;margin:0 0 5px}.consulta-fecha{color:#666;font-size:14px;margin:0}.consulta-actions{display:flex;flex-shrink:0;gap:10px}.consulta-actions .btn{font-size:14px;font-weight:500;min-width:80px;padding:8px 16px}.consulta-content{display:flex;flex-direction:column;gap:20px}.consulta-section{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:5px;padding:15px}.consulta-section h4{color:#555;font-size:14px;font-weight:600;margin:0 0 10px;text-transform:uppercase}.consulta-section p{color:#333;line-height:1.6;margin:0;white-space:pre-wrap}.consulta-section>div{word-wrap:break-word;color:#333;line-height:1.6;margin:0;overflow-wrap:break-word;text-align:left}.consulta-section>div p{margin:5px 0;text-align:left}.consulta-section>div p:first-child{margin-top:0}.consulta-section>div p:last-child{margin-bottom:0}.consulta-section>div ol,.consulta-section>div ul{display:block;list-style-position:outside;list-style-type:disc;margin:10px 0;padding-left:0;padding-right:0;text-align:left}.consulta-section>div ol{list-style-type:decimal}.consulta-section>div ol li,.consulta-section>div ul li{display:list-item;line-height:1.6;list-style-position:outside;margin:8px 0 8px 1.5em;padding-left:0;padding-right:0;position:relative;text-indent:0}.consulta-section>div ol li p,.consulta-section>div ul li p{display:inline;margin:0;padding:0;text-align:left;text-indent:0}.consulta-section>div ol li,.consulta-section>div ul li{text-align:left}.consulta-section>div ol li>:first-child,.consulta-section>div ul li>:first-child{margin-top:0;text-align:left}.consulta-section>div ol li>:last-child,.consulta-section>div ul li>:last-child{margin-bottom:0}.consulta-section>div,.consulta-section>div ol,.consulta-section>div ul{direction:ltr;unicode-bidi:embed}.consulta-section>div *{text-align:left!important}.consulta-section>div ol,.consulta-section>div ul{margin-left:0;margin-right:0}.consulta-section>div ol li,.consulta-section>div ul li{margin-left:1.5em;margin-right:0}.consulta-section-header{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.consulta-section-header h4{flex:1 1;margin:0}.consulta-section-header .btn-xs{border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.consulta-section-header .btn-xs:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.consulta-edit-actions{display:flex;flex-shrink:0;gap:8px}.consulta-edit-actions .btn-xs{border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s;white-space:nowrap}.consulta-edit-actions .btn-xs:disabled{cursor:not-allowed;opacity:.6}.consulta-edit-actions .btn-xs:hover:not(:disabled){box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.consulta-empty{color:#999;font-style:italic;margin:0;padding:8px 0}.resumen-sesiones{padding:20px}.resumen-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.resumen-header h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.btn-export-excel{align-items:center;background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s}.btn-export-excel:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.btn-export-excel:active:not(:disabled){transform:translateY(0)}.btn-export-excel:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.resumen-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.resumen-table{border-collapse:collapse;min-width:800px;width:100%}.resumen-table thead{background-color:#f8f9fa}.resumen-table th{border-bottom:2px solid #dee2e6;color:#2c3e50;font-size:14px;font-weight:600;padding:12px 15px;text-align:left}.resumen-table th.sortable{cursor:pointer;position:relative;transition:background-color .2s;-webkit-user-select:none;user-select:none}.resumen-table th.sortable:hover{background-color:#f8f9fa}.sort-indicator{color:#007bff;font-weight:700;margin-left:5px}.resumen-table td{border-bottom:1px solid #e9ecef;color:#495057;font-size:14px;padding:12px 15px}.resumen-table tbody tr:last-child td{border-bottom:none}.resumen-table tbody tr.sesion-completada,.resumen-table tbody tr.sesion-completada td{background-color:#d4edda!important}.resumen-table tbody tr.sesion-completada:hover,.resumen-table tbody tr.sesion-completada:hover td{background-color:#c3e6cb!important}.resumen-table tbody tr.sesion-cancelada,.resumen-table tbody tr.sesion-cancelada td{background-color:#f8d7da!important}.resumen-table tbody tr.sesion-cancelada:hover,.resumen-table tbody tr.sesion-cancelada:hover td{background-color:#f5c6cb!important}.resumen-table tbody tr.sesion-agendada,.resumen-table tbody tr.sesion-agendada td{background-color:#fff!important}.resumen-table tbody tr.sesion-agendada:hover,.resumen-table tbody tr.sesion-agendada:hover td{background-color:#f8f9fa!important}.editable-cell{cursor:pointer;min-width:150px;position:relative}.editable-cell:hover{background-color:#e3f2fd}.cell-content{border-radius:4px;display:block;padding:4px 8px;transition:background-color .2s}.cell-input{background:#fff;border:2px solid #007bff;border-radius:4px;font-family:inherit;font-size:14px;outline:none;padding:6px 10px;width:100%}.cell-input:focus{border-color:#0056b3;box-shadow:0 0 0 3px #007bff1a}.empty-state{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a}.alert{font-size:14px;padding:12px 20px}.loading{font-size:16px}.resumen-horas-totales{display:flex;justify-content:center;margin-top:30px}.resumen-horas-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-width:400px;padding:25px 40px;text-align:center}.resumen-horas-header{border-bottom:2px solid #e0e0e0;margin-bottom:20px;padding-bottom:15px}.resumen-horas-header h3{color:#2c3e50;font-size:20px;font-weight:600;margin:0}.resumen-horas-content{align-items:center;display:flex;flex-direction:column;gap:10px}.resumen-horas-value{color:#007bff;font-size:36px;font-weight:700;line-height:1.2}.resumen-horas-label{color:#666;font-size:14px;margin-top:5px}.citas{margin:0 auto;max-width:100%;padding:20px}.filtros-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.citas-list{display:flex;flex-direction:column;gap:20px}.cita-card{background:#fff;border-left:4px solid #007bff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.cita-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.cita-header h3{color:#2c3e50;margin:0 0 5px}.cita-cliente{color:#666;font-size:14px;margin:5px 0}.cita-fecha{color:#333;font-weight:500;margin:5px 0}.cita-info{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.cita-estado{border-radius:20px;color:#fff;font-size:12px;font-weight:500;padding:5px 12px;text-transform:capitalize}.cita-duracion{color:#666;font-size:14px}.cita-descripcion{background-color:#f8f9fa;border-radius:4px;margin:15px 0;padding:15px}.cita-descripcion p{color:#555;margin:0}.cita-descripcion>div{color:#555;line-height:1.6;margin:0}.cita-descripcion>div p{margin:5px 0}.cita-descripcion>div p:first-child{margin-top:0}.cita-descripcion>div p:last-child{margin-bottom:0}.cita-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:15px;padding-top:15px}.header-actions{align-items:center;display:flex;gap:15px}.view-toggle{display:flex;gap:5px}.view-toggle .btn{font-size:14px;padding:8px 16px}.calendario-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.calendario-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.mes-titulo{color:#2c3e50;font-size:24px;font-weight:600;margin:0;text-transform:capitalize}.calendario-grid{width:100%}.calendario-dias-semana{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,minmax(100px,1fr));margin-bottom:1px;width:100%}.dia-semana{background-color:#f8f9fa;border:1px solid #dee2e6;color:#666;font-weight:600;padding:10px;text-align:center}.calendario-dias{grid-gap:1px;display:grid;gap:1px;grid-auto-rows:120px;grid-template-columns:repeat(7,minmax(100px,1fr))}.calendario-dia,.calendario-dias{border:1px solid #dee2e6;width:100%}.calendario-dia{background:#fff;box-sizing:border-box;display:flex;flex-direction:column;height:120px;min-height:120px;min-width:0;overflow:hidden;padding:8px;position:relative;transition:background-color .2s}.calendario-dia:hover{background-color:#f8f9fa}.calendario-dia.otro-mes{background-color:#f8f9fa;color:#999}.calendario-dia.hoy{background-color:#e3f2fd;border:2px solid #2196f3}.dia-numero{color:#333;flex-shrink:0;font-weight:600;margin-bottom:5px}.calendario-dia.otro-mes .dia-numero{color:#999}.dia-citas{flex:1 1;flex-direction:column;gap:3px;margin-top:5px;min-height:0;width:100%}.cita-mini,.dia-citas{display:flex;min-width:0;overflow:hidden}.cita-mini{align-items:center;border-radius:3px;color:#fff;cursor:pointer;flex-shrink:0;font-size:11px;gap:4px;padding:4px 6px;text-overflow:ellipsis;transition:opacity .2s;white-space:nowrap}.cita-mini:hover{opacity:.8;transform:scale(1.02)}.cita-mini-hora{flex-shrink:0;font-weight:600}.cita-mini-titulo{flex:1 1;font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cita-mas{color:#666;cursor:pointer;flex-shrink:0;font-size:11px;font-weight:500;margin-top:auto;padding:2px 4px;text-align:center}.cita-mas:hover{color:#007bff}@media (max-width:768px){.page-header{align-items:stretch;flex-direction:column;gap:15px}.header-actions{flex-direction:column;gap:10px}.view-toggle{width:100%}.view-toggle .btn{flex:1 1;font-size:13px;padding:10px}.filtros-grid{grid-template-columns:1fr}.calendario-container{overflow-x:auto;padding:10px}.calendario-header{flex-direction:column;gap:10px;padding-bottom:10px}.calendario-header .btn{font-size:14px;padding:10px;width:100%}.mes-titulo{font-size:18px;order:-1;text-align:center}.calendario-dias-semana{font-size:12px}.calendario-dias,.calendario-dias-semana{grid-template-columns:repeat(7,minmax(80px,1fr))}.dia-semana{font-size:11px;padding:8px 4px}.calendario-dia{height:80px;min-height:80px;padding:4px}.dia-numero{font-size:12px;margin-bottom:2px}.cita-mini{font-size:9px;margin-bottom:2px;padding:3px 4px}.cita-mini-hora{font-size:8px;margin-right:2px}.cita-mini-titulo{font-size:8px}.cita-mas{font-size:9px;padding:1px 2px}.cita-card{padding:15px}.cita-header{flex-direction:column;gap:10px}.cita-info{align-items:center;flex-direction:row;gap:10px}.cita-actions{flex-direction:column}.cita-actions .btn{width:100%}}@media (max-width:480px){.calendario-container{padding:5px}.calendario-grid{-webkit-overflow-scrolling:touch;min-width:100%;overflow-x:auto}.calendario-dias,.calendario-dias-semana{min-width:700px}.calendario-dia{height:70px;min-height:70px;min-width:100px;padding:3px}.dia-semana{font-size:10px;min-width:100px;padding:6px 2px}.dia-numero{font-size:11px}.cita-mini{font-size:8px;padding:2px 3px}.cita-mini-hora,.cita-mini-titulo{font-size:7px}.mes-titulo{font-size:16px}.calendario-header .btn{font-size:12px;padding:8px}}.cita-email-modal-overlay{align-items:center;background:#00000080;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.cita-email-modal-box{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;box-sizing:border-box;max-height:calc(100vh - 40px);max-width:440px;min-width:280px;overflow-y:auto;padding:24px 28px;width:100%}.cita-email-modal-box h3{color:#2c3e50;font-size:1.2rem;line-height:1.3;margin:0 0 16px;padding:0}.cita-email-modal-box .cita-email-modal-cliente{color:#333;font-size:14px;line-height:1.4;margin:0 0 16px}.cita-email-modal-box .alert,.cita-email-modal-box .form-group{margin-bottom:16px}.cita-email-modal-box .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.cita-email-modal-box .form-group input,.cita-email-modal-box .form-group textarea{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.cita-email-modal-box .form-group textarea{min-height:80px;resize:vertical}.cita-email-modal-box .modal-actions{border-top:1px solid #eee;display:flex;flex-shrink:0;gap:12px;margin-top:24px;padding-top:16px}.cita-email-modal-box .modal-actions .btn{flex:1 1;min-width:0}.calendario-visual-wrapper{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;margin-top:16px;padding:16px}.calendario-visual-wrapper .fc .fc-toolbar{flex-wrap:wrap;gap:8px}.calendario-visual-wrapper .fc .fc-toolbar-title{font-size:1.2rem;font-weight:600;text-transform:capitalize}.calendario-visual-wrapper .fc .fc-button{border-radius:6px;font-size:.85rem;padding:4px 12px}.calendario-visual-wrapper .fc .fc-button-primary{background:#0d6efd;border-color:#0d6efd}.calendario-visual-wrapper .fc .fc-button-primary:not(:disabled).fc-button-active,.calendario-visual-wrapper .fc .fc-button-primary:not(:disabled):active{background:#0b5ed7;border-color:#0a58ca}.calendario-visual-wrapper .fc .fc-button-primary:hover{background:#0b5ed7}.calendario-visual-wrapper .fc .fc-daygrid-day{cursor:pointer;transition:background .15s}.calendario-visual-wrapper .fc .fc-daygrid-day:hover{background:#f8f9fa}.calendario-visual-wrapper .fc .fc-daygrid-day.fc-day-today{background:#e8f4fd!important}.calendario-visual-wrapper .fc .fc-daygrid-day-number{font-size:.85rem;font-weight:500;padding:4px 8px}.calendario-visual-wrapper .fc .fc-event{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:2px 4px}.calendario-visual-wrapper .fc .fc-daygrid-event{margin:1px 2px}.calendario-visual-wrapper .fc-event-cancelled{opacity:.6}.fc-custom-event{line-height:1.3;overflow:hidden;padding:1px 2px}.fc-custom-time{font-size:.7rem;font-weight:600;opacity:.9}.fc-custom-title{font-size:.78rem;font-weight:500}.fc-custom-client,.fc-custom-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-custom-client{font-size:.68rem;opacity:.85}.calendario-visual-wrapper .fc .fc-timegrid-slot{height:2.5em}.calendario-visual-wrapper .fc .fc-timegrid-event .fc-event-main{padding:2px 4px}.calendario-visual-wrapper .fc .fc-timegrid-now-indicator-line{border-color:#dc3545}.calendario-visual-wrapper .fc .fc-daygrid-more-link{color:#0d6efd;font-size:.75rem;font-weight:500}@media (max-width:768px){.calendario-visual-wrapper{padding:8px}.calendario-visual-wrapper .fc .fc-toolbar{font-size:.85rem}.calendario-visual-wrapper .fc .fc-toolbar-title{font-size:1rem}.calendario-visual-wrapper .fc .fc-button{font-size:.75rem;padding:3px 8px}}.documentos{box-sizing:border-box;margin:0 auto;max-width:calc(100% - 40px);padding:20px 0;width:calc(100% - 40px)}.documentos-list{display:flex;flex-direction:column;gap:20px}.documento-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.documento-header{margin-bottom:15px}.documento-header h3{color:#2c3e50;margin:0 0 8px}.documento-info{color:#666;font-size:14px;margin:5px 0}.documento-fecha{color:#999;font-size:12px;margin:5px 0}.documento-notas{background-color:#f8f9fa;border-radius:4px;margin:15px 0;padding:10px}.documento-notas p{color:#555;margin:0}.documento-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:15px;padding-top:15px}.campos-personalizados{background-color:#f8f9fa;border-radius:4px;margin:20px 0;padding:15px}.campos-personalizados h4{color:#2c3e50;margin:0 0 15px}.info-box{background-color:#e7f3ff;border-left:4px solid #007bff;border-radius:4px;margin:20px 0;padding:15px}.info-box p{color:#004085;font-size:14px;margin:0 0 10px}.info-box ul{color:#004085;margin:10px 0;padding-left:20px}.info-box li{margin:5px 0}.documentos .email-modal-overlay{align-items:center;background:#00000080;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.documentos .email-modal-box{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;box-sizing:border-box;max-height:calc(100vh - 40px);max-width:440px;min-width:280px;overflow-y:auto;padding:24px 28px;width:100%}.documentos .email-modal-box h3{color:#2c3e50;font-size:1.2rem;line-height:1.3;margin:0 0 16px;padding:0}.documentos .email-modal-box .email-modal-cliente{color:#333;font-size:14px;line-height:1.4;margin:0 0 8px}.documentos .email-modal-box .email-modal-doc-name{color:#666;font-size:14px;line-height:1.4;margin-bottom:16px;word-break:break-word}.documentos .email-modal-box .alert,.documentos .email-modal-box .form-group{margin-bottom:16px}.documentos .email-modal-box .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.documentos .email-modal-box .form-group input,.documentos .email-modal-box .form-group textarea{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.documentos .email-modal-box .form-group textarea{min-height:80px;resize:vertical}.documentos .email-modal-box .modal-actions{border-top:1px solid #eee;display:flex;flex-shrink:0;gap:12px;margin-top:24px;padding-top:16px}.documentos .email-modal-box .modal-actions .btn{flex:1 1;min-width:0}.facturacion{background:#f6f8fb;box-sizing:border-box;margin:0 auto;max-width:calc(100% - 40px);padding:20px 0;width:calc(100% - 40px)}.facturacion .page-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.facturacion .page-header h2{color:#1f2937;font-size:30px;font-weight:700;margin:0}.facturacion-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.facturacion .facturacion-actions .btn{border:1px solid #0000;border-radius:8px;box-shadow:none;font-size:13px;font-weight:600;padding:8px 14px}.facturacion-more-menu{display:inline-flex;position:relative}.facturacion-more-panel{background:#fff;border:1px solid #d7dee9;border-radius:8px;box-shadow:0 8px 20px #0f172a1f;display:none;left:0;min-width:220px;padding:8px;position:absolute;top:calc(100% + 6px);z-index:20}.facturacion-more-menu:focus-within .facturacion-more-panel,.facturacion-more-menu:hover .facturacion-more-panel{display:flex;flex-direction:column;gap:6px}.facturacion-more-panel .btn{justify-content:flex-start;text-align:left;width:100%}.facturacion .facturacion-actions .btn.btn-secondary{background:#eef2f7;border-color:#d7dee9;color:#334155}.facturacion .facturacion-actions .btn.btn-secondary:hover{background:#e2e8f0;color:#0f172a}.facturacion .facturacion-actions .btn.btn-primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.facturacion .facturacion-actions .btn.btn-primary:hover{background:#1e40af;border-color:#1e40af}.facturacion .facturacion-actions .btn.btn-success{background:#16a34a;border-color:#16a34a}.facturacion .facturacion-actions .btn.btn-success:hover{background:#15803d;border-color:#15803d}.facturacion-filters{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0f172a0a;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px}.facturacion-filters .filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;width:100%}.facturacion-filters select{min-width:160px}.facturacion-filters input[type=date],.facturacion-filters input[type=text],.facturacion-filters select{background:#fff;border:1px solid #dbe2ea;border-radius:8px;color:#334155;font-size:14px;height:38px;padding:8px 12px}.facturacion-filters input[type=date]:focus,.facturacion-filters input[type=text]:focus,.facturacion-filters select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f;outline:none}.facturacion-content{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0f172a0f;margin-bottom:20px;padding:24px}.facturacion-content h3{color:#2c3e50;margin-bottom:16px;margin-top:0}.facturacion-hint{color:#6c757d;font-size:14px}.facturacion-hint,.table-wrap{margin-bottom:20px}.facturas-table{border-collapse:collapse;width:100%}.facturas-table thead{background-color:#f8f9fa}.facturas-table th{border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.facturas-table td{border-bottom:1px solid #dee2e6;padding:12px}.facturas-table tbody tr:hover{background-color:#f8f9fa}.facturas-table input[type=number],.facturas-table input[type=text]{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:6px 8px;width:100%}.factura-detail .factura-cabecera{grid-gap:12px;border-bottom:1px solid #dee2e6;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:24px;padding-bottom:16px}.factura-detail .factura-cabecera p{font-size:14px;margin:0 0 8px}.factura-totales{border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;gap:24px;margin-top:16px;padding-top:16px}.factura-totales p{font-size:15px;margin:0}.factura-pagos{border-top:1px solid #dee2e6;margin-top:24px;padding-top:20px}.factura-pagos h3{color:#2c3e50;font-size:1.1rem;margin:0 0 12px}.factura-pagos>p{font-size:14px;margin:0 0 12px}.form-inline-pago{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.form-inline-pago input,.form-inline-pago select{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:8px 10px}.form-inline-pago input[type=number]{width:100px}.form-inline-pago input[type=text]{width:140px}.factura-form .form-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.factura-form .form-group{flex:1 1;min-width:140px}.factura-form .form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.factura-form .form-group input,.factura-form .form-group select,.factura-form .form-group textarea{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.factura-lineas-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:24px 0 16px}.factura-lineas-header h3{margin:0}.factura-lineas-header>div{align-items:center;display:flex;gap:8px}.select-producto{border:1px solid #dee2e6;border-radius:4px;font-size:14px;min-width:180px;padding:6px 10px}.estado-badge{border-radius:4px;font-size:12px;font-weight:500}.estado-borrador{background:#e9ecef;color:#495057}.estado-enviada{background:#cce5ff;color:#004085}.estado-pendiente{background:#ff9800;color:#fff}.estado-pagada{background:#d4edda;color:#155724}.estado-parcial{background:#fff3cd;color:#856404}.estado-cancelada,.estado-vencida{background:#f8d7da;color:#721c24}.empty-state{color:#6c757d;margin:0;padding:40px 20px}.facturacion .loading{color:#6c757d;padding:40px;text-align:center}.facturacion .modal-overlay{align-items:center;background:#0006;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.factura-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;box-sizing:border-box;max-height:calc(100vh - 40px);max-width:760px;overflow-x:visible;overflow-y:auto;padding:28px 32px;position:relative;width:calc(100% - 40px)}.factura-modal h3{word-wrap:break-word;color:#2c3e50;font-size:1.25rem;margin:0 0 20px;overflow-wrap:break-word;padding:0}.factura-modal .form-group{margin-bottom:16px}.factura-modal .form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}.factura-modal .form-group input,.factura-modal .form-group select,.factura-modal .form-group textarea{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.factura-modal .form-row{display:flex;flex-wrap:wrap;gap:16px}.factura-modal .form-row .form-group{flex:1 1;min-width:180px}.modal-actions{border-top:1px solid #dee2e6;display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:16px}.btn-sm{font-size:13px;padding:4px 10px}@media (max-width:960px){.facturacion .page-header h2{font-size:24px}.facturacion .facturacion-actions .btn{font-size:12px;padding:7px 12px}}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-edit{background:#17a2b8;color:#fff}.btn-edit:hover{background:#138496}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.btn-danger{background:#dc3545}.btn-danger:hover{background:#c82333}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.dashboard-facturacion{padding:20px 0}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{border-left:4px solid}.stat-card.stat-primary{border-left-color:#2563eb}.stat-card.stat-success{border-left-color:#28a745}.stat-card.stat-info{border-left-color:#17a2b8}.stat-card.stat-warning{border-left-color:#ffc107}.stat-card.stat-danger{border-left-color:#dc3545}.stat-card.stat-secondary{border-left-color:#6c757d}.stat-card h3{color:#666;font-size:14px;font-weight:600;margin:0 0 10px;text-transform:uppercase}.stat-card .stat-value{color:#333;font-size:32px;font-weight:700;margin:10px 0}.stat-card .stat-label{color:#888;font-size:13px;margin:0}.dashboard-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.dashboard-section h3{border-bottom:2px solid #eee;color:#333;font-size:18px;margin:0 0 16px;padding-bottom:8px}.stats-grid-small{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.stat-card-small{background:#f8f9fa;border-radius:6px;padding:16px;text-align:center}.stat-card-small h4{color:#666;font-size:13px;font-weight:600;margin:0 0 8px;text-transform:uppercase}.stat-card-small .stat-value-small{color:#333;font-size:24px;font-weight:700;margin:8px 0}.stat-card-small .stat-label-small{color:#888;font-size:12px;margin:4px 0 0}.chart-container{background:#f8f9fa;border-radius:6px;margin:20px 0;padding:20px}.chart-bars{align-items:flex-end;display:flex;gap:8px;height:200px;justify-content:space-around;padding:10px 0}.chart-bar-item{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:60px}.chart-bar-wrapper{align-items:flex-end;display:flex;height:150px;justify-content:center;position:relative;width:100%}.chart-bar{background:linear-gradient(0deg,#2563eb,#3b82f6);border-radius:4px 4px 0 0;cursor:pointer;max-width:50px;position:relative;transition:all .3s ease;width:100%}.chart-bar:hover{background:linear-gradient(0deg,#1d4ed8,#2563eb);transform:scaleY(1.05)}.chart-label{color:#666;font-size:11px;font-weight:500;margin-top:8px;text-transform:capitalize}.chart-value{color:#888;font-size:10px;font-weight:600;margin-top:4px}.quick-invoice-modal{max-width:560px!important}.quick-invoice-hint{color:#666;font-size:14px;margin:-10px 0 20px}.quick-invoice-modal .form-group{margin-bottom:16px}.quick-invoice-modal .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.quick-invoice-modal .form-group input,.quick-invoice-modal .form-group select,.quick-invoice-modal .form-group textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.quick-invoice-modal .form-group input:focus,.quick-invoice-modal .form-group select:focus,.quick-invoice-modal .form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff26;outline:none}.quick-invoice-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-bottom:16px;padding:12px 16px}.quick-invoice-preview-row{color:#555;display:flex;font-size:14px;justify-content:space-between;padding:4px 0}.quick-invoice-preview-row.quick-invoice-total{border-top:1px solid #dee2e6;color:#2c3e50;font-size:16px;font-weight:700;margin-top:6px;padding-top:8px}.quick-invoice-target-toggle{border:1px solid #ddd;border-radius:6px;display:flex;gap:0;overflow:hidden}.quick-invoice-target-toggle .toggle-btn{background:#f8f9fa;border:none;color:#666;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.quick-invoice-target-toggle .toggle-btn:first-child{border-right:1px solid #ddd}.quick-invoice-target-toggle .toggle-btn.active{background:#007bff;color:#fff}.quick-invoice-target-toggle .toggle-btn:hover:not(.active){background:#e9ecef}.facturacion{box-sizing:border-box!important;margin:0 auto!important;max-width:calc(100% - 40px)!important;padding:20px 0!important;width:calc(100% - 40px)!important}.oportunidades{box-sizing:border-box;margin:0 auto;max-width:calc(100% - 40px);padding:20px 0;width:calc(100% - 40px)}.oportunidades .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.oportunidades .modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:500px;padding:24px;width:100%}.oportunidades .modal-content h3{color:#2c3e50;margin-bottom:15px;margin-top:0}.oportunidades .modal-content .form-group{margin-bottom:20px}.oportunidades .modal-content .form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.page-header{border-bottom:2px solid #eee;margin-bottom:20px;padding-bottom:10px}.oportunidades-actions{align-items:center;display:flex;gap:10px}.pipeline-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-card h4{color:#333;font-size:14px;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.stat-value{color:#2563eb;margin:10px 0}.stat-card small{color:#666;font-size:12px}.oportunidades-filters{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;padding:15px}.filters-row{grid-gap:15px;align-items:end;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:14px;font-weight:500;margin-bottom:5px}.filter-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.filter-search{flex:1 1;min-width:220px}.filter-search .search-input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.filter-search .search-input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff33;outline:none}.list-view-filters .filters-with-search{grid-template-columns:1fr repeat(auto-fit,minmax(160px,1fr))}.filter-result-count{color:#666;font-size:13px;margin:12px 0 0}.valor-cell{white-space:nowrap}.pipeline-board{display:flex;gap:20px;min-height:600px;overflow-x:auto;padding:10px}.pipeline-column{background:#f8f9fa;border-radius:8px;flex-shrink:0;min-width:280px;padding:15px}.column-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.column-header h3{font-size:16px;font-weight:600;margin:0}.column-count{background:#6c757d;border-radius:12px;color:#fff;font-size:12px;padding:2px 8px}.column-content{display:flex;flex-direction:column;gap:10px}.oportunidad-card{background:#fff;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 1px 3px #0000001a;cursor:grab;margin-bottom:10px;padding:15px;transition:all .2s}.oportunidad-card:active{cursor:grabbing}.oportunidad-card:hover{border-color:#007bff;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.oportunidad-card.dragging{border-color:#007bff;box-shadow:0 8px 16px #0003;transform:rotate(2deg)}.pipeline-column.dragging-over{background:#f0f8ff;border:2px dashed #007bff;border-radius:8px;transition:all .2s}.pipeline-column{transition:all .2s}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.card-header h4{color:#333;flex:1 1;font-size:14px;line-height:1.3;margin:0}.prioridad-badge{border-radius:10px;font-size:10px;font-weight:700;margin-left:8px}.prioridad-baja{background:#d1edff;color:#06c}.prioridad-media{background:#fff3cd;color:#856404}.prioridad-alta{background:#ffe6cc;color:#d63384}.prioridad-urgente{background:#f8d7da;color:#721c24}.cliente-name{color:#666;font-size:13px;margin:8px 0}.card-footer{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:10px;padding-top:10px}.valor{color:#28a745;font-size:14px;font-weight:700}.probabilidad{background:#e7f3ff;border-radius:10px;color:#007bff;font-size:12px;padding:2px 6px}.fecha-cierre{color:#666;font-size:11px;margin-top:8px;text-align:center}.estado-badge{color:#fff;padding:4px 8px}.etapa-prospecto{background-color:#6c757d}.etapa-contactado{background-color:#17a2b8}.etapa-reunion{background-color:#ffc107;color:#333}.etapa-propuesta{background-color:#fd7e14}.etapa-negociacion{background-color:#007bff}.etapa-ganada{background-color:#28a745}.etapa-perdida{background-color:#dc3545}.etapa-pausada{background-color:#6f42c1}.oportunidad-detail{background:#fff;border-radius:8px;padding:20px}.detail-header{grid-gap:20px;border-bottom:2px solid #eee;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:30px;padding-bottom:20px}.detail-info{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-info p{background:#f8f9fa;border-radius:4px;margin:8px 0;padding:8px}.detail-section{margin-bottom:30px}.detail-section h3{border-bottom:1px solid #eee;color:#333;margin-bottom:15px;padding-bottom:8px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.actividad-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-bottom:20px;padding:20px}.actividades-list{display:flex;flex-direction:column;gap:10px}.actividad-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px}.actividad-item.completada{background:#f8f9fa;border-color:#28a745}.actividad-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.actividad-tipo{background:#007bff;border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;text-transform:uppercase}.actividad-fecha{color:#666;font-size:12px}.actividad-item h4{color:#333;font-size:14px;margin:8px 0}.actividad-item p{color:#666;font-size:13px;line-height:1.4;margin:8px 0}.actividad-resultado{background:#e7f3ff;border-radius:4px;font-size:13px;margin:10px 0;padding:10px}.actividad-actions{align-items:center;display:flex;gap:8px;margin-top:10px}.oportunidades-table{background:#fff;width:100%}.oportunidades-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:12px;text-align:left}.oportunidades-table td{border-bottom:1px solid #eee;padding:12px;vertical-align:middle}.oportunidades-table tbody tr:hover{background:#f8f9fa}.oportunidad-form{background:#fff;border-radius:8px;padding:30px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-weight:500;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.form-actions{display:flex;gap:10px;margin-top:15px}.alert{font-weight:500}.oportunidades{box-sizing:border-box!important;margin:0 auto!important;max-width:calc(100% - 40px)!important;padding:20px 0!important;width:calc(100% - 40px)!important}@media (max-width:768px){.pipeline-board{flex-direction:column}.pipeline-column{min-width:100%}.detail-info,.form-row{grid-template-columns:1fr}}.tareas-page{margin:0;max-width:100%;padding:0}.tareas-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.tareas-tabs{display:flex;gap:8px;margin-bottom:20px}.tareas-tabs button{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 18px}.tareas-tabs button.active{background:#007bff;border-color:#007bff;color:#fff}.tareas-filters{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:16px}.tareas-filters .filters-row{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.tareas-filters .filter-group{display:flex;flex-direction:column}.tareas-filters .filter-group label{font-size:13px;font-weight:500;margin-bottom:4px}.tareas-filters .filter-group input,.tareas-filters .filter-group select{border:1px solid #ddd;border-radius:4px;padding:8px 10px}.tareas-filters .filter-search{min-width:200px}.tareas-section h3{font-size:18px;margin-bottom:16px}.tareas-lista{list-style:none;margin:0;padding:0}.tarea-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:12px;padding:16px}.tarea-item.prioridad-urgente{border-left:4px solid #dc3545}.tarea-item.prioridad-alta{border-left:4px solid #fd7e14}.tarea-item.prioridad-media{border-left:4px solid #ffc107}.tarea-item.prioridad-baja{border-left:4px solid #28a745}.tarea-item.completada{background:#f8f9fa;opacity:.85}.tarea-main{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.tipo-badge.tipo-tarea{background:#e7f3ff;color:#06c}.tipo-badge.tipo-recordatorio{background:#fff3cd;color:#856404}.prioridad-badge{padding:2px 6px}.tarea-cliente{color:#666;font-size:14px}.tarea-desc{color:#555;font-size:14px;line-height:1.4;margin:8px 0}.tarea-meta{color:#666;font-size:13px;margin-bottom:8px}.tarea-meta span+span{margin-left:16px}.tarea-completada{color:#28a745;font-size:12px;margin:8px 0}.tarea-actions{border-top:1px solid #eee;display:flex;gap:8px;margin-top:12px;padding-top:12px}.tarea-actions .btn-warning{background-color:#ffc107;border:1px solid #ffc107;color:#212529}.tarea-actions .btn-warning:hover{background-color:#e0a800;border-color:#d39e00}.empty-msg{padding:40px 20px}.tareas-page .modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tareas-page .modal-content.tarea-form{background:#fff;border-radius:8px;max-height:90vh;max-width:520px;overflow-y:auto;padding:24px;width:90%}.tarea-form h3{margin-bottom:20px}.tarea-form .form-group{margin-bottom:16px}.tarea-form .form-group label{display:block;font-weight:500;margin-bottom:6px}.tarea-form .form-group input,.tarea-form .form-group select,.tarea-form .form-group textarea{border:1px solid #ddd;border-radius:4px;padding:10px 12px;width:100%}.tarea-form .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.tarea-form .form-actions{display:flex;gap:10px;margin-top:24px}.alert-success{background:#d4edda}.tareas-page{box-sizing:border-box!important;margin:0 auto!important;max-width:calc(100% - 40px)!important;padding:20px 0!important;width:calc(100% - 40px)!important}.reportes-page{box-sizing:border-box;margin:0 auto;max-width:calc(100% - 40px);padding:20px 0;width:calc(100% - 40px)}.reportes-tabs{display:flex;gap:8px;margin-bottom:20px}.reportes-tabs button{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-weight:500;padding:10px 18px}.reportes-tabs button.active{background:#007bff;border-color:#007bff;color:#fff}.reportes-filters{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:16px}.reportes-filters .filters-row{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reportes-filters .filter-group{display:flex;flex-direction:column}.reportes-filters .filter-group label{font-size:13px;font-weight:500;margin-bottom:4px}.reportes-filters .filter-group input,.reportes-filters .filter-group select{border:1px solid #ddd;border-radius:4px;padding:8px 10px}.reporte-content{display:flex;flex-direction:column;gap:30px}.reporte-resumen{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.reporte-resumen h3{color:#2c3e50;margin-bottom:20px;margin-top:0}.resumen-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.resumen-item{background:#f8f9fa;border-left:4px solid #007bff;border-radius:6px;padding:15px}.resumen-label{color:#6c757d;font-size:13px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.resumen-value{color:#2c3e50;font-size:24px;font-weight:700}.metricas-etapas{border-top:1px solid #dee2e6;margin-top:30px;padding-top:20px}.metricas-etapas h4{color:#2c3e50;margin-bottom:15px}.etapas-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.etapa-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:12px}.etapa-nombre{color:#2c3e50;font-weight:600;margin-bottom:8px;text-transform:capitalize}.etapa-datos{color:#6c757d;display:flex;flex-direction:column;font-size:13px;gap:4px}.reporte-tabla{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.reporte-tabla h3{color:#2c3e50;margin-bottom:20px;margin-top:0}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table thead{background:#f8f9fa}.table th{border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.table td{border-bottom:1px solid #eee;padding:12px}.table tbody tr:hover{background:#f8f9fa}.valor-cell{font-weight:600;text-align:right}.valor-cell.valor-ponderado{color:#28a745}.estado-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.estado-badge.estado-pagada{background:#d4edda;color:#155724}.estado-badge.estado-enviada{background:#fff3cd;color:#856404}.estado-badge.estado-parcial{background:#cfe2ff;color:#084298}.estado-badge.estado-borrador{background:#e2e3e5;color:#41464b}.estado-badge.estado-cancelada{background:#f8d7da;color:#721c24}.estado-badge.estado-ganada{background:#d4edda;color:#155724}.estado-badge.estado-perdida{background:#f8d7da;color:#721c24}.estado-badge.estado-nuevo{background:#cfe2ff;color:#084298}.estado-badge.estado-calificando{background:#fff3cd;color:#856404}.estado-badge.estado-propuesta{background:#d1ecf1;color:#0c5460}.estado-badge.estado-negociacion{background:#ffeaa7;color:#856404}.prioridad-badge{border-radius:8px;display:inline-block;font-size:11px;padding:4px 8px;text-transform:uppercase}.prioridad-badge.prioridad-urgente{background:#f8d7da;color:#721c24}.prioridad-badge.prioridad-alta{background:#ffe6cc;color:#d63384}.prioridad-badge.prioridad-media{background:#fff3cd;color:#856404}.prioridad-badge.prioridad-baja{background:#d4edda;color:#155724}.empty-msg{padding:40px;text-align:center}.alert{margin-bottom:16px}.alert-error{background:#f8d7da}.historico-page{padding:20px 0}.historico-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.historico-header h1{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.historico-filters{align-items:center;display:flex;gap:8px}.historico-filters label{color:#666;font-size:13px;font-weight:500}.historico-filters select{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:6px 12px}.historico-kpis{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:28px}.historico-kpi{background:#fff;border-left:4px solid #667eea;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:20px;text-align:center;transition:transform .15s,box-shadow .15s}.historico-kpi:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.historico-kpi:nth-child(2){border-left-color:#27ae60}.historico-kpi:nth-child(3){border-left-color:#f39c12}.historico-kpi:nth-child(4){border-left-color:#e74c3c}.historico-kpi:nth-child(5){border-left-color:#9b59b6}.historico-kpi:nth-child(6){border-left-color:#1abc9c}.historico-kpi-value{color:#2c3e50;font-size:28px;font-weight:700;line-height:1.2}.historico-kpi-label{color:#888;font-size:12px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.historico-charts{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:28px}.historico-chart-card{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:20px}.historico-chart-card.full-width{grid-column:1/-1}.chart-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.chart-card-header h3{align-items:center;color:#2c3e50;display:flex;font-size:15px;font-weight:600;gap:8px;margin:0}.chart-card-header h3 .chart-icon{font-size:18px}.chart-export-btn{align-items:center;background:none;border:1px solid #e0e0e0;border-radius:6px;color:#999;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:5px 8px;transition:all .2s}.chart-export-btn:hover{background:#f8f9ff;border-color:#667eea;color:#667eea}.chart-export-btn:disabled{cursor:not-allowed;opacity:.5}.export-spinner{animation:historico-spin .6s linear infinite;border:2px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;display:inline-block;height:14px;width:14px}.historico-section-title{border-bottom:2px solid #667eea;color:#2c3e50;display:inline-block;font-size:18px;font-weight:600;margin:32px 0 16px;padding-bottom:8px}.historico-loading{color:#888;font-size:16px;padding:60px 20px;text-align:center}.historico-loading .spinner{animation:historico-spin .8s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;display:inline-block;height:36px;margin-bottom:12px;width:36px}@keyframes historico-spin{to{transform:rotate(1turn)}}.historico-error{background:#fef0f0;border-radius:8px;color:#e74c3c;margin:20px 0;padding:16px 20px;text-align:center}.historico-empty{color:#999;padding:40px 20px;text-align:center}.historico-empty .empty-icon{font-size:48px;margin-bottom:12px}.historico-tooltip{background:#fffffff5;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;font-size:13px;padding:10px 14px}.historico-tooltip .tooltip-label{color:#2c3e50;font-weight:600;margin-bottom:4px}.historico-tooltip .tooltip-item{align-items:center;display:flex;gap:6px;margin:2px 0}.historico-tooltip .tooltip-dot{border-radius:50%;display:inline-block;height:8px;width:8px}@media (max-width:900px){.historico-charts{grid-template-columns:1fr}}@media (max-width:600px){.historico-header{align-items:flex-start;flex-direction:column}.historico-kpis{grid-template-columns:repeat(2,1fr)}.historico-kpi-value{font-size:22px}}.plantillas{padding:20px}.plantillas-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.plantilla-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.plantilla-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.plantilla-card.inactiva{background-color:#f8f9fa;opacity:.6}.plantilla-header{margin-bottom:15px}.plantilla-header h3{color:#2c3e50;margin:0 0 8px}.plantilla-descripcion,.plantilla-info{color:#666;font-size:14px;margin:5px 0}.plantilla-estado{color:#333;font-size:14px;font-weight:500;margin:5px 0}.plantilla-campos{background-color:#f8f9fa;border-radius:4px;margin:15px 0;padding:15px}.plantilla-campos strong{color:#2c3e50;display:block;margin-bottom:10px}.plantilla-campos ul{list-style:none;margin:0;padding:0}.plantilla-campos li{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;margin:5px 0;padding:8px 12px}.plantilla-actions{border-top:1px solid #eee;display:flex;gap:10px;margin-top:15px;padding-top:15px}.help-text{color:#666;display:block;font-size:12px;font-style:italic;margin-top:5px}.usuarios{padding:20px}.usuarios-list{display:flex;flex-direction:column;gap:20px}.usuario-card{background:#fff;border-left:4px solid #007bff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.usuario-card.inactiva{border-left-color:#999;opacity:.6}.usuario-header{align-items:flex-start;display:flex;justify-content:space-between}.usuario-header h3{color:#2c3e50;margin:0 0 10px}.usuario-email,.usuario-info{color:#666;font-size:14px;margin:5px 0}.usuario-fecha{color:#999;font-size:12px;margin:5px 0}.datos-fiscales-readonly{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#495057;font-size:13px;margin-top:12px;padding:12px}.datos-fiscales-readonly .datos-fiscales-grid p{margin:4px 0}.usuario-actions{display:flex;gap:10px}.suscripciones{padding:20px}.suscripciones .tabs{border-bottom:2px solid #dee2e6;display:flex;gap:10px;margin-bottom:20px}.suscripciones .tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:16px;padding:10px 20px;transition:all .3s}.suscripciones .tab:hover{color:#007bff}.suscripciones .tab.active{border-bottom-color:#007bff;color:#007bff;font-weight:700}.suscripciones .tab-content{margin-top:20px}.suscripciones .row-vencido{background-color:#fff3cd}.suscripciones .badge{border-radius:4px;font-size:12px;font-weight:700;padding:4px 8px}.suscripciones .badge-success{background-color:#28a745;color:#fff}.suscripciones .badge-danger{background-color:#dc3545;color:#fff}.suscripciones .badge-warning{background-color:#ffc107;color:#333}.suscripciones .badge-secondary{background-color:#6c757d;color:#fff}.suscripciones .suscripcion-modal-overlay{align-items:center;background:#00000080;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.suscripciones .suscripcion-modal-box{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;box-sizing:border-box;max-height:calc(100vh - 40px);max-width:520px;min-width:280px;overflow-y:auto;padding:24px 28px;width:100%}.suscripciones .suscripcion-modal-box h3{color:#2c3e50;font-size:1.25rem;line-height:1.3;margin:0 0 20px;padding:0;text-align:center}.suscripciones .suscripcion-modal-box .form-group{margin-bottom:16px}.suscripciones .suscripcion-modal-box .form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.suscripciones .suscripcion-modal-box .form-group input,.suscripciones .suscripcion-modal-box .form-group select,.suscripciones .suscripcion-modal-box .form-group textarea{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.suscripciones .suscripcion-modal-box .form-group input[type=checkbox]{margin:0;vertical-align:middle;width:auto}.suscripciones .suscripcion-modal-box .form-group label:has(input[type=checkbox]){align-items:center;cursor:pointer;display:flex;gap:10px;margin-bottom:0}.suscripciones .suscripcion-modal-box .form-row{display:flex;flex-wrap:wrap;gap:12px}.suscripciones .suscripcion-modal-box .form-row .form-group{flex:1 1;min-width:120px}.suscripciones .suscripcion-modal-box .modal-actions{border-top:1px solid #eee;display:flex;flex-shrink:0;gap:12px;justify-content:center;margin-top:24px;padding-top:16px}.suscripciones .suscripcion-modal-box .modal-actions .btn{min-width:100px}@media (max-width:768px){.suscripciones .suscripcion-modal-box{max-width:100%;padding:20px}.suscripciones .suscripcion-modal-box .form-row{flex-direction:column}.suscripciones .suscripcion-modal-box .form-row .form-group{min-width:100%}}.backups{padding:20px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.page-header h2{color:#2c3e50;margin:0}.backups-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.stat-label{font-size:14px;margin-bottom:10px}.stat-value{color:#2c3e50;font-size:24px;font-weight:700}.backups-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.backups-list h3{color:#2c3e50;margin-bottom:20px;margin-top:0}.backups-table{border-collapse:collapse;width:100%}.backups-table thead{background-color:#f8f9fa}.backups-table th{border-bottom:2px solid #dee2e6;color:#2c3e50;font-weight:600;padding:12px;text-align:left}.backups-table td{border-bottom:1px solid #dee2e6;padding:12px}.backups-table tbody tr:hover{background-color:#f8f9fa}.action-buttons{display:flex;gap:8px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-sm{font-size:12px;padding:6px 12px}.btn:disabled{cursor:not-allowed;opacity:.6}.empty-state,.loading{color:#666;padding:40px;text-align:center}.perfil{padding:20px}.perfil-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:0 auto;max-width:600px;padding:30px}.perfil-card .form-group{margin-bottom:20px}.perfil-card label{color:#333;display:block;font-weight:500;margin-bottom:8px}.perfil-card input[type=email],.perfil-card input[type=password],.perfil-card input[type=text]{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;padding:10px;width:100%}.perfil-card input.disabled-input{background-color:#f5f5f5;color:#666;cursor:not-allowed}.perfil-card .form-actions{display:flex;justify-content:flex-end;margin-top:30px}.perfil-card .btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px;transition:background-color .2s}.perfil-card .btn-primary{background-color:#007bff;color:#fff}.perfil-card .btn-primary:hover:not(:disabled){background-color:#0056b3}.perfil-card .btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.alert{border-radius:4px;margin-bottom:20px;padding:12px 16px}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.integraciones-page{max-width:900px;padding:20px}.integraciones-page .page-header .subtitle{color:#666;font-size:14px;margin-top:4px}.integraciones-tabs{display:flex;gap:8px;margin:20px 0 16px}.integraciones-tabs button{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 20px}.integraciones-tabs button.active{background:#2563eb;border-color:#2563eb;color:#fff}.integraciones-section h3{margin-bottom:8px}.integraciones-section p{color:#555;font-size:14px;margin-bottom:8px}.integraciones-section code{background:#eee;border-radius:4px;font-size:12px;padding:2px 6px}.token-created-box{max-width:560px}.token-created-box .token-value{margin-bottom:8px}.token-created-box .token-copy-btn{display:inline-block;white-space:nowrap}.integraciones-section .table{border-collapse:collapse;width:100%}.integraciones-section .table td,.integraciones-section .table th{border:1px solid #e0e0e0;padding:10px 12px;text-align:left}.integraciones-section .table th{background:#f5f5f5;font-weight:600}.empty-msg{color:#666;font-style:italic;margin-top:12px}.integraciones-doc{color:#444;font-size:14px}.integraciones-doc h4{margin:0 0 8px}.interacciones .page-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.interaccion-form-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:20px}.interaccion-form-card h3{margin-bottom:16px;margin-top:0}.interacciones-filters{margin-bottom:20px}.interacciones-filters .filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.interacciones-filters .filter-group{display:flex;flex-direction:column;gap:4px}.interacciones-filters .filter-group label{color:#555;font-size:12px;font-weight:600}.interacciones-filters .filter-group input,.interacciones-filters .filter-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:6px 10px}.interacciones-timeline{display:flex;flex-direction:column;gap:12px}.interaccion-item{background:#fff;border:1px solid #e8e8e8;border-left:4px solid #6c757d;border-radius:8px;display:flex;gap:14px;padding:14px 16px;transition:box-shadow .15s}.interaccion-item:hover{box-shadow:0 2px 8px #00000014}.interaccion-item.tipo-llamada{border-left-color:#17a2b8}.interaccion-item.tipo-email{border-left-color:#007bff}.interaccion-item.tipo-reunion{border-left-color:#28a745}.interaccion-item.tipo-nota{border-left-color:#ffc107}.interaccion-item.tipo-tarea{border-left-color:#6f42c1}.interaccion-item.tipo-cita{border-left-color:#fd7e14}.interaccion-item.tipo-sesion{border-left-color:#20c997}.interaccion-item.tipo-oportunidad{border-left-color:#e83e8c}.interaccion-item.tipo-factura{border-left-color:#343a40}.interaccion-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;flex-shrink:0;font-size:22px;height:36px;justify-content:center;width:36px}.interaccion-body{flex:1 1;min-width:0}.interaccion-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.interaccion-header strong{font-size:15px}.tipo-badge{background:#6c757d;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.tipo-badge.tipo-llamada{background:#17a2b8}.tipo-badge.tipo-email{background:#007bff}.tipo-badge.tipo-reunion{background:#28a745}.tipo-badge.tipo-nota{background:#ffc107;color:#333}.tipo-badge.tipo-tarea{background:#6f42c1}.tipo-badge.tipo-cita{background:#fd7e14}.tipo-badge.tipo-sesion{background:#20c997}.tipo-badge.tipo-oportunidad{background:#e83e8c}.tipo-badge.tipo-factura{background:#343a40}.interaccion-fecha{color:#888;font-size:13px;margin-left:auto}.interaccion-cliente{color:#555;font-size:13px;margin-bottom:4px}.interaccion-desc{color:#444;font-size:14px;margin:4px 0}.interaccion-resultado{color:#28a745;font-size:13px;margin:4px 0}.interaccion-duracion{background:#f0f0f0;border-radius:8px;color:#888;font-size:12px;padding:2px 8px}@media (max-width:768px){.interaccion-header,.interacciones-filters .filters-row{flex-direction:column}.interaccion-header{align-items:flex-start;gap:4px}.interaccion-fecha{margin-left:0}}.search-bar-container{flex-shrink:1;margin-left:auto;min-width:120px;position:relative;width:180px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input{background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;color:#fff;font-size:12px;outline:none;padding:5px 30px 5px 10px;transition:all .3s ease;width:100%}.search-input::placeholder{color:#fff9}.search-input:focus{background-color:#ffffff26;border-color:#fff9;box-shadow:none}.search-loading{font-size:14px;pointer-events:none;position:absolute;right:12px}.search-results{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:5px;max-height:500px;overflow-y:auto;position:absolute;right:0;top:100%;width:350px;z-index:1000}.search-result-section{border-bottom:1px solid #eee}.search-result-section:last-child{border-bottom:none}.search-result-section-title{background-color:#f8f9fa;border-bottom:1px solid #eee;color:#666;font-size:12px;font-weight:600;padding:10px 15px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.search-result-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 15px;transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f8f9fa}.search-result-item-title{color:#2c3e50;font-size:14px;font-weight:500;margin-bottom:4px}.search-result-item-meta{color:#666;font-size:12px;line-height:1.4}.search-result-empty{color:#999;font-size:14px;padding:20px;text-align:center}@media (max-width:768px){.search-bar-container{margin:10px 0;order:3;width:100%}.search-input{background-color:#ffffff26}.search-results{max-height:400px}}.notif-bell-container{position:relative}.notif-bell-btn{background:none;border:none;cursor:pointer;position:relative!important}.notif-badge{background:#e74c3c;border-radius:8px;color:#fff;font-size:10px;font-weight:700;height:16px;line-height:16px;min-width:16px;padding:0 4px;pointer-events:none;position:absolute;right:-6px;text-align:center;top:-4px}.notif-dropdown{background:#fff;border-radius:10px;box-shadow:0 8px 30px #0000002e;display:flex;flex-direction:column;max-height:460px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:360px;z-index:10000}.notif-dropdown-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:14px 16px 10px}.notif-dropdown-title{color:#2c3e50;font-size:15px;font-weight:700}.notif-mark-all{background:none;border:none;border-radius:4px;color:#3498db;cursor:pointer;font-size:12px;font-weight:500;padding:2px 6px}.notif-mark-all:hover{background:#f0f7ff}.notif-dropdown-body{flex:1 1;max-height:400px;overflow-y:auto}.notif-empty{color:#999;font-size:14px;padding:30px 16px;text-align:center}.notif-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:10px;padding:12px 16px;transition:background .15s}.notif-item:hover{background:#f8f9fa}.notif-item:last-child{border-bottom:none}.notif-unread{background:#f0f7ff}.notif-unread:hover{background:#e3effd}.notif-item-icon{flex-shrink:0;font-size:20px;margin-top:2px;text-align:center;width:28px}.notif-item-content{flex:1 1;min-width:0}.notif-item-title{color:#2c3e50;font-size:13px;font-weight:600;line-height:1.3}.notif-item-msg{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:12px;line-height:1.3;margin-top:2px;overflow:hidden}.notif-item-time{color:#999;font-size:11px;margin-top:3px}.notif-dot{background:#3498db;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.notif-push-toggle{background:#f8f9fa;border-top:1px solid #eee;padding:10px 16px}.notif-push-label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:13px;gap:8px;-webkit-user-select:none;user-select:none}.notif-push-label input[type=checkbox]{accent-color:#3498db;cursor:pointer;height:16px;width:16px}@media (max-width:480px){.notif-dropdown{right:-40px;width:300px}}.landing-page{background:#fff;min-height:100vh}.landing-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;overflow:hidden;padding:100px 20px;position:relative;text-align:center}.landing-hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Cpath d='M100 0H0v100' fill='none' stroke='rgba(255,255,255,0.1)'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-content{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:800px;position:relative;z-index:1}.hero-logo{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));height:auto;margin-bottom:30px;max-height:150px;max-width:300px;object-fit:contain;width:auto}.hero-title{font-size:4rem;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px #0003}.hero-subtitle{font-size:1.5rem;font-weight:400;margin-bottom:15px;opacity:.95}.hero-description{font-size:1.1rem;line-height:1.6;margin-bottom:40px;opacity:.9}.hero-cta{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:40px}.landing-cta .btn,.landing-hero .btn,.landing-page .btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:15px 40px;text-decoration:none;transition:all .3s ease}.landing-cta .btn-primary,.landing-hero .btn-primary,.landing-page .btn-primary{background:#fff;box-shadow:0 4px 15px #0003;color:#667eea}.landing-cta .btn-primary:hover,.landing-hero .btn-primary:hover,.landing-page .btn-primary:hover{box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.landing-cta .btn-secondary,.landing-hero .btn-secondary,.landing-page .btn-secondary{background:#fff3;border:2px solid #fff;color:#fff}.landing-cta .btn-secondary:hover,.landing-hero .btn-secondary:hover,.landing-page .btn-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}.landing-cta .btn-outline,.landing-hero .btn-outline,.landing-page .btn-outline{background:#0000;border:2px solid #fff;color:#fff}.landing-cta .btn-outline:hover,.landing-hero .btn-outline:hover,.landing-page .btn-outline:hover{background:#ffffff1a;transform:translateY(-2px)}.landing-cta .btn-large,.landing-hero .btn-large,.landing-page .btn-large{font-size:1.1rem;padding:18px 50px}.container{margin:0 auto;max-width:1200px;padding:0 20px}.landing-features{background:#f8f9fa;padding:80px 20px}.section-title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:20px;text-align:center}.section-subtitle{color:#666;font-size:1.2rem;margin-bottom:60px;margin-left:auto;margin-right:auto;max-width:700px;text-align:center}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:40px}.feature-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-5px)}.feature-icon{font-size:3.5rem;margin-bottom:20px}.feature-title{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:15px}.feature-description{color:#666;font-size:1rem;line-height:1.6}.landing-benefits{background:#fff;padding:80px 20px}.benefits-list{margin:0 auto;max-width:900px}.benefit-item{align-items:flex-start;background:#f8f9fa;border-radius:12px;display:flex;gap:25px;margin-bottom:40px;padding:30px;transition:background .3s ease}.benefit-item:hover{background:#e9ecef}.benefit-icon{flex-shrink:0;font-size:3rem}.benefit-content h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:10px}.benefit-content p{color:#666;font-size:1rem;line-height:1.6;margin:0}.landing-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:100px 20px;text-align:center}.cta-title{font-size:2.5rem;font-weight:700;margin-bottom:20px}.cta-description{font-size:1.2rem;line-height:1.8;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:700px;opacity:.95}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.landing-stats{background:#f8f9fa;padding:80px 20px}.stats-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1000px}.stat-item{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:30px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-item:hover{box-shadow:0 4px 20px #00000026;transform:translateY(-5px)}.stat-number{color:#667eea;font-size:3.5rem;font-weight:700;margin-bottom:10px}.stat-label{color:#666;font-size:1.1rem;font-weight:500}.landing-footer{background:#2c3e50;color:#fff;padding:30px 20px;text-align:center}.landing-footer p{font-size:.9rem;margin:0;opacity:.8}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.section-title{font-size:2rem}.features-grid{grid-template-columns:1fr}.benefit-item{flex-direction:column;text-align:center}.cta-title{font-size:2rem}.cta-buttons,.hero-cta{align-items:center;flex-direction:column}.stats-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.stat-number{font-size:2.5rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.landing-contact{background-color:#f8f9fa;padding:80px 0}.contact-form{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:600px;padding:32px}.contact-form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.contact-form .form-group{margin-bottom:16px}.contact-form label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.contact-form input,.contact-form textarea{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s;width:100%}.contact-form input:focus,.contact-form textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.contact-form textarea{min-height:120px;resize:vertical}.contact-success{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:0 auto;max-width:500px;padding:40px 24px;text-align:center}.contact-success-icon{font-size:48px;margin-bottom:16px}.contact-success h3{color:#2c3e50;font-size:22px;margin-bottom:8px}.contact-success p{color:#666;font-size:15px}@media (max-width:768px){.contact-form-grid{grid-template-columns:1fr}.contact-form{padding:24px 20px}}.reserva-publica{background:#f8f9fa;min-height:100vh}.reserva-publica-error{color:#721c24;padding:2rem;text-align:center}.reserva-not-available{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;margin:4rem auto;max-width:440px;padding:2.5rem 2rem;text-align:center}.reserva-not-available-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.reserva-not-available h2{color:#495057;font-size:1.3rem;margin:0 0 .5rem}.reserva-not-available p{color:#6c757d;font-size:.95rem;margin:0}.reserva-nav{box-shadow:0 1px 3px #0000001a;padding:.75rem 1rem}.reserva-nav-inner{align-items:center;display:flex;gap:.75rem;margin:0 auto;max-width:800px}.reserva-logo{max-height:36px;object-fit:contain;width:auto}.reserva-nav-title{font-size:1.1rem;font-weight:600}.reserva-main{margin:0 auto;max-width:480px;padding:1.5rem 1rem}.reserva-welcome{color:#495057;margin-bottom:1rem;white-space:pre-wrap}.reserva-welcome-title{color:#1f2937;font-size:1.45rem;line-height:1.15;margin:.7rem 0 1rem}.reserva-main h2{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.reserva-calendar{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;padding:1rem}.reserva-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.reserva-calendar-header button{background:none;border:none;color:#495057;cursor:pointer;font-size:1.5rem;padding:.25rem .5rem}.reserva-calendar-header button:hover{color:#0d6efd}.reserva-calendar-weekdays{color:#6c757d;font-size:.75rem;margin-bottom:.5rem;text-align:center}.reserva-calendar-days,.reserva-calendar-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.reserva-day{align-items:center;aspect-ratio:1;background:#0000;border:none;border-radius:6px;color:#212529;cursor:default;display:flex;font-size:.9rem;justify-content:center;transition:background .15s,color .15s}.reserva-day.empty{visibility:hidden}.reserva-day.selectable{background:#e8f4fd;color:#212529;cursor:pointer;font-weight:600}.reserva-day.selectable:hover{background:#0d6efd;color:#fff}.reserva-day.past{color:#ced4da}.reserva-day.unavailable{background:#f1f3f5;color:#adb5bd}.reserva-day.out-of-range{color:#ced4da}.reserva-day.today{box-shadow:inset 0 0 0 2px #0d6efd}.reserva-day:disabled{cursor:default}.reserva-back{background:none;border:none;color:#0d6efd;cursor:pointer;font-size:.9rem;padding:0 0 1rem}.reserva-back:hover{text-decoration:underline}.reserva-slots{display:flex;flex-wrap:wrap;gap:.5rem}.reserva-slot{background:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;font-size:.95rem;padding:.5rem 1rem}.reserva-slot:hover{background:#e7f1ff;border-color:#0d6efd}.reserva-summary{color:#495057;margin-bottom:1rem}.reserva-error{background:#f8d7da;border-radius:4px;color:#721c24;margin-bottom:1rem;padding:.5rem .75rem}.reserva-form label{display:block;font-size:.9rem;margin-bottom:1rem}.reserva-form label input,.reserva-form label select,.reserva-form label textarea{border:1px solid #ced4da;border-radius:4px;box-sizing:border-box;display:block;font-family:inherit;margin-top:.25rem;padding:.5rem .75rem;width:100%}.reserva-submit{background:#0d6efd;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-top:.5rem;padding:.6rem 1.25rem}.reserva-submit:hover:not(:disabled){background:#0b5ed7}.reserva-submit:disabled{cursor:not-allowed;opacity:.7}.reserva-confirm{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;padding:1.5rem}.reserva-confirm h2{color:#198754}.reserva-confirm-detail{color:#495057;margin:1rem 0}.rbh-container{align-items:center;background:#0000;box-sizing:border-box;display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.rbh-fixed-height{height:520px}.rbh-loading{color:#6c757d;font-size:1.1rem;text-align:center}.rbh-not-available{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;max-width:440px;padding:2.5rem 2rem;text-align:center}.rbh-not-available-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.rbh-not-available h2{color:#495057;font-size:1.3rem;margin:0 0 .5rem}.rbh-not-available p{color:#6c757d;font-size:.95rem;margin:0}.rbh-error-full{color:#721c24;font-size:1rem;text-align:center}.rbh-pick-layout{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;display:flex;gap:0;height:520px;max-width:820px;overflow:hidden;width:100%}.rbh-calendar-panel{display:flex;flex:1 1 55%;flex-direction:column;justify-content:center;padding:1.75rem}.rbh-welcome{color:#495057;font-size:.9rem;margin:0 0 1rem;white-space:pre-wrap}.rbh-welcome-title{color:#1f2937;font-size:1.45rem;line-height:1.15;margin:.7rem 0 1rem}.rbh-calendar{flex:0 0 auto}.rbh-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.rbh-calendar-header span{font-size:1.05rem;font-weight:600;text-transform:capitalize}.rbh-calendar-header button{background:none;border:none;border-radius:4px;color:#495057;cursor:pointer;font-size:1.5rem;padding:.25rem .5rem;transition:background .15s}.rbh-calendar-header button:hover{background:#e9ecef;color:#0d6efd}.rbh-weekdays{grid-gap:2px;color:#6c757d;display:grid;font-size:.75rem;font-weight:600;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;text-align:center}.rbh-days{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr)}.rbh-day{align-items:center;aspect-ratio:1;background:#0000;border:none;border-radius:8px;color:#212529;cursor:default;display:flex;font-size:.9rem;justify-content:center;transition:background .15s,color .15s,box-shadow .15s}.rbh-day.empty{visibility:hidden}.rbh-day.selectable{background:#e8f4fd;color:#212529;cursor:pointer;font-weight:600}.rbh-day.selectable.selected,.rbh-day.selectable:hover{background:#0d6efd;color:#fff}.rbh-day.selectable.selected{box-shadow:0 2px 8px #0d6efd59}.rbh-day.past{color:#ced4da}.rbh-day.unavailable{background:#f1f3f5;color:#adb5bd}.rbh-day.out-of-range{color:#ced4da}.rbh-day.today{box-shadow:inset 0 0 0 2px #0d6efd}.rbh-day:disabled{cursor:default}.rbh-slots-panel{background:#f0f4f8;border-left:1px solid #e9ecef;display:flex;flex:1 1 45%;flex-direction:column;justify-content:center;overflow-y:auto;padding:1.75rem}.rbh-slots-placeholder{align-items:center;color:#adb5bd;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.rbh-slots-placeholder-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.rbh-slots-placeholder p{font-size:.95rem;margin:0}.rbh-slots-title{color:#343a40;font-size:1rem;font-weight:600;margin:0 0 .25rem}.rbh-slots-date{color:#495057;font-size:.9rem;margin:0 0 1rem;text-transform:capitalize}.rbh-slots-loading{padding:1rem 0}.rbh-slots-empty,.rbh-slots-loading{color:#6c757d;font-size:.9rem}.rbh-slots-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.rbh-slot-btn{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#212529;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem .5rem;text-align:center;transition:border-color .15s,background .15s,box-shadow .15s}.rbh-slot-btn:hover{background:#e7f1ff;border-color:#0d6efd;box-shadow:0 1px 4px #0d6efd26}.rbh-form-layout{animation:rbhFadeIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;box-sizing:border-box;height:520px;max-width:820px;overflow-y:auto;padding:2rem 2.5rem;width:100%}.rbh-back{background:none;border:none;color:#0d6efd;cursor:pointer;display:inline-block;font-size:.85rem;margin-bottom:.5rem;padding:0}.rbh-back:hover{text-decoration:underline}.rbh-form-title{color:#212529;font-size:1.2rem;margin:0 0 .25rem}.rbh-form-summary{color:#495057;font-size:.9rem;margin:0 0 .75rem;text-transform:capitalize}.rbh-form-error{background:#f8d7da;border-radius:6px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.5rem .75rem}.rbh-form{display:flex;flex-direction:column;gap:0}.rbh-form-row{display:flex;gap:1.5rem;margin-bottom:.75rem}.rbh-form-row label{color:#495057;flex:1 1;font-size:.9rem;font-weight:500}.rbh-form-row label input,.rbh-form-row label select,.rbh-form-row label textarea{border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;display:block;font-size:.95rem;margin-top:.3rem;padding:.55rem .75rem;transition:border-color .15s;width:100%}.rbh-form-row label textarea{font-family:inherit}.rbh-form-row label input:focus,.rbh-form-row label select:focus,.rbh-form-row label textarea:focus{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd26;outline:none}.rbh-submit{align-self:flex-start;background:#0d6efd;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.65rem 2rem;transition:background .15s}.rbh-submit:hover:not(:disabled){background:#0b5ed7}.rbh-submit:disabled{cursor:not-allowed;opacity:.7}.rbh-confirm-layout{align-items:center;animation:rbhFadeIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000014;box-sizing:border-box;display:flex;flex-direction:column;height:520px;justify-content:center;max-width:820px;padding:2.5rem;text-align:center;width:100%}.rbh-confirm-icon{font-size:3rem;margin-bottom:.75rem}.rbh-confirm-layout h2{color:#198754;font-size:1.4rem;margin:0 0 .5rem}.rbh-confirm-layout p{color:#495057;margin:.5rem 0}.rbh-confirm-detail{font-weight:500;text-transform:capitalize}.rbh-confirm-layout .rbh-submit{align-self:center;display:inline-block;margin-top:1.25rem}@keyframes rbhFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.rbh-container{align-items:flex-start;padding:1rem .5rem}.rbh-pick-layout{flex-direction:column;height:auto}.rbh-slots-panel{border-left:none;border-top:1px solid #e9ecef;max-height:none}.rbh-form-layout{height:auto;padding:1.5rem 1rem}.rbh-confirm-layout{height:auto}.rbh-form-row{flex-direction:column;gap:0}.rbh-form-row label{margin-bottom:1rem}}.portal-container{background:#f4f6f9;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.portal-header{align-items:center;color:#fff;display:flex;gap:16px;padding:16px 32px}.portal-logo{background:#fff;border-radius:8px;height:44px;padding:3px;width:auto}.portal-header-info h1{font-size:18px;font-weight:600;margin:0}.portal-header-info .portal-coach{font-size:12px;margin:2px 0 0;opacity:.8}.portal-exit-btn{background:#0000;border:1px solid #ffffff80;border-radius:6px;cursor:pointer;font-size:13px;margin-left:auto;padding:6px 16px;transition:background .2s,border-color .2s}.portal-exit-btn:hover{background:#ffffff26;border-color:#fffc}.portal-welcome{margin:24px auto 0;max-width:900px;padding:0 24px}.portal-welcome h2{color:#2c3e50;font-size:24px;margin:0 0 8px}.portal-next-apt{background:#e8f4fd;border-left:4px solid #2563eb;border-radius:6px;font-size:14px;padding:10px 16px}.portal-tabs{border-bottom:2px solid #dee2e6;display:flex;gap:4px;margin:24px auto 0;max-width:900px;padding:0 24px}.portal-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:all .2s}.portal-tabs button:hover{color:#2563eb}.portal-tabs button.active{border-bottom-color:#2563eb;color:#2563eb}.portal-content{flex:1 1;margin:0 auto;max-width:900px;padding:24px}.portal-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.portal-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;cursor:pointer;padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.portal-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.portal-card-icon{font-size:32px;margin-bottom:8px}.portal-card h3{color:#2c3e50;font-size:16px;margin:0 0 4px}.portal-card p{color:#888;font-size:13px;margin:0}.portal-vencimientos{margin-top:24px}.portal-vencimientos h3{color:#2c3e50;font-size:16px;margin:0 0 12px}.portal-row-vencida td{background:#fff5f5!important}.portal-section h3{color:#2c3e50;font-size:18px;margin:0 0 16px}.portal-table-wrap{overflow-x:auto}.portal-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:hidden;width:100%}.portal-table th{background:#f0f2f5;border-bottom:1px solid #dee2e6;color:#555;font-size:12px;font-weight:600;padding:10px 14px;text-align:left;text-transform:uppercase}.portal-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:10px 14px}.portal-table tr:last-child td{border-bottom:none}.portal-table tr:hover{background:#fafbfc}.portal-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:3px 10px;text-transform:capitalize}.badge-success{background:#d4edda;color:#155724}.badge-info{background:#cce5ff;color:#004085}.badge-warning{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.badge-secondary{background:#e9ecef;color:#495057}.portal-btn{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:13px;font-weight:500;padding:6px 14px;text-decoration:none;transition:background .2s}.portal-btn:hover{background:#1d4ed8;color:#fff}.portal-btn-sm{font-size:12px;padding:4px 10px}.portal-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.portal-spinner{border:4px solid #e9ecef;border-radius:50%;border-top-color:#2563eb;height:40px;width:40px}.portal-spinner,.portal-spinner-sm{animation:portal-spin .8s linear infinite}.portal-spinner-sm{border:3px solid #e9ecef;border-radius:50%;border-top-color:#2563eb;height:24px;margin:20px auto;width:24px}@keyframes portal-spin{to{transform:rotate(1turn)}}.portal-error{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin:80px auto;max-width:500px;padding:40px;text-align:center}.portal-error h2{color:#2c3e50;margin-bottom:12px}.portal-error p{color:#666}.portal-empty{background:#fff;border-radius:8px;color:#888;padding:40px 20px;text-align:center}.portal-footer{border-top:1px solid #ffffff1a;font-size:12px;margin-top:auto;padding:12px 24px;text-align:center}.portal-footer p{margin:0}.portal-footer a{text-decoration:none;transition:opacity .2s}.portal-footer a:hover{opacity:1!important;text-decoration:underline}@media (max-width:600px){.portal-header{padding:12px 16px}.portal-header-info h1{font-size:15px}.portal-exit-btn{font-size:12px;padding:5px 10px}.portal-content,.portal-tabs,.portal-welcome{padding-left:16px;padding-right:16px}.portal-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.portal-tabs button{font-size:13px;padding:8px 14px;white-space:nowrap}.portal-cards{grid-template-columns:repeat(2,1fr)}.portal-table td,.portal-table th{font-size:13px;padding:8px 10px}}.disponibilidad-config{margin:0 auto;max-width:720px;padding:1rem}.disponibilidad-config h1{margin-bottom:1rem}.disp-error{background:#f8d7da;color:#721c24}.disp-error,.disp-success{border-radius:4px;margin-bottom:1rem;padding:.5rem .75rem}.disp-success{background:#d4edda;color:#155724}.disp-section{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.disp-section h2{font-size:1.1rem;margin-bottom:.75rem;margin-top:0}.disp-hint{color:#6c757d;font-size:.9rem;margin-bottom:.75rem}.disp-toggle{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.disp-toggle input{width:auto}.disp-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:1rem}.disp-form-grid label,.disp-label-block{display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.disp-form-grid input,.disp-form-grid select,.disp-label-block input,.disp-label-block textarea{border:1px solid #ced4da;border-radius:4px;padding:.35rem .5rem}.disp-day-block,.disp-label-block{margin-bottom:1rem}.disp-day-block strong{display:block;margin-bottom:.5rem}.disp-slot-row{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.disp-slot-row input[type=time]{border:1px solid #ced4da;border-radius:4px;padding:.25rem}.disp-excepcion-form{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.disp-excepcion-form input,.disp-excepcion-form select{border:1px solid #ced4da;border-radius:4px;padding:.35rem .5rem}.disp-excepciones-list{list-style:none;margin:0;padding:0}.disp-excepciones-list li{align-items:center;border-bottom:1px solid #eee;display:flex;gap:.5rem;padding:.35rem 0}.disp-preview-url{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.disp-preview-url a{color:#0d6efd;word-break:break-all}.btn-ghost{background:#0000;border:none;color:#6c757d;padding:.25rem .5rem}.btn-ghost:hover{color:#495057;text-decoration:underline}.disponibilidad-config .btn{margin-right:.5rem;margin-top:.25rem}.disponibilidad-config .btn-sm{font-size:.85rem;padding:.25rem .5rem}.mantenimiento-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.mantenimiento-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;max-width:480px;padding:48px;text-align:center}.mantenimiento-icon{color:#667eea;margin-bottom:24px}.mantenimiento-content h1{color:#2c3e50;font-size:28px;margin-bottom:16px}.mantenimiento-message{color:#555;font-size:16px;line-height:1.6;margin-bottom:12px}.mantenimiento-submessage{color:#888;font-size:14px}.App{background-color:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.app-footer{background-color:#2c3e50;border-top:1px solid #ffffff1a;color:#fff;font-size:12px;margin-top:auto;padding:12px 24px;text-align:center}.app-footer a{text-decoration:none;transition:opacity .2s}.app-footer a:hover{opacity:1;text-decoration:underline}.legal-content ol,.legal-content ul{margin:12px 0;padding-left:24px}.legal-content ul{list-style-type:disc}.legal-content ol{list-style-type:decimal}.legal-content li{line-height:1.6;margin-bottom:6px}.username-link{color:inherit;cursor:pointer;text-decoration:none;transition:opacity .2s}.username-link:hover{opacity:.8}.scroll-to-top-btn{background:#2c3e50;border:none;border-radius:50%;bottom:24px;box-shadow:0 6px 16px #00000040;color:#fff;cursor:pointer;font-size:22px;height:44px;line-height:1;position:fixed;right:20px;transition:transform .2s ease,opacity .2s ease,background-color .2s ease;width:44px;z-index:1400}.scroll-to-top-btn:hover{background:#1f2d3d;transform:translateY(-2px)}.scroll-to-top-btn:active{transform:translateY(0)}.route-transition{animation:route-fade-in .22s ease;will-change:opacity,transform}@keyframes route-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.route-transition{animation:none}}@media (max-width:768px){.scroll-to-top-btn{bottom:18px;font-size:20px;height:40px;right:14px;width:40px}}
/*# sourceMappingURL=main.0d088672.css.map*/