/* Original jaluz layout inside Bakudoors chrome */
.jaluz-app {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    padding-bottom: 8px;
}
.jaluz-app .bd-footer,
.jaluz-app .bd-topbar { display: none !important; }
.jaluz-app .session-gate {
    min-height: 0 !important;
    padding: 8px 0 28px;
    display: block;
}
.jaluz-app .session-card {
    width: 100%;
    max-width: 440px;
    margin: 0;
}
.jaluz-session {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    padding: 10px 14px;
    background: var(--navy, #10263b);
    color: #fff;
    border-radius: 8px;
}
.jaluz-session.d-none { display: none !important; }
.jaluz-session .bd-session-hello { opacity: .75; font-size: .78rem; margin-right: 6px; }
.jaluz-app .d-none { display: none !important; }
.jaluz-app .w-100 { width: 100%; }
.jaluz-app .h-100 { height: 100%; }
.jaluz-app .flex-fill { flex: 1 1 auto; }
.jaluz-app .small { font-size: .85rem; }
.jaluz-app .fw-bold { font-weight: 700; }
.jaluz-app .mb-0 { margin-bottom: 0 !important; }
.jaluz-app .mb-1 { margin-bottom: .25rem !important; }
.jaluz-app .mb-2 { margin-bottom: .5rem !important; }
.jaluz-app .mb-3 { margin-bottom: 1rem !important; }
.jaluz-app .mt-1 { margin-top: .25rem !important; }
.jaluz-app .mt-2 { margin-top: .5rem !important; }
.jaluz-app .mt-3 { margin-top: 1rem !important; }
.jaluz-app .me-1 { margin-right: .25rem !important; }
.jaluz-app .me-2 { margin-right: .5rem !important; }
.jaluz-app .py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.jaluz-app .py-4 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.jaluz-app .text-muted { color: var(--muted) !important; }
.jaluz-app .text-danger { color: #b42318 !important; }
.jaluz-app .text-primary { color: var(--navy) !important; }
.jaluz-app .text-success { color: var(--success) !important; }
.jaluz-app .text-info { color: #0e7490 !important; }
.jaluz-app .text-warning { color: #b7791f !important; }
.jaluz-app .text-secondary { color: #64748b !important; }
.jaluz-app .h6 { font-size: 1rem; font-weight: 700; font-family: Roboto, sans-serif; }
.jaluz-app .col-12 { width: 100%; }
.jaluz-app .form-control,
.jaluz-app .form-select { width: 100%; max-width: 100%; }

.jaluz-app .row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
}
.jaluz-app .row.g-2 { gap: 8px; }
.jaluz-app .row.g-3 { gap: 16px; }
.jaluz-app .row > [class*="col-"] {
    padding: 0;
    margin: 0;
    min-width: 0;
    box-sizing: border-box;
}
.jaluz-app .col-6 { width: calc(50% - 4px); }
.jaluz-app .col-md-3,
.jaluz-app .col-md-6,
.jaluz-app .col-lg-4,
.jaluz-app .col-lg-8 { width: 100%; }
@media (min-width: 768px) {
    .jaluz-app .col-md-3 { width: calc(25% - 12px); }
    .jaluz-app .col-md-6 { width: calc(50% - 8px); }
}

.jaluz-app .jaluz-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 0;
}
.jaluz-app .jaluz-layout > [class*="col-"] {
    width: 100%;
}
@media (min-width: 992px) {
    .jaluz-app .jaluz-layout {
        grid-template-columns: minmax(0, 1fr) 320px;
        align-items: start;
    }
}

.jaluz-app .table-responsive { overflow-x: auto; max-width: 100%; }
.jaluz-app .table { width: 100%; border-collapse: collapse; }
.jaluz-app .badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 99px;
    font-size: .75rem;
    font-weight: 700;
}
.jaluz-app .badge.bg-success { background: #dcfce7; color: #166534; }
.jaluz-app .alert {
    border-radius: 8px;
    padding: 10px 12px;
}
.jaluz-app .alert-info { background: #eef6ff; color: #1e3a5f; }
.jaluz-app .alert-warning { background: #fff7e8; color: #7a5b14; }
.jaluz-app .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 0;
    cursor: pointer;
    font: inherit;
}
.jaluz-app #customerCard.is-invalid {
    outline: 2px solid #fab90a;
    outline-offset: 3px;
}
.jaluz-app .bd-card-header .header-icon {
    background: var(--navy);
    color: var(--blue);
}
.jaluz-app .btn-bd-calc {
    background: var(--navy);
    color: #fff;
}
.jaluz-app .btn-bd-invoice {
    background: #17324c;
    color: #fff;
}
.jaluz-app .btn-bd-invoice:hover { background: #10263b; color: #fff; }

.jaluz-app #appMain,
.jaluz-app #invoicePreview { max-width: 100%; min-width: 0; }

body.is-jaluz-calc { overflow-x: hidden; }
/* jaluz style.css must not restyle the site chrome footer */
body.is-jaluz-calc .bd-footer {
    text-align: left;
    background: var(--bd-navy-deep, #0b1926);
    color: #7b838e;
    padding: 0;
    margin-top: 0;
    border: 0;
    border-radius: 0;
}
body.is-jaluz-calc .bd-footer a {
    color: inherit;
}
body.is-bakudoors.is-jaluz-calc .nga-container {
    max-width: var(--bd-container, 1200px);
    padding-left: 15px;
    padding-right: 15px;
}
body.is-inner.is-jaluz-calc .nga-inner-wrap,
body.is-jaluz-calc .nga-inner-wrap {
    max-width: var(--bd-container, 1200px);
    padding: 36px 15px 48px;
    overflow-x: clip;
    box-sizing: border-box;
}

/* Success / result overlay — must stay fixed over the viewport, not at page bottom */
.jaluz-modal {
    position: fixed !important;
    inset: 0;
    z-index: 10550;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(4px);
    box-sizing: border-box;
}
.jaluz-modal[style*="display: flex"],
.jaluz-modal[style*="display:flex"] {
    display: flex !important;
}
.jaluz-modal__box {
    background: #fff;
    max-width: 440px;
    width: 100%;
    border-radius: 14px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
    overflow: hidden;
    color: #1e293b;
}
.jaluz-modal__head {
    background: linear-gradient(135deg, #1a7a45, #27ae60);
    color: #fff;
    padding: 20px 22px;
    text-align: center;
}
.jaluz-modal__head strong {
    display: block;
    font-size: 1.15rem;
    font-weight: 800;
}
.jaluz-modal__head span {
    display: block;
    margin-top: 4px;
    font-size: 0.85rem;
    opacity: 0.9;
}
.jaluz-modal__body {
    padding: 18px 22px 20px;
}
.jaluz-modal__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.9rem;
    margin-bottom: 8px;
}
.jaluz-modal__row span { color: #64748b; }
.jaluz-modal__row b { font-weight: 700; text-align: right; }
.jaluz-modal__sum {
    background: #e8f5e9;
    border: 1px solid #c8e6c9;
    border-radius: 10px;
    padding: 12px;
    text-align: center;
    margin: 12px 0 14px;
}
.jaluz-modal__sum span {
    display: block;
    font-size: 0.78rem;
    color: #64748b;
    margin-bottom: 2px;
}
.jaluz-modal__sum b {
    display: block;
    font-size: 1.45rem;
    font-weight: 800;
    color: #1a7a45;
}
.jaluz-modal__wa {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 11px 14px;
    border-radius: 8px;
    background: #25d366;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
    margin-bottom: 8px;
}
.jaluz-modal__wa:hover { background: #1ebe57; color: #fff !important; }
.jaluz-modal__row-btns {
    display: flex;
    gap: 8px;
}
.jaluz-modal__row-btns .btn {
    flex: 1 1 0;
    padding: 10px 12px;
    border-radius: 8px;
    font-weight: 700;
    color: #fff;
}
.jaluz-modal__navy { background: #10263b; }
.jaluz-modal__navy:hover { background: #0b1926; color: #fff; }
.jaluz-modal__gold { background: #c9a227; color: #10263b !important; }
.jaluz-modal__gold:hover { background: #b8911f; color: #10263b !important; }
.jaluz-modal__ghost {
    background: #f1f5f9;
    color: #334155 !important;
}
.jaluz-modal__ghost:hover { background: #e2e8f0; color: #0f172a !important; }
