/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[14].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"],"variable":"--font-inter"}],"variableName":"inter"} ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/ba9851c3c22cd980-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/21350d82a1f187e9-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/df0a9ae256c0569c-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/8e9860b6e62d6359-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Inter Fallback';src: local("Arial");ascent-override: 90.44%;descent-override: 22.52%;line-gap-override: 0.00%;size-adjust: 107.12%
}.__className_d8ebd1 {font-family: 'Inter', 'Inter Fallback';font-style: normal
}.__variable_d8ebd1 {--font-inter: 'Inter', 'Inter Fallback'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/* Pro admin theme styles are loaded from /preline-pro/main.min.css in layout.tsx */

/* Hide native number input steppers by default. */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* Preline TipTap WYSIWYG editor */
.ProseMirror:focus {
  outline: none;
}

.tiptap ul p,
.tiptap ol p {
  display: inline;
}

.tiptap p.is-editor-empty:first-child::before {
  content: attr(data-placeholder);
  float: left;
  height: 0;
  pointer-events: none;
}

/* Preline Datatable (DataTables.net) support.
   DataTables.net auto-generates its own search/length/paging rows; we hide
   them because each `data-hs-datatable` table supplies its own Tailwind-styled
   equivalents instead. See node_modules/preline/src/plugins/datatable/README.md */
.dt-layout-row:has(.dt-search),
.dt-layout-row:has(.dt-length),
.dt-layout-row:has(.dt-paging) {
  display: none !important;
}

/* Highlights the active page button built by HSDataTable's paging-pages
   control. Uses the same design tokens as the .bg-primary / .text-primary-foreground
   utilities so it matches the rest of the app's theme. */
[data-hs-datatable-paging-pages] button.active {
  background-color: var(--primary);
  color: var(--primary-foreground);
  border-color: var(--primary-line);
}

/* Collections: highlight the selected customer in the queue and invoices
   for the selected AR aging window. */
[data-collection-queue-item][aria-current="true"] {
  background-color: var(--muted-hover);
  box-shadow: inset 0 0 0 2px var(--primary);
}

[data-aging-window][aria-pressed="true"] {
  background-color: color-mix(in srgb, var(--primary) 12%, transparent);
  box-shadow: inset 0 0 0 2px var(--primary);
}

[data-aging-match] > td {
  background-color: color-mix(in srgb, var(--primary) 12%, transparent);
}

/* Best Price Finder success/warning cards.
   Explicit colors so Preline theme tokens don't wash them out. */
[data-best-price-status="success"] {
  border-color: #15803d;
  background-color: #dcfce7;
}

[data-best-price-status="warning"] {
  border-color: #d97706;
  background-color: #fef3c7;
}

button[data-best-price-status="success"],
[data-job-attribute-pill][data-best-price-status="success"] {
  border-color: #15803d !important;
  background-color: #dcfce7 !important;
  color: #000 !important;
}

.dark [data-best-price-status="success"] {
  border-color: #16a34a;
  background-color: #86efac;
}

.dark button[data-best-price-status="success"],
.dark [data-job-attribute-pill][data-best-price-status="success"] {
  border-color: #15803d !important;
  background-color: #86efac !important;
  color: #000 !important;
}

.dark [data-best-price-status="warning"] {
  border-color: #f59e0b;
  background-color: #fcd34d;
}

.dark [data-best-price-status="success"],
.dark [data-best-price-status="success"] :where(h3, p, span, th, td):not(.text-destructive),
.dark [data-best-price-status="warning"],
.dark [data-best-price-status="warning"] :where(h3, p, span, th, td):not(.text-destructive) {
  color: #000 !important;
}

/* Waste Calculation: Suggested column as a dark-green outlined box */
table th[data-best-price-status="success"],
table td[data-best-price-status="success"] {
  background-color: #dcfce7 !important;
  box-shadow:
    inset 2px 0 0 0 #15803d,
    inset -2px 0 0 0 #15803d;
}

table thead th[data-best-price-status="success"] {
  box-shadow:
    inset 2px 0 0 0 #15803d,
    inset -2px 0 0 0 #15803d,
    inset 0 2px 0 0 #15803d;
}

table tbody tr:last-child td[data-best-price-status="success"] {
  box-shadow:
    inset 2px 0 0 0 #15803d,
    inset -2px 0 0 0 #15803d,
    inset 0 -2px 0 0 #15803d;
}

.dark table th[data-best-price-status="success"],
.dark table td[data-best-price-status="success"] {
  background-color: #86efac !important;
  box-shadow:
    inset 2px 0 0 0 #15803d,
    inset -2px 0 0 0 #15803d;
}

.dark table thead th[data-best-price-status="success"] {
  box-shadow:
    inset 2px 0 0 0 #15803d,
    inset -2px 0 0 0 #15803d,
    inset 0 2px 0 0 #15803d;
}

.dark table tbody tr:last-child td[data-best-price-status="success"] {
  box-shadow:
    inset 2px 0 0 0 #15803d,
    inset -2px 0 0 0 #15803d,
    inset 0 -2px 0 0 #15803d;
}

/* Waste Calculation: Measured column as a light-grey outlined box */
table th[data-waste-column="measured"],
table td[data-waste-column="measured"] {
  background-color: #f3f4f6 !important;
  box-shadow:
    inset 2px 0 0 0 #9ca3af,
    inset -2px 0 0 0 #9ca3af;
}

table thead th[data-waste-column="measured"] {
  box-shadow:
    inset 2px 0 0 0 #9ca3af,
    inset -2px 0 0 0 #9ca3af,
    inset 0 2px 0 0 #9ca3af;
}

table tbody tr:last-child td[data-waste-column="measured"] {
  box-shadow:
    inset 2px 0 0 0 #9ca3af,
    inset -2px 0 0 0 #9ca3af,
    inset 0 -2px 0 0 #9ca3af;
}

.dark table th[data-waste-column="measured"],
.dark table td[data-waste-column="measured"] {
  background-color: #facc15 !important;
  color: #000 !important;
  box-shadow:
    inset 2px 0 0 0 #ca8a04,
    inset -2px 0 0 0 #ca8a04;
}

.dark table th[data-waste-column="measured"] :where(span),
.dark table td[data-waste-column="measured"] :where(span, button) {
  color: #000 !important;
}

.dark table thead th[data-waste-column="measured"] {
  box-shadow:
    inset 2px 0 0 0 #ca8a04,
    inset -2px 0 0 0 #ca8a04,
    inset 0 2px 0 0 #ca8a04;
}

.dark table tbody tr:last-child td[data-waste-column="measured"] {
  box-shadow:
    inset 2px 0 0 0 #ca8a04,
    inset -2px 0 0 0 #ca8a04,
    inset 0 -2px 0 0 #ca8a04;
}

/* Payments: highlight invoices matched to the current payment */
.dark [data-open-invoice-matched] :is(th, td) {
  background-color: #facc15 !important;
  color: #000 !important;
  border-color: #ca8a04;
}

.dark [data-open-invoice-matched] :is(span, a, button, p) {
  color: #000 !important;
}

/* Job schedule: jobs without delivery confirmed use the warning row color */
table tbody tr[data-undelivered] > td {
  background-color: #fef3c7;
}

table tbody tr[data-undelivered]:hover > td,
table tbody tr[data-undelivered]:focus > td {
  background-color: #fde68a;
}

.dark table tbody tr[data-undelivered] > td {
  background-color: #fcd34d;
}

.dark table tbody tr[data-undelivered]:hover > td,
.dark table tbody tr[data-undelivered]:focus > td {
  background-color: #fbbf24;
}

.dark table tbody tr[data-undelivered] :where(span, button, a, p):not(.text-destructive) {
  color: #000 !important;
}

