html,body{font-family:"Public Sans",sans-serif}
.validation-summary-valid,.field-validation-valid{display:none}.validation-summary-errors ul{margin-bottom:0;padding-left:1.25rem}.input-validation-error{border-color:var(--bs-danger)!important}
.uxcore-menu-logo{display:block;width:190px;height:58px;object-fit:contain;object-position:left center}.app-brand.demo{height:76px;padding-left:1.4rem}.app-brand.demo .app-brand-link{overflow:hidden}
.layout-menu{box-shadow:0 .125rem .375rem 0 rgba(47,43,61,.12)}.layout-navbar{backdrop-filter:saturate(200%) blur(6px)}
.page-title{font-size:1.5rem;font-weight:600;color:var(--bs-heading-color)}.metric-icon{width:42px;height:42px;border-radius:.375rem;display:grid;place-items:center}.badge-soft{background:var(--bs-success-bg-subtle);color:var(--bs-success-text-emphasis)}
.card{transition:box-shadow .2s ease}.table thead th{font-size:.8125rem;text-transform:uppercase;letter-spacing:.2px;color:var(--bs-secondary-color)}.btn-primary{box-shadow:0 .125rem .375rem rgba(var(--bs-primary-rgb),.3)}
.crm-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.crm-filter-bar{padding:1.25rem 1.5rem;border-bottom:1px solid var(--bs-border-color)}
.dataTables_wrapper .row{margin:0;padding:.75rem 1.25rem}.dataTables_wrapper .table{margin-bottom:0}.dataTables_wrapper .pagination{margin:0}.crm-datatable td{vertical-align:middle}
.modal .modal-header{padding:1.5rem 1.5rem .75rem}.modal .modal-body{padding:1rem 1.5rem}.modal .modal-footer{padding:.75rem 1.5rem 1.5rem}
.flatpickr-calendar.open{z-index:1100!important}
.empty-state{padding:3rem 1rem;text-align:center;color:var(--bs-secondary-color)}.empty-state i{font-size:2.5rem}
.container-fluid.container-p-y{padding-inline:clamp(1rem,2vw,2rem)}.navbar-nav-right,.crm-page-header>*,.card,.modal-content,.offcanvas{min-width:0}.dropdown-user .dropdown-menu{max-width:min(22rem,calc(100vw - 2rem))}
.min-w-0{min-width:0!important}
.crm-page-header>div:last-child,.crm-page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.crm-page-header h1,.crm-page-header h2,.crm-page-header h3,.crm-page-header h4,.crm-datatable td,.modal-title,.offcanvas-title,.text-break-anywhere,a[href^="http"]{overflow-wrap:anywhere}.table-responsive{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.crm-datatable td,.crm-datatable th{max-width:28rem}.crm-datatable td:last-child .d-flex{min-width:max-content}.form-control,.form-select,.input-group,.select2-container{max-width:100%}.modal-body img,.ql-editor img{max-width:100%;height:auto}
.crm-section{position:relative;min-height:4rem}.crm-section[aria-busy="true"]{pointer-events:none}.crm-section-loader{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;gap:.75rem;background:color-mix(in srgb,var(--bs-body-bg) 82%,transparent);backdrop-filter:blur(2px);color:var(--bs-heading-color)}.crm-section-loader[hidden]{display:none}.crm-state{display:flex;min-height:12rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--bs-secondary-color)}.crm-state i{font-size:2.25rem;margin-bottom:.75rem}.crm-page-progress{position:fixed;inset:0 0 auto;z-index:2000;height:3px;overflow:hidden}.crm-page-progress::after{content:"";display:block;width:35%;height:100%;background:var(--bs-primary);animation:crm-progress 1s ease-in-out infinite}@keyframes crm-progress{from{transform:translateX(-110%)}to{transform:translateX(310%)}}
.dataTables_wrapper .dt-layout-row{gap:.75rem;align-items:center}.dataTables_wrapper .dt-search,.dataTables_wrapper .dt-length{display:flex;align-items:center;gap:.5rem}.dataTables_wrapper .dt-input{max-width:100%}
.layout-page,.content-wrapper,#crm-page-content{min-width:0}.layout-navbar{max-width:100vw}.navbar-nav-right{flex:1}.navbar-nav-right>*,.navbar-nav{min-width:0}.crm-filter-bar .row>*{min-width:0}.crm-datatable td:last-child .d-flex{flex-wrap:wrap}.crm-datatable td form{margin:0}.modal-dialog-scrollable{max-height:calc(100dvh - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100dvh - 1rem)}.quotation-modal .modal-dialog,.edit-quotation-modal .modal-dialog{width:calc(100% - 2rem)}.quotation-item{overflow:hidden}.input-group>.form-control{min-width:0}.select2-container{width:100%!important}.ql-toolbar{display:flex;flex-wrap:wrap}.ql-container{max-width:100%}.ql-editor{overflow-wrap:anywhere}.crm-inline-error{margin:1rem;border:1px solid var(--bs-danger-border-subtle);border-radius:var(--bs-border-radius);background:var(--bs-danger-bg-subtle);color:var(--bs-danger-text-emphasis);padding:1rem}.crm-inline-error[hidden]{display:none}
.navbar-welcome{justify-content:center;padding-inline:.75rem}.navbar-welcome-text,.navbar-welcome-subtitle{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-welcome-text{font-size:.9375rem}.navbar-welcome-subtitle{font-size:.75rem}.dropdown-user .dropdown-item-text{padding:.5rem 1rem;max-width:100%}.dropdown-user .dropdown-menu{width:18rem}.dropdown-user form{margin:0}
.uxcore-auth-bg{background:radial-gradient(circle at 15% 10%,rgba(75,192,58,.17),transparent 34%),radial-gradient(circle at 85% 90%,rgba(115,103,240,.14),transparent 32%),var(--bs-body-bg)}.uxcore-auth-bg .authentication-inner{max-width:400px}.uxcore-auth-bg .card{background:color-mix(in srgb,var(--bs-body-bg) 92%,transparent);backdrop-filter:blur(8px)}.uxcore-auth-logo{display:block;width:260px;max-width:100%;height:auto}
@media(max-width:767.98px){.container-fluid.container-p-y{padding-inline:.875rem}.crm-page-header{align-items:stretch;flex-direction:column;margin-bottom:1rem}.crm-page-header .btn,.crm-page-header>a.btn,.crm-page-header>div:last-child>*{width:100%}.crm-page-header>div:last-child{width:100%}.crm-filter-bar{padding:1rem}.modal-dialog:not(.modal-fullscreen){margin:.5rem}.modal .modal-header{padding:1rem 1rem .5rem}.modal .modal-body{padding:.75rem 1rem}.modal .modal-footer{padding:.75rem 1rem 1rem;flex-wrap:wrap}.modal .modal-footer>.btn,.modal .modal-footer>form{flex:1 1 10rem}.modal .modal-footer>form>.btn{width:100%}.dataTables_wrapper .dt-layout-row{flex-direction:column;align-items:stretch!important;padding:.75rem}.dataTables_wrapper .dt-layout-cell{width:100%;text-align:left!important}.dataTables_wrapper .dt-search,.dataTables_wrapper .dt-length{justify-content:space-between}.dataTables_wrapper .dt-search input{flex:1}.dataTables_wrapper .pagination{justify-content:center;flex-wrap:wrap}.fc .fc-toolbar{align-items:stretch;flex-direction:column;gap:.75rem}.fc .fc-toolbar-chunk{display:flex;justify-content:center;flex-wrap:wrap}.fc .fc-toolbar-title{font-size:1.125rem!important}.quotation-modal .invoice-preview-card,.edit-quotation-modal .invoice-preview-card,.quotation-modal .invoice-header,.edit-quotation-modal .invoice-header{padding:1rem!important}.quotation-item .row>[class*=col-]{width:100%}.quotation-item .text-end{text-align:left!important}}
@media(max-width:575.98px){.navbar-search-wrapper{display:none}.layout-navbar{padding-inline:.75rem}.navbar-welcome{justify-content:flex-start;padding-inline:.25rem}.navbar-welcome-subtitle{display:none}.navbar-welcome-text{font-size:.8125rem}.offcanvas{max-width:100vw}.card-header,.card-body{padding-inline:1rem}.empty-state,.crm-state{padding:2rem .75rem}.btn{white-space:normal}.crm-filter-bar .form-select,.crm-filter-bar .form-control,.crm-filter-bar .btn{width:100%}.modal-dialog-scrollable{height:calc(100dvh - 1rem)}.modal-dialog-scrollable .modal-content{height:100%}.table-responsive{border-radius:inherit}.crm-datatable td:last-child .d-flex{min-width:12rem}.notyf{max-width:calc(100vw - 1rem)!important}.notyf__toast{max-width:100%}}
@media(max-width:1199.98px){.uxcore-menu-logo{width:175px}}

/* Viewport-safe dialog contract shared by every CRM modal and offcanvas. */
.modal{--crm-modal-gutter:1rem;padding-inline:0!important}
.modal-dialog:not([class*="modal-fullscreen"]){width:calc(100% - (var(--crm-modal-gutter) * 2));max-width:min(var(--bs-modal-width,500px),calc(100vw - (var(--crm-modal-gutter) * 2)));margin-inline:auto}
.modal-dialog-centered{min-height:calc(100dvh - (var(--crm-modal-gutter) * 2))}
.modal-content{display:flex;max-height:calc(100dvh - (var(--crm-modal-gutter) * 2));min-width:0;flex-direction:column;overflow:hidden}
.modal-content>form{display:flex;max-height:inherit;min-height:0;min-width:0;flex:1 1 auto;flex-direction:column}
.modal-header,.modal-footer{flex:0 0 auto;min-width:0}
.modal-header>div{min-width:0;flex:1 1 auto}
.modal-header .btn-close{flex:0 0 auto;margin-inline-start:.75rem}
.modal-body{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
.modal-body .row>*{min-width:0}
.modal-body pre,.modal-body code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.modal-body iframe,.modal-body video,.modal-body canvas,.modal-body svg{max-width:100%}
.modal-footer{gap:.5rem;flex-wrap:wrap}
.modal-footer>*{margin:0!important}
.modal-footer>form{display:flex;min-width:0}
.modal .table-responsive{max-width:100%}
.modal .table-responsive table{margin-bottom:0}
.modal .alert,.modal .form-text,.modal .text-danger{overflow-wrap:anywhere}
.modal .select2-container,.modal .select2-selection,.modal .flatpickr-wrapper{max-width:100%;min-width:0}
.modal .flatpickr-wrapper{display:block;width:100%}
.modal .ql-toolbar,.modal .ql-container{min-width:0}
.modal .ql-toolbar .ql-formats{max-width:100%;white-space:normal}
.modal .custom-option,.modal .custom-option-content,.modal .custom-option-header{min-width:0}
.modal .custom-option-content{display:block}
.offcanvas-header,.offcanvas-body{min-width:0}
.offcanvas-header>div{min-width:0}
.offcanvas-body{overflow-x:hidden;overflow-wrap:anywhere}
.offcanvas-body .row>*{min-width:0}
.offcanvas-body form{min-width:0}
.swal2-popup{width:min(32rem,calc(100vw - 1rem));max-width:calc(100vw - 1rem)}
.swal2-html-container{overflow-wrap:anywhere}
.swal2-actions{max-width:100%;flex-wrap:wrap;gap:.5rem}
.swal2-actions .swal2-styled{margin:0}

@media(max-width:991.98px){
  .quotation-modal .invoice-preview-card,.edit-quotation-modal .invoice-preview-card{padding:1rem!important}
  .quotation-modal .invoice-header,.edit-quotation-modal .invoice-header{padding:1rem!important}
  .quotation-item .row>[class*=col-]{width:100%}
  .quotation-item .text-end{text-align:left!important}
  .quotation-item .btn-icon{margin-inline-start:0}
}

@media(max-width:575.98px){
  .modal{--crm-modal-gutter:.5rem}
  .modal-dialog:not(.modal-fullscreen){width:calc(100vw - 1rem);max-width:none;margin:.5rem auto}
  .modal-dialog-scrollable{height:auto;max-height:calc(100dvh - 1rem)}
  .modal-dialog-scrollable .modal-content{height:auto;max-height:calc(100dvh - 1rem)}
  .modal .modal-footer>.btn,.modal .modal-footer>a.btn,.modal .modal-footer>form{width:100%;flex:1 1 100%}
  .modal .modal-footer>form>.btn{width:100%}
  .modal-body .d-flex.justify-content-between{flex-wrap:wrap;gap:.75rem}
  .offcanvas{width:100vw!important}
  .offcanvas-body .col-6{width:100%}
  .swal2-actions{width:100%}
  .swal2-actions .swal2-styled{width:100%}
}
