.kpis-container,.mobile-home-container{min-height:100vh;font-family:'Segoe UI',sans-serif}.kpis-container,.kpis-modal,.kpis-reclamo-textarea,.mobile-home-container{font-family:'Segoe UI',sans-serif}.btn-center,.btn-hide-visit,.dropdown-submenu,.mobile-action-card{position:relative}.mobile-home-container{background:linear-gradient(160deg,#1a1a2e 0,#16213e 50%,#0f3460 100%);padding:0 0 40px}.mobile-home-header{text-align:center;padding:48px 24px 36px;color:#fff}.mobile-home-header-icon{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.25);align-items:center;justify-content:center;margin:0 auto 20px;display:-webkit-flex;-webkit-align-items:center;-webkit-justify-content:center}.mobile-home-header-icon .glyphicon{font-size:32px;color:#e2c96e}.mobile-home-greeting{font-size:1em;font-weight:400;color:rgba(255,255,255,.65);margin:0 0 4px;letter-spacing:.3px}.mobile-home-title{font-size:1.7em;font-weight:700;letter-spacing:.5px;margin:0 0 8px;color:#e2c96e}.mobile-home-subtitle{font-size:.95em;color:rgba(255,255,255,.6);margin:0}.mobile-actions-grid{padding:0 16px;display:flex;flex-direction:column;gap:14px}.mobile-action-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 4px 20px rgba(0,0,0,.3);overflow:hidden}.mobile-action-card:focus,.mobile-action-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 30px rgba(0,0,0,.45)}.mobile-action-card:active{transform:translateY(0) scale(.98)}.mobile-action-primary{background:linear-gradient(135deg,#f7971e 0,#ffd200 100%);color:#1a1a2e}.mobile-action-icon{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-flex-shrink:0}.mobile-action-icon .glyphicon{font-size:22px}.mobile-action-primary .mobile-action-icon .glyphicon{color:#1a1a2e}.mobile-action-content{flex:1;display:flex;flex-direction:column;gap:3px}.mobile-action-label{font-size:1.05em;font-weight:700;line-height:1.2}.mobile-action-desc{font-size:.8em;opacity:.72;line-height:1.3}.mobile-action-arrow{font-size:13px;opacity:.6;flex-shrink:0;-webkit-flex-shrink:0}@media (min-width:576px){.mobile-home-container{max-width:480px;margin:0 auto;min-height:100vh}}.browsehappy{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}body{padding:0}table{font-family:monospace}.controles{width:100vw}.bar-kpi{display:block;height:1.2em;border-radius:5px}.sectors-list-map{height:60vh}.grap-alert{background:#B10202}.grap-warning{background:#E2A92D}.grap-normal{background:#06D9C3}.grap-success{background:#06D90B}.td-alert{background:red;color:#fff}.line-to-left{border-left:1px dashed #888}.img-on-card{max-width:100%!important}.btn-center{display:block;bottom:10px;right:10px;font-size:3em;border-radius:10em;border:2px solid #000;padding:5px;width:1.5em;height:1.5em;text-align:center;color:#fff;background:rgba(0,0,0,.8)}.btn-hide-visit,.btn-show-visit{left:0;font-size:1.5em;border-radius:0 10em 10em 0;padding:5px;width:10em;color:#fff}.btn-hide-visit{display:block;height:2em;text-align:left;background:rgba(0,0,0,.8)}.btn-show-visit{position:absolute;text-align:left;background:rgba(0,128,0,.8)}.dropdown-submenu .dropdown-menu{top:0;left:100%;margin-top:-1px}.footer,.header,.marketing{padding-left:15px;padding-right:15px}.route-map{height:80vh}.route-map-controls{background:#fff;padding:20px;margin-bottom:20px;box-shadow:4px 4px 10px #000}.route-map-shared{height:90vh;width:100%;left:0;top:0}.route-project-map{height:60vh}.route-sectors-map{height:85vh}.sector-custom-control{position:relative;left:20px;top:20px;width:30vw;color:#fff;font-size:1.2em;background:rgba(0,0,0,.8);padding:15px;border:2px solid #000}.sector-list{position:relative;right:20px;top:20px;overflow-x:hidden;overflow-y:auto;height:70vh;background:rgba(0,0,0,.5)}.sector-list table>thead>tr>th{background:#000;color:#fff;padding:5px}.sector-info{text-align:center;background:rgba(255,255,255,.5);border-radius:10px}.sector-info b{display:block;font-size:1.2em;text-align:center}.sector-list table td{padding:5px;color:#fff}.modal-xlg{width:100vw}.modal-mlg{width:80vw}.bg-unset{background:#0f0}.marker,.marker-paid,.my-position-marker,.my-position-marker-moto{background-size:cover;color:#fff;text-align:center}.my-position-marker{background-image:url(../images/motorcycle-marker.svg);width:50px;height:70px}.my-position-marker-moto{background-image:url(../images/motorcycle-marker.png);width:50px;height:70px}.marker{background-image:url(../images/map-marker.png);width:22px;height:50px}.marker-paid{background-image:url(../images/marker-paid.png);width:46px;height:63px}.mini-sector-contract b,.sector-contract b{height:2em;background:rgba(255,255,255,.5);display:block}.place-selector{padding:10px;font-weight:700;font-size:1.2em;text-align:center;background:rgba(255,255,255,.5);border-radius:10px}.sector-contract b{width:2em;font-size:1.4em;padding:3px;border-radius:20px;text-align:center;color:#000;border:4px solid #000}.mini-sector-contract b{width:4em;font-size:1.2em;padding:3px;border-radius:20px;text-align:center;color:#000;border:4px solid #000}.sector-contract span,.sector-of-work-contract b{height:2em;background:rgba(255,255,255,.5);font-size:1.4em;padding:3px;text-align:center;color:#000}.sector-of-work-contract b{display:block;width:3.5em;border-radius:20px;border:4px solid #000}.sector-contract span{display:block;width:3.5em;border-radius:0 20px 20px 0;border:4px solid #000}.marker-ignore,.marker-warning{border-radius:3em;text-align:center}.marker-ignore{background:#888;width:5em;height:3em;display:block;color:#fff}.marker-ignore span{font-size:2em;font-weight:700;padding:14px}.marker-warning{background:#F0DC00;width:3em;height:6em;display:block;color:red}.marker-warning b{font-size:3em;font-weight:700;padding:14px}.marker-warning .index{font-size:1.5em}.marker-no-contact{background-image:url(../images/marker-no-contact.png);background-size:cover;color:#fff;text-align:center;width:46px;height:63px}.marker-no-contact .tab-index,.marker-paid .tab-index{height:2em;width:2em;transform:translate(30px,-10px);border-radius:25px;padding:5px;font-size:1.3em}.marker-no-contact .tab-index{display:block;background:rgba(180,0,0,1)}.marker-paid .tab-index{display:block;background:rgba(0,180,0,1)}.marker-reprogram{background-image:url(../images/marker-reprogram.png);background-size:cover;color:#fff;text-align:center;width:46px;height:63px}.marker-reprogram .tab-index{display:block;height:2em;width:2em;padding:5px;background:rgba(0,0,180,1);font-size:1.3em;transform:translate(30px,-10px);border-radius:25px}.marker-reprogram .contract-id{display:block;width:5em;padding:5px;background:rgba(0,0,0,.75);font-size:1.3em;transform:translate(60px,-38px);border-radius:5px}.marker-reprogram .track-comments{display:block;width:12em;padding:10px;text-align:left;background:rgba(0,0,180,.75);font-size:1.3em;transform:translate(30px,-35px);border-radius:5px}.marker-promise,.marker-recharge,.marker-recharge-f1{color:#fff;text-align:center}.marker-promise{background-image:url(../images/map-promise.png);background-size:cover;width:30px;height:65px}.marker-recharge{background-image:url(../images/map-recharge.png);background-size:cover;width:30px;height:70px}.marker-recharge-f1{background-image:url(../images/map-recharge-f1.png);background-size:cover;width:32px;height:74px}.marker-active,.marker-fail-active{width:46px;height:50px;text-align:center}.marker-active{background-image:url(../images/map-marker-active.png);background-size:cover;background-repeat:no-repeat;color:red}.marker-fail{background-repeat:no-repeat;color:#fff;text-align:center;width:50px}.marker-fail span{display:block;width:7em;padding:5px;background:rgba(0,0,0,.75);font-size:1.3em;transform:translate(25px,10px);border:1px solid #000;border-radius:25px 25px 25px 0}.marker-visit span{display:block;width:3em;padding:5px;background:rgba(0,80,0,.75);transform:translate(20px,10px);border:1px solid #bef000;border-radius:25px}.marker-fail span b{font-weight:700;font-size:1.3em}.contract-info{background:rgba(230,230,230,.9);border:1px solid #ccc;margin-right:10px;padding:10px;width:35vw;font-size:1.2em}.comparative-controls{background:rgba(0,0,0,.7);color:#fff;border-radius:10px;padding:10px 10px 40px}.comparative-controls b{color:#0ff;border-radius:10px;padding:10px 10px 40px}.marker-fail-active span b{padding:5px;font-weight:700;font-size:1.4em}.marker-fail-active{background-image:url(../images/map-marker-active.png);background-size:cover;background-repeat:no-repeat;color:red}.marker-active span,.marker-fail-active span{display:block;height:2em;width:7em;padding:5px;font-weight:700;background:#bef000;font-size:1.4em;border-radius:10px}.time-left{font-size:1.5em;color:#fff}.table-scroll{overflow:scroll;height:43vh}.table-scroll-on-map{overflow-x:hidden;overflow-y:auto;height:63vh}.table-eval-scroll{overflow:scroll;height:50vh}.table-change-order-scroll{overflow:scroll;height:35vh}.table-project-scroll{overflow:scroll;height:50vh}.header{border-bottom:1px solid #e5e5e5;margin-bottom:10px}.header h3{margin-top:0;margin-bottom:0;line-height:40px;padding-bottom:19px}.footer{padding-top:19px;color:#777;border-top:1px solid #e5e5e5}.gallery-comparative{z-index:1000;position:absolute;margin-top:-230px;left:-55px}.gallery-comparative .sub{position:fixed;margin-top:110px;width:110px;display:block}.gallery-comparative div.main div.sub img{height:70px;width:70px;position:relative;margin-top:-290px;left:-50px;box-shadow:5px 5px 5px #000}.gallery-comparative div.main img{height:210px;width:210px;border-radius:10px}.gallery{z-index:1000;position:fixed;box-shadow:5px 5px 5px #000}.gallery .sub{position:fixed;margin-top:-210px;width:210px;display:block}.gallery div.main div.sub img{height:70px;width:70px}.gallery div.main img{height:210px;width:210px}.container-narrow>hr{margin:30px 0}.jumbotron{text-align:center;border-bottom:1px solid #e5e5e5}.jumbotron .btn{font-size:18px;padding:10px 16px}.marketing{margin:40px 0}.marketing p+h4{margin-top:28px}@media screen and (min-width:768px){.footer,.header,.marketing{padding-left:0;padding-right:0}.header{margin-bottom:30px}.jumbotron{border-bottom:0}}@media print{.pagebreak{page-break-before:always}}.table-fixed-header{position:relative;max-height:70vh;overflow-y:auto}.table-fixed-header table{width:100%;border-collapse:collapse}.table-fixed-header thead{position:sticky;top:0;z-index:1000;background:#fff}.table-fixed-header thead th{background:#f8f9fa;border-bottom:2px solid #dee2e6;font-weight:700;padding:12px 8px;text-align:left;position:sticky;top:0;z-index:1001}.table-fixed-header tbody tr:nth-child(even){background-color:#f8f9fa}.table-fixed-header tbody tr:hover{background-color:#e9ecef}.table-fixed-header.table-scroll-horizontal{overflow-x:auto;overflow-y:auto}.table-fixed-header.table-scroll-horizontal table{min-width:100%}.table-fixed-header.table-scroll-horizontal thead th{min-width:120px;white-space:nowrap}.table-fixed-header.table-with-filters thead th{background:#e9ecef;border-bottom:1px solid #dee2e6}.table-fixed-header.table-with-filters thead th input{width:100%;padding:4px;border:1px solid #ced4da;border-radius:4px;font-size:.9em}@media (max-width:768px){.table-fixed-header{max-height:50vh}.table-fixed-header thead th{padding:8px 4px;font-size:.9em}.table-fixed-header.table-scroll-horizontal thead th{min-width:100px}}.table-fixed-header tbody tr{transition:background-color .2s ease}.table-fixed-header.table-bordered tbody td,.table-fixed-header.table-bordered thead th{border:1px solid #dee2e6}.table-fixed-header.table-striped tbody tr:nth-child(odd){background-color:#fff}.table-fixed-header.table-striped tbody tr:nth-child(even){background-color:#f8f9fa}.table-fixed-header.table-hover tbody tr:hover{background-color:#e9ecef;cursor:pointer}.modal-header .close{color:#000;opacity:.5;transition:opacity .3s ease}.btn,.modal-body .btn,.modal-body .form-control{transition:all .3s ease}.modal-header .close:hover{opacity:1}.modal-body .alert{border-radius:6px;margin-bottom:15px}.modal-body .alert strong{display:flex;align-items:center;gap:8px;margin-bottom:10px}.modal-body .alert strong i{font-size:1.1em}.modal-body .form-group label{font-weight:600;color:#495057;margin-bottom:8px;display:flex;align-items:center;gap:6px}.modal-body .form-group label i{color:#007bff}.modal-body .form-control{border:2px solid #e9ecef;border-radius:6px;padding:10px 12px}.modal-body select.form-control{padding:0}.modal-body .form-control:focus{border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.modal-body .text-danger{margin-top:5px}.modal-body .text-danger small{display:block;margin-bottom:2px}.modal-body .text-muted{font-size:.875rem;margin-top:5px}.modal-body .btn{border-radius:4px;padding:6px 12px;font-weight:400;border:1px solid transparent;position:relative}.modal-body .btn:disabled{opacity:.6;cursor:not-allowed}.modal-body .btn-primary{background:linear-gradient(135deg,#007bff 0,#0056b3 100%);border-color:#007bff;color:#fff}.modal-body .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,123,255,.4)}.modal-body .btn-warning{background:linear-gradient(135deg,#ffc107 0,#e0a800 100%);border-color:#ffc107;color:#212529}.modal-body .btn-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(255,193,7,.4)}.modal-body .btn-danger{background:linear-gradient(135deg,#dc3545 0,#c82333 100%);border-color:#dc3545;color:#fff}.modal-body .btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(220,53,69,.4)}.modal-body .btn-secondary{background:linear-gradient(135deg,#e8e8e8 0,#d0d0d0 100%);color:#333;border-color:#ccc}.modal-body .btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(192,192,192,.4);background:linear-gradient(135deg,#f0f0f0 0,#d8d8d8 100%)}.modal-body .btn i{margin-right:6px}.modal-body .btn i.fa-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.modal-footer h4{color:#495057;font-weight:600;margin-bottom:15px;display:flex;align-items:center;gap:8px}.modal-footer h4 i{color:#007bff}.modal-footer .input-group{border-radius:6px;overflow:hidden}.modal-footer .input-group .form-control{border-right:none}.modal-footer .input-group-btn .btn{border-left:none;border-radius:0 6px 6px 0}.input-group .form-control{border-radius:6px 0 0 6px;border-right:none}.input-group-btn .btn,.input-group-btn input[type=submit]{position:relative;border-radius:0;border-left:none}.input-group-btn:first-child .btn,.input-group-btn:first-child input[type=submit]{border-top-left-radius:6px;border-bottom-left-radius:6px;border-left:1px solid silver}.input-group-btn:last-child .btn,.input-group-btn:last-child input[type=submit]{border-top-right-radius:6px;border-bottom-right-radius:6px}.input-group-btn:not(:first-child):not(:last-child) .btn,.input-group-btn:not(:first-child):not(:last-child) input[type=submit]{border-radius:0}.navbar-form .input-group-btn input[type=submit]{border-radius:0 6px 6px 0;border-left:none;height:34px;line-height:1.42857143;padding:6px 12px}.input-group>.form-control:not(:last-child),.input-group>.input-group-btn:not(:last-child)>.btn,.input-group>.input-group-btn:not(:last-child)>input[type=submit]{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.input-group-btn:not(:first-child)>.btn,.input-group>.input-group-btn:not(:first-child)>input[type=submit]{border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-control,.input-group-btn .btn,.input-group-btn input[type=submit]{height:34px;line-height:1.42857143}.input-group-btn+.input-group-btn{margin-left:-1px}.btn{border-radius:4px;padding:6px 12px;font-weight:400;border:1px solid transparent;position:relative;text-decoration:none;display:inline-block;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#007bff 0,#0056b3 100%);border-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,123,255,.4)}.btn-warning{background:linear-gradient(135deg,#ffc107 0,#e0a800 100%);border-color:#ffc107;color:#212529}.btn-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(255,193,7,.4)}.btn-danger{background:linear-gradient(135deg,#dc3545 0,#c82333 100%);border-color:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(220,53,69,.4)}.btn-default{background:linear-gradient(135deg,#e8e8e8 0,#d0d0d0 100%);color:#333;border-color:#ccc}.btn-default:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(192,192,192,.4);background:linear-gradient(135deg,#f0f0f0 0,#d8d8d8 100%)}.btn-success{background:linear-gradient(135deg,#28a745 0,#1e7e34 100%);border-color:#28a745;color:#fff}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(40,167,69,.4)}.btn-info{background:linear-gradient(135deg,#17a2b8 0,#117a8b 100%);border-color:#17a2b8;color:#fff}.btn-info:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px rgba(23,162,184,.4)}.btn i{margin-right:6px}.btn i.fa-spinner{animation:spin 1s linear infinite}@media (max-width:768px){.modal-body .btn{padding:5px 10px;font-size:.875rem}.modal-body .form-control{padding:8px 10px}.modal-footer h4{font-size:1.1rem}}.input-group{width:100%;display:flex!important;align-items:stretch!important}.input-group .form-control{flex:1!important;min-width:0!important}.input-group-btn{position:relative;white-space:nowrap;vertical-align:middle;display:flex!important;align-items:stretch!important}.input-group-btn .btn,.input-group-btn input[type=submit]{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.navbar-form .input-group{display:flex!important;align-items:center!important}.navbar-form .input-group .form-control{border-radius:6px 0 0 6px!important;border-right:none!important}.navbar-form .input-group-btn .btn{border-radius:0 6px 6px 0!important;border-left:none!important}.chat .input-group{display:flex!important;align-items:stretch!important}.chat .input-group .form-control{border-radius:6px 0 0 6px!important;border-right:none!important}.chat .input-group-btn .btn{border-radius:0!important;border-left:none!important}.chat .input-group-btn:last-child .btn{border-radius:0 6px 6px 0!important}.kpis-container{background:linear-gradient(160deg,#1a1a2e 0,#16213e 50%,#0f3460 100%);padding:0 0 56px}.kpis-sidemenu-toggle{position:fixed;top:14px;left:10px;z-index:1060;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.kpis-sidemenu-toggle .glyphicon{font-size:1.1em}.kpis-header{text-align:center;padding:36px 20px 20px;color:#fff}.kpis-header-icon{width:60px;height:60px;border-radius:50%;background:rgba(226,201,110,.12);border:2px solid rgba(226,201,110,.35);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.kpis-mode-btn,.kpis-show-hidden-btn{display:flex;border-radius:12px;transition:all .2s;cursor:pointer}.kpis-header-icon .glyphicon{font-size:26px;color:#e2c96e}.kpis-title{font-size:1.4em;font-weight:700;color:#e2c96e;margin:0 0 4px;letter-spacing:.4px}.kpis-subtitle{font-size:.88em;color:rgba(255,255,255,.5);margin:0}.kpis-mode-wrap{display:flex;gap:10px;padding:0 16px 12px}.kpis-mode-btn{flex:1;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border:1.5px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:rgba(255,255,255,.55);font-size:.84em;font-weight:600;letter-spacing:.2px}.kpis-mode-btn .glyphicon{font-size:.95em}.kpis-mode-active{background:#e2c96e;border-color:#e2c96e;color:#1a1a2e}.kpis-mode-active .glyphicon{color:#1a1a2e}.kpis-show-hidden-wrap{padding:0 16px 16px}.kpis-show-hidden-btn{width:100%;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border:2px solid #e2c96e;background:rgba(226,201,110,.15);color:#e2c96e;font-size:.95em;font-weight:700;letter-spacing:.3px}.kpis-show-hidden-btn .glyphicon{font-size:1.15em}.kpis-show-hidden-btn:hover{background:rgba(226,201,110,.25);border-color:#e8d48a;color:#e8d48a}.kpis-show-hidden-btn:active{background:rgba(226,201,110,.35)}.kpis-period-dates{text-align:center;font-size:.75em;color:rgba(255,255,255,.45);letter-spacing:.4px;padding:0 16px 18px}.kpis-period-dates .glyphicon{margin-right:5px;color:#e2c96e}.kpis-empty{text-align:center;padding:40px 20px;color:rgba(255,255,255,.4)}.kpis-empty .glyphicon{font-size:40px;display:block;margin-bottom:12px}.kpis-events-title,.kpis-income-title{font-size:.78em;text-transform:uppercase;letter-spacing:.7px}.kpis-income-wrap{margin:0 16px 20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 14px 14px}.kpis-income-title{color:rgba(255,255,255,.5);margin-bottom:12px}.kpis-income-title .glyphicon{margin-right:6px;color:#e2c96e}.kpis-income-cards{display:flex;flex-wrap:wrap;gap:12px}.kpis-income-card{flex:1;min-width:90px;background:rgba(255,255,255,.06);border-radius:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.08)}.kpis-income-card-label{display:block;font-size:.72em;text-transform:uppercase;letter-spacing:.5px;color:rgba(255,255,255,.5);margin-bottom:4px}.kpis-income-card-value{font-size:1.1em;font-weight:700;color:#e2c96e}.kpis-events-wrap{margin:0 16px 20px;padding:0}.kpis-events-title{color:rgba(255,255,255,.5);margin-bottom:12px}.kpis-events-title .glyphicon{margin-right:6px;color:#e2c96e}.kpis-events-empty{text-align:center;padding:24px 20px;color:rgba(255,255,255,.4);background:rgba(255,255,255,.03);border-radius:12px;border:1px solid rgba(255,255,255,.08)}.kpis-events-empty .glyphicon{font-size:32px;display:block;margin-bottom:8px}.kpis-event-block{margin-bottom:10px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.kpis-event-header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:rgba(255,255,255,.07);cursor:pointer;gap:10px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.kpis-event-header:active,.kpis-event-item-count{background:rgba(255,255,255,.12)}.kpis-event-item-header,.kpis-fault-header{-webkit-user-select:none;-ms-user-select:none;cursor:pointer}.kpis-event-header-left{display:flex;align-items:center;gap:10px;min-width:0}.kpis-event-chevron{font-size:.8em;color:#e2c96e;flex-shrink:0}.kpis-event-name{font-size:.88em;font-weight:700;color:#fff;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.kpis-event-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.kpis-event-total-badge{font-size:.8em;font-weight:700;color:#e2c96e;background:rgba(226,201,110,.12);border-radius:10px;padding:2px 9px}.kpis-event-body{background:rgba(255,255,255,.03)}.kpis-event-item-header,.kpis-event-item-header.badge-default{background:rgba(255,255,255,.07)}.kpis-event-item-block{border-top:1px solid rgba(255,255,255,.1)}.kpis-event-item-block:first-child{border-top:none}.kpis-event-item-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;gap:8px;user-select:none}.kpis-event-item-header:active{opacity:.8}.kpis-event-item-left{display:flex;align-items:center;gap:8px;min-width:0}.kpis-event-item-chevron{font-size:.75em;color:rgba(255,255,255,.75);flex-shrink:0}.kpis-event-item-right,.kpis-legend{display:flex;align-items:center;gap:6px}.kpis-event-item-name{font-size:.84em;font-weight:600;color:#fff}.kpis-event-item-right{flex-shrink:0}.kpis-event-item-pct{font-size:.8em;font-weight:700;color:#e2c96e}.kpis-event-item-count{font-size:.75em;color:rgba(255,255,255,.75);border-radius:8px;padding:1px 8px}.kpis-event-item-body{background:rgba(255,255,255,.03)}.kpis-event-detail-list{padding:8px 14px 12px}.kpis-event-detail-list .kpis-contract-item{margin-bottom:6px}.kpis-event-detail-list .kpis-contract-item:last-child{margin-bottom:0}.kpis-chart-wrap{margin:0 16px 20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 14px 14px}.kpis-chart-title,.kpis-detail-title{font-size:.78em;margin-bottom:12px;text-transform:uppercase}.kpis-chart-title{letter-spacing:.7px;color:rgba(255,255,255,.5)}.kpis-chart-title .glyphicon{margin-right:6px;color:#e2c96e}.kpis-legend{margin-bottom:14px;flex-wrap:wrap}.kpis-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-justificable{background:#2ed573}.dot-atribuible{background:#ff6b6b}.dot-other{background:rgba(255,255,255,.3)}.kpis-legend-lbl{font-size:.72em;color:rgba(255,255,255,.55);margin-right:8px}.kpis-chart-row{margin-bottom:16px}.kpis-chart-row:last-child{margin-bottom:0}.kpis-chart-row-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.kpis-chart-fault-name{font-size:.82em;font-weight:700;color:rgba(255,255,255,.88);letter-spacing:.2px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpis-chart-fault-total{font-size:.72em;color:#e2c96e;font-weight:700;white-space:nowrap;flex-shrink:0}.kpis-chart-bar-track{width:100%;height:22px;background:rgba(255,255,255,.06);border-radius:6px;overflow:hidden;display:flex;margin-bottom:6px}.kpis-chart-segment{height:100%;display:flex;align-items:center;justify-content:center;min-width:0;transition:width .5s ease;overflow:hidden}.kpis-chart-segment.badge-justificable{background:rgba(46,213,115,.6)}.kpis-chart-segment.badge-atribuible{background:rgba(255,107,107,.7)}.kpis-chart-segment.badge-default{background:rgba(255,255,255,.2)}.kpis-chart-seg-label{font-size:.68em;font-weight:700;color:#fff;white-space:nowrap}.kpis-chart-row-breakdown{display:flex;flex-wrap:wrap;gap:6px}.kpis-breakdown-chip{font-size:.7em;color:rgba(255,255,255,.55);background:rgba(255,255,255,.05);border-radius:6px;padding:2px 8px;line-height:1.6}.kpis-breakdown-chip strong{color:#fff}.kpis-breakdown-chip.badge-justificable{border-left:2px solid rgba(46,213,115,.7)}.kpis-breakdown-chip.badge-atribuible{border-left:2px solid rgba(255,107,107,.7)}.kpis-breakdown-chip.badge-default{border-left:2px solid rgba(255,255,255,.2)}.kpis-global-total{text-align:center;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.kpis-global-num{font-size:1.6em;font-weight:700;color:#e2c96e;margin-right:6px}.kpis-global-lbl{font-size:.82em;color:rgba(255,255,255,.5)}.kpis-detail-wrap{padding:0 16px;margin-top:4px}.kpis-detail-title{letter-spacing:.7px;color:rgba(255,255,255,.5)}.kpis-detail-title .glyphicon{margin-right:6px;color:#e2c96e}.kpis-fault-block{margin-bottom:10px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.kpis-fault-header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:rgba(255,255,255,.07);gap:10px;user-select:none}.kpis-fault-header:active{background:rgba(255,255,255,.12)}.kpis-fault-header-left{display:flex;align-items:center;gap:10px;min-width:0}.kpis-fault-chevron{font-size:.8em;color:#e2c96e;flex-shrink:0;transition:transform .2s}.kpis-fault-name{font-size:.88em;font-weight:700;color:#fff;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.kpis-fault-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.kpis-mini-bar{width:64px;height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;display:flex}.kpis-comment-bar,.kpis-mini-seg{height:100%;transition:width .4s ease}.kpis-mini-seg.badge-justificable{background:#2ed573}.kpis-mini-seg.badge-atribuible{background:#ff6b6b}.kpis-mini-seg.badge-default{background:rgba(255,255,255,.3)}.kpis-fault-total-badge{font-size:.8em;font-weight:700;color:#e2c96e;background:rgba(226,201,110,.12);border-radius:10px;padding:2px 9px}.kpis-fault-body{background:rgba(255,255,255,.03)}.kpis-dict-block{border-top:1px solid rgba(255,255,255,.1)}.kpis-dict-block:first-child{border-top:none}.kpis-dict-header{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;cursor:pointer;gap:8px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.kpis-dict-header:active{opacity:.8}.kpis-dict-header.badge-justificable{background:rgba(46,213,115,.18)}.kpis-dict-header.badge-atribuible{background:rgba(255,107,107,.18)}.kpis-dict-header.badge-default{background:rgba(255,255,255,.07)}.kpis-dict-header-left{display:flex;align-items:center;gap:8px;min-width:0}.kpis-dict-chevron{font-size:.75em;color:rgba(255,255,255,.75);flex-shrink:0}.kpis-dict-header-name{font-size:.84em;font-weight:600;color:#fff}.kpis-comment-stat,.kpis-contract-id,.kpis-dict-pct-pill{color:#e2c96e;font-weight:700}.kpis-dict-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.kpis-comment-info,.kpis-contract-item{justify-content:space-between;display:flex}.kpis-dict-pct-pill{font-size:.8em}.kpis-dict-count-pill{font-size:.75em;color:rgba(255,255,255,.75);background:rgba(255,255,255,.12);border-radius:8px;padding:1px 8px}.kpis-dict-body{background:rgba(255,255,255,.03)}.kpis-comment-group{border-top:1px solid rgba(255,255,255,.08)}.kpis-comment-group:first-child{border-top:none}.kpis-comment-header{padding:10px 14px 6px}.kpis-comment-bar-wrap{height:3px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden;margin-bottom:6px}.kpis-comment-bar{background:#e2c96e;border-radius:2px}.kpis-comment-info{align-items:flex-start;gap:8px}.kpis-comment-text{font-size:.82em;color:rgba(255,255,255,.9);flex:1;line-height:1.4}.kpis-comment-stat{font-size:.75em;white-space:nowrap;flex-shrink:0}.kpis-contract-list{padding:0 10px 10px}.kpis-contract-item{align-items:center;padding:8px 10px;margin-bottom:4px;background:rgba(255,255,255,.08);border-radius:8px;border:1px solid rgba(255,255,255,.14);gap:8px;cursor:pointer;transition:background .15s,border-color .15s}.kpis-contract-left{display:flex;flex-direction:column;gap:2px;min-width:0}.kpis-contract-id{font-size:.92em;letter-spacing:.3px}.kpis-contract-date{font-size:.72em;color:rgba(255,255,255,.7)}.kpis-contract-category,.kpis-contract-gestor{font-size:.72em;color:rgba(255,255,255,.75);text-align:right;max-width:120px;line-height:1.3;flex-shrink:0}.kpis-contract-item:hover{background:rgba(226,201,110,.12);border-color:rgba(226,201,110,.35)}.kpis-contract-detail-icon{font-size:.9em;color:rgba(226,201,110,.55);flex-shrink:0;margin-left:auto}.kpis-contract-item:hover .kpis-contract-detail-icon{color:#e2c96e}.kpis-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:1040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.kpis-modal{position:fixed;bottom:0;left:0;right:0;z-index:1050;background:linear-gradient(180deg,#1e2a45 0,#16213e 100%);border-top:1px solid rgba(226,201,110,.25);border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto;animation:kpisModalSlideUp .28s cubic-bezier(.25,.8,.25,1);box-shadow:0 -8px 40px rgba(0,0,0,.5)}@keyframes kpisModalSlideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.kpis-modal::before{content:'';display:block;width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,.2);margin:12px auto 0}.kpis-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.kpis-modal-header-left{display:flex;align-items:center;gap:12px}.kpis-modal-icon{font-size:22px;color:#e2c96e}.kpis-modal-contract-id{font-size:1.05em;font-weight:700;color:#e2c96e;letter-spacing:.4px}.kpis-modal-contract-sub{font-size:.74em;color:rgba(255,255,255,.45);margin-top:2px}.kpis-modal-close{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.65);cursor:pointer;transition:background .15s;flex-shrink:0}.kpis-modal-close:active{background:rgba(255,255,255,.14)}.kpis-modal-body{padding:14px 18px 28px;display:flex;flex-direction:column;gap:10px}.kpis-modal-row{display:flex;gap:10px}.kpis-modal-field{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.kpis-modal-field-full{flex:none;width:100%}.kpis-modal-label{font-size:.68em;text-transform:uppercase;letter-spacing:.6px;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:5px}.kpis-modal-label .glyphicon{font-size:.85em;color:#e2c96e}.kpis-modal-value{font-size:.88em;color:rgba(255,255,255,.92);font-weight:500;line-height:1.4}.kpis-modal-badge{display:inline-block;font-size:.82em;font-weight:700;border-radius:6px;padding:3px 10px;width:fit-content}.kpis-modal-badge.badge-justificable{background:rgba(46,213,115,.18);color:#2ed573;border:1px solid rgba(46,213,115,.35)}.kpis-modal-badge.badge-atribuible{background:rgba(255,107,107,.18);color:#ff6b6b;border:1px solid rgba(255,107,107,.35)}.kpis-modal-badge.badge-default{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.15)}.kpis-modal-comment{font-style:italic;color:rgba(255,255,255,.75)}.kpis-modal-value--highlight{font-size:1em;font-weight:700;color:#fff}.kpis-modal-back{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);cursor:pointer;flex-shrink:0;margin-right:2px}.kpis-modal-reclamo-btn{width:100%;margin-top:6px;padding:13px 16px;border-radius:12px;border:1.5px solid rgba(255,107,107,.4);background:rgba(255,107,107,.1);color:#ff6b6b;font-size:.88em;font-weight:700;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .18s,border-color .18s}.kpis-modal-reclamo-btn:active{background:rgba(255,107,107,.2)}.kpis-reclamo-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;margin-bottom:10px}.kpis-reclamo-summary-name{font-size:.88em;font-weight:700;color:#fff;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpis-reclamo-textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#fff;font-size:.88em;line-height:1.5;padding:10px 12px;resize:vertical;transition:border-color .2s;box-sizing:border-box}.kpis-reclamo-textarea:focus{outline:0;border-color:rgba(226,201,110,.5);background:rgba(255,255,255,.08)}.kpis-reclamo-textarea:disabled{opacity:.5}.kpis-reclamo-textarea:-ms-input-placeholder{color:rgba(255,255,255,.3)}.kpis-reclamo-textarea::placeholder{color:rgba(255,255,255,.3)}.kpis-reclamo-char{font-size:.68em;color:rgba(255,255,255,.3);text-align:right;display:block;margin-top:4px}.kpis-reclamo-submit{width:100%;margin-top:8px;padding:13px 16px;border-radius:12px;border:none;background:#e2c96e;color:#1a1a2e;font-size:.9em;font-weight:700;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:opacity .18s}.kpis-reclamo-submit:disabled{opacity:.45;cursor:not-allowed}.kpis-reclamo-submit:not(:disabled):active{opacity:.85}@keyframes kpisSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.kpis-spin{animation:kpisSpin .8s linear infinite;display:inline-block}.kpis-reclamo-done{text-align:center;padding:24px 10px 10px}.kpis-reclamo-done-icon{font-size:48px;color:#2ed573;display:block;margin-bottom:14px}.kpis-reclamo-done-title{font-size:1.1em;font-weight:700;color:#fff;margin:0 0 6px}.kpis-reclamo-done-sub{font-size:.82em;color:rgba(255,255,255,.5);margin:0 0 20px}.kpis-modal-close-btn{padding:11px 28px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:rgba(255,255,255,.8);font-size:.88em;font-weight:600;cursor:pointer}.modal .modal-body>div{display:flex;flex-direction:column;gap:10px}.modal .modal-body .kpis-modal-row{display:flex;gap:12px;margin-bottom:0}.modal .modal-body .kpis-modal-field{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.modal .modal-body .kpis-modal-field-full{width:100%;margin-bottom:10px}.modal .modal-body .kpis-modal-field-full:last-of-type{margin-bottom:0}.modal .modal-body .kpis-modal-label{font-size:.7em;text-transform:uppercase;letter-spacing:.5px;color:#6c757d;display:flex;align-items:center;gap:6px}.modal .modal-body .kpis-modal-label .glyphicon{color:#495057;font-size:.9em}.modal .modal-body .kpis-modal-value{font-size:.92em;color:#212529;font-weight:500;line-height:1.4}.modal .modal-body .kpis-modal-value--highlight{font-size:1em;font-weight:700;color:#212529}.modal .modal-body .kpis-modal-comment{font-style:italic;color:#495057}.modal .modal-body .kpis-modal-badge.badge-default{background:#e9ecef;color:#495057;border-color:#dee2e6}.modal .modal-body .kpis-reclamo-summary{background:#f8f9fa;border-color:#dee2e6}.modal .modal-body .kpis-reclamo-summary-name{color:#212529}.modal .modal-body .kpis-reclamo-char{color:#6c757d}.modal .modal-body .kpis-reclamo-done-title{color:#212529}.modal .modal-body .kpis-reclamo-done-sub{color:#6c757d}.modal .modal-body .kpis-modal-reclamo-btn{width:100%;margin-top:12px;padding:14px 20px;font-size:1em;font-weight:700;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}.modal .modal-body .kpis-reclamo-submit{width:100%;margin-top:14px;padding:14px 20px;font-size:1em;font-weight:700;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px}.modal .modal-body .kpis-reclamo-textarea{background:#fff;border-color:#ced4da;color:#212529}.modal .modal-body .kpis-reclamo-textarea:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25);background:#fff}.modal .modal-body .kpis-reclamo-textarea:-ms-input-placeholder{color:#adb5bd}.modal .modal-body .kpis-reclamo-textarea::placeholder{color:#adb5bd}.kpis-sidemenu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1070}.kpis-sidemenu{position:fixed;top:0;bottom:0;left:0;width:260px;background:#111827;box-shadow:4px 0 18px rgba(0,0,0,.6);z-index:1080;animation:kpisSidemenuSlide .25s ease-out;display:flex;flex-direction:column}@keyframes kpisSidemenuSlide{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.kpis-sidemenu-header{padding:18px 16px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.kpis-sidemenu-title{font-size:.96em;font-weight:700;color:#e5e7eb}.kpis-sidemenu-close{width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;cursor:pointer}.kpis-sidemenu-list{list-style:none;margin:0;padding:6px 0;flex:1}.kpis-sidemenu-item{padding:10px 18px;display:flex;align-items:center;gap:10px;color:rgba(249,250,251,.9);font-size:.9em;cursor:pointer}.kpis-sidemenu-item:hover{background:rgba(55,65,81,.8)}.kpis-sidemenu-item-logout{color:#fca5a5}.kpis-sidemenu-item-logout:hover{background:rgba(127,29,29,.85)}.kpis-sidemenu-icon{width:18px;text-align:center;color:rgba(209,213,219,.9)}.kpis-sidemenu-text{flex:1}.kpis-sidemenu-divider{height:1px;margin:6px 0;background:rgba(55,65,81,1)}