/* SoGest - Vendor CSS (Bootstrap simplified) */
:root{--primary:#007bff;--secondary:#6c757d;--success:#28a745;--danger:#dc3545;--warning:#ffc107;--info:#17a2b8;--light:#f8f9fa;--dark:#343a40}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.6;color:#333}
/* Bootstrap-like utilities */
.container{max-width:1200px;margin:0 auto;padding:0 15px}
.container-fluid{width:100%;padding:0 15px}
.row{display:flex;flex-wrap:wrap;margin:0 -15px}
.col{padding:0 15px;flex:1;min-width:0}
.col-1{flex:0 0 8.333333%;max-width:8.333333%}
.col-2{flex:0 0 16.666667%;max-width:16.666667%}
.col-3{flex:0 0 25%;max-width:25%}
.col-4{flex:0 0 33.333333%;max-width:33.333333%}
.col-5{flex:0 0 41.666667%;max-width:41.666667%}
.col-6{flex:0 0 50%;max-width:50%}
.col-7{flex:0 0 58.333333%;max-width:58.333333%}
.col-8{flex:0 0 66.666667%;max-width:66.666667%}
.col-9{flex:0 0 75%;max-width:75%}
.col-10{flex:0 0 83.333333%;max-width:83.333333%}
.col-11{flex:0 0 91.666667%;max-width:91.666667%}
.col-12{flex:0 0 100%;max-width:100%}
/* Cards */
.card{border:1px solid #dee2e6;border-radius:.25rem;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.card-header{background:#f7f7f7;border-bottom:1px solid #dee2e6;padding:.75rem 1rem;font-weight:600}
.card-body{padding:1rem}
.card-footer{background:#f7f7f7;border-top:1px solid #dee2e6;padding:.75rem 1rem}
/* Tables */
.table{width:100%;margin-bottom:1rem;border-collapse:collapse}
.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}
.table thead th{background:#f8f9fa;font-weight:600;border-bottom:2px solid #dee2e6}
.table-striped tbody tr:nth-child(odd){background:#f8f9fa}
.table-bordered{border:1px solid #dee2e6}
.table-bordered th,.table-bordered td{border:1px solid #dee2e6}
.table-hover tbody tr:hover{background:rgba(0,123,255,.05)}
/* Forms */
.form-group{margin-bottom:1rem}
.form-control{display:block;width:100%;padding:.375rem .75rem;border:1px solid #ced4da;border-radius:.25rem;font-size:1rem;line-height:1.5}
.form-control:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
textarea.form-control{height:auto}
select.form-control{cursor:pointer}
/* Buttons */
.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s;cursor:pointer}
.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}
.btn-primary:hover{background-color:#0069d9}
.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}
.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}
.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}
.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}
.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}
.btn-outline-primary{color:#007bff;border-color:#007bff;background-color:transparent}
.btn-sm{padding:.25rem .5rem;font-size:.875rem}
.btn-lg{padding:.5rem 1rem;font-size:1.25rem}
.btn-block{display:block;width:100%}
.btn:disabled{opacity:.65;cursor:not-allowed}
/* Alerts */
.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}
.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}
.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}
.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}
/* Badges */
.badge{display:inline-block;padding:.25rem .4rem;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}
.badge-primary{background-color:#007bff;color:#fff}
.badge-success{background-color:#28a745;color:#fff}
.badge-danger{background-color:#dc3545;color:#fff}
.badge-warning{background-color:#ffc107;color:#212529}
.badge-info{background-color:#17a2b8;color:#fff}
.badge-light{background-color:#f8f9fa;color:#212529}
.badge-dark{background-color:#343a40;color:#fff}
/* Small boxes */
.small-box{border-radius:.25rem;position:relative;display:block;box-shadow:0 2px 5px rgba(0,0,0,.1);margin-bottom:1rem}
.small-box>.inner{padding:10px}
.small-box .icon{position:absolute;top:20px;right:20px;font-size:3rem;opacity:.4}
.small-box h3{font-size:2.5rem;margin:0;font-weight:bold}
.small-box p{margin:0}
.small-box.bg-primary{background-color:#007bff;color:#fff}
.small-box.bg-success{background-color:#28a745;color:#fff}
.small-box.bg-danger{background-color:#dc3545;color:#fff}
.small-box.bg-warning{background-color:#ffc107;color:#212529}
.small-box.bg-info{background-color:#17a2b8;color:#fff}
/* Input groups */
.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.input-group>.form-control,.input-group>.input-group-append>.btn,.input-group>.input-group-prepend>.btn{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}
.input-group-append,.input-group-prepend{display:flex;align-items:center;padding:.375rem .75rem;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}
.input-group-append{border-left:0}
.input-group-prepend{border-right:0}
/* Nav tabs */
.nav-tabs{border-bottom:1px solid #dee2e6;display:flex;flex-wrap:wrap}
.nav-tabs .nav-link{padding:.5rem 1rem;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem;cursor:pointer}
.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}
.tab-content{padding:1rem 0}
/* Layout */
.content-wrapper{min-height:calc(100vh - 120px);background-color:#f4f6f9}
.main-header{background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08)}
.main-sidebar{background:#2c3e50;min-height:100vh}
.main-footer{padding:15px;background:#fff;border-top:1px solid #dee2e6}
/* Sidebar */
.sidebar-dark-primary{background-color:#2c3e50}
.nav-sidebar .nav-item .nav-link{color:#b8c7ce;padding:8px 16px}
.nav-sidebar .nav-item.active>.nav-link{background-color:rgba(255,255,255,.1);color:#fff}
.nav-treeview .nav-link{padding-left:30px;font-size:.9rem}
/* Login page */
.login-page{background-color:#2c3e50}
.login-box{width:360px;margin:7% auto}
.login-box .card{border-radius:0}
.login-logo a{color:#fff;font-size:24px;font-weight:bold}
/* Responsive */
@media(max-width:768px){.sidebar{min-height:auto}.content-wrapper{margin-left:0}.main-header .navbar-nav{position:absolute;right:0;top:100%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.1)}}
@media(max-width:576px){.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{flex:0 0 100%;max-width:100%}}
/* Misc */
.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}
.font-weight-bold{font-weight:700}.text-primary{color:#007bff}.text-success{color:#28a745}.text-danger{color:#dc3545}
.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}
.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}
.d-flex{display:flex}.d-block{display:block}.d-none{display:none}
.justify-content-between{justify-content:space-between}.align-items-center{align-items:center}
.float-right{float:right}.float-left{float:left}
.flex-row{flex-direction:row}.flex-column{flex-direction:column}
.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}
.w-100{width:100%}.h-100{height:100%}
.position-relative{position:relative}.absolute{position:absolute}
.circle{border-radius:50%}
.shadow{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}
.cursor-pointer{cursor:pointer}
/* DataTables */
.dataTables_filter{display:none}
.dataTables_length{display:none}
.dataTables_info{padding:.75rem 0}
.dataTables_paginate{margin-top:.5rem}
/* Print styles */
/* Responsive columns */
@media (min-width:576px){.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}}
@media (min-width:768px){.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}}
@media (min-width:992px){.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}}
/* Utilities */
.ml-auto{margin-left:auto}
.mr-auto{margin-right:auto}
.mb-0{margin-bottom:0}
.mb-1{margin-bottom:.25rem}
.mt-0{margin-top:0}
.p-0{padding:0}
.badge-info{background-color:#17a2b8;color:#fff}
.text-secondary{color:#6c757d!important}
.text-white{color:#fff!important}
.img-circle{border-radius:50%}
/* Breadcrumb */
.breadcrumb-item{display:inline-block}
.breadcrumb-item.active{color:#6c757d}
.breadcrumb-item a{color:#007bff;text-decoration:none}
/* Cards */
.card-title{margin-bottom:0;font-size:1.1rem;font-weight:400}
.card-tools{float:right}
/* Close button */
.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}
.close:hover{opacity:.75}
.close:focus,.close:hover{text-decoration:none;opacity:.75}
button.close{padding:0;background:transparent;border:0;appearance:none}
/* Alerts dismissible */
.alert-dismissible{padding-right:3rem;position:relative}
.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}
/* Progress */
.progress{height:1rem;overflow:hidden;background-color:#e9ecef;border-radius:.25rem}
.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}
.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}
/* Custom checkbox/radio */
.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}
.custom-control-input{position:absolute;z-index:-1;opacity:0}
.custom-control-label{position:relative;display:inline-block;margin-bottom:.5rem}
.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-color:#fff;border:1px solid #adb5bd}
.custom-control-input:checked~custom-control-label::before,.custom-control-input:checked~.custom-control-label::before{background-color:#007bff;border-color:#007bff}
.custom-control-input:checked~.custom-control-label::after{content:"\2713";position:absolute;top:.1rem;left:-1.4rem;color:#fff;font-size:.75rem}
.custom-checkbox .custom-control-label::before{border-radius:.25rem}
/* Modal z-index fix - Bootstrap styles already in bootstrap.min.css partially */
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1050;overflow:hidden;background:rgba(0,0,0,.5)}
.modal.show{display:block}
.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}
.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}
.modal.show .modal-dialog{transform:none}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}
.modal-title{margin-bottom:0;line-height:1.5}
.modal-body{position:relative;flex:1 1 auto;padding:1rem}
.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}
.modal-footer>*{margin:.25rem}
/* Dropdown */
.dropdown{position:relative}
.dropdown-toggle{white-space:nowrap}
.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}
.dropdown-menu.show{display:block}
.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}
.dropdown-item:hover,.dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#e9ecef}
.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}
.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}
.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}
.dropdown-menu-lg{min-width:16rem}
.dropdown-menu-right{right:0;left:auto}
/* Nav pills */
.nav-pills .nav-link{border-radius:.25rem}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}
/* List group */
.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}
.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}
.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}
.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}
.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}
.list-group-item.active{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}
.list-group-item+.list-group-item{border-top-width:0}
.list-group-item-action{width:100%;color:#495057;text-align:inherit}
.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}
/* Pagination */
.pagination{display:flex;padding-left:0;list-style:none;border-radius:.25rem}
.page-item{margin:0 .125rem}
.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}
.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}
.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}
.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}
.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}
.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}
/* Form check */
.form-check{display:block;padding-left:1.25rem;margin-bottom:.5rem}
.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}
.form-check-label{margin-bottom:0}
/* Input group */
.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}
.input-group>.form-control:focus,.input-group>.form-control-plaintext:focus{z-index:3}
.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.input-group-prepend,.input-group-append{display:flex}
.input-group-prepend{margin-right:-1px}
.input-group-append{margin-left:-1px}
.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}
.input-group-lg>.form-control,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}
.input-group-sm>.form-control,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}
.input-group:not(.has-validation)>:nth-child(n+3):not(.dropdown-menu),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}
/* Print */
@media print{.no-print{display:none !important}.print-area{display:block !important}.main-header,.sidebar,.footer{display:none !important}}
/* Loading */
.spinner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:center;justify-content:center}
/* Toast */
.toast-container{position:fixed;top:20px;right:20px;z-index:9999}
/* Barcode */
.barcode-display{font-family:'Courier New',monospace;font-size:24px;text-align:center;padding:20px;border:2px dashed #ccc;background:#fff}
/* POS specific */
#pos-cart{background:#fff;padding:20px;border-radius:5px}
.product-card{cursor:pointer;transition:transform .2s,box-shadow .2s}
.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}
/* Chart */
.chart-container{position:relative;height:300px;width:100%}
/* Focus styles */
.btn:focus,input:focus,select:focus,textarea:focus{outline:2px solid #007bff;outline-offset:2px}
/* Scrollbar */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#f1f1f1}
::-webkit-scrollbar-thumb{background:#888;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#555}
