/* OmniVenta V60.3 - responsive compatibility layer (layout only). */
html,body{max-width:100%}body.ov-responsive{overflow-x:hidden}body.ov-responsive img,body.ov-responsive video,body.ov-responsive canvas,body.ov-responsive svg{max-width:100%;height:auto}body.ov-responsive .main-content,body.ov-responsive .main-content .container-fluid{min-width:0;max-width:100%}body.ov-responsive .table-responsive,body.ov-responsive .ov-auto-table-responsive{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}body.ov-responsive .table-responsive>table,body.ov-responsive .ov-auto-table-responsive>table{margin-bottom:0}body.ov-responsive .panel,body.ov-responsive .panel-body,body.ov-responsive .well,body.ov-responsive .modal-content{min-width:0;max-width:100%}body.ov-responsive .alert,body.ov-responsive .help-block{overflow-wrap:break-word;word-break:normal}body.ov-responsive .select2-container,body.ov-responsive .selectize-control,body.ov-responsive .bootstrap-select,body.ov-responsive .bootstrap-select>.dropdown-toggle{max-width:100%}body.ov-responsive .input-group{max-width:100%}body.ov-responsive input[type=file]{max-width:100%}
@media(max-width:991px){body.ov-responsive .main-content .container-fluid{padding-left:12px;padding-right:12px}body.ov-responsive .table-responsive,body.ov-responsive .ov-auto-table-responsive{border:0}body.ov-responsive .table-responsive>.table,body.ov-responsive .ov-auto-table-responsive>.table{min-width:100%}body.ov-responsive .nav-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}body.ov-responsive .nav-tabs>li{float:none;flex:0 0 auto}body.ov-responsive .pagination{white-space:normal}body.ov-responsive .btn-toolbar,body.ov-responsive .buttons-list,body.ov-responsive .pull-right-btn{max-width:100%}body.ov-responsive .modal-dialog{width:auto!important;max-width:calc(100vw - 20px);margin:10px auto}body.ov-responsive .modal-body{max-height:calc(100vh - 150px);overflow-y:auto;-webkit-overflow-scrolling:touch}body.ov-responsive .dropdown-menu{max-width:calc(100vw - 20px)}}
@media(max-width:767px){body.ov-responsive .main-content{padding-left:0;padding-right:0}body.ov-responsive .main-content .container-fluid{padding-left:8px;padding-right:8px}body.ov-responsive .main-content h1,body.ov-responsive .main-content h2,body.ov-responsive .main-content h3{line-height:1.2;overflow-wrap:break-word;word-break:normal}body.ov-responsive .panel-body{padding-left:12px;padding-right:12px}body.ov-responsive .form-control{max-width:100%}body.ov-responsive input.form-control,body.ov-responsive select.form-control,body.ov-responsive textarea.form-control{font-size:16px}body.ov-responsive .input-group{width:100%}body.ov-responsive .btn-group:not(.bootstrap-select){max-width:100%}body.ov-responsive .form-actions.pull-right{float:none!important;display:flex;flex-wrap:wrap;gap:8px;justify-content:stretch}body.ov-responsive .form-actions.pull-right .btn{flex:1 1 140px;min-height:42px}body.ov-responsive .pull-right-btn{float:none!important;display:flex;flex-wrap:wrap;gap:8px}body.ov-responsive .pull-right-btn .btn,body.ov-responsive .pull-right-btn a{margin:0!important}body.ov-responsive .panel-footer.text-right{text-align:left}body.ov-responsive .panel-footer.text-right .btn{white-space:normal}body.ov-responsive #footers{padding-left:12px;padding-right:12px;line-height:1.5;overflow-wrap:anywhere}
body.ov-module-bank_accounts .main-content .clearfix>h3.pull-left,body.ov-module-petty_cash .main-content .clearfix>h3.pull-left,body.ov-module-accounting .main-content .clearfix>h3.pull-left{float:none!important;margin:12px 0 8px!important}body.ov-module-bank_accounts .main-content .clearfix>.pull-right,body.ov-module-petty_cash .main-content .clearfix>.pull-right,body.ov-module-accounting .main-content .clearfix>.pull-right{float:none!important;margin:0 0 12px!important;display:flex;flex-wrap:wrap;gap:7px}body.ov-module-bank_accounts .main-content .clearfix>.pull-right .btn,body.ov-module-petty_cash .main-content .clearfix>.pull-right .btn,body.ov-module-accounting .main-content .clearfix>.pull-right .btn{margin:0!important;flex:1 1 150px;min-height:42px;white-space:normal}
body.ov-module-accounting .accounting-nav{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:2px 0 7px;margin-bottom:12px;scroll-snap-type:x proximity}body.ov-module-accounting .accounting-nav .btn{flex:0 0 auto;min-height:40px;scroll-snap-align:start}body.ov-module-accounting .accounting-query-panel .row>[class*="col-"],body.ov-module-accounting form.panel .row>[class*="col-"]{margin-bottom:9px}body.ov-module-accounting .accounting-query-panel label{margin-bottom:4px}body.ov-module-accounting .accounting-query-panel .btn{min-height:40px}body.ov-module-accounting .acct-card{padding:12px}body.ov-module-accounting .acct-card h3{font-size:20px}body.ov-module-accounting .acct-card .btn{margin:3px 0;white-space:normal}body.ov-module-accounting form.form-inline .form-group{display:block;width:100%;margin:0 0 8px}body.ov-module-accounting form.form-inline .form-control{width:100%!important}body.ov-module-accounting form.form-inline>.btn,body.ov-module-accounting form.form-inline>a.btn{margin:4px 0;min-height:40px}
body.ov-module-payroll .payroll-nav{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:2px 0 7px;scroll-snap-type:x proximity}body.ov-module-payroll .payroll-nav .btn{flex:0 0 auto;min-height:40px;scroll-snap-align:start}body.ov-module-payroll h3>.pull-right{float:none!important;display:table;margin:8px 0 0}body.ov-module-payroll .payroll-query-panel .row>[class*="col-"],body.ov-module-payroll .payroll-filter-panel .row>[class*="col-"]{margin-bottom:9px}body.ov-module-payroll .payroll-data-panel .table-responsive{margin-bottom:0}body.ov-module-payroll .panel-body>form.form-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:end}body.ov-module-payroll .panel-body>form.form-inline .form-group{margin:0;flex:1 1 145px}body.ov-module-payroll .panel-body>form.form-inline .form-control{width:100%!important}body.ov-module-payroll .panel-body>form.form-inline .btn{min-height:40px}body.ov-module-payroll td form.form-inline{white-space:nowrap}body.ov-module-payroll td form.form-inline .form-control{display:inline-block;width:110px!important;font-size:14px}
body.ov-module-petty_cash .panel form .row>[class*="col-"]{margin-bottom:8px}body.ov-module-petty_cash td.text-nowrap{white-space:normal;min-width:240px}body.ov-module-petty_cash td.text-nowrap .btn,body.ov-module-petty_cash td.text-nowrap form{margin:2px!important;vertical-align:top}body.ov-module-petty_cash td.text-nowrap form{display:inline-block!important}body.ov-module-petty_cash .petty-sortable th,body.ov-module-petty_cash .petty-sortable td{vertical-align:middle}
body.ov-module-bank_accounts .bank-query-card .row>[class*="col-"],body.ov-module-bank_accounts .panel form .row>[class*="col-"]{margin-bottom:9px}body.ov-module-bank_accounts .bank-query-card form>div[style*="margin-top"]{display:flex;flex-wrap:wrap;gap:7px}body.ov-module-bank_accounts .bank-query-card form>div[style*="margin-top"] .btn{margin:0;flex:1 1 150px;white-space:normal;min-height:42px}body.ov-module-bank_accounts .table-responsive input[type=number],body.ov-module-bank_accounts .table-responsive input[type=text]{min-width:105px}body.ov-module-bank_accounts td.text-nowrap{white-space:normal;min-width:190px}
body.ov-module-supplies_inventory .panel-body>.btn-group[role=group]{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;width:100%;padding-bottom:6px}body.ov-module-supplies_inventory .panel-body>.btn-group[role=group]>.btn{float:none;flex:0 0 auto;margin:0;min-height:40px}body.ov-module-supplies_inventory form.row>[class*="col-"],body.ov-module-supplies_inventory .panel-body form .row>[class*="col-"]{margin-bottom:9px}body.ov-module-supplies_inventory .panel-body>div[style*="margin-top"]{display:flex;flex-wrap:wrap;gap:7px}body.ov-module-supplies_inventory .panel-body>div[style*="margin-top"] .btn{margin:0;flex:1 1 140px;min-height:40px;white-space:normal}body.ov-module-supplies_inventory td form.form-inline{white-space:nowrap}body.ov-module-supplies_inventory td form.form-inline .form-control{display:inline-block;width:92px!important;font-size:14px}
body.ov-module-insumos .btn-group{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}body.ov-module-insumos .panel-body form .row>[class*="col-"]{margin-bottom:9px}body.ov-module-items .table_holder,body.ov-module-reports .table_holder,body.ov-module-expenses .table_holder,body.ov-module-timeclocks .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}body.ov-module-items .buttons-list .btn,body.ov-module-reports .buttons-list .btn{white-space:normal}body.ov-module-receivings .inventory-insight-heading,body.ov-module-receivings .inventory-insight-column{white-space:nowrap}body.ov-responsive .main-content .form-horizontal .control-label{padding-top:5px;margin-bottom:4px}body.ov-responsive .main-content .form-horizontal .form-group{margin-left:0;margin-right:0}body.ov-responsive .main-content .form-horizontal .form-group>[class*="col-"]{padding-left:0;padding-right:0}}
@media(max-width:480px){body.ov-responsive .main-content .container-fluid{padding-left:6px;padding-right:6px}body.ov-responsive .panel-body{padding-left:10px;padding-right:10px}body.ov-responsive .btn{white-space:normal}body.ov-module-bank_accounts .main-content .clearfix>.pull-right .btn,body.ov-module-petty_cash .main-content .clearfix>.pull-right .btn,body.ov-module-accounting .main-content .clearfix>.pull-right .btn{flex-basis:100%}body.ov-module-bank_accounts .bank-query-card form>div[style*="margin-top"] .btn,body.ov-module-supplies_inventory .panel-body>div[style*="margin-top"] .btn{flex-basis:100%}}
@media print{body.ov-responsive{overflow:visible!important}body.ov-responsive .ov-auto-table-responsive{overflow:visible!important}}
@media(max-width:767px){
 body.ov-responsive .dataTables_wrapper .dataTables_length,body.ov-responsive .dataTables_wrapper .dataTables_filter,body.ov-responsive .dataTables_wrapper .dataTables_info,body.ov-responsive .dataTables_wrapper .dataTables_paginate{float:none!important;width:100%;max-width:100%;text-align:left!important;margin:6px 0}
 body.ov-responsive .dataTables_wrapper .dataTables_filter input{width:100%!important;max-width:100%;margin:5px 0 0!important}
 body.ov-responsive .pagination-top,body.ov-responsive .pagination.alternate{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
 body.ov-module-reports .report-options{height:auto!important;min-height:57px}
 body.ov-module-reports .summary-data{margin-bottom:8px}
 body.ov-module-expenses .main-content .clearfix>h3.pull-left,body.ov-module-timeclocks .main-content .clearfix>h3.pull-left,body.ov-module-items .main-content .clearfix>h3.pull-left,body.ov-module-customers .main-content .clearfix>h3.pull-left,body.ov-module-work_orders .main-content .clearfix>h3.pull-left{float:none!important;width:100%;margin:10px 0 8px!important}
 body.ov-module-expenses .main-content .clearfix>.pull-right,body.ov-module-timeclocks .main-content .clearfix>.pull-right,body.ov-module-items .main-content .clearfix>.pull-right,body.ov-module-customers .main-content .clearfix>.pull-right,body.ov-module-work_orders .main-content .clearfix>.pull-right{float:none!important;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px!important}
 body.ov-module-expenses .main-content .clearfix>.pull-right .btn,body.ov-module-timeclocks .main-content .clearfix>.pull-right .btn,body.ov-module-items .main-content .clearfix>.pull-right .btn,body.ov-module-customers .main-content .clearfix>.pull-right .btn,body.ov-module-work_orders .main-content .clearfix>.pull-right .btn{margin:0!important;white-space:normal}
}


/* OmniVenta V60.9 - system-wide readable table guard.
   Never allow business-table headers/cells to collapse character-by-character.
   Wide tables stay readable and scroll horizontally inside responsive containers. */
body.ov-responsive .main-content table.table th,
body.ov-responsive .main-content table.table td{
  word-break:normal !important;
  hyphens:none !important;
}
body.ov-responsive .main-content table.table th{
  overflow-wrap:normal !important;
}
body.ov-responsive .main-content table.table td{
  overflow-wrap:break-word !important;
}
body.ov-responsive .main-content .table-responsive>table.table,
body.ov-responsive .main-content .ov-auto-table-responsive>table.table{
  table-layout:auto !important;
}
body.ov-responsive .main-content .table-responsive>table.table>thead>tr>th,
body.ov-responsive .main-content .ov-auto-table-responsive>table.table>thead>tr>th{
  white-space:nowrap !important;
  line-height:1.3 !important;
  vertical-align:bottom !important;
}
body.ov-responsive .main-content .table-responsive,
body.ov-responsive .main-content .ov-auto-table-responsive{
  scrollbar-gutter:stable;
}
@media(max-width:991px){
  body.ov-responsive .main-content .table-responsive>table.table,
  body.ov-responsive .main-content .ov-auto-table-responsive>table.table{
    width:auto !important;
    min-width:100% !important;
    max-width:none !important;
  }
  /* Text columns can wrap at normal word boundaries, numeric/form fields stay intact. */
  body.ov-responsive .main-content .table-responsive>table.table td input,
  body.ov-responsive .main-content .table-responsive>table.table td select,
  body.ov-responsive .main-content .table-responsive>table.table td .form-control,
  body.ov-responsive .main-content .ov-auto-table-responsive>table.table td input,
  body.ov-responsive .main-content .ov-auto-table-responsive>table.table td select,
  body.ov-responsive .main-content .ov-auto-table-responsive>table.table td .form-control{
    min-width:90px;
  }
}
