/* Shared visual foundation for isolated LERP prototypes.
   Keep production business screens out of this layer by scoping everything to .lerp-prototype. */
.lerp-prototype {
    --prototype-color-ink: #18251f;
    --prototype-color-muted: #68746e;
    --prototype-color-primary: #1f6b4f;
    --prototype-color-primary-dark: #174c3a;
    --prototype-color-primary-soft: #e8f2ed;
    --prototype-color-surface: #f8faf8;
    --prototype-color-surface-muted: #f3f6f3;
    --prototype-color-border: #dce3df;
    --prototype-color-danger: #a34b44;
    --prototype-radius-sm: 7px;
    --prototype-radius-md: 9px;
    --prototype-radius-lg: 13px;
    --prototype-shadow-card: 0 7px 22px rgba(29, 56, 43, .055);
    --prototype-shadow-popup: 0 18px 38px rgba(24, 48, 37, .16);
    --prototype-focus-ring: 0 0 0 3px rgba(31, 107, 79, .14);
    --prototype-space-1: 4px;
    --prototype-space-2: 8px;
    --prototype-space-3: 12px;
    --prototype-space-4: 16px;

    /* Compatibility aliases used by the existing prototype styles. */
    --ink: var(--prototype-color-ink);
    --muted: var(--prototype-color-muted);
    --green: var(--prototype-color-primary);
    --green-dark: var(--prototype-color-primary-dark);
    --soft: var(--prototype-color-surface-muted);
    --line: var(--prototype-color-border);
    --lerp-ink: var(--prototype-color-ink);
    --lerp-blue: var(--prototype-color-primary);
    --lerp-blue-dark: var(--prototype-color-primary-dark);
    --lerp-blue-soft: var(--prototype-color-primary-soft);
    --lerp-border: var(--prototype-color-border);
    --lerp-border-accent: #b8d6c8;
    --lerp-border-light: #e9eeeb;
    --lerp-muted: var(--prototype-color-muted);
    --lerp-surface: var(--prototype-color-surface-muted);
    --lerp-danger: var(--prototype-color-danger);
    --lerp-shadow-card: var(--prototype-shadow-card);

    color: var(--prototype-color-ink);
}

.lerp-prototype *,
.lerp-prototype *::before,
.lerp-prototype *::after {
    box-sizing: border-box;
}

.lerp-prototype button,
.lerp-prototype input,
.lerp-prototype select,
.lerp-prototype textarea,
.lerp-prototype summary {
    font: inherit;
    outline-offset: 3px;
}

.lerp-prototype button:focus-visible,
.lerp-prototype input:focus-visible,
.lerp-prototype select:focus-visible,
.lerp-prototype textarea:focus-visible,
.lerp-prototype summary:focus-visible {
    outline: 3px solid rgba(31, 107, 79, .28);
}

.lerp-prototype .prototype-card {
    border: 1px solid var(--prototype-color-border);
    border-radius: var(--prototype-radius-lg);
    background: #fff;
    box-shadow: var(--prototype-shadow-card);
}

.lerp-prototype .prototype-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--prototype-space-1);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 750;
}

.lerp-prototype .prototype-icon-button {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 1px solid var(--prototype-color-border);
    border-radius: var(--prototype-radius-md);
    background: #fff;
}

.lerp-prototype .prototype-icon-button > .material-icons {
    font-size: 1.125rem;
    line-height: 1;
}

@media print {
    @page {
        size: A4;
        margin: 10mm;
    }

    body.quick-quote-printing {
        margin: 0 !important;
        background: #fff !important;
    }

    body.quick-quote-printing > :not(.quick-quote-print-root) {
        display: none !important;
    }

    body.quick-quote-printing .quick-quote-print-root {
        display: block !important;
        width: 100% !important;
        color: #18251f !important;
        background: #fff !important;
    }

    body.quick-quote-printing .quick-quote-print-root .preview-paper {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-shadow: none !important;
    }

    body.quick-quote-printing .quick-quote-print-root .quick-quote-document {
        width: 100% !important;
        max-width: none !important;
    }

    body.quick-quote-printing .quick-quote-print-root .quick-quote-document-terms {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    body.quick-quote-printing .quick-quote-print-root .quick-quote-document-option {
        overflow: visible !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    body.quick-quote-printing .quick-quote-print-root .quick-quote-document-line,
    body.quick-quote-printing .quick-quote-print-root .quick-quote-document-total {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    body.quick-quote-printing .quick-quote-print-root .quick-quote-document,
    body.quick-quote-printing .quick-quote-print-root .quick-quote-document * {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}
