[class*="svc-"] {
  --svc: var(--tblr-azure);
}
.svc-cable {
  --svc: var(--tblr-orange);
}
.svc-broadband {
  --svc: var(--tblr-cyan);
}
.svc-iptv {
  --svc: var(--tblr-pink);
}

.svc-dot {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-right: 0.5rem;
  border-radius: 100rem;
  background: var(--svc, var(--tblr-border-color));
  vertical-align: middle;
  flex: 0 0 auto;
}

.nav-tabs .nav-link.active {
  color: var(--tblr-primary);
}

.tab-content > .tab-pane {
  min-width: 0;
}

.navbar-brand-lockup {
  display: block;
  line-height: 1.25;
}
.navbar-brand-lockup .h2 {
  white-space: nowrap;
}
.navbar-brand-module {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.print-letterhead { display: none; }
@media print {
  @page { size: A4; margin: 12mm; }

  :root, [data-bs-theme], html, body, .page, .page-wrapper { background: #fff !important; color: #000 !important; color-scheme: light; }
  [data-bs-theme="dark"] { --tblr-body-bg: #fff; --tblr-body-color: #000; --tblr-card-bg: #fff; --tblr-card-color: #000; --tblr-border-color: #bbb; --tblr-secondary: #444; --tblr-muted: #444; }
  .page-wrapper *:not(.text-secondary):not(.text-muted):not(.pl-meta) { color: #000 !important; }
  .page-wrapper .text-secondary, .page-wrapper .text-muted, .page-wrapper .small.text-secondary { color: #444 !important; }
  body { -webkit-print-color-adjust: economy; print-color-adjust: economy; }
  .navbar, .page-header, footer, .footer, .no-print, .d-print-none, .btn, form.no-print, .modal, .modal-backdrop { display: none !important; }
  .page-wrapper { margin: 0 !important; padding: 0 !important; }
  .card { box-shadow: none !important; border: 0 !important; background: #fff !important; }
  .card-header { border-bottom: 0 !important; padding-left: 0; padding-right: 0; }
  .print-letterhead { display: block; margin-bottom: 0.9rem; padding-bottom: 0.6rem; border-bottom: 1.5px solid #000; }
  .print-letterhead .pl-name { font-size: 1.2rem; font-weight: 700; line-height: 1.25; }
  .print-letterhead .pl-meta { font-size: 0.8rem; color: #444; }
  .print-letterhead .pl-title { margin-top: 0.4rem; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
  .table { color: #000 !important; --tblr-table-bg: transparent; --tblr-table-striped-bg: transparent; }
  .table thead th { background: #fff !important; color: #000 !important; border-top: 1.5px solid #000 !important; border-bottom: 1.5px solid #000 !important; font-weight: 700; }
  .table tbody td, .table tbody th { border-bottom: 1px solid #bbb !important; background: #fff !important; }
  .table tfoot th, .table tfoot td { background: #fff !important; border-top: 1.5px solid #000 !important; border-bottom: 1.5px solid #000 !important; }
  .table-responsive { overflow: visible !important; }
  thead { display: table-header-group; }
  tr { break-inside: avoid; }
  a, a:hover { color: #000 !important; text-decoration: none !important; }
  .text-secondary, .text-muted { color: #444 !important; }
  .badge, .status { background: #fff !important; color: #000 !important; border: 1px solid #000; }
  .text-success, .text-danger, .text-warning, .text-primary, .text-blue, .text-green, .text-red { color: #000 !important; }
}

@media print {
  .print-compact { font-size: 0.72rem; --tblr-gutter-y: 0.25rem; }
  .print-compact .card-header { display: none !important; }
  .print-compact .card-body { padding: 0 0 0.4rem; }
  .print-compact .h2 { font-size: 0.95rem; margin: 0; color: #000 !important; }
  .print-compact .card-body .row { flex-wrap: nowrap; gap: 1.5rem; margin: 0; }
  .print-compact .card-body .row > [class*="col"] { width: auto; flex: 0 1 auto; padding: 0; margin: 0; }
  .print-compact .card-body .row > [class*="col"]:last-child { flex: 0 0 16rem; }
  .print-compact .card-body .mb-1 { margin-bottom: 0 !important; }
  .print-compact .small { font-size: 0.7rem; }
  .print-compact .table th, .print-compact .table td { padding: 0.15rem 0.4rem !important; font-size: 0.72rem; line-height: 1.25; }
  .print-compact .table thead th { font-size: 0.66rem; }
  .print-letterhead { margin-bottom: 0.5rem; padding-bottom: 0.35rem; }
}

@media print {
  .print-compact .badge { padding: 0 0.35rem !important; font-size: 0.62rem !important; line-height: 1.3; border-width: 1px; }
  .print-compact .table td { white-space: nowrap; }
  .print-compact .table td:nth-child(2) { white-space: normal; }
}
@media print {
  tfoot { display: table-row-group; }
}
@media print {
  .print-compact [class*="bg-"], .print-compact .card-footer { background: #fff !important; }
}

@media print {
  .print-compact .ledger-time { display: none !important; }
  .print-compact .table th, .print-compact .table td { padding-top: 0.1rem !important; padding-bottom: 0.1rem !important; }
  .print-compact .badge { border: 0 !important; padding: 0 !important; background: none !important; font-size: inherit !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }
  .print-compact .table .h4 { font-size: 0.8rem !important; margin: 0 !important; }
  .print-compact .card-footer { padding: 0.25rem 0 0 !important; font-size: 0.62rem !important; border: 0 !important; }
}

@media (max-width: 575.98px) {
  .card-header, .card-actions, .ms-auto.d-flex { flex-wrap: wrap; max-width: 100%; }
  .card-header > .ms-auto { margin-left: 0 !important; }
}
@media (max-width: 575.98px) {
  .card-footer { flex-wrap: wrap; }
}

/* Accessibility: text colours that reach the WCAG AA ratio of 4.5:1 on the backgrounds they sit on. */
.bg-blue-lt { color: #0565be !important; }
.bg-azure-lt { color: #306ea2 !important; }
.bg-indigo-lt { color: #3d5bd8 !important; }
.bg-purple-lt { color: #9d38b5 !important; }
.bg-pink-lt { color: #ba2c5e !important; }
.bg-red-lt { color: #bc3232 !important; }
.bg-orange-lt { color: #af4905 !important; }
.bg-yellow-lt { color: #935f00 !important; }
.bg-lime-lt { color: #4a760e !important; }
.bg-green-lt { color: #207a2e !important; }
.bg-teal-lt { color: #097856 !important; }
.bg-cyan-lt { color: #107383 !important; }
.bg-primary-lt { color: #0565be !important; }
.bg-secondary-lt { color: #616874 !important; }
.bg-success-lt { color: #207a2e !important; }
.bg-info-lt { color: #306ea2 !important; }
.bg-warning-lt { color: #935f00 !important; }
.bg-danger-lt { color: #bc3232 !important; }
.bg-muted-lt { color: #616874 !important; }
[data-bs-theme=dark] .bg-blue-lt { color: #6fabe4 !important; }
[data-bs-theme=dark] .bg-azure-lt { color: #7db9ea !important; }
[data-bs-theme=dark] .bg-indigo-lt { color: #8fa3f3 !important; }
[data-bs-theme=dark] .bg-purple-lt { color: #ce8bdf !important; }
[data-bs-theme=dark] .bg-pink-lt { color: #e685a7 !important; }
[data-bs-theme=dark] .bg-red-lt { color: #e68888 !important; }
[data-bs-theme=dark] .bg-orange-lt { color: #f99551 !important; }
[data-bs-theme=dark] .bg-yellow-lt { color: #f6ac24 !important; }
[data-bs-theme=dark] .bg-lime-lt { color: #93c849 !important; }
[data-bs-theme=dark] .bg-green-lt { color: #69c878 !important; }
[data-bs-theme=dark] .bg-teal-lt { color: #5cc3a5 !important; }
[data-bs-theme=dark] .bg-cyan-lt { color: #61c0cf !important; }
[data-bs-theme=dark] .bg-primary-lt { color: #6fabe4 !important; }
[data-bs-theme=dark] .bg-secondary-lt { color: #a3a8b0 !important; }
[data-bs-theme=dark] .bg-success-lt { color: #69c878 !important; }
[data-bs-theme=dark] .bg-info-lt { color: #7db9ea !important; }
[data-bs-theme=dark] .bg-warning-lt { color: #f6ac24 !important; }
[data-bs-theme=dark] .bg-danger-lt { color: #e68888 !important; }
[data-bs-theme=dark] .bg-muted-lt { color: #a3a8b0 !important; }
.btn-outline-success:not(:hover):not(:active):not(.active) { color: #228131; }
[data-bs-theme=dark] .btn-outline-success:not(:hover):not(:active):not(.active) { color: #2fb344; }
.btn-outline-warning:not(:hover):not(:active):not(.active) { color: #9a6400; }
[data-bs-theme=dark] .btn-outline-warning:not(:hover):not(:active):not(.active) { color: #f59f00; }
.btn-outline-danger:not(:hover):not(:active):not(.active) { color: #cd3737; }
[data-bs-theme=dark] .btn-outline-danger:not(:hover):not(:active):not(.active) { color: #e17070; }
.btn-outline-info:not(:hover):not(:active):not(.active) { color: #3274ab; }
[data-bs-theme=dark] .btn-outline-info:not(:hover):not(:active):not(.active) { color: #4299e1; }
.btn-outline-primary:not(:hover):not(:active):not(.active) { color: #066fd1; }
[data-bs-theme=dark] .btn-outline-primary:not(:hover):not(:active):not(.active) { color: #4c97de; }
.btn-outline-secondary:not(:hover):not(:active):not(.active) { color: #6a717f; }
[data-bs-theme=dark] .btn-outline-secondary:not(:hover):not(:active):not(.active) { color: #8d929d; }
.btn-link { color: #066dcd; }
[data-bs-theme=dark] { --tblr-link-color: #589fe0; --tblr-link-color-rgb: 88,159,224; }
[data-bs-theme=dark] .btn-link { color: #589fe0; }
[data-bs-theme=dark] .btn-check:checked + .btn, [data-bs-theme=dark] .nav-tabs .nav-link.active { color: #589fe0; }
[data-bs-theme=dark] .nav-tabs .nav-link:not(.active), [data-bs-theme=dark] .nav-link:not(.active) { color: #8d929d; }
.navbar-brand .h2, .navbar .navbar-brand a { color: #fff; }
.table td > a:not(.btn):not(.badge) { text-decoration: underline; text-underline-offset: 2px; }
.navbar-nav .nav-link.px-0 { min-width: 1.5rem; min-height: 1.5rem; justify-content: center; }
.text-blue { color: #066fd1 !important; }
[data-bs-theme=dark] .text-blue { color: #4c97de !important; }
.text-azure { color: #3274ab !important; }
[data-bs-theme=dark] .text-azure { color: #4299e1 !important; }
.text-indigo { color: #4263eb !important; }
[data-bs-theme=dark] .text-indigo { color: #758df0 !important; }
.text-purple { color: #ac3dc7 !important; }
[data-bs-theme=dark] .text-purple { color: #c472d8 !important; }
.text-pink { color: #cd3168 !important; }
[data-bs-theme=dark] .text-pink { color: #e16c95 !important; }
.text-red { color: #cd3737 !important; }
[data-bs-theme=dark] .text-red { color: #e17070 !important; }
.text-orange { color: #bc4e05 !important; }
[data-bs-theme=dark] .text-orange { color: #f76707 !important; }
.text-yellow { color: #9a6400 !important; }
[data-bs-theme=dark] .text-yellow { color: #f59f00 !important; }
.text-lime { color: #4e7b0f !important; }
[data-bs-theme=dark] .text-lime { color: #74b816 !important; }
.text-green { color: #228131 !important; }
[data-bs-theme=dark] .text-green { color: #2fb344 !important; }
.text-teal { color: #09805c !important; }
[data-bs-theme=dark] .text-teal { color: #0ca678 !important; }
.text-cyan { color: #117b8c !important; }
[data-bs-theme=dark] .text-cyan { color: #17a2b8 !important; }
.text-primary { color: #066fd1 !important; }
[data-bs-theme=dark] .text-primary { color: #4c97de !important; }
.text-success { color: #228131 !important; }
[data-bs-theme=dark] .text-success { color: #2fb344 !important; }
.text-info { color: #3274ab !important; }
[data-bs-theme=dark] .text-info { color: #4299e1 !important; }
.text-warning { color: #9a6400 !important; }
[data-bs-theme=dark] .text-warning { color: #f59f00 !important; }
.text-danger { color: #cd3737 !important; }
[data-bs-theme=dark] .text-danger { color: #e17070 !important; }
[data-bs-theme=dark] .btn.active, [data-bs-theme=dark] .nav-link.active { color: #589fe0; }
fieldset[disabled] a.btn, fieldset[disabled] .dropdown-toggle { pointer-events: none; opacity: 0.5; }
.sx-bare{border:0 !important;padding:0 !important;margin:0 !important}
.sx-bell-badge{position:absolute !important;top:-2px !important;right:-4px !important;min-width:1.1rem !important;height:1.1rem !important;padding:0 .25rem !important;font-size:.65rem !important;line-height:1.1rem !important;border-radius:999px !important}
.sx-bg-surface-tertiary{background:var(--tblr-bg-surface-tertiary) !important}
.sx-cur-pointer{cursor:pointer !important}
.sx-dot-azure{width:9px !important;height:9px !important;border-radius:2px !important;background:var(--tblr-azure) !important;display:inline-block}
.sx-dot-green{width:9px !important;height:9px !important;border-radius:2px !important;background:var(--tblr-green) !important;display:inline-block}
.sx-dot-primary{width:9px !important;height:9px !important;border-radius:2px !important;background:var(--tblr-primary) !important;display:inline-block}
.sx-dot-red{width:9px !important;height:9px !important;border-radius:2px !important;background:var(--tblr-red) !important;display:inline-block}
.sx-dropdown-below{position:absolute !important;z-index:20 !important;top:100% !important;left:0 !important;right:0 !important;max-height:260px !important;overflow-y:auto !important}
.sx-fill-currentcolor{fill:currentColor !important}
.sx-filter-none-c-inherit{filter:none !important;color:inherit !important}
.sx-flex-0-0-auto{flex:0 0 auto !important}
.sx-fluid-block{width:100% !important;height:auto !important;display:block}
.card.sx-hidden{display:none}
.dropdown-menu.sx-live-search-box{display:none}
.sx-live-search-box{max-height:26rem !important;overflow:auto !important;top:100% !important}
.sx-maxh-14rem-ovy-auto{max-height:14rem !important;overflow-y:auto !important}
.sx-maxh-16rem-ovy-auto{max-height:16rem !important;overflow-y:auto !important}
.sx-maxh-18rem-ovy-auto{max-height:18rem !important;overflow-y:auto !important}
.sx-maxh-24rem-ovy-auto{max-height:24rem !important;overflow-y:auto !important}
.sx-maxw-10rem{max-width:10rem !important}
.sx-maxw-12rem{max-width:12rem !important}
.sx-maxw-16rem{max-width:16rem !important}
.sx-maxw-20rem{max-width:20rem !important}
.sx-maxw-24rem{max-width:24rem !important}
.sx-maxw-26rem{max-width:26rem !important}
.sx-maxw-420px{max-width:420px !important}
.sx-minw-10-5rem{min-width:10.5rem !important}
.sx-minw-10rem{min-width:10rem !important}
.sx-minw-13rem{min-width:13rem !important}
.sx-minw-14rem{min-width:14rem !important}
.sx-minw-18rem{min-width:18rem !important}
.sx-minw-240px{min-width:240px !important}
.sx-minw-9rem{min-width:9rem !important}
.sx-mt-0-5rem{margin-top:0.5rem !important}
.sx-pos-relative{position:relative !important}
.list-group.sx-results-box{display:none}
.sx-results-box{position:absolute !important;z-index:20 !important;width:100% !important}
.sx-size-0-9rem{width:0.9rem !important;height:0.9rem !important}
.sx-w-10rem{width:10rem !important}
.sx-w-14rem{width:14rem !important}
.sx-w-2-5rem{width:2.5rem !important}
.sx-w-22rem{width:22rem !important}
.sx-w-22rem-maxw-calc-100vw-1-5rem{width:22rem !important;max-width:calc(100vw - 1.5rem) !important}
.sx-w-2rem{width:2rem !important}
.sx-w-3rem{width:3rem !important}
.sx-w-6rem{width:6rem !important}
.sx-w-7rem{width:7rem !important}
.sx-w-8rem{width:8rem !important}
.sx-w-9rem{width:9rem !important}
.sx-w-auto{width:auto !important}
.sx-ws-pre-line{white-space:pre-line !important}
.sx-ws-pre-wrap{white-space:pre-wrap !important}
.sx-dot-round{width:9px !important;height:9px !important;border-radius:100px !important;display:inline-block}

th.cp-sortable{cursor:pointer;user-select:none;white-space:nowrap}
th.cp-sortable:hover{color:var(--tblr-primary)}
th.cp-sortable::after{content:'\2195';margin-left:.35em;font-size:.85em;opacity:.35}
th.cp-sort-asc::after{content:'\25B2';opacity:.9}
th.cp-sort-desc::after{content:'\25BC';opacity:.9}
[data-checklist-list]{max-height:240px;overflow-y:auto;border:1px solid var(--tblr-border-color,#dce1e8);border-radius:4px;background:var(--tblr-bg-surface,#fff)}
.cp-check-row{display:flex;align-items:center;gap:.6rem;margin:0;padding:.4rem .75rem;border-bottom:1px solid var(--tblr-border-color-translucent,rgba(0,0,0,.08));cursor:pointer}
.cp-check-row:last-child{border-bottom:0}
.cp-check-row:hover{background:var(--tblr-bg-surface-secondary,#f6f8fb)}
.cp-check-row .form-check-input{margin:0;float:none;flex-shrink:0}
.cp-check-label{flex:1;min-width:0;overflow-wrap:anywhere}
.cp-check-price{white-space:nowrap;color:var(--tblr-secondary,#667382);font-variant-numeric:tabular-nums}
.cp-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;max-height:6.5rem;overflow-y:auto}
.cp-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.15rem .25rem .15rem .6rem;border-radius:999px;background:var(--tblr-primary-lt,#e6f0fb);color:var(--tblr-primary,#066fd1);font-size:.8rem}
.cp-chip button{border:0;background:transparent;color:inherit;line-height:1;padding:0 .35rem;font-size:1rem;cursor:pointer}
@media (max-width: 575.98px) {
  .card-footer .btn, .modal-footer .btn { white-space: normal; text-align: center; }
}
