
@font-face { font-family: 'TSP Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'TSP Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'TSP Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'TSP Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'TSP Inter'; font-style: normal; font-weight: 800; font-display: swap; src: url('/assets/fonts/inter-latin-800-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2'); }   
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2'); }   
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2'); }   
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/inter-latin-700-normal.woff2') format('woff2'); }   
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; font-display: swap; src: url('/assets/fonts/inter-latin-800-normal.woff2') format('woff2'); }   
@font-face { font-family: 'TSP Source Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/files/source-sans-3-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'TSP Source Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/files/source-sans-3-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'TSP Source Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('https://cdn.jsdelivr.net/npm/@fontsource/source-sans-3@5.0.12/files/source-sans-3-latin-700-normal.woff2') format('woff2'); }
:root {
  --tsp-ff: 'TSP Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --tsp-h-fs: 11px;   --tsp-h-fw: 800; --tsp-h-ls: 1px;  --tsp-h-c: #1e3a5f;
  --tsp-l-fs: 11.5px; --tsp-l-fw: 600; --tsp-l-ls: 0;    --tsp-l-c: #475569;
  --tsp-btn-fs: 12.5px; --tsp-btn-fw: 600; --tsp-btn-c: #334155;   
  --tsp-tag-fs: 10.5px; --tsp-tag-fw: 700; --tsp-tag-ls: .1em;   
  --tsp-cal-fs: 12px; --tsp-cal-fw: 800; --tsp-cal-ls: .06em;   
  --tsp-in-fw: 600;   
  --tsp-v-fs: 13px;   --tsp-v-fw: 700; --tsp-v-ls: 0;    --tsp-v-c: #1e293b;
  --tsp-t-fs: 13px;   --tsp-t-fw: 600; --tsp-t-lh: 1.5; --tsp-t-c: #1e293b;   
  --tsp-n-fs: 10px;   --tsp-n-fw: 800; --tsp-n-ls: 1px;   
  --tsp-fl-fs: 10px;   
  --tsp-th-fs: 11px;  --tsp-th-fw: 700; --tsp-th-ls: .5px;   
  --tsp-pn-fs: 12px;  --tsp-pn-fw: 800; --tsp-pn-c: #2563eb;  
  --tsp-ds-ff: 'TSP Source Sans', 'TSP Inter', sans-serif; --tsp-ds-fs: 13.5px; --tsp-ds-fw: 600;   
}
html body .jcv .jcv-sec-t, html body .jcv .jcv-blk-t, html body #dp-sheet .jcv .jcv-blk-t, html body #dp-sheet .dps-fu-h, html body #dp-sheet .dps-act .dps-fu-h, html body .jcv .jcv-fu-h,
html body #job-quick-edit-modal .je-inline-title, html body #job-quick-edit-modal .je-section-title-center, html body #job-quick-edit-modal .je-hero-label,
html body #est-editor-modal .je-inline-title, html body #est-editor-modal .je-section-title-center, html body #est-editor-modal .je-hero-label {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-h-fs) !important; font-weight: var(--tsp-h-fw) !important; letter-spacing: var(--tsp-h-ls) !important; text-transform: uppercase !important; }
html body .jcv .jcv-sec-t, html body #dp-sheet .dps-fu-h, html body #dp-sheet .dps-act .dps-fu-h, html body .jcv .jcv-fu-h { color: var(--tsp-h-c) !important; }
html body .jcv .jcv-k,
html body #job-quick-edit-modal .je-floating-label, html body #job-quick-edit-modal .je-f-label,
html body #est-editor-modal .je-floating-label, html body #est-editor-modal .je-f-label {
  font-family: var(--tsp-ff) !important; font-weight: var(--tsp-l-fw) !important; letter-spacing: var(--tsp-l-ls) !important; }
html body .jcv .jcv-k { font-size: var(--tsp-l-fs) !important; color: var(--tsp-l-c) !important; }
html body #job-quick-edit-modal .je-floating-label, html body #est-editor-modal .je-floating-label { font-size: var(--tsp-fl-fs) !important; }
html body .jcv .jcv-v,
html body #job-quick-edit-modal .je-floating-input input, html body #job-quick-edit-modal .je-floating-input select, html body #job-quick-edit-modal .je-f-input,
html body #est-editor-modal .je-floating-input input, html body #est-editor-modal .je-floating-input select, html body #est-editor-modal .je-f-input,
html body #job-quick-edit-modal .je-floating-input input.input-highlight-ticket, html body #est-editor-modal .je-floating-input input.input-highlight-ticket, html body #job-quick-edit-modal input#qe-phone, html body #est-editor-modal input#qe-phone {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-v-fs) !important; font-weight: var(--tsp-v-fw) !important; letter-spacing: var(--tsp-v-ls) !important; }
html body .jcv .jcv-v { color: var(--tsp-v-c); }
html body .jcv .jcv-blk-x, html body .jcv .jcv-notes, html body .jcv .jcv-notes li, html body #dp-sheet .jcv .jcv-blk-x, html body #dp-sheet .jcv .jcv-notes, html body #dp-sheet .jcv .jcv-notes li,
html body #job-quick-edit-modal .je-floating-textarea textarea, html body #job-quick-edit-modal .je-hero-card textarea, html body #job-quick-edit-modal .je-hero-content, html body #est-editor-modal .je-hero-content,
html body #est-editor-modal .je-floating-textarea textarea, html body #est-editor-modal .je-hero-card textarea {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-t-fs) !important; font-weight: var(--tsp-t-fw) !important; line-height: var(--tsp-t-lh) !important; letter-spacing: 0 !important; }
html body #job-quick-edit-modal input::placeholder, html body #est-editor-modal input::placeholder { font-weight: 400 !important; }
html body .card .jl-h > *, html body .card .jl-h .jl-hs, html body #job-quick-edit-modal #parts-header-row > div, html body #est-editor-modal #parts-header-row > div, html body .dpq-ed #parts-header-row > div, html body .dpq-ed .parts-header-row > div {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-th-fs) !important; font-weight: var(--tsp-th-fw) !important; letter-spacing: var(--tsp-th-ls) !important; }
html body .card .jl-g .jl-num, html body #parts-used-modal .pu-pn, html body #job-quick-edit-modal input.p-num, html body #est-editor-modal input.p-num, html body .dpq-ed input.p-num {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-pn-fs) !important; font-weight: var(--tsp-pn-fw) !important; letter-spacing: 0 !important; color: var(--tsp-pn-c) !important; }
html body .card .jl-g .jl-nm:not(.jl-fee .jl-nm), html body #parts-used-modal .pu-nm, html body #job-quick-edit-modal input.p-name, html body #est-editor-modal input.p-name, html body .dpq-ed input.p-name {
  font-family: var(--tsp-ds-ff) !important; font-size: var(--tsp-ds-fs) !important; font-weight: var(--tsp-ds-fw) !important; letter-spacing: 0 !important; }
html body .jcv .jcv-blk-t, html body #dp-sheet .jcv .jcv-blk-t, html body #job-quick-edit-modal .je-hero-label, html body #est-editor-modal .je-hero-label {
  font-size: var(--tsp-n-fs) !important; font-weight: var(--tsp-n-fw) !important; letter-spacing: var(--tsp-n-ls) !important; }
html body .jcv .jcv-blk:not(.jcv-empty) .jcv-blk-x, html body .jcv .jcv-blk:not(.jcv-empty) .jcv-notes, html body #dp-sheet .jcv .jcv-blk:not(.jcv-empty) .jcv-blk-x, html body #dp-sheet .jcv .jcv-sym:not(.jcv-empty) .jcv-blk-x,
html body #job-quick-edit-modal .je-hero-card .je-hero-content, html body #est-editor-modal .je-hero-card .je-hero-content { color: var(--tsp-t-c) !important; }
html body #job-quick-edit-modal .je-hero-card .je-hero-content, html body #est-editor-modal .je-hero-card .je-hero-content { text-align: left !important; }
html body #dp-sheet :where(*:not(svg, svg *)), html body .jcv :where(*:not(svg, svg *, .jcv-mono, .tsp-trk)) { font-family: var(--tsp-ff); }   
html body #job-quick-edit-modal .je-floating-label, html body #est-editor-modal .je-floating-label,
html body #job-quick-edit-modal .je-f-label, html body #est-editor-modal .je-f-label {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-l-fs) !important; font-weight: var(--tsp-l-fw) !important; letter-spacing: var(--tsp-l-ls) !important;
  color: var(--tsp-l-c) !important; text-transform: none !important; line-height: 1.2 !important; }
html body #job-quick-edit-modal .je-floating-label .je-floating-required, html body #est-editor-modal .je-floating-label .je-floating-required { font-size: inherit !important; color: #ef4444 !important; }
html body #job-quick-edit-modal .je-floating-input input, html body #job-quick-edit-modal .je-floating-input select, html body #job-quick-edit-modal .je-floating-textarea textarea,
html body #est-editor-modal .je-floating-input input, html body #est-editor-modal .je-floating-input select, html body #est-editor-modal .je-floating-textarea textarea,
html body #job-quick-edit-modal input#qe-model, html body #job-quick-edit-modal input#qe-sn, html body #job-quick-edit-modal input#qe-phone, html body #job-quick-edit-modal input#qe-ticket,
html body #est-editor-modal input#qe-model, html body #est-editor-modal input#qe-sn, html body #est-editor-modal input#qe-phone, html body #est-editor-modal input#qe-ticket,
html body #job-quick-edit-modal .je-floating-input input.input-highlight-ticket, html body #job-quick-edit-modal .je-floating-input input.input-highlight-model, html body #job-quick-edit-modal .je-floating-input input.input-highlight-sn,
html body #est-editor-modal .je-floating-input input.input-highlight-ticket, html body #est-editor-modal .je-floating-input input.input-highlight-model, html body #est-editor-modal .je-floating-input input.input-highlight-sn {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-v-fs) !important; font-weight: var(--tsp-v-fw) !important; letter-spacing: var(--tsp-v-ls) !important; }
html body #job-quick-edit-modal .je-floating-input input:not(.input-highlight-ticket):not(.input-highlight-model):not(.input-highlight-sn):not([readonly]), html body #job-quick-edit-modal .je-floating-input select:not(.tsp-prov),
html body #est-editor-modal .je-floating-input input:not(.input-highlight-ticket):not(.input-highlight-model):not(.input-highlight-sn):not([readonly]), html body #est-editor-modal .je-floating-input select:not(.tsp-prov) { color: var(--tsp-v-c) !important; }
html body #job-quick-edit-modal .je-floating-textarea textarea, html body #est-editor-modal .je-floating-textarea textarea { font-weight: var(--tsp-t-fw) !important; }
html body #job-quick-edit-modal .je-row-inline, html body #est-editor-modal .je-row-inline { padding-left: 10px !important; padding-right: 10px !important; column-gap: 6px !important; }
html body #job-quick-edit-modal .je-floating-input input, html body #job-quick-edit-modal .je-floating-input select, html body #est-editor-modal .je-floating-input input, html body #est-editor-modal .je-floating-input select { padding-left: 8px !important; padding-right: 8px !important; }
html body #job-quick-edit-modal .je-floating-input select, html body #est-editor-modal .je-floating-input select { padding-right: 24px !important; }
html body #job-quick-edit-modal .je-floating-label, html body #est-editor-modal .je-floating-label { left: 8px !important; }
html body #job-quick-edit-modal .je-floating-textarea textarea, html body #est-editor-modal .je-floating-textarea textarea { padding-left: 8px !important; padding-right: 8px !important; }
html body #job-quick-edit-modal .je-row-cust2-spacer { grid-template-columns: 90px minmax(0, 2.3fr) minmax(0, 1fr) 0 !important; }
@media (max-width: 600px) { html body #job-quick-edit-modal .je-row-cust2-spacer { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; } }
html body #job-quick-edit-modal .je-inline-title, html body #est-editor-modal .je-inline-title,
html body #job-quick-edit-modal .je-section-title-center, html body #est-editor-modal .je-section-title-center,
html body #job-quick-edit-modal .sticky-assignment > div:first-child, html body #est-editor-modal .sticky-assignment > div:first-child {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-l-fs) !important; font-weight: var(--tsp-l-fw) !important;
  letter-spacing: var(--tsp-l-ls) !important; color: var(--tsp-l-c) !important; text-transform: none !important; }
html body #job-quick-edit-modal #qe-tk-link, html body #est-editor-modal #qe-tk-link { display: none !important; }
html body #job-quick-edit-modal .je-floating-input input:not(.input-highlight-ticket):not(.input-highlight-model):not(.input-highlight-sn), html body #job-quick-edit-modal input#qe-phone,
html body #est-editor-modal .je-floating-input input:not(.input-highlight-ticket):not(.input-highlight-model):not(.input-highlight-sn), html body #est-editor-modal input#qe-phone,
html body #job-quick-edit-modal .je-floating-input select, html body #est-editor-modal .je-floating-input select { font-weight: var(--tsp-in-fw) !important; }
html body #job-quick-edit-modal .je-floating-input select, html body #est-editor-modal .je-floating-input select { padding-top: 16px !important; padding-bottom: 0 !important; line-height: 20px !important; }
html body #dp-sheet .tag-label, html body .jcv .tag-label, html body #job-quick-edit-modal .tag-label, html body #est-editor-modal .tag-label,
html body #dp-sheet .dps-fu-b button, html body .jcv .jcv-fu-b button {
  font-family: var(--tsp-ff) !important; font-size: var(--tsp-btn-fs) !important; font-weight: var(--tsp-btn-fw) !important; letter-spacing: 0 !important; text-transform: none !important; }
html body #dp-sheet .tag-label:not(.active-tag), html body .jcv .tag-label:not(.active-tag), html body #job-quick-edit-modal .tag-label:not(.active-tag), html body #est-editor-modal .tag-label:not(.active-tag) { color: var(--tsp-btn-c) !important; }
html body #dp-sheet .tag-label, html body .jcv .tag-label, html body #job-quick-edit-modal .tag-label, html body #est-editor-modal .tag-label {
  font-size: var(--tsp-tag-fs) !important; font-weight: var(--tsp-tag-fw) !important; letter-spacing: var(--tsp-tag-ls) !important; text-transform: uppercase !important; }
html body .admin-cal-btn span.ac-date { font-family: var(--tsp-ff) !important; font-size: var(--tsp-cal-fs) !important; font-weight: var(--tsp-cal-fw) !important; letter-spacing: var(--tsp-cal-ls) !important; text-transform: uppercase !important; }
