/* css_claro.css */
/* Reset global */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html,body{height:100%;margin:0;background-color:#f0f2f5;font-family:'Comfortaa',sans-serif;font-weight:300;}
/* Login page */
.login-container{display:flex!important;align-items:center!important;justify-content:center!important;min-height:100vh!important;background-color:#f0f2f5!important;}
.login-card{display:flex;max-width:800px;width:90%;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,0.1);border-radius:8px;overflow:hidden;}
.login-left{position:relative;flex:1;background:url('../img/fondologin.jpg') no-repeat center center;background-size:cover;background-color:#da291c;color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;}
.login-left h1{z-index:1;font-size:2rem;font-weight:700;line-height:1.2;}
.claro-logo{position:absolute;bottom:1rem;right:1rem;max-width:100px;width:auto;z-index:2;}
.login-right{flex:1;background:#fff;padding:2rem;}
.login-right h2{position:relative;display:inline-block;font-size:1.5rem;font-weight:700;margin-bottom:1rem;}
.login-right h2::after{content:'';position:absolute;bottom:-4px;left:0;width:120%;height:2px;background-color:#da291c;}
.btn-red{background-color:#da291c;color:#fff;border:none;}
.btn-red:hover{background-color:#b0211c;}
.text-link-red a{color:#da291c;}
.text-link-red a:hover{text-decoration:underline;}
/* Sidebar fijo */
.sidebar{width:250px;position:fixed;top:0;left:0;bottom:0;background-color:#da291c;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:1rem;box-shadow:2px 0 8px rgba(0,0,0,0.15);z-index:1000;}
.sidebar .brand{position:relative;text-align:center;padding:1.5rem 1rem 0.5rem;}
.sidebar .brand img{position:absolute;top:1rem;left:1rem;width:40px;}
.sidebar .brand p{margin-top:1rem;font-size:1rem;font-weight:300;}
.sidebar .brand hr{margin:0.25rem auto;width:90%;border-top:1px solid rgba(255,255,255,0.5);}
.sidebar .menu{list-style:none;}
.sidebar .menu li a{display:flex;align-items:center;padding:0.75rem 1rem;color:#fff;text-decoration:none;font-size:0.9rem;font-weight:300;transition:background-color 0.2s;}
.sidebar .menu li a i{margin-right:0.75rem;font-size:1.1rem;}
.sidebar .menu li a:hover,.sidebar .menu li a.active{background-color:rgba(0,0,0,0.1);border-radius:30px 0 0 30px;}
.sidebar .bottom{padding:1rem;text-align:center;}
.sidebar .bottom hr{margin:1rem auto;width:90%;border-top:1px solid rgba(255,255,255,0.5);}
.sidebar .bottom .user-info{margin-bottom:0.5rem;font-size:0.85rem;font-weight:300;}
.sidebar .bottom .logout a{color:#fff;}
.sidebar .bottom .logout a:hover{text-decoration:underline;}
.menu{margin-bottom:2.5em;}
/* Banner */
.banner{position:absolute;top:0;left:250px!important;width:calc(100% - 250px)!important;height:180px!important;background:linear-gradient(to right,#0a1f39,#295585)!important;display:flex!important;align-items:flex-start;justify-content:center;padding-top:20px;color:#fff!important;z-index:1!important;}
.banner h1{font-size:2rem;font-weight:300;margin:0;}
/* Contenido principal */
.content{margin-left:250px!important;padding:320px 2rem 2rem!important;background-color:#f0f2f5!important;}
/* Card flotante (sobre banner) */
.card-floating{background:#fff!important;padding:2rem!important;border-radius:4px!important;box-shadow:0 4px 12px rgba(0,0,0,0.1)!important;margin-top:-174px!important;position:relative!important;z-index:2!important;}
.card-floating table{width:100%;border-collapse:collapse;font-size:0.8rem;}
.card-floating th,.card-floating td{padding:0.75rem 1rem;border-bottom:1px solid #295585;}
.card-floating th{color:#295585;font-size:1rem;font-weight:700;text-transform:uppercase;}
.card-floating tr:hover{background-color:#f5f5f5;}
/* DataTables estilos */
.dataTables_wrapper .dataTables_length label,.dataTables_wrapper .dataTables_filter label{font-size:0.9rem;}
.dataTables_wrapper select,.dataTables_wrapper input{width:auto;display:inline-block;}
.dataTables_info{font-size:0.65rem;color:#0a1f39;}
.dataTables_paginate .paginate_button{padding:0.2rem 0.5rem;}
/* Botón flotante */
.btn-flotante{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:1050;}
/* Modal & Toast Title */
#userModalLabel{font-weight:700;color:#0a1f39;}
.btn-icon{padding:0.25rem;border:none;background:transparent;font-size:1.1rem;}
.btn-edit{color:#ffcc33;}
.btn-delete{color:#da291c;}
.edit-icon{color:#ffcc33;}
/* Modal Bootstrap custom */
.modal-header.banner-modal{background:linear-gradient(90deg,#5bbfbf,#7bcbcb);color:#fff;border-top-left-radius:0.7rem;border-top-right-radius:0.7rem;border-bottom:none;padding:1.2rem 2rem 1rem 2rem;}
.modal-title{font-family:'Comfortaa',sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:0.01em;}
#userRegisterModal .modal-content{border-radius:0.7rem;border:none;box-shadow:10px 10px 32px rgba(93,119,128,0.15);}
#userRegisterModal .modal-body{padding:2rem 2rem 1.5rem 2rem;background:#fff;}
.reg-row{display:flex;gap:1.2rem;margin-bottom:1.2rem;}
.form-group-material{flex:1 1 0;position:relative;margin-bottom:0;}
.form-group-material:not(:last-child){margin-bottom:0;}
#registerForm>.form-group-material{margin-bottom:1.2rem!important;}
.form-group-material .input-icon{position:absolute;top:50%;left:0.7rem;transform:translateY(-50%);font-size:1.13rem;color:#bccce0;pointer-events:none;}
.form-group-material input{width:100%;border:none;border-bottom:2px solid #e3e8f1;border-radius:0;padding:0.65rem 0.8rem 0.65rem 2.2rem;background:transparent;font-size:1rem;color:#143c7d;outline:none!important;font-weight:500;box-shadow:none!important;transition:border-color 0.18s;}
.form-group-material input:focus{border-bottom:2px solid #6848ff;background:transparent;}
.form-group-material input.is-invalid,.form-group-material input.is-invalid:focus{border-bottom:2px solid #ff4a59!important;background:transparent!important;}
.form-group-material input.is-valid{border-bottom:2px solid #34d058!important;}
.form-group-material .invalid-feedback{color:#ff4a59;font-size:0.87rem;position:absolute;top:100%;left:2.3rem;white-space:nowrap;z-index:2;}
/* Botones */
.modal-footer .btn-primary{background:#da291c;color:#fff;border:none;font-weight:700;border-radius:0.7rem;min-width:130px;}
.modal-footer .btn-primary:hover{background:#be1d24;}
.modal-footer .btn-secondary{background:#51585e;color:#fff;border-radius:0.7rem;min-width:130px;}
/* Centrar modal vertical */
.modal-dialog-centered{display:flex!important;align-items:center!important;min-height:calc(100vh - 1rem);}
/* Banner modal con degradado */
.banner-modal{background:linear-gradient(90deg,#5bbfbf 0%,#7bcbcb 100%);color:#222;border-top-left-radius:0.7rem;border-top-right-radius:0.7rem;border-bottom:none;padding:1.3rem 2rem 1.1rem 2rem;min-height:60px;position:relative;}
.banner-modal .text-end{font-size:0.97rem;color:#7c8a8f;font-weight:500;letter-spacing:0.01em;}
.banner-modal .subtitulo-area{position:absolute;top:0.7rem;right:2rem;color:#367272!important;font-size:0.96rem;font-weight:500;letter-spacing:0.01em;z-index:2;background:transparent;display:flex;flex-direction:column;}
.banner-modal .subtitulo-underline{display:block;margin-top:-0.4em;margin-right:-0.4em;width:35%;height:1px;background:#367272;border-radius:1px;}
.rol-label{display:block;font-size:0.95rem;color:#2860a6;font-weight:400;margin-bottom:0.15rem;margin-left:0.12rem;letter-spacing:0.01em;}
.rol-inline-group{display:flex;gap:2rem;margin-left:0;margin-bottom:0.5rem;}
.rol-option{font-size:0.89rem;color:#2860a6;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:0.45rem;padding-bottom:2px;border-bottom:2px solid transparent;position:relative;transition:color 0.15s,border-color 0.16s,font-weight 0.16s;}
.rol-option .rol-icon{font-size:1.13em;margin-right:0.13em;color:#8cc4c4;transition:color 0.18s;}
.rol-option:hover{color:#11b698;border-bottom:2px solid #7ecbb2;}
.rol-option:hover .rol-icon{color:#11b698;}
.rol-option:has(input[type="radio"]:checked){color:#257e47;font-weight:700;border-bottom:2.5px solid #34d058;}
.rol-option:has(input[type="radio"]:checked) .rol-icon{color:#34d058;}
.rol-option input[type="radio"]{display:none;}
/* SweetAlert2 Custom Styling */
.swal2-popup{font-family:'Comfortaa',sans-serif!important;border-radius:1.2rem!important;box-shadow:0 12px 44px rgba(90,105,135,0.19)!important;padding-bottom:1.3rem!important;}
.swal2-popup .swal2-title{font-size:1.62rem!important;font-family:'Comfortaa',sans-serif!important;font-weight:700!important;color:#143c7d!important;margin-bottom:0.7rem!important;letter-spacing:0.01em;}
.swal2-popup .swal2-html-container,.swal2-popup .swal2-content{font-size:0.96rem!important;font-family:'Comfortaa',sans-serif!important;color:#22344c!important;font-weight:400;margin-top:0.5rem;}
.swal2-popup .swal2-actions button{font-size:1.09rem!important;font-family:'Comfortaa',sans-serif!important;font-weight:700!important;border-radius:0.7rem!important;min-width:128px;padding:0.65rem 1.7rem!important;}
.swal2-popup .swal2-confirm{background:#2ea964!important;color:#fff!important;border:none!important;}
.swal2-popup .swal2-cancel{background:#757575!important;color:#fff!important;border:none!important;}
.alert-aviso{background:#fdf6ec;color:#c35500;border-left:5px solid #ffbf47;border-radius:0px;padding:0.85em 1em 0.85em 0.7em;font-size:0.85em;margin:8.5em 0 0 0;display:flex;align-items:center;box-shadow:0 2px 8px rgba(220,53,69,0.04);}
.alert-aviso i{font-size:1.4em;margin-right:.5em;}
/* Tarjetas Resumen Reportes */
.report-summary-card{width:500px;min-width:340px;height:185px;background:#5d8fc2;color:#fff;border-radius:1px;box-shadow:0 6px 24px 0 rgba(44,62,80,.13);position:relative;padding:19px 32px 19px 32px;display:flex;flex-direction:column;justify-content:flex-start;transition:box-shadow 0.2s;overflow:hidden;pointer-events:auto;}
.report-summary-card.nc{background:#5dc4bf;}
.report-summary-header{display:flex;align-items:center;font-size:1.09rem;font-weight:500;margin-bottom:8px;}
.report-summary-header i{font-size:2.1em!important;margin-right:12px;opacity:0.18;}
.report-summary-total{font-size:2.1rem;font-weight:bold;text-align:right;margin-bottom:0.3em;margin-top:-0.7em;}
.report-summary-card .divider,.report-summary-divider{border-top:1.5px solid #e0e6ed44;margin:0.4em 0 0.7em 0;}
.report-summary-states{display:flex;justify-content:space-between;font-size:1em;font-weight:400;margin-top:0.2em;}
.report-summary-states span{font-size:1em;margin-right:10px;white-space:nowrap;}
.report-summary-row{display:flex;gap:40px;position:absolute;top:115px;left:365px;z-index:10;width:calc(100% - 265px - 36px);justify-content:flex-start;margin:0;pointer-events:none;}
@media (max-width:1300px){.report-summary-row{flex-direction:column;gap:22px;position:static;top:unset;left:unset;margin-left:18px;width:calc(100% - 38px);}}
.summary-icon{font-size:2.7em;color:#fff;opacity:.17;position:absolute;left:26px;top:14px;z-index:0;}
.summary-title{font-size:1.15em;font-weight:500;margin-left:94px;margin-bottom:0.2em;z-index:1;}
.summary-total{font-size:2.1em;font-weight:bold;text-align:right;margin-bottom:0.25em;z-index:1;}
.summary-divider{border-top:2px solid #e0e6ed44;margin:0.3em 0 0.7em 0;z-index:1;}
.summary-states.refined{display:flex;justify-content:space-between;align-items:center;font-size:1.01em;gap:0;margin-top:7px;margin-bottom:0;}
.summary-states.refined>div:not(.summary-sep){flex:1;text-align:center;padding:0 1px;}
.summary-sep{flex:0 0 1px;width:1px;min-width:1px;max-width:1px;height:32px;background:rgba(255,255,255,0.45);margin:0 6px;padding:0;border:none;align-self:center;}
/* Panel de Reporte */
.report-panel-container{display:flex;justify-content:center;width:100%;margin-top:90px;}
.report-panel{width:800px;background:#fff;border-radius:1px;box-shadow:0 2px 16px rgba(44,62,80,.09);padding:24px 34px 16px 34px;margin-bottom:320px;font-size:15px;position:relative;}
.report-panel-title{font-weight:500;font-size:1.12em;color:#0a1f39;margin-bottom:0.2em;display:flex;align-items:center;}
.report-panel-title i{font-size:1.18em;margin-right:7px;opacity:.60;}
.report-panel-divider{border:none;border-top:2px solid #ff5757;height:1.5px;margin:0.2em 0 0.9em 0;width:100%;}
.report-panel-divider-thin{border:none;border-top:1.1px solid #ff5757;height:1px;margin:1em 0 0.5em 0;width:100%;}
.report-form-label,.report-panel label{font-size:1em;margin-bottom:2px;}
.report-panel input[type="date"],.report-panel input[type="number"]{font-size:0.99em;padding:3px 7px;height:29px;}
.report-panel input[type="radio"],.report-panel input[type="checkbox"]{margin-right:5px;}
.btn-descargar-excel{margin:14px auto 0 auto;display:block;background:#168155;color:#fff;font-weight:500;font-size:1.10em;padding:8px 34px;border-radius:8px;border:none;box-shadow:0 2px 9px rgba(44,62,80,.08);transition:background 0.15s;}
.btn-descargar-excel:hover{background:#157246;color:#fff;}
@media (max-width:1300px){.report-summary-row{margin-left:15px;flex-direction:column;gap:20px;position:static;top:unset;left:unset;}.report-panel{width:99vw;min-width:unset;}}
.fw-bold-blue{color:#0a1f39!important;font-weight:700!important;font-size:.8rem!important;}
.factura-detalle-table th,.factura-detalle-table td{vertical-align:middle!important;}
.factura-detalle-table input,.factura-detalle-table select{font-size:0.93rem!important;padding:2px 6px!important;}
.table-light th{background:#f5fafc!important;font-weight:700!important;}

