*,:after,:before{box-sizing:border-box}.data-table{display:flex;flex-direction:column;font-size:.9rem;gap:1rem}.data-table__header{display:none}.data-table__row{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);display:grid;gap:1rem;padding:1rem;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.data-table__row:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.data-table__cell{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:.5rem 0}.data-table__cell:last-child{border-bottom:none}.data-table__cell .data-table__label{color:#495057;font-weight:600;margin-right:1rem}.data-table__cell .data-table__value{text-align:right}@media (min-width:992px){.data-table__header{background-color:#f1f3f5;border-radius:8px;color:#495057;font-size:.85rem;font-weight:600;text-transform:uppercase}.data-table__header,.data-table__row{align-items:center;display:grid;padding:1rem 1.25rem}.data-table__row{background-color:transparent;border:none;border-bottom:1px solid #e9ecef;border-radius:0;box-shadow:none}.data-table__row:last-child{border-bottom:none}.data-table__cell{display:contents}.data-table__cell .data-table__label{display:none}.data-table__cell .data-table__value{text-align:left}.data-table--nuevos-leads .data-table__header,.data-table--nuevos-leads .data-table__row{gap:1.5rem;grid-template-columns:1fr 2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr}.data-table--pedidos .data-table__header,.data-table--pedidos .data-table__row{gap:1.5rem;grid-template-columns:1fr 1fr 1.5fr 1.5fr 1fr 1fr 1fr 1fr 1fr 1fr 1.5fr}.data-table--facturados .data-table__header,.data-table--facturados .data-table__row{gap:1.5rem;grid-template-columns:1fr 1fr 2fr 1fr 1.5fr}}.technology-list{list-style:none;margin:0;padding:0}.technology-item{color:#495057;font-size:.95rem;margin-bottom:.5rem}.technology-item:last-child{margin-bottom:0}.technology-item strong{color:#212529;font-weight:600}.unseen-lead{border-left:4px solid #093}.seen-lead{border-left:4px solid #06c}.status-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.5em .8em;text-transform:uppercase}.status-badge.pending{background-color:#fffbe6;color:#d6b300}.status-badge.passback-solicited{background-color:#fff3e6;color:#e67300}.status-badge.passback-completed{background-color:#ffe6e6;color:#c00}.status-badge.declined{background-color:#e6e6e6;color:#8c8c8c}.status-badge.accepted{background-color:#e6ffec;color:#093}.status-badge.verifying{background-color:#e6f7ff;color:#007399}.status-badge.paid{background-color:#e6f2ff;color:#06c}.status-badge.billed{background-color:#e6f2ff;color:var(--primary)}.table-action-btn{border-radius:50px;font-size:.8rem;padding:.5rem 1rem;transition:all .2s ease-in-out}.table-action-btn:hover{transform:translateY(-1px)}.contact-info small{align-items:center;color:#6c757d!important;display:flex;margin-top:.25rem}.contact-info small .bi{font-size:.9rem}body.dark-mode .data-table__row{background-color:var(--card-background);border-color:var(--border-color)}body.dark-mode .data-table__cell{border-bottom-color:var(--border-color)}body.dark-mode .data-table__cell .data-table__label{color:var(--text-light-color)}body.dark-mode .data-table__cell .data-table__value{color:var(--text-color)}@media (min-width:992px){body.dark-mode .data-table__header{background-color:#2a2a2a;color:var(--text-light-color)}body.dark-mode .data-table__row{background-color:transparent;border-bottom-color:var(--border-color)}}body.dark-mode .technology-item{color:var(--text-light-color)}body.dark-mode .technology-item strong{color:var(--text-color)}body.dark-mode .contact-info small{color:var(--text-light-color)!important}body.dark-mode .status-badge.pending{background-color:rgba(214,179,0,.2);color:#d6b300}body.dark-mode .status-badge.passback-solicited{background-color:rgba(230,115,0,.2);color:#e67300}body.dark-mode .status-badge.passback-completed{background-color:rgba(204,0,0,.2);color:#c00}body.dark-mode .status-badge.declined{background-color:hsla(0,0%,55%,.2);color:#8c8c8c}body.dark-mode .status-badge.accepted{background-color:rgba(0,153,51,.2);color:#093}body.dark-mode .status-badge.verifying{background-color:rgba(0,115,153,.2);color:#007399}body.dark-mode .status-badge.paid{background-color:rgba(0,102,204,.2);color:#06c}body.dark-mode .status-badge.billed{background-color:rgba(48,194,154,.2);color:var(--primary-color)}:root{--primary-color:#30c29a;--secondary-color:#30c2d1;--background-color:#f0f2f5;--card-background:#fff;--text-color:#333;--text-light-color:#666;--border-color:#e0e0e0;--font-family:"Poppins",sans-serif;--shadow:0 5px 20px rgba(0,0,0,.07);--border-radius:12px;--leads-bg-start:#e0f2f1;--leads-bg-end:#fff;--leads-color:#00796b;--pedidos-bg-start:#e8f5e9;--pedidos-bg-end:#fff;--pedidos-color:#43a047;--facturas-bg-start:#e3f2fd;--facturas-bg-end:#fff;--facturas-color:#1e88e5;--navbar-toggler-icon-filter:none;--navbar-toggler-border-color:rgba(0,0,0,.1);--btn-close-filter:none}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background-color);color:var(--text-color);font-family:var(--font-family);line-height:1.6;transition:background-color .3s,color .3s}.container{margin:0 auto;max-width:1500px;padding:0 30px}.btn-gradient{background:linear-gradient(90deg,#10b981,#06b6d4)}.navbar,header{background-color:var(--card-background);border-bottom:1px solid var(--border-color);transition:background-color .3s,border-color .3s}.navbar-collapse.collapsing,.navbar-collapse.show{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);margin-top:10px;padding:15px}.navbar .dropdown-toggle,.navbar .nav-link{color:var(--text-color)}.navbar .nav-link.active,.navbar .nav-link:hover{border-bottom-color:var(--primary-color);color:var(--primary-color)!important}.navbar-toggler{border-color:var(--navbar-toggler-border-color)}.navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23333' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.logo{color:var(--primary-color);font-size:1.5rem;font-weight:700;text-decoration:none}.logo-subtitle{color:var(--secondary-color);font-size:.8rem;font-weight:400}.user-profile{align-items:center;color:var(--text-color);display:flex;gap:10px}.user-profile .fa-user-circle{color:var(--primary-color);font-size:1.8rem}.welcome-banner{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:var(--border-radius);box-shadow:0 10px 30px rgba(48,194,154,.3);color:#fff;margin-bottom:30px;padding:25px 40px;text-align:center}.welcome-banner h1{font-size:2rem;font-weight:700;margin-bottom:5px}.welcome-banner p{font-size:1rem;opacity:.9}.dashboard{padding:30px 0}.dashboard-grid{display:grid;gap:30px;grid-template-columns:1fr}.card{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,background-color .3s}.card:hover{box-shadow:0 12px 25px rgba(0,0,0,.1);transform:translateY(-8px)}.card-header{border-bottom:1px solid var(--border-color);padding:25px}.header-content{align-items:center;display:flex;justify-content:space-between}.card-header h2{align-items:center;display:flex;font-size:1.4rem;font-weight:700;gap:12px}.stat-badge{border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:5px 12px}.card-body{flex-grow:1;overflow-x:auto;padding:25px}.card-footer{background-color:#fcfcfc;border-top:1px solid #f0f0f0;padding:20px;text-align:center}.card-leads .card-header{background-image:linear-gradient(to top right,var(--leads-bg-start),var(--leads-bg-end))}.card-leads .card-header h2{color:var(--leads-color)}.card-leads .stat-badge{background-color:var(--leads-color)}.card-pedidos .card-header{background-image:linear-gradient(to top right,var(--pedidos-bg-start),var(--pedidos-bg-end))}.card-pedidos .card-header h2{color:var(--pedidos-color)}.card-pedidos .stat-badge{background-color:var(--pedidos-color)}.card-facturas .card-header{background-image:linear-gradient(to top right,var(--facturas-bg-start),var(--facturas-bg-end))}.card-facturas .card-header h2{color:var(--facturas-color)}.card-facturas .stat-badge{background-color:var(--facturas-color)}table{border-collapse:collapse;font-size:.9em;width:100%}td,th{border-bottom:1px solid var(--border-color);padding:12px 15px;text-align:left;white-space:nowrap}thead th{color:var(--text-light-color);font-weight:600;text-transform:uppercase}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background-color .2s ease}tbody tr:hover{background-color:#f9f9f9}.btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;border-radius:8px;box-shadow:0 4px 15px rgba(48,194,209,.3);color:#fff;display:inline-block;font-weight:600;padding:12px 25px;text-decoration:none;transition:all .3s ease}.btn:hover{box-shadow:0 7px 20px rgba(48,194,209,.4);transform:translateY(-3px)}.action-link{color:var(--secondary-color);font-size:1.2rem;font-weight:600;text-decoration:none}.action-link i{margin-right:5px}.action-link:hover{color:var(--primary-color);text-decoration:none}.status{border-radius:15px;font-size:.8em;font-weight:600;padding:5px 12px;text-align:center}.status-paid{background-color:#e0f2f1;color:#00796b}.status-pending{background-color:#fff8e1;color:#f57c00}@media (max-width:768px){.container{padding:0 15px}.welcome-banner h1{font-size:2rem}table,tbody,td,th,thead,tr{display:block}thead{display:none}tbody tr{border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 2px 10px rgba(0,0,0,.05);margin-bottom:15px;padding:10px}tbody tr,tbody tr:hover{background-color:var(--card-background)}tbody tr:hover{transform:none}td{border:none!important;padding-bottom:8px;padding-left:30%;padding-top:8px;position:relative;text-align:right;white-space:normal}td:before{color:var(--text-light-color);content:attr(data-label);font-weight:600;left:0;padding-right:10px;position:absolute;text-align:left;white-space:nowrap;width:45%}.table-pedidos-responsive td:first-of-type:before{content:"Número"}.table-pedidos-responsive td:nth-of-type(2):before{content:"Empresa"}.table-pedidos-responsive td:nth-of-type(3):before{content:"Proyecto"}.table-pedidos-responsive td:nth-of-type(4):before{content:"Fecha"}.table-pedidos-responsive td:nth-of-type(5):before{content:"Estado"}.table-pedidos-responsive td:nth-of-type(6):before{content:"Acciones"}.table-pedidos-responsive td:nth-of-type(6) .action-buttons-content .action-link{display:block;font-size:1rem;margin-bottom:5px;margin-top:5px;width:100%}.table-pedidos-responsive td:nth-of-type(6){align-items:center;display:block;gap:15px;justify-content:flex-end;padding-left:0;padding-right:0;padding-top:30px;text-align:center}.table-pedidos-responsive td:nth-of-type(6):before{flex-grow:1;padding-left:0;position:static;text-align:left;width:auto}.table-facturas-responsive td:first-of-type:before{content:"Nº Factura"}.table-facturas-responsive td:nth-of-type(2):before{content:"Proyecto"}.table-facturas-responsive td:nth-of-type(3):before{content:"Empresa"}.table-facturas-responsive td:nth-of-type(4):before{content:"Estado"}.table-facturas-responsive td:nth-of-type(5):before{content:""}.table-facturas-responsive td:nth-of-type(5) .action-buttons-content .action-link{display:block;font-size:1rem;margin-bottom:5px;margin-top:5px;width:100%}.table-facturas-responsive td:nth-of-type(5){align-items:center;display:block;gap:15px;justify-content:flex-end;padding-left:0;padding-right:0;padding-top:30px;text-align:center}.table-facturas-responsive td:nth-of-type(6):before{flex-grow:1;padding-left:0;position:static;text-align:left;width:auto}.table-pedidos-nuevos-responsive td:first-of-type:before{content:"Proyecto"}.table-pedidos-nuevos-responsive td:nth-of-type(2):before{content:"Ubicación"}.table-pedidos-nuevos-responsive td:nth-of-type(3):before{content:"Fecha"}.table-pedidos-nuevos-responsive td:nth-of-type(4):before{content:"Empleados"}.table-pedidos-nuevos-responsive td:nth-of-type(5):before{content:"Facturación"}.table-pedidos-nuevos-responsive td:nth-of-type(6):before{content:"Sector"}.table-pedidos-nuevos-responsive td:nth-of-type(7):before{content:""}.table-pedidos-responsive td:nth-of-type(7) .action-buttons-content .action-link{display:block;font-size:1rem;margin-bottom:5px;margin-top:5px;width:100%}.table-pedidos-nuevos-responsive td:nth-of-type(7){align-items:center;display:block;gap:15px;justify-content:flex-end;padding-left:0;padding-right:0;padding-top:30px;text-align:center}.table-pedidos-nuevos-responsive td:nth-of-type(7):before{flex-grow:1;padding-left:0;position:static;text-align:left;width:auto}.td.no-items{padding-right:0}}body.dark-mode{--background-color:#121212;--card-background:#1e1e1e;--text-color:#e0e0e0;--text-light-color:#b0b0b0;--border-color:#333;--shadow:0 5px 20px rgba(0,0,0,.3);--leads-bg-start:#1e1e1e;--leads-bg-end:#242424;--leads-color:#30c29a;--pedidos-bg-start:#1e1e1e;--pedidos-bg-end:#242424;--pedidos-color:#30c2d1;--facturas-bg-start:#1e1e1e;--facturas-bg-end:#242424;--facturas-color:#1e88e5;--navbar-toggler-icon-filter:invert(100%) grayscale(100%);--navbar-toggler-border-color:hsla(0,0%,100%,.1);--btn-close-filter:invert(100%) grayscale(100%)}body.dark-mode .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23e0e0e0' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}body.dark-mode .btn-close{filter:var(--btn-close-filter);opacity:.8}body.dark-mode .card-footer{background-color:#121212;border-top:1px solid #333}body.dark-mode .welcome-banner{background:linear-gradient(135deg,#1e1e1e,#242424);box-shadow:0 10px 30px rgba(0,0,0,.5)}body.dark-mode tbody tr:hover{background-color:#2a2a2a}body.dark-mode .status-paid{background-color:rgba(48,194,154,.1);color:#30c29a}body.dark-mode .status-pending{background-color:rgba(245,124,0,.1);color:#f57c00}body.dark-mode .dropdown-menu.show{background-color:var(--card-background);border:1px solid var(--border-color);box-shadow:var(--shadow)}body.dark-mode .logout-menu{background-color:var(--card-background)}body.dark-mode .logout-menu,body.dark-mode .welcome-banner h1,h1,h2,h3,h5,span{color:var(--text-light-color)}body.dark-mode .text-muted,body.dark-mode td{color:var(--text-light-color)!important}body.dark-mode .card,body.dark-mode .card-body,body.dark-mode .card-header,body.dark-mode .modal-content{background-color:var(--card-background);border:1px solid var(--border-color);color:var(--text-color)}body.dark-mode .modal-footer,body.dark-mode .modal-header{border-color:var(--border-color)}body.dark-mode .modal-body,body.dark-mode .modal-title{color:var(--text-color)}body.dark-mode .modal .btn-close{filter:var(--btn-close-filter);opacity:.8}body.dark-mode .modal-backdrop.show{background-color:#000;opacity:.7}@media (max-width:768px){body.dark-mode tbody tr{border:1px solid #333;box-shadow:0 2px 10px rgba(0,0,0,.6)}}.lead-details-container{background-color:var(--background-color);color:var(--text-color);font-family:Segoe UI,sans-serif}.lead-details-container .header{background-color:#212529;color:#fff;padding:1rem 2rem}.lead-details-container .header .right{text-align:end}.lead-details-container .badge-box-parent{padding-left:0;padding-right:0}.lead-details-container .info-badges .badge-box{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:0;min-height:95px;padding:.75rem}.lead-details-container .info-badges .label{color:var(--text-light-color);font-size:.75rem;text-transform:uppercase}.lead-details-container .info-badges .value{font-weight:700;text-transform:uppercase}.lead-details-container .section-box{border-radius:.375rem;margin-bottom:2rem;padding:1.25rem}.lead-details-container .timeline li{margin-bottom:.75rem}.lead-details-container .timeline li::marker{color:#0d6efd}.lead-details-container .requisitos-container{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-color);margin:2rem auto;padding:2rem}.lead-details-container .badge-custom{background-color:#cfe2ff;color:#343a40;font-weight:600;margin-right:.5rem}.lead-details-container .section-title{margin-bottom:1rem;margin-top:1rem}.lead-details-container .divider{border-top:1px solid var(--border-color);margin:1rem 0}.lead-details-container .executive-summary{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-color);margin:2rem auto;padding:2rem}.lead-details-container .main-title{font-size:1.5rem;font-weight:700}.lead-details-container .section-title{font-size:1.25rem;margin-top:1.5rem}.lead-details-container .solution-contact{background-color:var(--card-background);margin:2rem auto}.lead-details-container .solution-contact-content{border:1px solid var(--border-color);border-radius:.5rem;height:100%;padding:2rem}.lead-details-container .requisitos-contact-content{border:1px solid var(--card-background);border-radius:.5rem;height:100%;padding:0 2rem 2rem}.lead-details-container .subsection-title{font-weight:600;margin-bottom:.5rem;margin-top:1rem}.lead-details-container .timeline-container{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-color);margin:2rem auto;padding:2rem}.lead-details-container .timeline{border-left:3px solid #005a9c;list-style:none;margin:2rem 0;padding-left:0;position:relative}.lead-details-container .timeline li{margin-bottom:30px;position:relative}.lead-details-container .timeline li:before{background-color:#005a9c;border:3px solid var(--card-background);border-radius:50%;box-shadow:0 0 0 3px #005a9c;content:"";height:20px;left:-11px;position:absolute;top:0;width:20px}.lead-details-container .timeline-content{background:var(--background-color);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.1);padding:15px 20px}.lead-details-container .timeline-content h3{color:#005a9c;font-size:1.1rem;margin:0 0 5px}.lead-details-container .blue-text{color:#005a9c}.lead-details-container .tec-name-esenciales{background-color:#e0f2f1;border:1px solid #b2dfdb;border-radius:15px;color:#00796b;font-size:15px;margin-right:4px;padding:5px 7px}.lead-details-container ul.tec-esenciales>li{margin-bottom:15px}.lead-details-container .timeline-content p{color:var(--text-color);font-size:.95rem;margin:0}.lead-details-container .meeting-schedule{margin-top:1rem}.lead-details-container .row-5-cols{align-items:stretch;display:flex;justify-content:space-between}.lead-details-container .row-5-cols .badge-box-parent{flex:1 1 20%;padding:0 5px}.lead-details-container .badge-box{display:flex;flex-direction:column;height:100%}.lead-details-container .timeline-horizontal{align-items:flex-start;display:flex;justify-content:space-between;padding-top:2rem;position:relative}.lead-details-container .timeline-horizontal:before{background-color:var(--border-color);content:"";height:2px;left:0;position:absolute;right:0;top:1.5rem;z-index:0}.lead-details-container .timeline-item{align-items:center;display:flex;flex:1;flex-direction:column;padding:0 1rem;position:relative;text-align:center}.lead-details-container .timeline-icon{background-color:#007bff;border:2px solid var(--card-background);border-radius:50%;height:1rem;position:relative;top:-.5rem;width:1rem;z-index:1}.lead-details-container .timeline-content{margin-top:1rem}.lead-details-container .section-box{background-color:var(--card-background);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}body.dark-mode .lead-details-container .badge-custom{background-color:#2a2a2a;color:#e0e0e0}body.dark-mode .lead-details-container .tec-name-esenciales{background-color:rgba(48,194,154,.1);border-color:#30c29a;color:#30c29a}