/* ============================================================
   LL_PSA_Cash — Venda À Vista (PSA) · tema claro Ledgerlands
   ============================================================ */

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: #f4f6fb;
    color: #1a2233;
    margin: 0;
    padding: 0;
}

.pc-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #0F2A6B, #1E40AF);
    color: #fff;
    padding: 14px 20px;
    position: sticky;
    top: 0;
    z-index: 50;
}
.pc-toolbar-title { font-size: 15px; font-weight: 800; }

.pc-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px 16px 80px;
}

.pc-card {
    background: #fff;
    border: 1px solid #e2e8f2;
    border-radius: 14px;
    padding: 20px 22px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(15, 42, 107, 0.05);
}

.pc-h {
    font-size: 14px;
    font-weight: 800;
    color: #0F2A6B;
    margin: 0 0 16px;
    letter-spacing: 0.01em;
}

.pc-grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 16px;
}
@media (max-width: 640px) { .pc-grid2 { grid-template-columns: 1fr; } }

.pc-lbl {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #556;
    margin-bottom: 4px;
}

.pc-in {
    width: 100%;
    padding: 9px 12px;
    border: 2px solid #e0e6f0;
    border-radius: 8px;
    font-size: 13px;
    font-family: inherit;
    color: #1a2233;
    background: #fff;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.15s;
}
.pc-in:focus { border-color: #1E40AF; }

.pc-inline { display: flex; align-items: center; gap: 8px; }
.pc-inline input[type="checkbox"] { width: 16px; height: 16px; accent-color: #1E40AF; }

/* Lotes */
.pc-lands { display: flex; flex-direction: column; gap: 8px; }
.pc-land {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 2px solid #e0e6f0;
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.pc-land:hover { border-color: #b9c6e6; }
.pc-land.sel { border-color: #1E40AF; background: #f5f8ff; }
.pc-land input { margin-top: 3px; width: 16px; height: 16px; accent-color: #1E40AF; }
.pc-land-body { font-size: 12px; line-height: 1.5; }
.pc-land-addr { font-weight: 700; color: #0F2A6B; }
.pc-land-meta { color: #667; }
/* Lote que ja saiu do estoque (28/Jul): continua na lista pra nao parecer que
   sumiu do cadastro, mas riscado e sem como marcar. */
.pc-land.off { opacity: .55; background: #fafafa; cursor: not-allowed; }
.pc-land.off:hover { border-color: #e2e6f0; }
.pc-land.off .pc-land-addr { text-decoration: line-through; color: #667; }
.pc-land-tag { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .3px;
    background: #FEE2E2; color: #B91C1C; border-radius: 5px; padding: 1px 6px; margin-left: 6px; }

.pc-summary {
    margin-top: 12px;
    padding: 10px 14px;
    background: #f5f8ff;
    border-radius: 8px;
    font-size: 12px;
    color: #0F2A6B;
    font-weight: 600;
}

.pc-empty { color: #99a; font-size: 13px; padding: 8px 0; }

.pc-info {
    margin-top: 14px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #fff8e6;
    border: 1px solid #f0e0b0;
    color: #8a6d00;
    font-size: 12px;
    font-weight: 600;
}

.pc-seller { background: #f8fafc; }
.pc-seller-txt { font-size: 13px; line-height: 1.7; color: #33415c; margin: 0; }

/* Botões */
.pc-btn, .pc-btn-ghost, .pc-btn-primary {
    border: none;
    border-radius: 8px;
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: transform 0.08s, box-shadow 0.15s;
}
.pc-btn { background: #e8eefc; color: #1E40AF; }
.pc-btn:hover { box-shadow: 0 2px 8px rgba(30,64,175,0.15); }
.pc-btn-primary { background: linear-gradient(135deg, #0F2A6B, #1E40AF); color: #fff; }
.pc-btn-ghost { background: #fff; color: #556; border: 1px solid #d5ddeb; }
.pc-btn:active, .pc-btn-primary:active, .pc-btn-ghost:active { transform: translateY(1px); }

.pc-actions-row { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-actions-main { margin-top: 8px; justify-content: flex-end; }

.pc-msg {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 12px;
}
.pc-msg.ok { background: #e7f6ec; color: #15803d; }
.pc-msg.err { background: #fdeaea; color: #b91c1c; }
.pc-msg.info { background: #e6effd; color: #1E40AF; }

/* Trava de auditoria (não envia sem baixar + conferir) */
.pc-gate { border: 2px solid #f0c14b; background: #fffdf5; }
.pc-gate-note { margin-top: 8px; font-size: 12px; color: #8a6d00; line-height: 1.5; }
#pcSendBtn:disabled { opacity: 0.5; cursor: not-allowed; box-shadow: none; }
#pcAudited { width: 18px; height: 18px; accent-color: #15803d; }
#pcAudited:disabled { cursor: not-allowed; }

/* Timeline de status */
.pc-timeline { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.pc-step {
    font-size: 11px;
    font-weight: 700;
    padding: 5px 11px;
    border-radius: 20px;
    background: #eef1f7;
    color: #99a;
}
.pc-step.done { background: #e7f6ec; color: #15803d; }
.pc-step.current { background: #1E40AF; color: #fff; }
.pc-step.fail { background: #fdeaea; color: #b91c1c; }

/* Selo do modo de envio: mostra na hora se o PSA que saiu VALE ou é só ensaio */
.pc-seal {
    padding: 12px 16px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 14px;
    line-height: 1.4;
    border: 2px solid;
}
.pc-seal.real { background: #e7f6ec; color: #15803d; border-color: #15803d; }
.pc-seal.test { background: #fdeaea; color: #b91c1c; border-color: #b91c1c; }
