.bbs-client-portal {
    --bbs-navy:#060D31;
    --bbs-blue:#0745B7;
    --bbs-yellow:#F7C843;
    --bbs-text:#202738;
    --bbs-muted:#667085;
    --bbs-border:#DCE6F3;
    --bbs-light:#F6F9FD;
    width:100%;
    max-width:1080px;
    margin:0 auto;
    padding:30px 0 55px;
}

.bbs-client-message-success {
    margin-bottom:20px;
    padding:16px 18px;
    background:#edf8ef;
    border:1px solid #b7dfbf;
    border-radius:14px;
    color:#155724;
}
.bbs-client-message-success strong { display:block; margin-bottom:4px; }

.bbs-client-header { margin-bottom:18px; }
.bbs-client-kicker {
    display:inline-block;margin-bottom:9px;padding:6px 12px;background:#EDF4FF;
    border-radius:999px;color:var(--bbs-blue);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;
}
.bbs-client-header h1,.bbs-client-empty h1 { margin:0 0 8px;color:var(--bbs-navy);font-size:clamp(34px,4vw,46px);line-height:1.15;font-weight:700; }
.bbs-client-header p { margin:0;color:var(--bbs-muted);font-size:16px; }

.bbs-client-email-status {
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    margin-bottom:28px;padding:14px 18px;background:#fff;border:1px solid var(--bbs-border);border-radius:14px;
}
.bbs-client-email-status span { color:var(--bbs-muted);font-size:13px; }
.bbs-client-email-status.is-verified { border-left:5px solid #2e9d50; }
.bbs-client-email-status.is-unverified { border-left:5px solid #F7C843; }

.bbs-client-family-heading { margin:0 0 16px; }
.bbs-client-family-heading h2 { margin:0 0 6px!important;color:var(--bbs-navy)!important;font-size:25px!important; }
.bbs-client-family-heading p { margin:0!important;color:var(--bbs-muted)!important;font-size:14px!important; }

.bbs-client-order {
    margin-bottom:28px;padding:22px;background:#F8FAFD;border:1px solid var(--bbs-border);border-radius:16px;
}
.bbs-client-order-head {
    display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px;
}
.bbs-client-order-label { display:block;color:var(--bbs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:700; }
.bbs-client-order-head h2 { margin:3px 0 2px!important;color:var(--bbs-navy)!important;font-size:26px!important;font-weight:700!important; }
.bbs-client-order-head p { margin:0!important;color:var(--bbs-muted)!important;font-size:13px!important; }

.bbs-client-status {
    min-width:190px;padding:12px 15px;background:#fff;border:1px solid var(--bbs-border);border-radius:12px;
}
.bbs-client-status span { display:block;color:var(--bbs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px; }
.bbs-client-status strong { display:block;margin-top:3px;color:var(--bbs-navy);font-size:14px; }
.bbs-status-submitted { border-left:5px solid #F7C843; }
.bbs-status-accepted { border-left:5px solid #2e9d50; }
.bbs-status-rejected,.bbs-status-cancelled,.bbs-status-withdrawn { border-left:5px solid #c64545; }

.bbs-client-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px; }
.bbs-client-card {
    margin:0 0 18px!important;padding:22px;background:#fff;border:1px solid var(--bbs-border);border-radius:14px;
    box-shadow:0 6px 20px rgba(6,13,49,.04);
}
.bbs-client-grid .bbs-client-card { margin:0!important; }
.bbs-client-card h3 { display:block!important;margin:0 0 17px!important;color:var(--bbs-navy)!important;font-size:20px!important;font-weight:700!important; }

.bbs-client-data { margin:0; }
.bbs-client-data>div { display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid #EDF1F6; }
.bbs-client-data>div:last-child { border-bottom:0; }
.bbs-client-data dt { color:var(--bbs-muted);font-size:12px;font-weight:600; }
.bbs-client-data dd { margin:0;color:var(--bbs-text);font-size:14px; }

.bbs-client-contract-number { margin:0 0 8px!important;color:var(--bbs-blue)!important;font-size:22px!important;font-weight:700; }
.bbs-client-document-buttons { display:flex;flex-wrap:wrap;gap:8px;margin-top:12px; }
.bbs-client-button {
    display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background:var(--bbs-blue);
    border-radius:11px;color:#fff!important;font-size:13px;font-weight:700;text-decoration:none;
}
.bbs-client-button:hover { background:var(--bbs-navy);color:#fff!important; }
.bbs-client-button-secondary { background:#fff;color:var(--bbs-blue)!important;border:1px solid #BFD0EA; }
.bbs-client-button-secondary:hover { background:#EDF4FF;color:var(--bbs-blue)!important; }

.bbs-client-payment { display:flex;align-items:center;justify-content:space-between;gap:25px;padding:13px 0;border-bottom:1px solid #EDF1F6; }
.bbs-client-payment:last-child { border-bottom:0; }
.bbs-client-payment strong { display:block;color:var(--bbs-text);font-size:14px; }
.bbs-client-payment span { display:block;margin-top:3px;color:var(--bbs-muted);font-size:12px; }
.bbs-client-payment-price { flex:0 0 auto;text-align:right;color:var(--bbs-navy);font-size:16px;font-weight:700; }
.bbs-client-payment-price span { font-weight:500; }

.bbs-client-consents { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.bbs-client-consent { display:flex;align-items:center;gap:10px;padding:12px;background:var(--bbs-light);border-radius:11px; }
.bbs-client-consent>span { flex:0 0 auto;min-width:40px;padding:4px 7px;border-radius:999px;text-align:center;font-size:10px;font-weight:700; }
.bbs-client-consent>span.is-yes { color:#176b2c;background:#e4f5e8; }
.bbs-client-consent>span.is-no { color:#8a3a3a;background:#f9e7e7; }
.bbs-client-consent strong { display:block;color:var(--bbs-text);font-size:13px; }
.bbs-client-consent small { display:block;margin-top:2px;color:var(--bbs-muted);font-size:10px; }

.bbs-client-security { padding:14px 18px;background:#FFF9E8;border:1px solid #F5DF9E;border-radius:12px;color:#6d5a20;font-size:12px;line-height:1.5; }
.bbs-client-empty { max-width:700px;margin:20px auto;padding:35px;background:#fff;border:1px solid var(--bbs-border);border-radius:14px;text-align:center; }
.bbs-client-empty p { color:var(--bbs-muted);font-size:16px;line-height:1.65; }

@media (max-width:767px) {
    .bbs-client-grid,.bbs-client-consents { grid-template-columns:1fr; }
    .bbs-client-order { padding:16px; }
    .bbs-client-order-head { flex-direction:column;align-items:flex-start; }
    .bbs-client-status { width:100%;box-sizing:border-box; }
    .bbs-client-card { padding:19px 16px; }
    .bbs-client-data>div { grid-template-columns:1fr;gap:3px; }
    .bbs-client-payment { align-items:flex-start; }
    .bbs-client-email-status { flex-direction:column;align-items:flex-start; }
}

/* =========================================================
   ZAWARCIE UMOWY KODEM SMS
   ========================================================= */

.bbs-contract-acceptance {
    margin: 0 0 28px;
    padding: 28px;
    background: #fff;
    border: 2px solid #0745B7;
    border-radius: 14px;
    box-shadow: 0 12px 34px rgba(7, 69, 183, .10);
}

.bbs-contract-acceptance.is-completed {
    border-color: #2e9d50;
}

.bbs-contract-acceptance-kicker {
    display: inline-block;
    margin-bottom: 8px;
    padding: 6px 11px;
    color: #0745B7;
    background: #EDF4FF;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.bbs-contract-acceptance h2 {
    display: block !important;
    margin: 0 0 10px !important;
    color: #060D31 !important;
    font-size: 27px !important;
    line-height: 1.2;
}

.bbs-contract-acceptance > p {
    color: #667085;
    font-size: 15px;
    line-height: 1.6;
}

.bbs-contract-acceptance-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.bbs-contract-acceptance-summary > div {
    padding: 14px 15px;
    background: #F6F9FD;
    border-radius: 12px;
}

.bbs-contract-acceptance-summary span {
    display: block;
    margin-bottom: 4px;
    color: #667085;
    font-size: 12px;
}

.bbs-contract-acceptance-summary strong {
    display: block;
    color: #202738;
    font-size: 15px;
}

.bbs-contract-sms-box {
    margin-top: 22px;
    padding: 22px;
    background: #F6F9FD;
    border: 1px solid #DCE6F3;
    border-radius: 14px;
}


.bbs-sms-countdown {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 2px 16px;
    margin: 14px 0 18px;
    padding: 14px 16px;
    background: #EDF4FF;
    border: 1px solid #CFE0F8;
    border-radius: 12px;
}

.bbs-sms-countdown-label {
    color: #475467;
    font-size: 13px;
    font-weight: 700;
}

.bbs-sms-countdown-time {
    grid-row: 1 / span 2;
    grid-column: 2;
    color: #0745B7;
    font-size: 28px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    letter-spacing: 1px;
}

.bbs-sms-countdown small {
    color: #667085;
    font-size: 11px;
}

.bbs-sms-countdown-expired {
    grid-column: 1 / -1;
    margin-top: 8px;
    color: #B42318;
    font-size: 13px;
    font-weight: 700;
}

.bbs-sms-countdown.is-expired {
    background: #FFF4F2;
    border-color: #FDA29B;
}

.bbs-sms-countdown.is-expired .bbs-sms-countdown-time {
    color: #B42318;
}

.bbs-contract-code-form.is-expired {
    opacity: .65;
}

.bbs-contract-resend-button.is-ready {
    box-shadow: 0 0 0 3px rgba(7, 69, 183, .10);
}

.bbs-contract-sms-box > p:first-child {
    margin-top: 0;
    color: #344054;
}

.bbs-contract-code-form label {
    display: block;
    margin-bottom: 8px;
    color: #202738;
    font-size: 14px;
    font-weight: 700;
}

.bbs-contract-code-input {
    width: 100%;
    max-width: 260px;
    box-sizing: border-box;
    padding: 13px 16px;
    border: 1px solid #B8CAE2;
    border-radius: 12px;
    background: #fff;
    color: #060D31;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 8px;
    text-align: center;
}

.bbs-contract-code-input:focus {
    outline: none;
    border-color: #0745B7;
    box-shadow: 0 0 0 3px rgba(7, 69, 183, .10);
}

.bbs-contract-conclude-button {
    display: block;
    width: 100%;
    margin-top: 14px;
    padding: 15px 20px;
    border: 0;
    border-radius: 12px;
    background: #F7C843;
    color: #060D31;
    font: inherit;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.bbs-contract-conclude-button:hover {
    background: #F2BB22;
}

.bbs-contract-resend-form {
    margin-top: 12px;
}

.bbs-contract-resend-button {
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: #0745B7;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: underline;
}

.bbs-contract-legal-note {
    margin: 16px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.bbs-client-message-error {
    margin: 16px 0;
    padding: 14px 16px;
    color: #842029;
    background: #fff0f0;
    border: 1px solid #efb8bd;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.55;
}

.bbs-status-awaiting_customer_acceptance {
    border-left: 5px solid #0745B7;
}

@media (max-width: 767px) {
    .bbs-contract-acceptance {
        padding: 22px 18px;
    }

    .bbs-contract-acceptance-summary {
        grid-template-columns: 1fr;
    }

    .bbs-contract-code-input {
        max-width: none;
    }
}

/* =========================================================
   BIEŻĄCE ZGODY MARKETINGOWE KLIENTA
   ========================================================= */

.bbs-client-marketing-card {
    margin: 0 0 28px;
    padding: 22px;
    background: #fff;
    border: 1px solid var(--bbs-border);
    border-radius: 14px;
    box-shadow: 0 6px 20px rgba(6,13,49,.04);
}

.bbs-client-marketing-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 10px;
}

.bbs-client-marketing-head h2 {
    margin: 3px 0 0 !important;
    color: var(--bbs-navy) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

.bbs-client-marketing-optional {
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    background: #F6F9FD;
    color: var(--bbs-muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.bbs-client-marketing-intro {
    margin: 0 0 16px !important;
    color: var(--bbs-muted) !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

.bbs-client-marketing-form {
    display: grid;
    gap: 10px;
}

.bbs-client-marketing-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 15px;
    border: 1px solid #E3EAF4;
    border-radius: 12px;
    background: #F8FAFD;
    cursor: pointer;
}

.bbs-client-marketing-option:hover {
    border-color: #BFD0EA;
}

.bbs-client-marketing-option input {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    accent-color: var(--bbs-blue);
}

.bbs-client-marketing-option strong,
.bbs-client-marketing-option small,
.bbs-client-marketing-option em {
    display: block;
}

.bbs-client-marketing-option strong {
    margin-bottom: 3px;
    color: var(--bbs-text);
    font-size: 14px;
}

.bbs-client-marketing-option small {
    color: var(--bbs-muted);
    font-size: 12px;
    line-height: 1.55;
}

.bbs-client-marketing-option em {
    margin-top: 5px;
    color: #7D8798;
    font-size: 10px;
    font-style: normal;
}

.bbs-client-marketing-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 4px;
}

.bbs-client-marketing-actions button {
    flex: 0 0 auto;
    padding: 11px 16px;
    border: 0;
    border-radius: 11px;
    background: var(--bbs-blue);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.bbs-client-marketing-actions button:hover {
    background: var(--bbs-navy);
}

.bbs-client-marketing-actions p {
    margin: 0 !important;
    color: #7D8798 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
}

@media (max-width:767px) {
    .bbs-client-marketing-card { padding: 18px 16px; }
    .bbs-client-marketing-head,
    .bbs-client-marketing-actions { flex-direction: column; align-items: flex-start; }
}


.bbs-client-message-success {
    margin: 16px 0;
    padding: 13px 15px;
    color: #166534;
    background: #ECFDF3;
    border: 1px solid #A7F3D0;
    border-radius: 12px;
    line-height: 1.5;
}

.bbs-client-message-success small {
    color: #475467;
}

.bbs-p24-payment-form {
    flex: 0 0 auto;
    margin: 0;
}

.bbs-p24-payment-button {
    min-height: 40px;
    padding: 9px 14px;
    color: #fff;
    background: #0745B7;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}

.bbs-p24-payment-button:hover {
    background: #060D31;
}

.bbs-p24-payment-button span {
    font-weight: 800;
}

.bbs-client-payment-price small {
    display: block;
    margin-top: 2px;
    color: #667085;
    font-size: 11px;
}

@media (max-width: 720px) {
    .bbs-p24-payment-form,
    .bbs-p24-payment-button {
        width: 100%;
    }
}
