/* Sis Fact 2.0 · Autor: Dussan Willis */
:root{--sf-ink:#294a47;--sf-muted:#64817c;--sf-primary:#18756a;--sf-primary-dark:#12594f;--sf-mint:#e7f5ef;--sf-bg:#f3f8f5;--sf-coral:#dc8b74;--sf-line:#dcebe5}
body.nav-md,body.nav-sm{color:var(--sf-ink);background:#1c5851;font-family:"Segoe UI",Arial,sans-serif}
body.nav-md .main_container,body.nav-sm .main_container{background:var(--sf-bg)}
body.nav-md .right_col,body.nav-sm .right_col{background:var(--sf-bg);min-height:100vh}
body.nav-md .left_col,body.nav-sm .left_col,.navbar.nav_title,.sidebar-footer{background:#1c5851}
.nav_title{border-bottom:1px solid #ffffff1c!important}.site_title{font-size:22px;letter-spacing:-.4px;font-weight:700}.site_title i{border-color:#ffffff75!important;background:#ffffff12}
.profile_info span,.menu_section h3{color:#cdebe3}.profile_info h2{color:#fff}.profile_img{border:3px solid #d8f1e8;padding:3px;background:#edf8f2;object-fit:contain}
.nav.side-menu>li>a{color:#effaf6}.nav.side-menu>li>a:hover{background:#2a7166}.nav.side-menu>li.active>a,.nav.side-menu>li.current-page>a{background:linear-gradient(90deg,#2c7b6b,#256f62);box-shadow:none}
.nav.side-menu>li.active,.nav.side-menu>li.current-page{border-right:5px solid #edb398}.nav.child_menu>li>a{color:#d6eee5}.nav.child_menu>li:hover{background:#ffffff0c}
.nav_menu{background:#fff;border-bottom:1px solid var(--sf-line);box-shadow:0 3px 14px #284e3d06}.nav.toggle a{color:var(--sf-primary)}
.x_panel,.tile-stats,.well,.modal-content,.gestion-panel{border:1px solid var(--sf-line);border-radius:13px;background:#fff;box-shadow:0 5px 20px #325a3f06}
.x_panel{padding:18px 20px}.x_title{border-bottom:1px solid var(--sf-line)}.x_title h2,.page-title h1,.tile-stats h3{color:var(--sf-ink)}.tile-stats .count,.tile-stats .icon{color:var(--sf-primary)}
.btn{border-radius:7px;box-shadow:none;transition:background-color .15s,box-shadow .15s}.btn-primary,.btn-info,.btn-success{background:var(--sf-primary);border-color:var(--sf-primary)}.btn-primary:hover,.btn-info:hover,.btn-success:hover,.btn-primary:focus,.btn-info:focus,.btn-success:focus{background:var(--sf-primary-dark);border-color:var(--sf-primary-dark)}
.btn-default{color:var(--sf-ink);background:#f5faf7;border-color:var(--sf-line)}.btn-danger{background:#bc635d;border-color:#bc635d}.btn-warning{background:#dca46a;border-color:#dca46a;color:#362815}
.form-control{border:1px solid #cbddd5;border-radius:7px;color:var(--sf-ink);box-shadow:none}.form-control:focus{border-color:#70b5a2;box-shadow:0 0 0 3px #72b8a326}.input-group-addon{background:#edf7f2;border-color:#cbddd5;color:#47786a}.input-group .form-control{border-radius:0 7px 7px 0}.input-group .input-group-addon{border-radius:7px 0 0 7px}
.table>thead>tr>th{background:#edf7f1;color:#31584d;border-bottom:1px solid #d4e8dc}.table>tbody>tr>td{border-top-color:#e4eee7}.table-striped>tbody>tr:nth-of-type(odd){background:#f8fcf9}.table-hover>tbody>tr:hover{background:#edf7f1}
.alert{border-radius:9px;line-height:1.6}.alert-info{background:#eef6fa;color:#356173;border-color:#d9eaf2}.alert-success{background:#e8f5ec;color:#2e7055;border-color:#cfe9d8}.alert-warning{background:#fff6e9;color:#805c2d;border-color:#f2e0c5}.alert-danger{background:#fbeeed;color:#96534e;border-color:#f0d8d5}
.modal-header{background:#f4faf6;border-radius:13px 13px 0 0}.modal-footer{border-color:var(--sf-line)}.modal-body{color:var(--sf-ink)}
.sf-signature{display:block;color:#6d8981;font-size:12px;text-align:center;padding:20px 8px;clear:both}.sf-signature strong{font-weight:600}.gestion-context{color:var(--sf-muted)}
.sf-login{background:radial-gradient(ellipse at 18% 12%,#dbf0e3,transparent 58%),radial-gradient(ellipse at 94% 85%,#f8e7d8,transparent 55%),#f4f9f5!important}.sf-login .login{border:1px solid var(--sf-line);box-shadow:0 16px 55px #35584315;border-radius:22px}.sf-login .brand{color:var(--sf-primary)}.sf-login .login button{background:var(--sf-primary)}.sf-login .tenant{background:#e5f3eb;color:#356c55}.sf-login .sf-signature{margin-top:16px;padding-bottom:0}
.swal2-container{z-index:25000!important}.swal2-popup.sf-popup{font-size:15px!important;border-radius:18px!important;color:var(--sf-ink)!important}.swal2-title{font-size:23px!important}.swal2-html-container{white-space:pre-line;line-height:1.6}.sf-popup button{font-family:inherit}.sf-popup .swal2-styled{border-radius:8px!important}.sf-print-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}.sf-print-actions button{padding:11px 17px;background:var(--sf-primary);border:1px solid var(--sf-primary);border-radius:8px;color:#fff;font-weight:600;cursor:pointer}.sf-print-actions button[data-sf-print="none"]{background:#f1f7f3;color:var(--sf-ink);border-color:var(--sf-line)}.sf-print-status{margin-top:18px;color:#96534e;font-size:14px;white-space:pre-line}
@media(max-width:767px){.x_panel{padding:14px 12px}.sf-print-actions{flex-direction:column}.sf-print-actions button{width:100%}.site_title{font-size:20px}}
@media print{.sf-signature,.swal2-container{display:none!important}.x_panel{box-shadow:none!important;border:0!important}}

/* Las acciones permanecen visibles mediante desplazamiento horizontal. */
.dataTables_scrollBody{border-radius:8px}.sf-product-actions{min-width:210px;white-space:normal!important}.sf-product-actions .btn{margin:3px 2px}.dataTables_wrapper .dataTables_filter label,.dataTables_wrapper .dataTables_length label{color:var(--sf-muted)}.dataTables_wrapper .pagination>.active>a{background:var(--sf-primary);border-color:var(--sf-primary)}

@media(max-width:767px){.top_nav .nav.navbar-nav{width:100%;margin:0}.nav_menu .navbar-right{margin-right:0}.page-title .title_left{width:100%}}

/* Menú de ventas: panel continuo con desplazamiento propio y salida accesible. */
body.sf-ventas .container.body .col-md-3.left_col{position:fixed;top:0;bottom:0;min-height:100vh}
.sf-ventas .left_col .scroll-view{height:100vh;overflow-y:auto;padding-bottom:60px;overscroll-behavior:contain}
.sf-ventas .menu_section{margin-bottom:22px}.sf-ventas .sidebar-footer{bottom:0}
.sf-ventas.nav-sm .left_col .scroll-view{overflow:visible}
@media print{.sf-ventas .left_col{display:none!important}}

/* Sidebar compartido: altura de viewport, scroll propio y fondo continuo. */
body.nav-md .container.body .col-md-3.left_col,body.nav-sm .container.body .col-md-3.left_col{position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;min-height:0;z-index:1000}
body.nav-md .left_col.scroll-view,body.nav-sm .left_col.scroll-view{width:100%;height:100%;min-height:100%;overflow-y:auto;padding-bottom:64px;overscroll-behavior:contain;background:#1c5851}
body.nav-md .left_col .profile_info{width:65%;overflow-wrap:anywhere}body.nav-md .left_col>.profile_info{width:100%}
.left_col .menu_section{margin-bottom:24px}.left_col .sidebar-footer{position:absolute;bottom:0;left:0;width:100%;background:#1c5851;z-index:2}.left_col .sidebar-footer a{width:100%;background:#164c46;color:#e6f5ef;padding:12px}
body.nav-sm .left_col.scroll-view{overflow:visible}body.nav-sm .left_col .sidebar-footer{display:none}body.nav-sm .left_col .child_menu{max-height:calc(100vh - 20px);overflow-y:auto}
@media(max-width:991px){body.nav-md .container.body .col-md-3.left_col{display:none}body.nav-sm .container.body .col-md-3.left_col{display:block}body.nav-sm .top_nav{margin-left:70px}}
@media print{body.nav-md .container.body .col-md-3.left_col,body.nav-sm .container.body .col-md-3.left_col{display:none!important}}
.sf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}.sf-kpi{border:1px solid var(--sf-line);background:#fff;border-radius:12px;padding:18px}.sf-kpi strong{display:block;font-size:26px;color:var(--sf-primary);margin-top:6px}.sf-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.sf-chart-grid .x_panel{width:100%;float:none}.sf-chart{height:270px;position:relative}.sf-stat-state{display:flex;gap:12px;flex-wrap:wrap}.sf-stat-state .btn{min-width:125px;text-align:left}.sf-stat-state strong{display:block;font-size:20px}.sf-stat-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.sf-stat-filters label{display:block}.sf-stat-filters .form-control{max-width:250px}.sf-stat-types .table{margin-bottom:0}

@media(max-width:767px){.sf-chart-grid{grid-template-columns:minmax(0,1fr)}.sf-stat-filters .form-control{max-width:100%}}

/* Identidad Sis Fact 2.0 */
.site_title .sf-brand-mark{display:inline-block;width:36px;height:36px;margin-right:7px;vertical-align:middle;flex-shrink:0}.nav-sm .site_title .sf-brand-mark{margin:10px 0;width:36px;height:36px}.nav-sm .site_title span{display:none}.nav-md .site_title{display:flex;align-items:center;gap:4px;padding-left:12px}.nav-md .site_title span{white-space:nowrap;font-size:20px}
