@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg-primary:#f8fafc;--bg-card:#fff;--bg-hover:#f1f5f9;--primary:#10b981;--primary-hover:#059669;--primary-light:#ecfdf5;--primary-dark:#065f46;--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#fff;--border-color:#e2e8f0;--border-focus:#10b981;--col-nuevo-bg:#eff6ff;--col-nuevo-border:#bfdbfe;--col-nuevo-text:#1e40af;--col-proceso-bg:#fffbeb;--col-proceso-border:#fde68a;--col-proceso-text:#92400e;--col-terminado-bg:#f0fdf4;--col-terminado-border:#bbf7d0;--col-terminado-text:#166534;--col-avisado-bg:#faf5ff;--col-avisado-border:#e9d5ff;--col-avisado-text:#6b21a8;--danger:#ef4444;--danger-light:#fef2f2;--danger-dark:#991b1b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000005;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000005;--shadow-hover:0 20px 25px -5px #10b9810d, 0 10px 10px -5px #10b98105;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:50;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.logo-container{align-items:center;gap:.75rem;display:flex}.logo-icon{background-color:var(--primary-light);color:var(--primary);border-radius:var(--radius-md);border:1.5px solid #10b98133;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;font-weight:800;display:flex;box-shadow:0 0 12px #10b9811a}.logo-text{letter-spacing:-.025em;color:var(--text-main);font-size:1.5rem;font-weight:700}.logo-text span{color:var(--primary)}.header-actions{align-items:center;gap:.75rem;display:flex}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--text-inverse)}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #10b98133}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-card);color:var(--text-main);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:#cbd5e1}.btn-danger{background-color:var(--danger-light);color:var(--danger);border-color:#ef44441a}.btn-danger:hover{background-color:var(--danger);color:var(--text-inverse)}.btn-icon{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-card);cursor:pointer;color:var(--text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.btn-icon:hover{background-color:var(--bg-hover);color:var(--text-main)}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;width:100%;max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:grid}.metric-card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:1rem;padding:1.25rem;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-icon.green{background-color:var(--primary-light);color:var(--primary)}.metric-icon.blue{color:#2563eb;background-color:#eff6ff}.metric-icon.amber{color:#d97706;background-color:#fffbeb}.metric-info{flex-direction:column;display:flex}.metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}.metric-value{color:var(--text-main);margin-top:.25rem;font-size:1.5rem;font-weight:700;line-height:1.2}.control-bar{flex-direction:column;gap:1rem;width:100%;max-width:1600px;margin:0 auto;padding:.5rem 2rem 1.5rem;display:flex}@media (width>=768px){.control-bar{flex-direction:row;justify-content:space-between;align-items:center}}.search-container{flex:1;max-width:500px;position:relative}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);background-color:var(--bg-card);color:var(--text-main);transition:all var(--transition-fast);outline:none;padding:.75rem 1rem .75rem 2.75rem;font-size:.95rem}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #10b98126}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.backup-actions{gap:.75rem;display:flex}.mobile-col-selector{scrollbar-width:none;gap:.5rem;padding:0 1rem 1rem;display:flex;overflow-x:auto}.mobile-col-selector::-webkit-scrollbar{display:none}@media (width>=1024px){.mobile-col-selector{display:none}}.mobile-tab-btn{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-card);min-width:120px;font-family:var(--font-sans);text-align:center;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;font-weight:600;display:flex}.mobile-tab-btn.active{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.board-container{flex:1;grid-template-columns:1fr;align-items:start;gap:1.5rem;width:100%;max-width:1600px;margin:0 auto;padding:0 1rem 2rem;display:grid}@media (width>=1024px){.board-container{grid-template-columns:repeat(4,1fr);padding:0 2rem 2rem}}.kanban-col{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-height:250px;max-height:calc(100vh - 280px);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast);flex-direction:column;padding:1.25rem 1rem;display:flex}@media (width<=1023px){.kanban-col.hidden{display:none}.kanban-col{max-height:none}}.kanban-col-header{border-bottom:2px solid var(--bg-primary);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.col-title-area{align-items:center;gap:.5rem;display:flex}.col-badge{border-radius:var(--radius-full);padding:.125rem .5rem;font-size:.875rem;font-weight:700}.col-badge.nuevo{background-color:var(--col-nuevo-bg);color:var(--col-nuevo-text);border:1.5px solid var(--col-nuevo-border)}.col-badge.proceso{background-color:var(--col-proceso-bg);color:var(--col-proceso-text);border:1.5px solid var(--col-proceso-border)}.col-badge.terminado{background-color:var(--col-terminado-bg);color:var(--col-terminado-text);border:1.5px solid var(--col-terminado-border)}.col-badge.avisado{background-color:var(--col-avisado-bg);color:var(--col-avisado-text);border:1.5px solid var(--col-avisado-border)}.col-title{color:var(--text-main);font-size:1.125rem;font-weight:700}.col-count{background-color:var(--bg-primary);color:var(--text-muted);border-radius:var(--radius-full);padding:.25rem .5rem;font-size:.75rem;font-weight:600}.cards-list{flex-direction:column;flex:1;gap:1rem;padding-right:2px;display:flex;overflow-y:auto}.empty-col-state{color:var(--text-muted);text-align:center;border:2px dashed var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;margin-top:.5rem;padding:3rem 1rem;display:flex}.empty-col-icon{color:#94a3b8;margin-bottom:.75rem}.empty-col-text{font-size:.875rem;font-weight:500}.kanban-card{background-color:var(--bg-card);border:1.5px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:grab;flex-direction:column;gap:.75rem;padding:1rem;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex;position:relative}.kanban-card:hover{box-shadow:var(--shadow-hover);border-color:#10b9814d;transform:translateY(-3px)}.kanban-card:active{cursor:grabbing}.card-header{justify-content:space-between;align-items:flex-start;display:flex}.card-client{color:var(--text-main);font-size:1rem;font-weight:700;line-height:1.3}.card-date{color:var(--text-muted);margin-top:.125rem;font-size:.7rem;font-weight:500}.card-phone-row{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.phone-link{color:var(--text-muted);transition:color var(--transition-fast);align-items:center;gap:.25rem;font-weight:500;text-decoration:none;display:inline-flex}.phone-link:hover{color:var(--primary)}.card-badges{flex-wrap:wrap;gap:.35rem;display:flex}.badge{border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-color{background-color:var(--primary-light);color:var(--primary-dark);border:1px solid #10b98133}.badge-byn{color:#334155;background-color:#f1f5f9;border:1px solid #cbd5e1}.badge-anillado{color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe}.badge-simple{color:#6b21a8;background-color:#faf5ff;border:1px solid #e9d5ff}.badge-doble{color:#5b21b6;background-color:#f5f3ff;border:1px solid #ddd6fe}.badge-normal{color:#64748b;background-color:#f8fafc;border:1px solid #e2e8f0}.badge-apaisada{color:#92400e;background-color:#fffbeb;border:1px solid #fde68a}.card-notes{color:#475569;border-radius:var(--radius-sm);white-space:pre-wrap;background-color:#f8fafc;border-left:3px solid #cbd5e1;padding:.5rem .75rem;font-size:.775rem;line-height:1.4}.card-financials{border-radius:var(--radius-sm);border:1px dashed var(--border-color);background-color:#fafaf9;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.75rem;display:flex}.fin-item{flex-direction:column;display:flex}.fin-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem;font-weight:600}.fin-val{color:var(--text-main);font-size:.85rem;font-weight:700}.fin-val.saldo-ok{color:var(--primary)}.fin-val.saldo-debt{color:#d97706}.card-footer{justify-content:space-between;align-items:center;margin-top:.25rem;display:flex}.col-movement-btns,.card-control-btns{gap:.25rem;display:flex}.btn-card-action{border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--bg-card);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.btn-card-action:hover{background-color:var(--bg-hover);color:var(--text-main)}.btn-card-action.wsp:hover{color:#fff;background-color:#25d366;border-color:#25d366}.btn-card-action.edit:hover{background-color:var(--primary-light);color:var(--primary);border-color:#10b98133}.btn-card-action.delete:hover{background-color:var(--danger-light);color:var(--danger);border-color:#ef44441a}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background-color:#0f172a66;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:550px;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-title{color:var(--text-main);font-size:1.25rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.modal-close:hover{background-color:var(--bg-hover);color:var(--text-main)}.modal-body{padding:1.5rem;overflow-y:auto}.form-group-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;display:grid}@media (width>=600px){.form-group-grid{grid-template-columns:repeat(2,1fr)}}.form-group{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.form-group.full-width{grid-column:1/-1;margin-bottom:0}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.025em;font-size:.8rem;font-weight:600}.form-input,.form-select,.form-textarea{border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);background-color:var(--bg-card);color:var(--text-main);transition:all var(--transition-fast);outline:none;padding:.65rem .875rem;font-size:.95rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #10b98126}.form-textarea{resize:vertical;min-height:80px}.choices-row{gap:.5rem;display:flex}.choice-btn{border-radius:var(--radius-md);border:1.5px solid var(--border-color);background-color:var(--bg-card);font-family:var(--font-sans);text-align:center;cursor:pointer;transition:all var(--transition-fast);flex:1;padding:.5rem .75rem;font-size:.85rem;font-weight:600}.choice-btn.active{background-color:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.modal-footer{border-top:1px solid var(--border-color);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);background-color:#fafafa;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-footer{background-color:var(--bg-card);border-top:1px solid var(--border-color);text-align:center;color:var(--text-muted);margin-top:auto;padding:1.25rem 2rem;font-size:.8rem;font-weight:500}.app-footer a{color:var(--primary);font-weight:600;text-decoration:none}.app-footer a:hover{text-decoration:underline}
