/* ---------------------------------------------------------------------
   Paleta y tipografia tomadas del sitio de Or LeIsrael. Si tu Design
   System ya define estas variables en /_ds/.../tokens/colors.css y
   /tokens/typography.css, este CSS las va a heredar automaticamente
   gracias a los fallbacks de var(); si no existen todavia, usa los
   valores fijos que estan al lado de cada var().
   --------------------------------------------------------------------- */
:root {
    --orlp-verde-oscuro: var(--color-primary, #123b34);
    --orlp-verde-texto: var(--color-primary-dark, #0d2b26);
    --orlp-crema: var(--color-background, #f7f2e7);
    --orlp-crema-suave: var(--color-surface, #fffdf8);
    --orlp-dorado: var(--color-accent, #c98a3e);
    --orlp-dorado-suave: var(--color-accent-light, #e4b876);
    --orlp-borde: var(--color-border, #ded4bd);
    --orlp-texto: var(--color-text, #2c2a25);
    --orlp-texto-suave: var(--color-text-muted, #6b665c);
    --orlp-font-heading: var(--font-heading, 'Playfair Display', Georgia, serif);
    --orlp-font-body: var(--font-body, 'Jost', 'Segoe UI', sans-serif);
    --orlp-radius: var(--radius-md, 10px);
}

.orlp-box {
    max-width: 660px;
    margin: 3rem auto;
    padding: 2.2rem 2rem;
    background: var(--orlp-crema-suave);
    border: 1px solid var(--orlp-borde);
    border-radius: var(--orlp-radius);
    font-family: var(--orlp-font-body);
    color: var(--orlp-texto);
    box-shadow: 0 2px 14px rgba(18, 59, 52, 0.06);
}

.orlp-box h3,
.orlp-box h4 {
    font-family: var(--orlp-font-heading);
    color: var(--orlp-verde-texto);
    font-weight: 700;
    margin-top: 0;
}

.orlp-box h3 {
    font-size: 1.6rem;
}

.orlp-box h4 {
    font-size: 1.05rem;
    margin-bottom: 0.6rem;
    border-bottom: 1px solid var(--orlp-borde);
    padding-bottom: 0.4rem;
}

.orlp-box p {
    color: var(--orlp-texto-suave);
    line-height: 1.55;
}

.orlp-box label {
    display: block;
    margin-bottom: 1rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--orlp-verde-texto);
    letter-spacing: 0.02em;
}

.orlp-box input[type="text"],
.orlp-box input[type="email"] {
    display: block;
    width: 100%;
    margin-top: 0.4rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--orlp-borde);
    border-radius: 6px;
    font-size: 1rem;
    font-family: var(--orlp-font-body);
    font-weight: 400;
    background: var(--orlp-crema);
    color: var(--orlp-texto);
    box-sizing: border-box;
}

.orlp-box input:focus {
    outline: none;
    border-color: var(--orlp-dorado);
    box-shadow: 0 0 0 3px rgba(201, 138, 62, 0.18);
}

.orlp-box input[readonly] {
    background: #efe9db;
    color: var(--orlp-texto-suave);
}

.orlp-btn {
    display: inline-block;
    background: var(--orlp-verde-oscuro);
    color: #fff !important;
    border: none;
    padding: 0.75rem 1.6rem;
    border-radius: 6px;
    font-family: var(--orlp-font-body);
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s ease;
}

.orlp-btn:hover {
    background: var(--orlp-dorado);
    color: #fff;
}

.orlp-message {
    margin-top: 0.9rem;
    font-size: 0.9rem;
}

.orlp-alert {
    padding: 0.75rem 1rem;
    border-radius: 6px;
    margin-bottom: 1.2rem;
    font-size: 0.9rem;
    border: 1px solid transparent;
}

.orlp-alert-error {
    background: #fbe9e7;
    color: #8a3324;
    border-color: #e6c3ba;
}

.orlp-alert-success {
    background: #eaf1e6;
    color: var(--orlp-verde-texto);
    border-color: #cfe0c6;
}

/* --- Dashboard --- */

.orlp-dash-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.4rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--orlp-borde);
}

.orlp-dash-header p {
    margin: 0;
    font-family: var(--orlp-font-heading);
    font-size: 1.2rem;
    color: var(--orlp-verde-texto);
}

.orlp-logout {
    font-size: 0.82rem;
    color: var(--orlp-dorado);
    text-decoration: none;
    font-weight: 600;
}

.orlp-logout:hover {
    text-decoration: underline;
}

.orlp-tabs {
    display: flex;
    gap: 0.3rem;
    margin-bottom: 1.4rem;
    background: var(--orlp-crema);
    border-radius: 8px;
    padding: 0.3rem;
}

.orlp-tab-btn {
    flex: 1;
    background: none;
    border: none;
    padding: 0.6rem 0.7rem;
    cursor: pointer;
    font-family: var(--orlp-font-body);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--orlp-texto-suave);
    border-radius: 6px;
    transition: all 0.2s ease;
}

.orlp-tab-btn.active {
    color: #fff;
    background: var(--orlp-verde-oscuro);
}

.orlp-tab-panel {
    display: none;
}

.orlp-tab-panel.active {
    display: block;
}

.orlp-nahala-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.orlp-nahala-list li {
    padding: 0.75rem 1rem;
    background: var(--orlp-crema);
    border: 1px solid var(--orlp-borde);
    border-left: 3px solid var(--orlp-dorado);
    border-radius: 6px;
    margin-bottom: 0.6rem;
    font-size: 0.9rem;
}

.orlp-invoices-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.orlp-invoices-table th {
    text-align: left;
    padding: 0.6rem 0.7rem;
    background: var(--orlp-verde-oscuro);
    color: #fff;
    font-family: var(--orlp-font-body);
    font-weight: 600;
    font-size: 0.78rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.orlp-invoices-table th:first-child {
    border-top-left-radius: 6px;
}

.orlp-invoices-table th:last-child {
    border-top-right-radius: 6px;
}

.orlp-invoices-table td {
    padding: 0.6rem 0.7rem;
    border-bottom: 1px solid var(--orlp-borde);
}

.orlp-invoices-table tbody tr:nth-child(even) {
    background: var(--orlp-crema);
}

/* Wrapper de la pagina completa (le da aire arriba/abajo, como en el resto del sitio) */
.orlp-page-wrapper {
    background: var(--orlp-crema);
    padding: 3rem 1rem 4rem;
}

/* v1.7: perfil completo y teléfono internacional */
.orlp-grid { display:grid; gap:0 1rem; }
.orlp-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.orlp-section-title { margin:1.4rem 0 .9rem; padding-bottom:.45rem; border-bottom:1px solid var(--orlp-borde); color:var(--orlp-verde-texto); font-family:var(--orlp-font-heading); font-weight:700; font-size:1.05rem; }
.orlp-box input[type="tel"], .orlp-box input[type="date"], .orlp-box input[type="number"], .orlp-box select, .orlp-box textarea { width:100%; padding:.65rem .85rem; border:1px solid var(--orlp-borde); border-radius:6px; font-size:1rem; font-family:var(--orlp-font-body); background:var(--orlp-crema); color:var(--orlp-texto); box-sizing:border-box; }
.orlp-box textarea { display:block; margin-top:.4rem; resize:vertical; }
.orlp-phone-row { display:grid; grid-template-columns:minmax(210px,1.5fr) auto minmax(160px,2fr); gap:.55rem; align-items:center; margin:.4rem 0 .2rem; }
.orlp-dial-code { min-width:54px; padding:.67rem .6rem; border:1px solid var(--orlp-borde); border-radius:6px; background:#efe9db; text-align:center; font-weight:700; }
.orlp-help { margin:.25rem 0 1rem!important; font-size:.78rem; }
.orlp-record-list { display:grid; gap:.75rem; }
.orlp-record-card { padding:.9rem 1rem; background:var(--orlp-crema); border:1px solid var(--orlp-borde); border-left:3px solid var(--orlp-dorado); border-radius:6px; font-size:.9rem; line-height:1.55; }
.orlp-table-wrap { overflow-x:auto; }
@media (max-width:700px){ .orlp-grid-2{grid-template-columns:1fr}.orlp-phone-row{grid-template-columns:1fr auto}.orlp-phone-row input{grid-column:1/-1}.orlp-tabs{overflow-x:auto}.orlp-tab-btn{min-width:110px} }

/* v1.8: dropdown, repetidores y administración de fechas */
.orlp-repeater { display:grid; gap:1rem; margin-bottom:1rem; }
.orlp-repeater-row { padding:1rem; border:1px solid var(--orlp-borde); border-radius:8px; background:var(--orlp-crema); }
.orlp-row-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.8rem; color:var(--orlp-verde-texto); }
.orlp-remove-row { width:30px; height:30px; border:1px solid #d8b4aa; border-radius:50%; background:#fff; color:#9a3f2f; font-size:20px; cursor:pointer; line-height:1; }
.orlp-btn-secondary { background:transparent; border:1px solid var(--orlp-verde-oscuro); color:var(--orlp-verde-oscuro)!important; margin-right:.6rem; }
.orlp-btn-secondary:hover { background:var(--orlp-verde-oscuro); color:#fff!important; }
.orlp-repeater-form > .orlp-btn { margin-top:.4rem; }


/* v1.9: fuente de la transacción y acceso al recibo de GHL */
.orlp-payments-table td { vertical-align: middle; }
.orlp-payment-meta { display:block; margin-top:.2rem; color:var(--orlp-texto-suave); font-size:.75rem; font-weight:400; }
.orlp-payment-status { display:inline-block; padding:.24rem .48rem; border-radius:999px; background:#eaf1e6; color:var(--orlp-verde-texto); font-size:.76rem; font-weight:700; }
.orlp-receipt-link { display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; padding:.45rem .7rem; border:1px solid var(--orlp-verde-oscuro); border-radius:6px; color:var(--orlp-verde-oscuro)!important; font-weight:700; font-size:.78rem; text-decoration:none!important; }
.orlp-receipt-link:hover { background:var(--orlp-verde-oscuro); color:#fff!important; }
@media (max-width:700px){ .orlp-payments-table{min-width:760px;} }

.orlp-open-receipt{font-family:inherit;cursor:pointer}.orlp-official-receipt{display:block;margin-top:.4rem;font-size:.75rem}.orlp-payments-table td:nth-child(2){min-width:220px;white-space:normal}.orlp-payment-meta{display:block;margin-top:.25rem;color:#667}


/* v2.2: comprobante en modal, sin ventanas emergentes */
body.orlp-modal-open{overflow:hidden}
.orlp-receipt-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.orlp-receipt-backdrop{position:absolute;inset:0;background:rgba(10,35,33,.72)}
.orlp-receipt-dialog{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid var(--orlp-borde);box-shadow:0 24px 70px rgba(0,0,0,.28);padding:30px}
.orlp-receipt-close{position:absolute;right:14px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:#f1ede4;color:#123b38;font-size:26px;line-height:1;cursor:pointer}
.orlp-receipt-head{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--orlp-dorado);padding:0 40px 18px 0;margin-bottom:16px}
.orlp-receipt-head h2{margin:0;font-family:var(--orlp-font-heading);font-size:1.6rem}.orlp-receipt-head p{margin:.35rem 0 0}
.orlp-receipt-badge{display:inline-block;height:max-content;padding:.4rem .65rem;border-radius:999px;background:#e6f4e8;color:var(--orlp-verde-texto);font-weight:700}
.orlp-receipt-row{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #eee}.orlp-receipt-row span{color:var(--orlp-texto-suave)}
.orlp-receipt-total strong{font-size:1.45rem}.orlp-receipt-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
@media(max-width:600px){.orlp-receipt-dialog{padding:24px 18px}.orlp-receipt-head{display:block}.orlp-receipt-badge{margin-top:10px}.orlp-receipt-row{grid-template-columns:1fr;gap:4px}}

/* v2.3: recibo visual estilo FastPayDirect */
.orlp-fpd-dialog{width:min(980px,96vw);padding:20px;max-height:94vh;background:#f5f7f8}
.orlp-fpd-receipt{max-width:900px;margin:0 auto;background:#fff;color:#1f2f4a;border:1px solid #dfe4ea;border-radius:5px;box-shadow:0 2px 7px rgba(0,0,0,.18);padding:28px 16px 42px;font-family:Arial,Helvetica,sans-serif}
.orlp-fpd-top{display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid #222;margin:0 0 44px;padding:0 0 2px}.orlp-fpd-title{font-size:35px;line-height:1;font-weight:400;color:#050505}
.orlp-fpd-brand-row{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:0 26px 12px}.orlp-fpd-logo img{width:145px;max-height:115px;object-fit:contain}.orlp-fpd-brand-row address{font-style:normal;text-align:right;font-size:16px;line-height:1.35;color:#50617e}.orlp-fpd-brand-row address strong{display:block;font-size:21px;font-weight:400;color:#111}
.orlp-fpd-divider{border-top:1px solid #dfe4ea;margin:0 0 18px}
.orlp-fpd-billing{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:0 0 24px}.orlp-fpd-billing section{padding:0}.orlp-fpd-billing h3,.orlp-fpd-notes h3{font-size:15px;color:#111;margin:0 0 6px}.orlp-fpd-billing p{font-size:16px;line-height:1.35;color:#50617e;margin:0 0 18px}
.orlp-fpd-items{width:100%;border-collapse:collapse;margin-top:8px}.orlp-fpd-items th{font-size:13px;letter-spacing:.04em;color:#111;text-align:left;border-bottom:1px solid #2096e8;padding:12px 0}.orlp-fpd-items th:nth-child(n+2),.orlp-fpd-items td:nth-child(n+2){text-align:right}.orlp-fpd-items td{font-size:16px;padding:22px 0 30px;border-bottom:1px solid #dfe4ea;color:#50617e}
.orlp-fpd-totals{width:38%;margin-left:auto}.orlp-fpd-totals>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #dfe4ea;font-size:16px;color:#26344d}.orlp-fpd-totals .orlp-fpd-paid{font-size:18px;color:#111;border-bottom:0}
.orlp-fpd-notes{margin-top:48px}.orlp-fpd-notes p{margin:0;font-size:15px;line-height:1.45;color:#111}.orlp-fpd-notes strong{font-weight:700}
@media(max-width:700px){.orlp-fpd-receipt{padding:20px 14px}.orlp-fpd-title{font-size:27px}.orlp-fpd-brand-row{padding:0;gap:12px}.orlp-fpd-logo img{width:110px}.orlp-fpd-brand-row address{font-size:12px}.orlp-fpd-brand-row address strong{font-size:17px}.orlp-fpd-billing{grid-template-columns:1fr;gap:8px}.orlp-fpd-items{font-size:12px}.orlp-fpd-items th,.orlp-fpd-items td{padding-left:4px;padding-right:4px}.orlp-fpd-totals{width:100%}}


/* v2.4: facturas de HighLevel */
.orlp-invoice-section { margin-bottom: 1.8rem; }
.orlp-invoice-section > h4 { margin: 0 0 .8rem; color: var(--orlp-verde-texto); }
.orlp-billing-table { min-width: 920px; }
.orlp-billing-table td { vertical-align: middle; }
.orlp-invoice-status { display:inline-block; padding:.26rem .55rem; border-radius:999px; font-size:.75rem; font-weight:700; white-space:nowrap; background:#eef1f2; color:#45535b; }
.orlp-invoice-status-paid { background:#e7f4ea; color:#28623a; }
.orlp-invoice-status-sent { background:#fff2d8; color:#805b10; }
.orlp-invoice-status-partially_paid { background:#fff2d8; color:#805b10; }
.orlp-invoice-status-payment_processing { background:#e7f0fb; color:#285d91; }
.orlp-invoice-status-void { background:#f3e8e8; color:#8a3d3d; }
.orlp-invoice-status-draft { background:#eef0f2; color:#5f6870; }
