:root{--color-primary:#d32f2f;--color-text-dark:#2c3e50;--color-bg-light:#f5f5f5;--color-bg-white:#fff;--color-border:#e0e0e0;--font-family:"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg-light);color:var(--color-text-dark)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.header{background-color:var(--color-bg-white);border-bottom:2px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.header-info h1{color:var(--color-text-dark);font-size:1.5rem}.header-subtitle{color:var(--color-primary);font-size:.85rem;font-weight:700}.user-nav{align-items:center;gap:1rem;display:flex}.user-email{color:var(--color-text-dark);font-size:.9rem}.btn{background-color:var(--color-primary);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:4px;padding:1rem 2rem;font-size:1.125rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-block}.btn:hover{opacity:.9}.btn-large{width:100%;padding:1.5rem;font-size:1.25rem}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background-color:#0000;border-radius:4px;padding:.5rem 1rem;font-weight:700}.login-page{background-color:var(--color-bg-light);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background-color:var(--color-bg-white);border-radius:8px;width:100%;max-width:400px;padding:3rem;box-shadow:0 4px 6px #0000001a}.login-title{color:var(--color-primary);text-align:center;border-bottom:2px solid var(--color-border);margin-bottom:1.5rem;padding-bottom:1rem}.login-error{color:var(--color-primary);text-align:center;background-color:#ffebee;border-radius:4px;margin-bottom:1rem;padding:1rem;font-size:.9rem}.form-group{flex-direction:column;gap:1.5rem;display:flex}.input-field{border:1px solid var(--color-border);border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.label-text{color:var(--color-text-dark);margin-bottom:.5rem;font-weight:700;display:block}.section-title{border-bottom:2px solid var(--color-primary);margin-bottom:1rem;padding-bottom:.5rem;display:inline-block}.section-desc{color:#555;font-size:1.1rem}.card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 6px #0000000d}.home-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin-top:1.5rem;display:grid}.branch-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;align-items:flex-start;min-height:220px;padding:1.25rem;transition:transform .2s;display:flex;box-shadow:0 4px 6px #0000000d}.branch-card:hover{border-color:var(--color-primary);transform:translateY(-5px)}.branch-card h2{color:var(--color-primary);margin-bottom:.5rem;font-size:1.2rem}.branch-card p{flex-grow:1;margin-bottom:1rem;font-size:.9rem;line-height:1.4}.branch-info{color:#666;margin-bottom:1rem;font-size:.85rem}.branch-btn{text-align:center;border-radius:8px;width:100%;margin-top:auto;padding:.8rem!important;font-size:1rem!important}.card-comercial{border-top:4px solid var(--color-primary)!important}.card-operaciones h2{color:#e67e22!important}.card-operaciones{border-top:4px solid #e67e22!important}.btn-operaciones{background-color:#e67e22!important}.card-dop h2{color:#2980b9!important}.card-dop{border-top:4px solid #2980b9!important}.btn-dop{background-color:#2980b9!important}.branch-card-expandable{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:10px;transition:box-shadow .25s,transform .2s;overflow:hidden;box-shadow:0 2px 8px #0000000f}.branch-card-expandable:hover{box-shadow:0 6px 20px #0000001a}.branch-card-expandable.is-expanded{box-shadow:0 8px 28px #0000001f}.branch-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.75rem;transition:background-color .2s;display:flex}.branch-header:hover{background-color:#fafafa}.branch-header-left{flex-direction:column;flex:1;gap:.3rem;min-width:0;display:flex}.branch-header-left h2{align-items:center;gap:.5rem;margin:0;font-size:1.2rem;display:flex}.branch-header-left .branch-desc{color:#888;font-size:.85rem;line-height:1.4}.branch-header-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.branch-app-count{color:#666;white-space:nowrap;background-color:#f0f0f0;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.branch-chevron{color:#aaa;font-size:1.2rem;line-height:1;transition:transform .3s}.is-expanded .branch-chevron{transform:rotate(180deg)}.branch-apps-wrapper{max-height:0;transition:max-height .35s;overflow:hidden}.is-expanded .branch-apps-wrapper{max-height:800px}.branch-apps{border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;padding:1.25rem 1.75rem 1.5rem;display:grid}.app-card{color:inherit;background-color:#fafafa;border:1px solid #ececec;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.15rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex;position:relative}.app-card:hover{border-color:#ccc;transform:translateY(-2px);box-shadow:0 3px 10px #00000014}.app-card-header{align-items:center;gap:.5rem;display:flex}.app-card-icon{flex-shrink:0;font-size:1.3rem}.app-card-title{color:var(--color-text-dark);font-size:.95rem;font-weight:700;line-height:1.2}.app-card-desc{color:#777;flex:1;font-size:.8rem;line-height:1.45}.app-card-footer{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.5rem;display:flex}.app-card-link{align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:gap .2s;display:flex}.app-card:hover .app-card-link{gap:.5rem}.app-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:.15rem .45rem;font-size:.65rem;font-weight:700}.app-badge-active{color:#2e7d32;background-color:#e8f5e9}.app-badge-admin{color:#e65100;background-color:#fff3e0}.app-badge-soon{color:#999;background-color:#f5f5f5}.branch-card-expandable.is-disabled{opacity:.65}.branch-card-expandable.is-disabled .branch-header{cursor:default}.branch-card-expandable.is-disabled:hover{box-shadow:0 2px 8px #0000000f}.dop-branches{flex-direction:column;gap:.85rem;margin-top:1.5rem;display:flex}.hub-grid{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.hub-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);color:inherit;border-radius:10px;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;text-decoration:none;transition:box-shadow .2s,transform .15s,border-color .2s;display:flex}.hub-card:hover{border-color:#ccc;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.hub-card-highlight{border-left:4px solid #e67e22}.hub-card-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:1.5rem;display:flex}.hub-card-body{flex:1;min-width:0}.hub-card-title{color:var(--color-text-dark);margin:0 0 .2rem;font-size:1.05rem;font-weight:700}.hub-card-desc{color:#888;margin:0;font-size:.85rem;line-height:1.4}.hub-card-arrow{color:#ccc;flex-shrink:0;font-size:1.3rem;transition:transform .2s}.hub-card:hover .hub-card-arrow{color:#999;transform:translate(4px)}.protocol-info-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-radius:10px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.protocol-info-row{flex-wrap:wrap;gap:2rem;display:flex}.protocol-info-item{flex-direction:column;gap:.2rem;display:flex}.protocol-info-label{text-transform:uppercase;letter-spacing:.05em;color:#aaa;font-size:.75rem;font-weight:600}.protocol-info-value{color:var(--color-text-dark);font-size:.95rem;font-weight:500}.period-alert{border:1px solid #0000;border-radius:8px;align-items:center;gap:1rem;margin-bottom:.5rem;padding:1rem 1.25rem;display:flex}.period-alert-icon{flex-shrink:0;font-size:1.5rem}.period-alert-body{flex-direction:column;flex:1;gap:.15rem;display:flex}.period-alert-body strong{font-size:.95rem}.period-alert-body span{opacity:.85;font-size:.85rem}.period-alert-complete{color:#2e7d32;background-color:#e8f5e9;border-color:#c8e6c9}.period-alert-in-progress{color:#1565c0;background-color:#e3f2fd;border-color:#bbdefb}.period-alert-warning{color:#e65100;background-color:#fff3e0;border-color:#ffe0b2}.period-alert-overdue{color:#c62828;background-color:#ffebee;border-color:#ffcdd2}.periods-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.period-card{background-color:var(--color-bg-white);border:1px solid var(--color-border);border-left:4px solid #9e9e9e;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem 1.15rem;display:flex}.period-card-current{box-shadow:0 2px 12px #00000014}.period-card-header{justify-content:space-between;align-items:center;display:flex}.period-progress-track{background-color:#f0f0f0;border-radius:3px;height:6px;overflow:hidden}.period-progress-fill{border-radius:3px;height:100%;transition:width .5s}.period-card-footer{justify-content:space-between;align-items:center;display:flex}.checkpoint-row{border-bottom:1px solid #f0f0f0;padding-bottom:.75rem}.checkpoint-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.checkpoint-label{color:var(--color-text-dark);flex:1;min-width:0;font-size:.95rem;font-weight:600}.checkpoint-controls{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.checkpoint-camera-btn{cursor:pointer;background:#fafafa;border:2px dashed #bdc3c7;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;margin-left:.5rem;font-size:1.1rem;transition:border-color .2s,background-color .2s;display:flex}.checkpoint-camera-btn:hover{background-color:#ebf5fb;border-color:#3498db}.checkpoint-camera-btn[style*=background-color]{color:#fff;border-style:solid;border-color:#27ae60}.checkpoint-photo-preview{margin-top:.5rem;margin-left:0;display:inline-block;position:relative}.checkpoint-photo-preview img{object-fit:cover;border:1px solid #e0e0e0;border-radius:6px;height:60px}.checkpoint-photo-remove{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.signature-container{background:#fefefe;border:2px solid #e0e0e0;border-radius:8px;position:relative;overflow:hidden}.signature-canvas{cursor:crosshair;touch-action:none;width:100%;height:150px;display:block}.signature-actions{align-items:center;gap:.5rem;display:flex;position:absolute;bottom:8px;right:8px}.signature-hint{color:#bdc3c7;pointer-events:none;font-size:.8rem;font-style:italic}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-container{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 8px 40px #0003}.modal-content{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;padding:2rem;display:flex;overflow-y:auto;box-shadow:0 8px 40px #0003}.modal-content h2{color:var(--color-text-dark);border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.5rem}.modal-actions{border-top:1px solid #f0f0f0;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.modal-wide{max-width:850px}.modal-header{border-bottom:1px solid #e0e0e0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-close-btn{cursor:pointer;color:#999;background:0 0;border:none;padding:.3rem;font-size:1.2rem}.modal-close-btn:hover{color:#333}.modal-filters{background:#fafafa;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:1.5rem;padding:1rem 1.5rem;display:flex}.modal-filter-group{align-items:center;gap:.5rem;display:flex}.modal-quarter-pills{gap:.3rem;display:flex}.quarter-pill{cursor:pointer;color:#666;background:#fff;border:1px solid #ccc;border-radius:20px;padding:.35rem .8rem;font-size:.85rem;font-weight:600;transition:all .15s}.quarter-pill:hover{color:#e67e22;border-color:#e67e22}.quarter-pill-active{color:#fff;background:#e67e22;border-color:#e67e22}.modal-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.modal-empty{text-align:center;color:#999;padding:3rem 1rem}.modal-empty p{margin:.5rem 0 0}.inspection-list{flex-direction:column;gap:.75rem;display:flex}.inspection-card{background:#fefefe;border:1px solid #e0e0e0;border-radius:8px;padding:1rem 1.25rem;transition:box-shadow .15s}.inspection-card:hover{box-shadow:0 2px 10px #0000000f}.inspection-card-header{justify-content:space-between;align-items:flex-start;display:flex}.inspection-status-badge{border-radius:4px;flex-shrink:0;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.badge-ok{color:#2e7d32;background:#e8f5e9}.badge-warning{color:#e65100;background:#fff3e0}.inspection-card-meta{color:#999;gap:1rem;margin-top:.5rem;font-size:.8rem;display:flex}.inspection-card-checks{flex-wrap:wrap;gap:.35rem;margin-top:.6rem;display:flex}.check-ok,.check-fail,.check-na{border-radius:3px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.check-ok{color:#2e7d32;background:#e8f5e9}.check-fail{color:#c62828;background:#ffebee}.check-na{color:#9e9e9e;background:#f5f5f5}.inspection-card-actions{gap:.5rem;margin-top:.75rem;display:flex}.inspection-detail-header{margin-bottom:1rem}.inspection-detail-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.detail-section h4{color:#2c3e50;border-bottom:1px solid #f0f0f0;margin:0 0 .5rem;padding-bottom:.3rem;font-size:.95rem}.detail-row{border-bottom:1px solid #fafafa;justify-content:space-between;padding:.3rem 0;font-size:.85rem;display:flex}.detail-row span{color:#888}.detail-check-row{border-bottom:1px solid #fafafa;justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.85rem;display:flex}.detail-photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.detail-photo-item{text-align:center;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.detail-photo-item img{object-fit:cover;width:100%;height:80px}.detail-photo-item span{color:#666;background:#f8f9fa;padding:.2rem;font-size:.7rem;display:block}.crud-form-group{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.crud-label{color:#34495e;margin-bottom:.2rem;font-size:.85rem;font-weight:600}.crud-input,.crud-select{color:#2c3e50;background-color:#fafafa;border:1px solid #bdc3c7;border-radius:6px;width:100%;padding:.65rem .8rem;font-size:.95rem;transition:all .2s}.crud-input:focus,.crud-select:focus{background-color:#fff;border-color:#e67e22;outline:none;box-shadow:0 0 0 2px #e67e2226}.crud-input::placeholder{color:#bdc3c7;font-style:italic}.crud-input:disabled,.crud-select:disabled{color:#95a5a6;cursor:not-allowed;background-color:#f8f9f9}.crud-help-text{color:#7f8c8d;margin-top:-.2rem;margin-bottom:.4rem;font-size:.8rem}.crud-checkbox-group{cursor:pointer;background:#f8f9f9;border:1px solid #eaecee;border-radius:6px;align-items:center;gap:.8rem;min-height:48px;padding:.75rem 1rem;display:flex}.crud-checkbox-group input[type=checkbox]{accent-color:#e67e22;cursor:pointer;width:1.2rem;height:1.2rem}.crud-checkbox-group label{color:#34495e;cursor:pointer;margin:0;font-size:.9rem;font-weight:600}.kanban-board{align-items:flex-start;gap:1.5rem;min-height:calc(100vh - 280px);padding:0 1rem 1rem;display:flex;overflow-x:auto}.kanban-group{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}.kanban-group-title{color:var(--color-text-dark);border-bottom:3px solid var(--color-border);align-items:center;gap:.5rem;margin:0;padding:.5rem 1rem;font-size:1.3rem;text-decoration:none;transition:color .2s;display:flex}.kanban-group-title:hover{color:var(--color-primary)}.kanban-group-title .arrow{opacity:0;margin-left:auto;font-size:1.1rem;transition:opacity .2s,transform .2s}.kanban-group-title:hover .arrow{opacity:1;transform:translate(4px)}.kanban-columns-container{gap:1.5rem;height:100%;display:flex}.kanban-column{background-color:#ebecf0;border-radius:12px;flex-direction:column;flex:1;min-width:0;max-height:calc(100vh - 320px);display:flex;box-shadow:0 1px 3px #0000001a}.kanban-column-header{color:var(--color-text-dark);border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:1.15rem;font-weight:700;display:flex}.kanban-column-content{flex-direction:column;flex:1;gap:.75rem;padding:.75rem;display:flex;overflow-y:auto}.kanban-card{background-color:var(--color-bg-white);border-left:4px solid var(--color-primary);color:inherit;cursor:pointer;border-radius:8px;flex-direction:column;padding:1rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 2px #0000001a}.kanban-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.kanban-card-title{color:var(--color-text-dark);justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:flex}.kanban-card-value{margin-bottom:.2rem;font-size:1.4rem;font-weight:700}.kanban-card-desc{color:#7f8c8d;margin:0;font-size:.8rem}.kanban-tabs{border-bottom:2px solid #0000000d;gap:1rem;max-width:1200px;margin:0 auto 1.5rem;padding:0 1rem;display:flex}.kanban-tab{color:#7f8c8d;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1.1rem;font-weight:600;transition:all .2s;display:flex}.kanban-tab:hover{color:var(--color-primary);background-color:#00000005;border-top-left-radius:8px;border-top-right-radius:8px}.kanban-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tooltip-container{cursor:help;display:inline-block;position:relative}.tooltip-container:after{content:attr(data-tooltip);color:#fff;white-space:normal;opacity:0;pointer-events:none;z-index:9999;text-transform:none;letter-spacing:normal;text-align:left;background-color:#1e293b;border-radius:6px;width:220px;padding:6px 10px;font-size:.75rem;font-weight:500;line-height:1.4;transition:opacity .15s,transform .15s;position:absolute;bottom:125%;left:50%;transform:translate(-50%);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.tooltip-container:before{content:"";opacity:0;pointer-events:none;z-index:9999;border:6px solid #0000;border-top-color:#1e293b;transition:opacity .15s;position:absolute;bottom:110%;left:50%;transform:translate(-50%)}.tooltip-container:hover:after{opacity:1;transform:translate(-50%)translateY(-2px)}.tooltip-container:hover:before{opacity:1}.num-split-modal{height:80vh;flex-direction:row!important;max-width:1000px!important}.num-sidebar{border-right:1px solid var(--color-border);background-color:#f9fafb;flex-direction:column;width:45%;display:flex;overflow-y:auto}.num-content{background-color:var(--color-bg-white);flex-direction:column;width:55%;padding:2rem;display:flex;overflow-y:auto}.num-header{border-bottom:1px solid var(--color-border);background-color:var(--color-bg-white);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.num-list{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.num-item{background-color:var(--color-bg-white);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;padding:1rem;transition:all .2s;position:relative}.num-item:hover{border-color:var(--color-primary);box-shadow:0 4px 6px #0000000d}.num-item.active{border-color:var(--color-primary);border-left:4px solid var(--color-primary);background-color:#fff9f9}.num-item-title{color:var(--color-text-dark);margin-bottom:.2rem;font-size:1rem;font-weight:700}.num-item-target{color:#475569;background-color:#e2e8f0;border-radius:4px;padding:.15rem .4rem;font-family:monospace;font-size:.75rem}.num-item-details{border-top:1px dashed var(--color-border);justify-content:space-between;margin-top:.85rem;padding-top:.75rem;font-size:.85rem;display:flex}.num-actions{gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.num-action-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:all .2s}.num-action-btn:hover{color:var(--color-primary);background-color:#f1f5f9}.num-form-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.col-span-2{grid-column:span 2}.num-checkbox-wrapper{background-color:var(--color-bg-light);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:.75rem;padding:1rem;display:flex}.num-preview{color:#fff;background-color:#1e293b;border-radius:8px;margin-top:2rem;padding:1.5rem}.num-preview-label{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem}.num-preview-value{color:#4ade80;font-family:monospace;font-size:1.5rem}.num-footer{justify-content:flex-end;gap:1rem;margin-top:auto;padding-top:2rem;display:flex}:root{--comercial-primary:#d32f2f;--comercial-primary-hover:#b71c1c;--comercial-bg-light:#f8f9fa;--comercial-border-light:#eaeaea;--comercial-glass-bg:#ffffffbf;--comercial-glass-border:#fff6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.animate-fade-in-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-scale-in{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleIn}.glass-panel{background:var(--comercial-glass-bg);-webkit-backdrop-filter:blur(16px)saturate(120%);border:1px solid var(--comercial-glass-border);box-shadow:0 8px 32px #1f26870a}.glass-panel-hover{transition:all .3s cubic-bezier(.25,.8,.25,1)}.glass-panel-hover:hover{background:#ffffffd9;border-color:#d32f2f40;transform:translateY(-5px);box-shadow:0 15px 30px #d32f2f14}.catalog-layout-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.catalog-layout-table{border-collapse:separate;border-spacing:0 .75rem;width:100%}.catalog-layout-table tr{background:#fff;transition:all .2s;box-shadow:0 2px 5px #00000005}.catalog-layout-table tr:hover{background:#fff5f5;transform:scale(1.005);box-shadow:0 4px 10px #d32f2f0d}.catalog-layout-table td{border-top:1px solid var(--comercial-border-light);border-bottom:1px solid var(--comercial-border-light);padding:1rem}.catalog-layout-table td:first-child{border-left:1px solid var(--comercial-border-light);border-top-left-radius:12px;border-bottom-left-radius:12px}.catalog-layout-table td:last-child{border-right:1px solid var(--comercial-border-light);border-top-right-radius:12px;border-bottom-right-radius:12px}.tab-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:10px;padding:.75rem 1.5rem;font-weight:600;transition:all .25s}.tab-button.active{color:var(--comercial-primary);background:#fff;box-shadow:0 4px 12px #0000000f}.badge-eco{color:#2e7d32;background-color:#4caf501f;border:1px solid #4caf5033}.badge-scavini{color:var(--comercial-primary);background-color:#d32f2f1a;border:1px solid #d32f2f33}.badge-new{color:#d35400;background-color:#f1c40f26;border:1px solid #f1c40f4d}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3af}.card-image-container{background-color:#f3f4f6;height:290px;position:relative;overflow:hidden}.card-actions-bar{opacity:0;z-index:10;flex-direction:column;gap:8px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:12px;right:12px;transform:translate(10px)}.glass-panel-hover:hover .card-actions-bar,.card-actions-bar.has-active{opacity:1;transform:translate(0)}.card-action-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#4b5563;cursor:pointer;background:#fffffff2;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;transition:all .2s;display:flex;box-shadow:0 4px 10px #0000000f}.card-action-btn:hover{background:#fff;transform:scale(1.1)}.card-action-btn.info-btn:hover{color:#d32f2f;background:#d32f2f0d;border-color:#d32f2f33}.card-action-btn.heart-btn.is-favorite{color:#d32f2f;background:#fff;border-color:#fee2e2}.card-action-btn.heart-btn:not(.is-favorite):hover{color:#ef4444}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 37%,#f3f4f6 63%) 0 0/200% 100%;border-radius:4px;animation:1.5s linear infinite shimmer}.skeleton-card{background:#fff;border:1px solid #eaeaea;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.skeleton-image{width:100%;height:290px}.skeleton-footer{background:#fff;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.skeleton-text{border-radius:4px;height:16px}.skeleton-text-reference{width:40%}.skeleton-text-arrow{width:15px}.skeleton-table-row{height:52px}.skeleton-td{padding:1rem}.skeleton-bar{border-radius:4px;width:80%;height:14px}.showroom-alert-banner{color:#196f3d;background-color:#d4efdf;border:1px solid #a9dfbf;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:500;display:flex;box-shadow:0 2px 4px #2ecc710d}.share-buttons-container{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.btn-share{cursor:pointer;color:#333;background-color:#fff;border:1px solid #ddd;border-radius:50px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex}.btn-share:hover{background-color:#f2f4f4;transform:translateY(-1px)}.btn-share-whatsapp{color:#128c7e;background-color:#ebf5fb;border-color:#25d366}.btn-share-whatsapp:hover{background-color:#d1f2eb}.btn-share-email{color:#2980b9;background-color:#ebf5fb;border-color:#3498db}.btn-share-email:hover{background-color:#d4e6f1}.btn-share-pdf{color:#c0392b;background-color:#fdedec;border-color:#e74c3c}.btn-share-pdf:hover{background-color:#fadbd8}
