@import 'InvoiceDashboard.WebApp.Client.a7346scszg.bundle.scp.css';
@import '_content/WMBlazorOverlayScrollbars/WMBlazorOverlayScrollbars.bundle.scp.css';

/* /Components/Pages/Public/PrivacyPolicy.razor.rz.scp.css */
.pp-root[b-7gq48akag2] {
    --pp-surface: var(--custom-white, #fff);
    --pp-text: var(--default-text-color, #232427);
    --pp-muted: var(--text-muted, #8c9097);
    --pp-border: var(--default-border, #eef0f3);
    --pp-primary: rgb(var(--primary-rgb, 91, 86, 229));
    min-height: 100vh;
    color: var(--pp-text);
}

.pp-top[b-7gq48akag2] {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 12px 24px;
    background: var(--pp-surface);
    border-bottom: 1px solid var(--pp-border);
}

.pp-brand[b-7gq48akag2] { display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.3px; }
.pp-mark[b-7gq48akag2] {
    width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center;
    background: var(--pp-primary); color: #fff; font-weight: 800;
}

.pp-lang[b-7gq48akag2] { display: flex; gap: 4px; }
.pp-lang-link[b-7gq48akag2] {
    display: inline-flex; align-items: center; min-height: 44px; padding: 6px 10px;
    border-radius: 8px; font-size: 13px; font-weight: 600;
    color: var(--pp-muted); text-decoration: none;
}
.pp-lang-link:hover[b-7gq48akag2] { color: var(--pp-text); }
.pp-lang-link.active[b-7gq48akag2] { color: var(--pp-primary); background: rgba(var(--primary-rgb, 91, 86, 229), .10); }

.pp-main[b-7gq48akag2] { padding: 24px 16px 48px; }
.pp-card[b-7gq48akag2] { max-width: 860px; margin: 0 auto; border-radius: 14px; }
.pp-body[b-7gq48akag2] { padding: 32px 36px; }
.pp-title[b-7gq48akag2] { font-size: 28px; font-weight: 800; letter-spacing: -.4px; margin: 0 0 6px; }
.pp-updated[b-7gq48akag2] { display: flex; align-items: center; gap: 6px; margin: 0 0 24px; font-size: 13px; color: var(--pp-muted); }

/* The fragment comes in through MarkupString, so its elements carry no scope attribute → ::deep. */
.pp-content[b-7gq48akag2]  h2 { font-size: 18px; font-weight: 700; margin: 28px 0 10px; }
.pp-content[b-7gq48akag2]  p, .pp-content[b-7gq48akag2]  li { font-size: 14.5px; line-height: 1.65; }
.pp-content[b-7gq48akag2]  ul { padding-inline-start: 22px; }
.pp-content[b-7gq48akag2]  .pp-lead { font-size: 16px; }
.pp-content[b-7gq48akag2]  .pp-address {
    padding: 12px 16px; border-radius: 6px;
    border-inline-start: 3px solid var(--pp-primary);
    background: rgba(var(--primary-rgb, 91, 86, 229), .05);
}
.pp-content[b-7gq48akag2]  .pp-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 12px 0; }
.pp-content[b-7gq48akag2]  table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 13.5px; }
.pp-content[b-7gq48akag2]  th, .pp-content[b-7gq48akag2]  td {
    text-align: start; vertical-align: top; padding: 8px 10px;
    border-bottom: 1px solid var(--pp-border);
}
.pp-content[b-7gq48akag2]  th { font-weight: 700; background: rgba(var(--primary-rgb, 91, 86, 229), .04); }
.pp-content[b-7gq48akag2]  code { font-size: 12.5px; }
.pp-content[b-7gq48akag2]  a { color: var(--pp-primary); }

@media (max-width: 640px) {
    .pp-top[b-7gq48akag2] { padding: 10px 16px; }
    .pp-body[b-7gq48akag2] { padding: 20px 16px; }
    .pp-title[b-7gq48akag2] { font-size: 22px; }
}
/* /Components/Pages/Public/QuoteSigning.razor.rz.scp.css */
/* Public quote-signing page — chrome-free, token-driven styling matching the
   InvoiceDashboard design system. Colors come ONLY from CSS custom properties.
   The mock's type-accent hexes are mapped to named local variables here so no raw
   hex appears in any selector. */
.qs-root[b-5jz5t9dws5] {
    /* design tokens (mapped from the handoff "Design Tokens" table) */
    --qs-surface: var(--mud-palette-surface, #fff);
    --qs-bg: var(--gray-2, #eef1f6);
    --qs-border: var(--border, #eef0f3);
    --qs-text: var(--default-text-color, #232427);
    --qs-muted: var(--text-muted, #8c9097);
    /* the app exposes the accent as --primary-color / --primary-rgb (styles.css);
       there is NO bare --primary token. Alias it locally so the filled primary
       button, brand mark, badge and focus rings render in the brand colour. */
    --qs-primary: var(--primary-color, rgb(var(--primary-rgb)));
    /* type accents (handoff): PDF, image, result-ok, result-error */
    --qs-accent-pdf: #d4563b;
    --qs-accent-pdf-rgb: 212, 86, 59;
    --qs-accent-img: #109e78;
    --qs-accent-img-rgb: 38, 191, 148;
    --qs-accent-ok: #109e78;
    --qs-accent-ok-rgb: 38, 191, 148;
    --qs-accent-no: #dc4a3d;
    --qs-accent-no-rgb: 239, 68, 68;

    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    background: var(--qs-bg);
    color: var(--qs-text);
    font-family: var(--bs-body-font-family, inherit);
    z-index: 0;
}

/* loading / centered */
.qs-center[b-5jz5t9dws5] {
    flex: 1;
    display: grid;
    place-items: center;
}

.qs-spinner[b-5jz5t9dws5] {
    width: 38px;
    height: 38px;
    border: 3px solid var(--qs-border);
    border-top-color: var(--qs-primary);
    border-radius: 50%;
    animation: qs-spin-b-5jz5t9dws5 .8s linear infinite;
}

@keyframes qs-spin-b-5jz5t9dws5 {
    to {
        transform: rotate(360deg);
    }
}

/* ============ Zone 1: top bar ============ */
.qs-top[b-5jz5t9dws5] {
    height: 60px;
    flex: none;
    background: var(--qs-surface);
    border-bottom: 1px solid var(--qs-border);
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 20px;
    z-index: 20;
}

.qs-brand[b-5jz5t9dws5] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.qs-mark[b-5jz5t9dws5] {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: var(--qs-primary);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 15px;
    box-shadow: 0 2px 8px rgba(var(--primary-rgb), .4);
}

.qs-nm[b-5jz5t9dws5] {
    font-weight: 700;
    font-size: 15px;
    letter-spacing: -.2px;
    color: var(--qs-text);
}

.qs-divider[b-5jz5t9dws5] {
    width: 1px;
    height: 26px;
    background: var(--qs-border);
}

.qs-ref[b-5jz5t9dws5] {
    line-height: 1.2;
    min-width: 0;
}

.qs-ref-t[b-5jz5t9dws5] {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--qs-text);
    white-space: nowrap;
}

.qs-ref-s[b-5jz5t9dws5] {
    font-size: 11.5px;
    color: var(--qs-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qs-spacer[b-5jz5t9dws5] {
    flex: 1;
}

.qs-status[b-5jz5t9dws5] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 28px;
    padding: 0 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.qs-status .qs-dot[b-5jz5t9dws5] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.qs-status-awaiting[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .10);
    color: var(--qs-primary);
}

.qs-status-awaiting .qs-dot[b-5jz5t9dws5] {
    background: var(--qs-primary);
}

.qs-status-signed[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-ok-rgb), .14);
    color: var(--qs-accent-ok);
}

.qs-status-signed .qs-dot[b-5jz5t9dws5] {
    background: var(--qs-accent-ok);
}

.qs-status-declined[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-no-rgb), .12);
    color: var(--qs-accent-no);
}

.qs-status-declined .qs-dot[b-5jz5t9dws5] {
    background: var(--qs-accent-no);
}

.qs-tools[b-5jz5t9dws5] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.qs-iconbtn[b-5jz5t9dws5] {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    border: none;
    background: transparent;
    color: var(--qs-muted);
    cursor: pointer;
    font-size: 19px;
    display: grid;
    place-items: center;
    transition: .15s;
}

.qs-iconbtn:hover[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .08);
    color: var(--qs-primary);
}

.qs-iconbtn:disabled[b-5jz5t9dws5] {
    opacity: .5;
    cursor: default;
}

.qs-has-badge[b-5jz5t9dws5] {
    position: relative;
}

.qs-badge[b-5jz5t9dws5] {
    position: absolute;
    top: 3px;
    right: 3px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 9px;
    background: var(--qs-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: grid;
    place-items: center;
    line-height: 1;
    box-shadow: 0 0 0 2px var(--qs-surface);
}

/* ============ Zone 2: document stage ============ */
.qs-scroll[b-5jz5t9dws5] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 24px 20px 94px;
    display: flex;
    flex-direction: column;
}

.qs-pdf[b-5jz5t9dws5] {
    /* fill the whole document stage so the PDF (canvas pages OR the cross-origin
       iframe fallback, whose height:100% needs a definite parent) uses all the
       available space instead of collapsing to the 150px iframe default. */
    flex: 1 1 auto;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    min-height: 0;
    overflow: auto;
    position: relative; /* stacking context for the double-buffered fallback iframes */
}

/* Neutral placeholder shown when no quote PDF is available. It must NOT mimic the
   quote as HTML — just a centered "preview unavailable" card. */
.qs-doc-unavailable[b-5jz5t9dws5] {
    width: 100%;
    max-width: 460px;
    align-self: center;
    margin: 8vh auto 0;
    background: var(--qs-surface);
    border: 1px solid var(--qs-border);
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(20, 30, 60, .06), 0 18px 50px -24px rgba(20, 40, 90, .30);
    padding: 40px 36px;
    text-align: center;
}

.qs-unavailable-ic[b-5jz5t9dws5] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    font-size: 30px;
    background: rgba(var(--primary-rgb), .10);
    color: var(--qs-primary);
}

.qs-unavailable-ttl[b-5jz5t9dws5] {
    font-size: 17px;
    font-weight: 700;
    color: var(--qs-text);
    margin-bottom: 8px;
}

.qs-unavailable-sub[b-5jz5t9dws5] {
    font-size: 13px;
    color: var(--qs-muted);
    line-height: 1.5;
}

/* ============ Zone 3: action bar ============ */
.qs-bar[b-5jz5t9dws5] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    background: var(--qs-surface);
    border-top: 1px solid var(--qs-border);
    box-shadow: 0 -6px 24px -16px rgba(20, 40, 90, .30);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qs-hint[b-5jz5t9dws5] {
    position: absolute;
    left: 24px;
    font-size: 12.5px;
    color: var(--qs-muted);
    display: flex;
    align-items: center;
    gap: 7px;
}

.qs-hint i[b-5jz5t9dws5] {
    font-size: 16px;
}

.qs-zoom[b-5jz5t9dws5] {
    position: absolute;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 2px;
}

.qs-zl[b-5jz5t9dws5] {
    font-size: 12px;
    color: var(--qs-muted);
    width: 44px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* ============ buttons ============ */
.qs-btn[b-5jz5t9dws5] {
    height: 46px;
    padding: 0 26px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: .15s;
}

.qs-btn:disabled[b-5jz5t9dws5] {
    opacity: .6;
    cursor: default;
}

.qs-btn i[b-5jz5t9dws5] {
    font-size: 18px;
    line-height: 1;
}

.qs-btn-primary[b-5jz5t9dws5] {
    background: var(--qs-primary);
    color: #fff;
}

.qs-btn-primary:hover:not(:disabled)[b-5jz5t9dws5] {
    filter: brightness(.96);
}

.qs-btn-light[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .04);
    border-color: var(--qs-border);
    color: var(--qs-text);
}

.qs-btn-light:hover:not(:disabled)[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .08);
}

.qs-btn-danger[b-5jz5t9dws5] {
    background: var(--qs-accent-no);
    color: #fff;
}

.qs-btn-danger:hover:not(:disabled)[b-5jz5t9dws5] {
    filter: brightness(.96);
}

/* ============ Zones 4/5/7: overlay + modal ============ */
.qs-overlay[b-5jz5t9dws5] {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: rgba(20, 28, 44, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    backdrop-filter: blur(2px);
}

.qs-overlay.open[b-5jz5t9dws5] {
    animation: qs-fade-b-5jz5t9dws5 .18s ease both;
}

@keyframes qs-fade-b-5jz5t9dws5 {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.qs-modal[b-5jz5t9dws5] {
    width: 100%;
    max-width: 540px;
    background: var(--qs-surface);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(15, 25, 55, .40);
    animation: qs-rise-b-5jz5t9dws5 .24s cubic-bezier(.2, .8, .3, 1) both;
}

@keyframes qs-rise-b-5jz5t9dws5 {
    from {
        transform: translateY(16px) scale(.98);
        opacity: .6;
    }

    to {
        transform: none;
        opacity: 1;
    }
}

.qs-modal-sm[b-5jz5t9dws5] {
    max-width: 480px;
}

.qs-modal-attach[b-5jz5t9dws5] {
    max-width: 520px;
}

.qs-modal-head[b-5jz5t9dws5] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    border-bottom: 1px solid var(--qs-border);
}

.qs-modal-ttl[b-5jz5t9dws5] {
    font-size: 16.5px;
    font-weight: 700;
    color: var(--qs-text);
    display: flex;
    align-items: center;
    gap: 9px;
}

.qs-modal-ttl i[b-5jz5t9dws5] {
    color: var(--qs-primary);
}

.qs-count[b-5jz5t9dws5] {
    color: var(--qs-muted);
    font-weight: 600;
}

.qs-x[b-5jz5t9dws5] {
    width: 34px;
    height: 34px;
    border-radius: 9px;
    border: none;
    background: rgba(var(--primary-rgb), .06);
    color: var(--qs-muted);
    cursor: pointer;
    font-size: 18px;
    display: grid;
    place-items: center;
}

.qs-x:hover[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .12);
    color: var(--qs-primary);
}

.qs-modal-body[b-5jz5t9dws5] {
    padding: 20px 22px 8px;
}

.qs-att-body[b-5jz5t9dws5] {
    padding-bottom: 20px;
}

.qs-lbl[b-5jz5t9dws5] {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--qs-text);
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.qs-help[b-5jz5t9dws5] {
    font-weight: 500;
    color: var(--qs-muted);
    font-size: 11.5px;
}

.qs-modal-foot[b-5jz5t9dws5] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 22px 20px;
}

.qs-modal-foot .qs-btn[b-5jz5t9dws5] {
    height: 44px;
    padding: 0 20px;
}

.qs-grow[b-5jz5t9dws5] {
    flex: 1;
}

/* ============ Zone 4: signature pad ============ */
.qs-pad-wrap[b-5jz5t9dws5] {
    position: relative;
    border: 1.5px dashed var(--qs-border);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    transition: border-color .15s;
}

.qs-pad-error[b-5jz5t9dws5] {
    border-style: solid;
    border-color: var(--qs-accent-no);
}

.qs-pad[b-5jz5t9dws5] {
    display: block;
    width: 100%;
    height: 210px;
    touch-action: none;
    cursor: crosshair;
}

/* ============ inline feedback (sign / decline) ============ */
.qs-msg[b-5jz5t9dws5] {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.4;
    padding: 9px 12px;
    border-radius: 10px;
}

.qs-msg i[b-5jz5t9dws5] {
    font-size: 16px;
    flex: none;
}

.qs-msg-error[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-no-rgb), .10);
    color: var(--qs-accent-no);
}

/* ============ Zone 5: decline reason ============ */
.qs-reason[b-5jz5t9dws5] {
    width: 100%;
    min-height: 84px;
    resize: vertical;
    border: 1.5px solid var(--qs-border);
    border-radius: 11px;
    padding: 11px 13px;
    font-family: inherit;
    font-size: 13.5px;
    color: var(--qs-text);
    outline: none;
}

.qs-reason:focus[b-5jz5t9dws5] {
    border-color: var(--qs-primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), .14);
}

/* ============ Zone 7: attachments list ============ */
.qs-att-list[b-5jz5t9dws5] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.qs-att-row[b-5jz5t9dws5] {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 11px 13px;
    border: 1px solid var(--qs-border);
    border-radius: 12px;
    background: var(--qs-surface);
    cursor: pointer;
    transition: .15s;
    text-align: left;
    width: 100%;
}

.qs-att-row:hover[b-5jz5t9dws5] {
    border-color: var(--qs-primary);
    background: rgba(var(--primary-rgb), .04);
}

.qs-att-ic[b-5jz5t9dws5] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex: none;
    display: grid;
    place-items: center;
    font-size: 20px;
}

.qs-att-pdf[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-pdf-rgb), .12);
    color: var(--qs-accent-pdf);
}

.qs-att-img[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-img-rgb), .14);
    color: var(--qs-accent-img);
}

.qs-att-doc[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .12);
    color: var(--qs-primary);
}

.qs-att-meta[b-5jz5t9dws5] {
    flex: 1;
    min-width: 0;
    line-height: 1.3;
}

.qs-att-nm[b-5jz5t9dws5] {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--qs-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qs-att-sub[b-5jz5t9dws5] {
    font-size: 11.5px;
    color: var(--qs-muted);
}

.qs-att-go[b-5jz5t9dws5] {
    color: var(--qs-muted);
    font-size: 18px;
    flex: none;
}

.qs-att-row:hover .qs-att-go[b-5jz5t9dws5] {
    color: var(--qs-primary);
}

/* ============ Zone 7: attachment viewer ============ */
.qs-viewer[b-5jz5t9dws5] {
    position: fixed;
    inset: 0;
    z-index: 65;
    background: rgba(20, 28, 44, .78);
    display: flex;
    flex-direction: column;
    backdrop-filter: blur(3px);
}

.qs-viewer.open[b-5jz5t9dws5] {
    animation: qs-fade-b-5jz5t9dws5 .18s ease both;
}

.qs-viewer-top[b-5jz5t9dws5] {
    height: 58px;
    flex: none;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 18px;
    background: rgba(20, 28, 44, .55);
    color: #fff;
}

.qs-vback[b-5jz5t9dws5] {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    border: none;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
    font-size: 19px;
    display: grid;
    place-items: center;
}

.qs-vback:hover[b-5jz5t9dws5] {
    background: rgba(255, 255, 255, .22);
}

.qs-vmeta[b-5jz5t9dws5] {
    line-height: 1.25;
    min-width: 0;
}

.qs-vnm[b-5jz5t9dws5] {
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qs-vsub[b-5jz5t9dws5] {
    font-size: 11.5px;
    color: rgba(255, 255, 255, .6);
}

.qs-vdl[b-5jz5t9dws5] {
    height: 38px;
    padding: 0 15px;
    border-radius: 9px;
    border: none;
    background: #fff;
    color: var(--qs-text);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.qs-vdl:hover[b-5jz5t9dws5] {
    filter: brightness(.97);
}

.qs-vdl i[b-5jz5t9dws5] {
    font-size: 17px;
}

.qs-viewer-stage[b-5jz5t9dws5] {
    flex: 1;
    overflow: auto;
    padding: 28px 20px 40px;
    display: flex;
    justify-content: center;
}

.qs-viewer-pdf[b-5jz5t9dws5] {
    width: 100%;
    max-width: 760px;
    align-self: flex-start;
}

.qs-viewer-img[b-5jz5t9dws5] {
    max-width: 100%;
    max-height: 100%;
    align-self: flex-start;
    border-radius: 8px;
    box-shadow: 0 20px 60px -20px rgba(0, 0, 0, .5);
    object-fit: contain;
}

/* ============ Zone 6: result overlay ============ */
.qs-result[b-5jz5t9dws5] {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: var(--qs-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.qs-result.open[b-5jz5t9dws5] {
    animation: qs-fade-b-5jz5t9dws5 .25s ease both;
}

.qs-result-card[b-5jz5t9dws5] {
    background: var(--qs-surface);
    border-radius: 18px;
    padding: 48px 52px;
    text-align: center;
    max-width: 460px;
    box-shadow: 0 24px 60px -30px rgba(30, 50, 90, .32), 0 1px 2px rgba(40, 50, 80, .04);
}

.qs-result-ic[b-5jz5t9dws5] {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    margin: 0 auto 22px;
    display: grid;
    place-items: center;
    font-size: 42px;
}

.qs-result-ic.ok[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-ok-rgb), .14);
    color: var(--qs-accent-ok);
}

.qs-result-ic.no[b-5jz5t9dws5] {
    background: rgba(var(--qs-accent-no-rgb), .12);
    color: var(--qs-accent-no);
}

.qs-result-ic.neutral[b-5jz5t9dws5] {
    background: rgba(var(--primary-rgb), .10);
    color: var(--qs-primary);
}

.qs-result-card h2[b-5jz5t9dws5] {
    font-size: 22px;
    font-weight: 800;
    color: var(--qs-text);
    margin: 0 0 10px;
    letter-spacing: -.4px;
}

.qs-result-card p[b-5jz5t9dws5] {
    font-size: 14px;
    color: var(--qs-muted);
    line-height: 1.6;
    margin: 0;
}

.qs-ref-mini[b-5jz5t9dws5] {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--qs-border);
    font-size: 12.5px;
    color: var(--qs-muted);
}

/* ============ responsive ============ */
@media (max-width: 640px) {
    .qs-ref-s[b-5jz5t9dws5] {
        display: none;
    }

    .qs-hint[b-5jz5t9dws5],
    .qs-zoom[b-5jz5t9dws5] {
        display: none;
    }

    .qs-bar[b-5jz5t9dws5] {
        justify-content: stretch;
    }

    .qs-bar .qs-btn[b-5jz5t9dws5] {
        flex: 1;
        padding: 0 14px;
    }

    /* #708 AC1 (round 2 fix): the round-1 fix below (.qs-status flex:none) correctly stopped the
       pill from shrinking, but that alone pushed the entire row deficit onto .qs-ref, which
       inherits an unconditional `min-width: 0` (see the base .qs-ref rule above) with the flex
       default `flex-shrink: 1` — so on a row too narrow for brand + divider + ref + spacer +
       pill + tools, the browser shrank .qs-ref all the way to width:0, making the quote number
       completely invisible (tester repro, test-round1.md AC1). Fix: let .qs-top wrap so the
       status pill (and tools) drop to their own second line whenever the first line can't fit
       everything — line-breaking uses each item's natural (unshrunk) width, so .qs-ref keeps its
       full content width on line 1 instead of being squeezed. The min-width floor on .qs-ref is
       defense-in-depth for any width where both still share one line (e.g. between 640px and a
       genuinely tiny phone): it guarantees the ellipsis rule below always has non-zero room to
       render at least a few characters, never a total collapse. */
    .qs-top[b-5jz5t9dws5] {
        flex-wrap: wrap;
        height: auto;
        min-height: 60px;
        row-gap: 8px;
        padding: 10px 20px;
    }

    .qs-status[b-5jz5t9dws5] {
        flex: none;
        white-space: nowrap;
    }

    .qs-ref[b-5jz5t9dws5] {
        min-width: 96px;
    }

    .qs-ref-t[b-5jz5t9dws5] {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* #708 AC3: the sign/decline modal footer (.qs-modal-foot, shared by both modals) laid out
       Redo/Cancel/Confirm (or Cancel/Confirm-decline) in one non-wrapping row with a flexible
       spacer (.qs-grow) pushing the primary action past the modal's own overflow:hidden edge at
       phone width — Confirm was clipped off-screen and untappable. Let the footer wrap onto a
       second line and give the spacer a full-width flex-basis so it forces that line break
       instead of squeezing button widths; the remaining buttons then share the row evenly. */
    .qs-modal-foot[b-5jz5t9dws5] {
        flex-wrap: wrap;
    }

    .qs-modal-foot .qs-grow[b-5jz5t9dws5] {
        flex-basis: 100%;
        height: 0;
    }

    .qs-modal-foot .qs-btn[b-5jz5t9dws5] {
        flex: 1 1 auto;
        padding: 0 14px;
    }
}

/* #744 — privacy-policy link in the result cards and under the document stage */
.qs-legal[b-5jz5t9dws5] { font-size: 12.5px; color: var(--qs-muted); text-align: center; }
.qs-result-card .qs-legal[b-5jz5t9dws5] { margin-top: 18px; }          /* beats .qs-result-card p { margin: 0 } */
.qs-legal-stage[b-5jz5t9dws5] { padding: 12px 16px 0; }                 /* .qs-scroll already pads 94px for the fixed bar (:228) */
.qs-legal-link[b-5jz5t9dws5] { color: var(--qs-muted); text-decoration: underline; text-underline-offset: 2px; }
.qs-legal-link:hover[b-5jz5t9dws5] { color: var(--qs-primary); }
/* /Components/Pages/Public/SecurityPolicy.razor.rz.scp.css */
.pp-root[b-yk0tysfi22] {
    --pp-surface: var(--custom-white, #fff);
    --pp-text: var(--default-text-color, #232427);
    --pp-muted: var(--text-muted, #8c9097);
    --pp-border: var(--default-border, #eef0f3);
    --pp-primary: rgb(var(--primary-rgb, 91, 86, 229));
    min-height: 100vh;
    color: var(--pp-text);
}

.pp-top[b-yk0tysfi22] {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 12px 24px;
    background: var(--pp-surface);
    border-bottom: 1px solid var(--pp-border);
}

.pp-brand[b-yk0tysfi22] { display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.3px; }
.pp-mark[b-yk0tysfi22] {
    width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center;
    background: var(--pp-primary); color: #fff; font-weight: 800;
}

.pp-lang[b-yk0tysfi22] { display: flex; gap: 4px; }
.pp-lang-link[b-yk0tysfi22] {
    display: inline-flex; align-items: center; min-height: 44px; padding: 6px 10px;
    border-radius: 8px; font-size: 13px; font-weight: 600;
    color: var(--pp-muted); text-decoration: none;
}
.pp-lang-link:hover[b-yk0tysfi22] { color: var(--pp-text); }
.pp-lang-link.active[b-yk0tysfi22] { color: var(--pp-primary); background: rgba(var(--primary-rgb, 91, 86, 229), .10); }

.pp-main[b-yk0tysfi22] { padding: 24px 16px 48px; }
.pp-card[b-yk0tysfi22] { max-width: 860px; margin: 0 auto; border-radius: 14px; }
.pp-body[b-yk0tysfi22] { padding: 32px 36px; }
.pp-title[b-yk0tysfi22] { font-size: 28px; font-weight: 800; letter-spacing: -.4px; margin: 0 0 6px; }
.pp-updated[b-yk0tysfi22] { display: flex; align-items: center; gap: 6px; margin: 0 0 24px; font-size: 13px; color: var(--pp-muted); }

/* The fragment comes in through MarkupString, so its elements carry no scope attribute → ::deep. */
.pp-content[b-yk0tysfi22]  h2 { font-size: 18px; font-weight: 700; margin: 28px 0 10px; }
.pp-content[b-yk0tysfi22]  p, .pp-content[b-yk0tysfi22]  li { font-size: 14.5px; line-height: 1.65; }
.pp-content[b-yk0tysfi22]  ul { padding-inline-start: 22px; list-style: disc; }
.pp-content[b-yk0tysfi22]  .pp-lead { font-size: 16px; }
.pp-content[b-yk0tysfi22]  a { color: var(--pp-primary); }

@media (max-width: 640px) {
    .pp-top[b-yk0tysfi22] { padding: 10px 16px; }
    .pp-body[b-yk0tysfi22] { padding: 20px 16px; }
    .pp-title[b-yk0tysfi22] { font-size: 22px; }
}
