/* Fonts are bundled with the plugin (same-origin) so PDFs render text correctly. */
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/red-hat-text-300.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/red-hat-text-400.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/red-hat-text-500.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/red-hat-text-600.woff2) format("woff2")}
@font-face{font-family:"Red Hat Text";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/red-hat-text-700.woff2) format("woff2")}
/* Shared by the rep app and the customer page. */
:root{
  --bg:#F1F1F1; --surface:#FFFFFF; --sunk:#F6F7F8; --ink:#33393F; --muted:#5E666E; --line:#DDDDDD; --heading:#003A5D;
  --navy:#003A5D; --blue:#0F75BC; --sky:#00AEF0; --red:#DD3333; --accent:#0F75BC; --good:#2E7A4C; --warn:#B3362C;
  --bronze:#8A5A2E; --gold:#8F6E12; --econ:#0F75BC;
  --font:"Red Hat Text","Helvetica Neue",Arial,sans-serif; --r:12px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:var(--accent)}

.lockup{display:inline-flex;flex-direction:column;align-items:stretch;position:relative}
.lockup img{display:block;width:100%;height:auto}
.lockup .tm{position:absolute;right:-6%;top:66%;font-size:9px;font-weight:700;color:#0F75BC}
.lockup .ha{font-weight:700;text-align:center;color:#003A5D;white-space:nowrap;line-height:1}

.btn{font:600 14px var(--font);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:200px;padding:9px 16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.btn:hover{border-color:#B9C3CB}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn.blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn.red{background:var(--red);color:#fff;border-color:var(--red)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.sm{font-size:13px;padding:6px 12px}

/* Offscreen PDF render stage. Reset numeric/kerning features that html2canvas measures badly. */
#docStage{position:absolute;left:-12000px;top:0;width:816px;pointer-events:none;font-variant-numeric:normal;font-feature-settings:normal;font-variant-ligatures:none;font-kerning:none;letter-spacing:0;line-height:normal;text-rendering:geometricPrecision}
#docStage *{font-variant-numeric:normal;font-feature-settings:normal}

.spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dbqspin .7s linear infinite;vertical-align:-2px}
@keyframes dbqspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
