
  :root {
    --tsp-primary:#2563eb; --tsp-primary-h:#1d4ed8; --tsp-primary-a:#1e40af;
    --tsp-on:#ffffff; --tsp-line:#cbd5e1; --tsp-ink:#334155; --tsp-tonal:#e8eefc; --tsp-tonal-ink:#1e3a8a;
    --tsp-success:#059669; --tsp-danger:#dc2626; --tsp-amber:#d97706;
  }
  * { scrollbar-width:thin; scrollbar-color:rgba(100,116,139,0.45) transparent; }
  ::-webkit-scrollbar { width:10px; height:10px; }
  ::-webkit-scrollbar-track { background:transparent; }
  ::-webkit-scrollbar-thumb { background:rgba(100,116,139,0.45); border-radius:10px; border:3px solid transparent; background-clip:content-box; }
  ::-webkit-scrollbar-thumb:hover { background:rgba(100,116,139,0.7); background-clip:content-box; }
  ::-webkit-scrollbar-corner { background:transparent; }
  .tsp-btn,
  .je-btn, .ua-btn, .mc-btn, .calc-btn, .inv-btn, #pdf-review .pr-btn,
  .su-btn-save, .su-btn-close, .tn-btn-save, .tn-btn-cancel, .sym-btn-next, .sym-btn-cancel,
  .p-confirm-btn, .p-cancel-btn, #custom-modal-overlay .confirm-btn, #custom-modal-overlay .cancel-btn,
  .mh-close-btn, .close-contact-btn-styled, .asm-save-btn, .asm-close-btn, .ai-conf-btn, .ai-cancel-btn,
  #tsp-text-modal .tt-btn, .est-act, #est-result-overlay .est-act,
  #pu-cancel-btn, #pu-confirm-btn, #sig-save-btn, #sig-skip-cancel, #np-cancel, #np-save {
    height:44px !important; min-height:44px !important; padding-top:0 !important; padding-bottom:0 !important;
    padding-left:20px !important; padding-right:20px !important;
    border-radius:22px !important; font-size:14px !important; font-weight:700 !important; letter-spacing:0.1px !important;
    text-transform:none !important; line-height:1.1 !important; box-sizing:border-box !important;
    box-shadow:none !important; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    transition:background-color .15s, border-color .15s, box-shadow .15s, transform .08s !important;
    -webkit-tap-highlight-color:transparent;
  }
  #tsp-text-modal a.tt-btn, a.est-act { line-height:44px !important; padding-top:0 !important; padding-bottom:0 !important; }
  .tsp-btn:active:not(:disabled), .je-btn:active:not(:disabled), .ua-btn:active, .mc-btn:active, .calc-btn:active, .inv-btn:active:not(:disabled),
  #pdf-review .pr-btn:active:not(:disabled), .su-btn-save:active:not(:disabled), .su-btn-close:active, .tn-btn-save:active, .tn-btn-cancel:active,
  .sym-btn-next:active, .sym-btn-cancel:active, .p-confirm-btn:active, .p-cancel-btn:active, #custom-modal-overlay .confirm-btn:active,
  #custom-modal-overlay .cancel-btn:active, .mh-close-btn:active, .close-contact-btn-styled:active, .asm-save-btn:active, .asm-close-btn:active { transform:scale(0.97) !important; }
  .tsp-btn:disabled, .je-btn:disabled, .su-btn-save:disabled, .tn-btn-save:disabled, .inv-btn:disabled, #pdf-review .pr-btn:disabled, .asm-save-btn:disabled { opacity:0.45 !important; cursor:default !important; }
  .tsp-btn:focus-visible, .je-btn:focus-visible, .inv-btn:focus-visible { outline:3px solid rgba(37,99,235,0.35); outline-offset:2px; }
  html body .tsp-btn.filled, html body .je-btn-save, html body .ua-btn-save, html body .mc-btn-save, html body .calc-btn.btn-save,
  html body .su-btn-save, html body .tn-btn-save, html body .sym-btn-next, html body .p-confirm-btn, html body .asm-save-btn, html body .ai-conf-btn,
  html body #tsp-text-modal .tt-btn.pri, html body .est-act.primary, html body #np-save {
    background:var(--tsp-primary); color:var(--tsp-on); border:none;
  }
  html body #custom-modal-overlay .confirm-btn { background:var(--tsp-primary) !important; color:#fff !important; border:none !important; }
  html body #custom-modal-overlay .confirm-btn.tsp-danger-ok { background:var(--tsp-danger) !important; }   
  html body .tsp-btn.filled:hover:not(:disabled), html body .je-btn-save:hover, html body .ua-btn-save:hover, html body .mc-btn-save:hover, html body .calc-btn.btn-save:hover,
  html body .tn-btn-save:hover:not(:disabled), html body .sym-btn-next:hover, html body .p-confirm-btn:hover, html body .asm-save-btn:hover:not(:disabled) { background:var(--tsp-primary-h); }
  html body .tsp-btn.filled.success, html body #pu-confirm-btn, html body #sig-save-btn { background:var(--tsp-success); color:#fff; border:none; }
  html body .tsp-btn.filled.success:hover:not(:disabled) { background:#047857; }
  html body .tsp-btn.filled.danger { background:var(--tsp-danger); }
  html body #est-editor-modal .je-btn-save, html body #job-quick-edit-modal.estimate-mode .je-btn-save { background:var(--tsp-amber) !important; }
  html body #est-editor-modal .je-btn-save:hover { background:#b45309 !important; }
  html body .tsp-btn.outlined, html body .je-btn-cancel, html body .ua-btn-cancel, html body .mc-btn-cancel, html body .calc-btn.btn-close,
  html body .su-btn-close, html body .tn-btn-cancel, html body .sym-btn-cancel, html body .p-cancel-btn, html body .mh-close-btn,
  html body .close-contact-btn-styled, html body .ai-cancel-btn, html body #tsp-text-modal .tt-btn.sec, html body .est-act.secondary,
  html body #np-cancel, html body #pu-cancel-btn, html body #sig-skip-cancel, html body .inv-btn.btn-inv-close {
    background:#fff; color:var(--tsp-ink); border:1px solid var(--tsp-line);
  }
  html body #custom-modal-overlay .cancel-btn { background:#fff !important; color:var(--tsp-ink) !important; border:1px solid var(--tsp-line) !important; }
  html body .tsp-btn.outlined:hover, html body .je-btn-cancel:hover, html body .ua-btn-cancel:hover, html body .mc-btn-cancel:hover, html body .calc-btn.btn-close:hover,
  html body .su-btn-close:hover, html body .tn-btn-cancel:hover, html body .sym-btn-cancel:hover, html body .p-cancel-btn:hover, html body .mh-close-btn:hover,
  html body .close-contact-btn-styled:hover, html body .inv-btn.btn-inv-close:hover { background:#f1f5f9; }
  html body .est-act.close { background:transparent; color:#64748b; border:none; }
  html body .asm-close-btn, html body #pdf-review .pr-btn:not(.pri) { background:rgba(255,255,255,0.08); color:#e2e8f0; border:1px solid rgba(255,255,255,0.22); }
  html body .asm-close-btn:hover, html body #pdf-review .pr-btn:not(.pri):hover { background:rgba(255,255,255,0.16); color:#fff; }
  html body #pdf-review .pr-btn.pri { background:var(--tsp-primary); color:#fff; border:none; }
  html body #pdf-review .pr-btn.pri:hover:not(:disabled) { background:var(--tsp-primary-h); }
  html body .tsp-btn.tonal, html body .inv-btn.btn-inv-copy, html body .inv-btn.btn-inv-dl { background:var(--tsp-tonal); color:var(--tsp-tonal-ink); border:none; }
  html body .tsp-btn.tonal:hover:not(:disabled), html body .inv-btn.btn-inv-copy:hover, html body .inv-btn.btn-inv-dl:hover { background:#dbe4fb; }
  html body .inv-btn.btn-inv-send { background:var(--tsp-success); color:#fff; border:none; }
  html body .inv-btn.btn-inv-pdf { background:var(--tsp-primary); color:#fff; border:none; }
  html body .tsp-btn.text { background:transparent; border:none; color:var(--tsp-primary); padding-left:12px !important; padding-right:12px !important; }
  html body .tsp-btn.text:hover { background:rgba(37,99,235,0.08); }
  html body .tsp-btn.text.danger { color:var(--tsp-danger); }
  html body .tsp-btn.text.danger:hover { background:rgba(220,38,38,0.08); }
  .tsp-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; border:none; font-family:inherit; }
  .tsp-btn.sm, .rp-btn, .el-new, .el-ref {
    height:36px !important; min-height:36px !important; padding:0 16px !important; border-radius:18px !important;
    font-size:13px !important; font-weight:700 !important; letter-spacing:0.1px !important; text-transform:none !important; box-shadow:none !important; border:none;
  }
  html body .rp-btn { background:var(--tsp-primary); color:#fff; }
  html body .rp-btn.sec { background:var(--tsp-tonal); color:var(--tsp-tonal-ink); }
  html body .el-new { background:var(--tsp-amber); color:#fff; }
  html body .el-ref { background:var(--tsp-tonal); color:var(--tsp-tonal-ink); }
  .rp-btn:active, .el-new:active, .el-ref:active { transform:scale(0.97); }
  #schedule-uploader-modal .su-btn-save, #schedule-uploader-modal .su-btn-close { height:36px !important; min-height:36px !important; border-radius:18px !important; font-size:13px !important; padding:0 16px !important; }
  .tsp-icon-btn, .ai-close, .opt-close {
    width:40px !important; height:40px !important; min-width:40px !important; padding:0 !important; border-radius:50% !important;
    border:none !important; font-size:22px !important; line-height:40px !important; text-align:center !important; cursor:pointer;
    flex-shrink:0; transition:background-color .15s;
  }
  .tsp-icon-btn { display:inline-flex; align-items:center; justify-content:center; background:transparent; color:#475569; }
  .tsp-icon-btn svg { width:22px; height:22px; fill:currentColor; }
  html body .tsp-icon-btn:hover, html body .ai-close:hover { background:rgba(15,23,42,0.07); }
  html body #est-editor-modal .ee-x:hover { background:rgba(146,64,14,0.1); }
  html body #pdf-review .pr-x:hover, html body .opt-close:hover { background:rgba(255,255,255,0.14); }
  #tsp-map-tip { display:none; position:fixed; z-index:2147483000; max-width:300px; padding:10px 12px; border-radius:10px; background:#ffffff; border:1px solid #e2e8f0; color:#1e293b; font:500 12.5px/1.45 var(--tsp-ff, Inter, sans-serif); box-shadow:0 10px 24px rgba(2,6,23,.16); pointer-events:none; }   
  #tsp-map-tip > div { margin:0; }
  #tsp-map-tip .tt-h { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
  #tsp-map-tip .tt-h b { font-size:13.5px; font-weight:700; color:#0f172a; font-variant-numeric:tabular-nums; }
  #tsp-map-tip .tt-h .tt-bt { font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#64748b; }
  #tsp-map-tip .tt-st { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:2px !important; font-size:12px; color:#475569; }
  #tsp-map-tip .tt-st i { font-style:normal; font-weight:700; color:#2563eb; }
  #tsp-map-tip .tt-st span::before { content:'·'; margin-right:6px; color:#cbd5e1; }
  #tsp-map-tip .tt-c { display:flex; gap:8px; flex-wrap:wrap; margin-top:6px !important; }
  #tsp-map-tip .tt-c strong { font-weight:600; color:#0f172a; } #tsp-map-tip .tt-c span { color:#475569; font-weight:500; font-variant-numeric:tabular-nums; }
  #tsp-map-tip .tt-a { color:#334155; }
  #tsp-map-tip .tt-m { color:#94a3b8; font-size:11.5px; font-weight:600; letter-spacing:.02em; }
  html body #tsp-map-tip .t2-cw { margin-top:8px; padding:7px 10px 8px; border-radius:10px; background:#f0fdfa; border:1px solid #99f6e4; max-width:340px; }
  html body #tsp-map-tip .t2-cw1 { display:flex; align-items:center; gap:6px; font:600 11.5px var(--tsp-ff, Inter, sans-serif); color:#0f766e; white-space:nowrap; }
  html body #tsp-map-tip .t2-cw1 svg { width:13px; height:13px; flex:none; } html body #tsp-map-tip .t2-cw1 b { font-weight:800; } html body #tsp-map-tip .t2-cw1 span::before { content:'·'; margin-right:6px; color:#5eead4; }
  html body #tsp-map-tip .t2-cw2 { margin-top:3px; font:500 12.5px/1.4 var(--tsp-ff, Inter, sans-serif); color:#134e4a; white-space:pre-wrap; word-break:break-word; }
  html[data-theme="dark"] body #tsp-map-tip .t2-cw { background:#042f2e; border-color:#115e59; } html[data-theme="dark"] body #tsp-map-tip .t2-cw1 { color:#5eead4; } html[data-theme="dark"] body #tsp-map-tip .t2-cw2 { color:#ccfbf1; }
  #tsp-map-tip .tt-n { margin-top:4px !important; color:#475569; } #tsp-map-tip .tt-n i { font-style:normal; font-weight:700; color:#b45309; margin-right:4px; }
  #tsp-map-tip b { font-weight:700; } #tsp-map-tip i { font-style:normal; }
  #tsp-map-tip .tt-eta { display:block; font-style:normal; margin-top:8px; padding-top:7px; border-top:1px solid #eef2f6; }
  #tsp-map-tip .tt-eta u { display:block; text-decoration:none; font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#1e3a5f; margin-bottom:4px; }
  #tsp-map-tip .tt-eta span { display:grid; grid-template-columns:auto auto; justify-content:space-between; column-gap:16px; row-gap:2px; color:#0f172a; font-weight:600; }
  #tsp-map-tip .tt-eta span b, #tsp-map-tip .tt-eta span i { white-space:nowrap; }
  #tsp-map-tip .tt-eta span i { font-style:normal; font-weight:600; color:#475569; } #tsp-map-tip .tt-eta span b { font-weight:700; color:#0f172a; font-variant-numeric:tabular-nums; text-align:right; }
  html body #fub-modal .fub-ib.x, html body #est-editor-modal .ee-x {
    width:34px !important; height:34px !important; min-width:34px !important; padding:0 !important; border-radius:50% !important; border:none !important;
    background:#e11d48 !important; color:#fff !important; font-size:22px !important; line-height:34px !important; box-shadow:0 2px 6px rgba(225,29,72,.35); display:inline-flex; align-items:center; justify-content:center; }
  html body #fub-modal .fub-ib.x svg { width:20px; height:20px; fill:#fff; }
  html body #fub-modal .fub-ib.x:hover, html body #est-editor-modal .ee-x:hover { background:#be123c !important; }
  html body .tsp-szb { position:fixed; z-index:2147483600; pointer-events:none; background:#1e2a44; color:#fff; font:700 13px 'Inter', sans-serif; padding:7px 11px; border-radius:9px; box-shadow:0 6px 16px rgba(2,6,23,.25); white-space:nowrap; }
  html body .tsp-szb i { font-style:normal; font-weight:600; opacity:.7; }
  html body :is(#il-modal .il-sc, .mh-sb-c, #cx-modal .cx-chip, #contact-modal .ct-chip, #est-list-modal .el-scard) { line-height:16px !important; }
  html body :is(#il-modal .il-sc, .mh-sb-c, #cx-modal .cx-chip, #contact-modal .ct-chip) > i, html body #est-list-modal .el-scard .k > i { width:8px !important; height:8px !important; border-radius:50% !important; flex:0 0 8px !important; display:inline-block; }
  html body :is(#il-modal .il-sc > b, .mh-sb-c > b, #cx-modal .cx-chip > .n, #contact-modal .ct-chip > .n, #est-list-modal .el-scard .v b) { display:inline-flex !important; align-items:center; justify-content:center; height:18px !important; min-width:20px; box-sizing:border-box; line-height:1 !important; padding:0 6px !important; font-variant-numeric:tabular-nums; vertical-align:middle; }
  html body #est-list-modal .el-scard :is(.k, .v) { display:inline-flex; align-items:center; line-height:16px; }
  html body :is(.tsp-xr, .tsp-cx), html body #schedule-uploader-modal .su-x { width:26px !important; height:26px !important; min-width:26px !important; max-width:26px !important; padding:0 !important; border-radius:50% !important; border:none !important; background:#e11d48 !important; color:#fff !important; box-shadow:0 1px 4px rgba(225,29,72,.35) !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; flex:0 0 auto !important; line-height:1 !important; font-size:0 !important; cursor:pointer; transition:background-color .15s; }
  html body :is(.tsp-xr, .tsp-cx) svg, html body #schedule-uploader-modal .su-x svg { width:14px !important; height:14px !important; fill:#fff !important; stroke:none !important; display:block; }
  html body :is(.tsp-xr, .tsp-cx):hover, html body #schedule-uploader-modal .su-x:hover { background:#be123c !important; color:#fff !important; } html body :is(.tsp-xr, .tsp-cx):focus-visible { outline:2px solid #fda4af; outline-offset:2px; }
  html body #mail-panel .mp-hd .mp-ic, html body #mail-panel .mp-hd .mp-acct.mp-gear, html body #tsp-msg .tm-del {
    width:32px !important; height:32px !important; min-width:32px !important; padding:0 !important; border:0 !important; border-radius:8px !important; background:transparent !important; box-shadow:none !important; color:#334155 !important; align-items:center !important; justify-content:center !important; }
  html body #mail-panel .mp-hd .mp-ic svg, html body #mail-panel .mp-hd .mp-acct.mp-gear svg, html body #tsp-msg .tm-del svg { width:20px !important; height:20px !important; fill:none !important; stroke:currentColor !important; stroke-width:2 !important; }
  html body #mail-panel .mp-hd .mp-ic:hover, html body #mail-panel .mp-hd .mp-acct.mp-gear:hover, html body #tsp-msg .tm-del:hover { background:#eef2f7 !important; color:#0f172a !important; }
  html body #tsp-msg .tm-del { color:#e11d48 !important; }   
  html[data-tsp-mail]:not([data-tsp-mail="default"]) body #mail-panel :is(.mp-ic, .mp-gear), html[data-theme="dark"] body :is(#mail-panel, #tsp-msg) :is(.mp-ic, .mp-gear) { color:#e2e8f0 !important; }
  html body :is(.el-head, .il-hd, .iv-head, .mh-header, .ct-head, .cx-head, .bk-hd, .tsp-dph) > .tsp-cx { margin-left:auto !important; }   
  html body #tsp-msg .tm-del svg { width:17px !important; height:17px !important; }   
  html body .tsp-dph { display:flex !important; align-items:center; gap:8px; height:56px; min-height:56px; margin:0 !important; padding:0 12px 0 16px; border-bottom:1px solid #e2e8f0; background:#fff; flex:0 0 auto; box-sizing:border-box; }
  html body .tsp-dph h3 { margin:0 !important; font:800 17.5px/1.2 'Inter', sans-serif !important; letter-spacing:-.2px; color:#0f172a !important; text-align:left !important; flex:0 0 auto !important; white-space:nowrap; }
  html body .tsp-dph .tsp-dpi { display:inline-flex; color:#0f172a; } html body .tsp-dph .tsp-dpi svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  html body .tsp-dph .tsp-dpsp { flex:1 1 auto; min-width:8px; }
  html body .tsp-dph [id$="-note"] { font:600 11px 'Inter', sans-serif; color:#b45309; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
  html body .tsp-dpt { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
  html body .tsp-dpt button { font-family:'Inter', sans-serif; cursor:pointer; }
  html body .tsp-dpt svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none; }
  html body .tsp-dseg { display:inline-flex; border:1px solid #e2e8f0; border-radius:9px; background:#fff; overflow:hidden; }
  html body .tsp-dseg > button { display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 11px; border:0; background:transparent; color:#334155; font-size:12px; font-weight:700; }
  html body .tsp-dseg > button + button { border-left:1px solid #e2e8f0; }
  html body .tsp-dseg > button:hover:not(:disabled), html body .tsp-dzoom > button:hover { background:#f1f5f9; color:#0f172a; }
  html body .tsp-dseg > button:disabled { opacity:.5; cursor:default; }
  html body .tsp-dzoom { display:inline-flex; align-items:center; height:32px; border:1px solid #e2e8f0; border-radius:9px; background:#fff; overflow:hidden; }
  html body .tsp-dzoom > button { width:30px; height:100%; border:0; background:transparent; color:#334155; display:inline-flex; align-items:center; justify-content:center; padding:0; }
  html body .tsp-dzoom .tsp-dzv { min-width:42px; text-align:center; font:700 12px 'Inter', sans-serif; color:#0f172a; font-variant-numeric:tabular-nums; }
  html body .tsp-dsend { display:inline-flex; align-items:center; gap:6px; height:34px; padding:0 14px; border:0; border-radius:9px; background:#2563eb; color:#fff; font-size:12.5px; font-weight:700; }   
  html body .tsp-dsend:hover:not(:disabled) { background:#1d4ed8; } html body .tsp-dsend:disabled { opacity:.55; cursor:default; }
  html body .tsp-dph > .tsp-cx { margin-left:4px; }
  html body .tsp-dpbox > .tsp-dpf { flex:1 1 auto; min-height:0; border:0 !important; border-radius:0 !important; background:#fff !important; margin:0 !important; }
  html body .tsp-dpbox > .tsp-dpf iframe { background:#fff !important; }
  html body .tsp-dpf iframe.tsp-dpf-wait { visibility:hidden !important; }
  :where(body) { cursor:default; }
  :where(a[href], button:not(:disabled), [role="button"], [role="tab"], [role="link"], select, summary, label:has(> input[type="checkbox"]), label:has(> input[type="radio"]), input[type="checkbox"], input[type="radio"], [onclick], [data-a], [data-k][data-iv], [data-pmv]) { cursor:pointer; }
  :where(button:disabled, [aria-disabled="true"]) { cursor:default; }
  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="range"]):not([type="color"]):not([type="file"]), textarea, [contenteditable="true"], [contenteditable=""]) { cursor:text; }   
  @media (min-width:761px) {
    html body .tsp-dpv.custom-modal-overlay { padding:0 !important; overflow:hidden !important; }
    html body .tsp-dpv .tsp-dpbox { position:fixed !important; top:0 !important; bottom:0 !important; left:calc(50% - var(--tsp-dpw, 900px) / 2) !important; width:var(--tsp-dpw, 900px) !important; max-width:100vw !important; height:auto !important; max-height:none !important; min-height:0 !important;
      margin:0 !important; padding:0 !important; border-radius:0 !important; display:flex !important; flex-direction:column; background:#fff !important; box-shadow:0 0 40px rgba(2,6,23,.25) !important; overflow:visible !important; }
  }
  @media (max-width:760px) {
    html body .tsp-dph { flex-wrap:wrap; height:auto; padding:8px 10px; row-gap:8px; }
    html body .tsp-dph .tsp-dpt { order:9; width:100%; }
    html body .tsp-dph .tsp-dseg { flex:1 1 auto; } html body .tsp-dph .tsp-dseg > button { flex:1 1 0; justify-content:center; }
    html body .tsp-dph .tsp-dzoom { display:none; }
  }
  #modal-buttons-confirm, #modal-buttons-alert { gap:10px !important; }
  .inv-btn-group, #pdf-review .pr-foot, .calc-btn-group, .mc-btn-group { gap:10px !important; }
  #main-dropdown { min-width:270px; }
  #main-dropdown .menu-item { white-space:nowrap; }
  #main-dropdown .menu-item { flex-wrap:wrap; row-gap:6px; }
  #main-dropdown .menu-item svg { flex-shrink:0; }
  #main-dropdown .menu-item .est-badges { flex-wrap:nowrap; }
  @media (max-width:640px) { #main-dropdown .menu-item .est-badges { flex-basis:100%; margin-left:32px; flex-wrap:wrap; gap:5px; } #main-dropdown .menu-item .est-badges > span { padding:0 7px !important; font-size:11px !important; } #main-dropdown .menu-item .est-badges:empty { display:none; } }
  @media (max-width:640px) {
    .tsp-btn, .je-btn, .ua-btn, .mc-btn, .calc-btn, .inv-btn, #pdf-review .pr-btn, .tn-btn-save, .tn-btn-cancel, .sym-btn-next, .sym-btn-cancel,
    .p-confirm-btn, .p-cancel-btn, #custom-modal-overlay .confirm-btn, #custom-modal-overlay .cancel-btn, .mh-close-btn, .close-contact-btn-styled {
      height:46px !important; min-height:46px !important; border-radius:23px !important; padding-left:12px !important; padding-right:12px !important; font-size:14px !important;
    }
  }
  :root { --md-main:#1e2a44; --md-main-h:#283552; --md-sub:#3a4a68; --md-sub-h:#46567a; --md-soft:#e4e9f2; --md-soft-h:#d7deea; --md-ink:#1e2a44; --md-danger:#d93025; }
  .tsp-btn,
  .je-btn, .ua-btn, .mc-btn, .calc-btn, .inv-btn, #pdf-review .pr-btn,
  .su-btn-save, .su-btn-close, .tn-btn-save, .tn-btn-cancel, .sym-btn-next, .sym-btn-cancel,
  .p-confirm-btn, .p-cancel-btn, #custom-modal-overlay .confirm-btn, #custom-modal-overlay .cancel-btn,
  .mh-close-btn, .close-contact-btn-styled, .asm-save-btn, .asm-close-btn, .ai-conf-btn, .ai-cancel-btn,
  #tsp-text-modal .tt-btn, .est-act, #est-result-overlay .est-act,
  #pu-cancel-btn, #pu-confirm-btn, #sig-save-btn, #sig-skip-cancel, #np-cancel, #np-save {
    height:42px !important; min-height:42px !important; border-radius:21px !important;
    font-size:14px !important; font-weight:600 !important; letter-spacing:0.15px !important;
    padding-left:18px !important; padding-right:18px !important;
  }
  #pdf-review .pr-btn, .je-modal-footer .je-btn, .inv-btn-group .inv-btn { padding-left:8px !important; padding-right:8px !important; }
  a.est-act, #tsp-text-modal a.tt-btn { display:flex !important; align-items:center; justify-content:center; line-height:1.1 !important; }
  html body .tsp-btn.filled, html body .je-btn-save, html body .ua-btn-save, html body .mc-btn-save, html body .calc-btn.btn-save,
  html body .su-btn-save, html body .tn-btn-save, html body .sym-btn-next, html body .p-confirm-btn, html body .asm-save-btn, html body .ai-conf-btn,
  html body #tsp-text-modal .tt-btn.pri, html body .est-act.primary, html body #np-save, html body .tsp-btn.filled.success, html body #pu-confirm-btn, html body #sig-save-btn,
  html body .inv-btn.btn-inv-send, html body .inv-btn.btn-inv-pdf, html body .rp-btn,
  html body #est-editor-modal .je-btn-save, html body #job-quick-edit-modal.estimate-mode .je-btn-save,
  html body #custom-modal-overlay .confirm-btn {
    background:var(--md-main) !important; color:#fff !important; border:none !important;
  }
  html body .tsp-btn.outlined, html body .je-btn-cancel, html body .ua-btn-cancel, html body .mc-btn-cancel, html body .calc-btn.btn-close,
  html body .su-btn-close, html body .tn-btn-cancel, html body .sym-btn-cancel, html body .p-cancel-btn, html body .mh-close-btn,
  html body .close-contact-btn-styled, html body .ai-cancel-btn, html body #tsp-text-modal .tt-btn.sec, html body .est-act.secondary,
  html body #np-cancel, html body #pu-cancel-btn, html body #sig-skip-cancel, html body .inv-btn.btn-inv-close,
  html body .tsp-btn.tonal, html body .inv-btn.btn-inv-copy, html body .rp-btn.sec, html body .el-ref,
  html body #custom-modal-overlay .cancel-btn {
    background:var(--md-sub) !important; color:#fff !important; border:none !important;
  }
  html body .je-modal-footer .je-btn-pending { background:#a8661a !important; color:#fff !important; border:none !important; }
  html body .je-modal-footer .je-btn-estimate { background:#1f6f8b !important; color:#fff !important; border:none !important; }
  html body .est-act.close { background:var(--md-soft) !important; color:var(--md-ink) !important; border:none !important; }
  html body .je-btn:hover:not(:disabled), html body .inv-btn:hover:not(:disabled), html body .est-act:hover, html body #custom-modal-overlay .confirm-btn:hover,
  html body #custom-modal-overlay .cancel-btn:hover, html body .tsp-btn:hover:not(:disabled), html body .p-confirm-btn:hover, html body .p-cancel-btn:hover,
  html body #tsp-text-modal .tt-btn:hover { filter:brightness(1.25); }
  html body .est-act.close:hover { filter:none; background:var(--md-soft-h) !important; }
  html body #custom-modal-overlay .confirm-btn.tsp-danger-ok, html body .tsp-btn.filled.danger { background:var(--md-danger) !important; }
  html body #pdf-review .pr-btn.pri { background:var(--md-soft) !important; color:var(--md-ink) !important; border:none !important; }
  html body #pdf-review .pr-btn:not(.pri), html body .asm-close-btn { background:rgba(255,255,255,0.10) !important; color:#e8eaed !important; border:none !important; }
  html body #tsp-send-sheet .ss-box { font-family:Inter,Roboto,-apple-system,"Segoe UI",sans-serif; border-radius:24px 24px 0 0; }
  @media (min-width:700px) { html body #tsp-send-sheet .ss-box { border-radius:24px; } }
  html body #tsp-send-sheet .ss-grab { width:32px; background:#c4c7c5; }
  html body #tsp-send-sheet .ss-opt { background:#fff; border:1px solid #dadce0; border-radius:16px; }
  html body #tsp-send-sheet .ss-opt:hover { background:#f8f9fa; }
  html body #tsp-send-sheet #ss-sms .ss-ic { background:#e6f4ea; } html body #tsp-send-sheet #ss-sms .ss-ic svg { stroke:#137333; }
  html body #tsp-send-sheet #ss-mail .ss-ic { background:#e8f0fe; } html body #tsp-send-sheet #ss-mail .ss-ic svg { stroke:#1a73e8; }
  html body #tsp-send-sheet .ss-cancel, html body #tsp-send-sheet .pv-acts button {
    height:42px; border-radius:21px !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.15px; padding:0 18px !important; border:none;
  }
  html body #tsp-send-sheet .ss-cancel { background:var(--md-sub) !important; color:#fff !important; margin-top:6px; }
  html body #tsp-send-sheet .pv-back { background:var(--md-sub) !important; color:#fff !important; }
  html body #tsp-send-sheet .pv-send { background:var(--md-main) !important; color:#fff !important; }
  html body #tsp-send-sheet .ss-cancel:hover, html body #tsp-send-sheet .pv-acts button:hover:not([disabled]) { filter:brightness(1.25); }
  html body #tsp-send-sheet .pv-btnmock { background:var(--md-main); border-radius:16px; padding:5px 14px; }
  html body #tsp-send-sheet .pv-chip { background:#f1f3f4; color:#3c4043; border-radius:16px; }
  html body #tsp-send-sheet .pv-bar { background:#e8eaed; } html body #tsp-send-sheet .pv-bar i { background:var(--md-main); }
  html body #tsp-send-sheet .pv-pt b { color:var(--md-main); }
  html body #tsp-send-sheet .if-f input, html body #tsp-send-sheet .pv-body { border-radius:12px; border-color:#dadce0; }
  html body #tsp-send-sheet .if-f input:focus { border-color:var(--md-main); box-shadow:0 0 0 1px var(--md-main); }
  html body #custom-modal-overlay { background:rgba(15,23,42,.5); backdrop-filter:blur(3px); animation:cmFade .14s ease-out; }
  html body #custom-modal-overlay .custom-modal-box { font-family:Inter,Roboto,-apple-system,"Segoe UI",sans-serif; max-width:360px; width:calc(100% - 32px) !important; padding:22px 20px 18px; border-radius:16px; text-align:center; box-shadow:0 24px 60px rgba(15,23,42,.3); animation:cmPop .14s ease-out; }
  @keyframes cmFade { from { opacity:0; } to { opacity:1; } }
  @keyframes cmPop { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }
  #custom-modal-overlay .cm-ic { width:44px; height:44px; border-radius:50%; margin:0 auto 12px; display:flex; align-items:center; justify-content:center; }
  #custom-modal-overlay .cm-ic svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  #custom-modal-overlay .cm-ic-confirm { background:#fef3c7; color:#d97706; box-shadow:0 0 0 6px #fffbeb; }
  #custom-modal-overlay .cm-ic-alert { background:#dbeafe; color:#2563eb; box-shadow:0 0 0 6px #eff6ff; }
  #custom-modal-overlay .cm-ic-danger { background:#fee2e2; color:#dc2626; box-shadow:0 0 0 6px #fef2f2; }
  html body #custom-modal-overlay .custom-modal-box h3 { font-size:17px; font-weight:800; color:#0f172a; letter-spacing:-.2px; margin:0 0 6px; }
  html body #custom-modal-overlay .custom-modal-box p { font-size:14px; font-weight:400; color:#64748b; line-height:1.5; margin:0 0 18px; overflow-wrap:anywhere; }
  html body #custom-modal-overlay .custom-modal-box p b, html body #custom-modal-overlay .custom-modal-box p strong { color:#0f172a; font-weight:700; }
  #custom-modal-overlay .cm-msg-line { display:block; }
  #custom-modal-overlay .cm-pill { display:inline-flex; align-items:center; gap:6px; margin-top:10px; height:28px; padding:0 12px; border-radius:14px; font-size:12.5px; font-weight:700; letter-spacing:.2px; border:1px solid transparent; }
  #custom-modal-overlay .cm-pill i { width:7px; height:7px; border-radius:50%; background:currentColor; }
  #custom-modal-overlay .cm-pill-ok { background:#ecfdf5; color:#047857; border-color:#a7f3d0; }
  #custom-modal-overlay .cm-pill-diag { background:#fffbeb; color:#b45309; border-color:#fde68a; }
  #custom-modal-overlay .cm-pill-resch { background:#faf5ff; color:#7e22ce; border-color:#e9d5ff; }
  #custom-modal-overlay .cm-pill-info { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
  html body #custom-modal-overlay .custom-button-group { gap:8px; }
  html body #custom-modal-overlay .confirm-btn, html body #custom-modal-overlay .cancel-btn, html body #custom-modal-overlay #confirm-only-btn {
    height:40px !important; min-height:40px !important; border-radius:10px !important; padding:0 14px !important; font-size:13.5px !important; font-weight:700 !important;
    letter-spacing:0 !important; box-shadow:none !important; filter:none !important; transform:none; flex:1 1 0; width:100%; cursor:pointer; }
  html body #custom-modal-overlay .cancel-btn { background:#fff !important; color:#334155 !important; border:1px solid #cbd5e1 !important; }
  html body #custom-modal-overlay .cancel-btn:hover { background:#f8fafc !important; }
  html body #custom-modal-overlay .confirm-btn, html body #custom-modal-overlay #confirm-only-btn { background:#1e2a44 !important; color:#fff !important; border:none !important; }
  html body #custom-modal-overlay .confirm-btn:hover, html body #custom-modal-overlay #confirm-only-btn:hover { background:#283552 !important; }
  html body #custom-modal-overlay .confirm-btn.tsp-danger-ok { background:#dc2626 !important; }
  html body #custom-modal-overlay .confirm-btn.tsp-danger-ok:hover { background:#b91c1c !important; }
  html body #custom-modal-overlay .confirm-btn:active, html body #custom-modal-overlay .cancel-btn:active, html body #custom-modal-overlay #confirm-only-btn:active { transform:scale(.98) !important; }
  html body #tsp-toast { position:fixed; left:50%; bottom:28px; transform:translate(-50%,16px); max-width:min(92vw,520px); background:#1e2a44; color:#fff; font-family:'Inter',-apple-system,'Segoe UI',sans-serif; font-size:13.5px; font-weight:600; line-height:1.4; padding:10px 18px; border-radius:12px; box-shadow:0 8px 24px rgba(15,23,42,.25); z-index:2147483000; opacity:0; pointer-events:none; transition:opacity .18s, transform .18s; text-align:center; }
  html body #tsp-toast.show { opacity:1; transform:translate(-50%,0); }
  html body:not(#mz1):not(#mz2) input.money { color:#166534 !important; background-color:#f0fdf4 !important; border-color:#86efac !important; font-weight:700 !important; background-image:var(--tsp-cur-img) !important; background-repeat:no-repeat !important; background-position:10px center !important; padding-left:var(--tsp-cur-pad, 24px) !important; }
  html body:not(#mz1):not(#mz2) input.money:focus { background-color:#fff !important; border-color:#16a34a !important; }
  html body:not(#mz1):not(#mz2) input.money[readonly], html body:not(#mz1):not(#mz2) input.money:disabled { background-color:#f0fdf4 !important; opacity:1; }
  html[data-theme="dark"] body:not(#mz1):not(#mz2) input.money { color:#86efac !important; background-color:#052e16 !important; border-color:#166534 !important; }
  @media (max-width: 760px) {
    html body :is(#il-modal .il-hd, #cx-modal .cx-head, #ivt-modal .iv-head, #contact-modal .ct-head) > :not(.tsp-wti):not(h2):not(.tsp-cx) { order:2; }
    html body :is(#il-modal .il-hd, #cx-modal .cx-head, #ivt-modal .iv-head, #contact-modal .ct-head) > .tsp-cx { order:1; margin-left:auto !important; }
    html body :is(#il-modal .il-hd, #cx-modal .cx-head, #ivt-modal .iv-head, #contact-modal .ct-head) > h2 { flex:1 1 0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }   
  }
