.pcq-shell {
    --pcq-primary: #2814e8;
    --pcq-primary-strong: #0814dd;
    --pcq-primary-dark: #112a72;
    --pcq-green: #0a8b16;
    --pcq-green-soft: #f0fbf2;
    --pcq-warning: #a15c00;
    --pcq-warning-soft: #fff8e8;
    --pcq-ink: #1f2937;
    --pcq-muted: #667085;
    --pcq-border: #dfe3eb;
    --pcq-border-soft: #eaecf0;
    --pcq-soft-blue: #eef3ff;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0 0 42px;
    color: var(--pcq-ink);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.55;
}
.pcq-shell, .pcq-shell * { box-sizing: border-box; }
.pcq-shell h2, .pcq-shell h3, .pcq-shell p { font-family: inherit; text-transform: none; }

/* A declaração acompanha a borda esquerda do conteúdo da página,
   sem uma segunda centralização que deslocava o documento. */
.pcq-content { width: 100%; min-width: 0; }
.pcq-document-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 20px;
}
.pcq-print {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 40px;
    padding: 9px 18px;
    border: 1.5px solid var(--pcq-primary);
    border-radius: 999px;
    background: #fff;
    color: var(--pcq-primary);
    font: inherit;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
}
.pcq-print:hover, .pcq-print:focus-visible { background: var(--pcq-primary); color: #fff; }

.pcq-document {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 28px 48px 46px;
    border: 1px solid var(--pcq-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(16,24,40,.07);
    color:#111827;
}
.pcq-document-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:30px;
}
.pcq-document-brand { min-width:220px; }
.pcq-document-brand img { display:block; max-width:230px; max-height:78px; width:auto; height:auto; object-fit:contain; }
.pcq-document-brand strong { color:var(--pcq-primary); font-size:1.65rem; letter-spacing:.02em; }
.pcq-document-identification {
    min-width:min(420px, 50%);
    display:grid;
    grid-template-columns: 110px 1fr;
    gap: 5px 12px;
    font-size:.92rem;
}
.pcq-document-identification span { color:#667085; }
.pcq-document-identification strong { color:#101828; font-weight:700; }
.pcq-document-rule { height:3px; margin:24px 0 34px; background:linear-gradient(90deg,var(--pcq-primary),#315cce); }
.pcq-document h3 {
    margin:0 0 34px;
    text-align:center;
    color:#111827;
    font-size:1.22rem;
    line-height:1.45;
    font-weight:800;
}
.pcq-document-body { font-size:1rem; line-height:1.8; }
.pcq-document-body p { margin:0 0 22px; text-align:justify; }
.pcq-document-date { margin-top:42px !important; text-align:left !important; }
.pcq-signature {
    width:max-content;
    max-width:100%;
    margin:52px auto 0;
    text-align:left;
}
.pcq-signature strong {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    color:#101828;
    font-size:1rem;
    line-height:1.15;
    font-weight:800;
    letter-spacing:0;
    white-space:nowrap;
}
.pcq-signature strong span {
    display:block;
    margin:0;
    color:inherit;
    font:inherit;
    line-height:inherit;
    letter-spacing:0;
}
.pcq-signature > .pcq-signature-full {
    display:block;
    margin-top:4px;
    color:#475467;
    font-size:.72rem;
    line-height:1.25;
    letter-spacing:0;
    white-space:nowrap;
}
.pcq-print-root { display:none !important; }

.pcq-pending-panel {
    display:grid;
    grid-template-columns:54px 1fr;
    gap:18px;
    padding:24px 26px;
    border:1px solid #eed18d;
    border-left:4px solid #d89500;
    border-radius:10px;
    background:var(--pcq-warning-soft);
}
.pcq-pending-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#fff0c7;
    color:#9a5c00;
    font-size:1.35rem;
    font-weight:800;
}
.pcq-pending-panel h3 { margin:0 0 8px; color:#694100; font-size:1.12rem; }
.pcq-pending-panel p { margin:0 0 10px; color:#5d4a25; }
.pcq-pending-contact { margin-bottom:0 !important; }

.pcq-message {
    padding:16px 18px;
    border-left:3px solid var(--pcq-primary);
    border-radius:8px;
    background:var(--pcq-soft-blue);
    color:#344054;
}
.pcq-error { border-left-color:#d92d20; background:#fff7f6; }
.pcq-debug { margin-top:12px; padding:12px; border:1px solid var(--pcq-border); border-radius:7px; background:#fff; }
.pcq-debug pre { overflow:auto; white-space:pre-wrap; }

@media (max-width: 900px) {
    .pcq-document { padding:28px 28px 38px; }
    .pcq-document-header { flex-direction:column; }
    .pcq-document-identification { width:100%; min-width:0; }
}
@media (max-width: 640px) {
    .pcq-shell { width:100%; font-size:14px; }
    .pcq-document-toolbar { justify-content: center; margin-bottom: 18px; }
    .pcq-print { max-width: 100%; white-space: normal; }
    .pcq-document { padding:24px 18px 32px; }
    .pcq-document-identification { grid-template-columns:90px 1fr; font-size:.86rem; }
    .pcq-document h3 { font-size:1rem; }
    .pcq-document-body { font-size:.94rem; }
    .pcq-pending-panel { grid-template-columns:1fr; }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 7mm 12mm 9mm;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        background: #fff !important;
    }

    /*
     * A cópia da carta é adicionada diretamente ao BODY antes da impressão.
     * Assim cabeçalho, componentes do portal, tema e containers do WordPress não ocupam
     * espaço invisível e não empurram o documento para a segunda página.
     */
    body.pcq-printing > *:not(.pcq-print-root) {
        display: none !important;
    }

    body.pcq-printing > .pcq-print-root {
        display: block !important;
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #fff !important;
        color: #000 !important;
        font-size: 10.25pt !important;
        overflow: visible !important;
        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .pcq-print-root .pcq-document-header {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 8mm !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .pcq-print-root .pcq-document-brand {
        min-width: 45mm !important;
    }

    .pcq-print-root .pcq-document-brand img {
        display: block !important;
        max-width: 50mm !important;
        max-height: 16mm !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .pcq-print-root .pcq-document-brand strong {
        color: #111 !important;
        font-size: 18pt !important;
    }

    .pcq-print-root .pcq-document-identification {
        min-width: 80mm !important;
        display: grid !important;
        grid-template-columns: 24mm 1fr !important;
        gap: 1.2mm 3mm !important;
        font-size: 8.8pt !important;
    }

    .pcq-print-root .pcq-document-identification span {
        color: #555 !important;
    }

    .pcq-print-root .pcq-document-identification strong {
        color: #000 !important;
    }

    .pcq-print-root .pcq-document-rule {
        display: block !important;
        height: 0.8mm !important;
        margin: 5mm 0 8mm !important;
        background: #111 !important;
    }

    .pcq-print-root h3 {
        display: block !important;
        margin: 0 0 8mm !important;
        text-align: center !important;
        color: #000 !important;
        font-size: 12.5pt !important;
        line-height: 1.35 !important;
        font-weight: 800 !important;
    }

    .pcq-print-root .pcq-document-body {
        display: block !important;
        font-size: 10.25pt !important;
        line-height: 1.55 !important;
    }

    .pcq-print-root .pcq-document-body p {
        display: block !important;
        margin: 0 0 5mm !important;
        text-align: justify !important;
    }

    .pcq-print-root .pcq-document-date {
        margin-top: 9mm !important;
        text-align: left !important;
    }

    /* Identificação institucional inspirada no modelo original. */
    .pcq-print-root .pcq-signature {
        display: block !important;
        width: max-content !important;
        max-width: 100% !important;
        margin: 15mm auto 0 !important;
        text-align: left !important;
        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    .pcq-print-root .pcq-signature strong {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        color: #000 !important;
        letter-spacing: 0 !important;
        font-size: 10.5pt !important;
        line-height: 1.12 !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

    .pcq-print-root .pcq-signature strong span {
        display: block !important;
        margin: 0 !important;
        color: inherit !important;
        font: inherit !important;
        line-height: inherit !important;
        letter-spacing: 0 !important;
    }

    .pcq-print-root .pcq-signature > .pcq-signature-full {
        display: block !important;
        margin-top: 1.2mm !important;
        color: #222 !important;
        font-size: 7.5pt !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    .no-print,
    .pcq-print-root .pcq-document-toolbar {
        display: none !important;
    }
}
