.lfb-account {
    --lfb-ink: #2b1611;
    --lfb-muted: #725f59;
    --lfb-line: #e7ddd3;
    --lfb-paper: #fffdfa;
    --lfb-accent: #8a4b3b;
    color: var(--lfb-ink);
    font-family: inherit;
    margin: 32px auto;
    max-width: 1180px;
    width: calc(100% - 32px);
}

.lfb-account *, .lfb-account *::before, .lfb-account *::after { box-sizing: border-box; }
.lfb-auth-grid, .lfb-two-column, .lfb-card-grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lfb-card-grid { grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); }
.lfb-panel, .lfb-membership-card, .lfb-empty { background: var(--lfb-paper); border: 1px solid var(--lfb-line); border-radius: 18px; padding: 26px; }
.lfb-panel h2, .lfb-panel h4, .lfb-membership-card h4, .lfb-section h3 { margin-top: 0; }
.lfb-form { display: grid; gap: 16px; }
.lfb-form label { color: var(--lfb-ink); display: grid; font-size: 14px; font-weight: 600; gap: 7px; }
.lfb-form input:not([type="checkbox"]), .lfb-form select { background: #fff; border: 1px solid #cfc1b5; border-radius: 10px; color: var(--lfb-ink); font: inherit; min-height: 46px; padding: 10px 12px; width: 100%; }
.lfb-form input:focus, .lfb-form select:focus { border-color: var(--lfb-accent); box-shadow: 0 0 0 3px rgba(138, 75, 59, .15); outline: none; }
.lfb-form small { color: var(--lfb-muted); font-weight: 400; }
.lfb-panel > .lfb-form + p { margin-top: 20px; }
.lfb-check { align-items: center; display: flex !important; font-weight: 400 !important; }
.lfb-button { align-items: center; background: var(--lfb-ink); border: 1px solid var(--lfb-ink); border-radius: 999px; color: #fff !important; cursor: pointer; display: inline-flex; font: inherit; font-weight: 700; justify-content: center; min-height: 44px; padding: 10px 20px; text-decoration: none !important; }
.lfb-button:hover, .lfb-button:focus { background: var(--lfb-accent); border-color: var(--lfb-accent); }
.lfb-button-secondary { background: transparent; color: var(--lfb-ink) !important; white-space: pre-wrap; }
.lfb-account-access:hover, .lfb-account-access:focus { background: #f7f1eb; border-color: var(--lfb-line); color: var(--lfb-ink) !important; }
.lfb-text-link { color: var(--lfb-accent); font-weight: 600; }
.lfb-honeypot { left: -9999px !important; position: absolute !important; }
.lfb-account-header, .lfb-card-top, .lfb-section-heading { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.lfb-account-header { margin-bottom: 18px; }
.lfb-account-header h2 { margin: 3px 0 0; }
.lfb-eyebrow { color: var(--lfb-accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lfb-account-nav { border-bottom: 1px solid var(--lfb-line); display: flex; gap: 6px; overflow-x: auto; padding: 0; }
.lfb-account-tab { appearance: none; background: transparent; border: 0; border-bottom: 3px solid transparent; color: var(--lfb-muted); cursor: pointer; font: inherit; font-weight: 700; margin: 0; padding: 13px 16px 12px; white-space: nowrap; }
.lfb-account-tab:hover { background: #f7f1eb; color: var(--lfb-ink); }
.lfb-account-tab:focus-visible { border-radius: 8px 8px 0 0; box-shadow: 0 0 0 3px rgba(138, 75, 59, .15); outline: none; }
.lfb-account-tab.is-active, .lfb-account-tab[aria-selected="true"] { border-bottom-color: var(--lfb-accent); color: var(--lfb-ink); }
.lfb-section { padding: 30px 0 8px; }
.lfb-account.is-tabs-ready .lfb-tab-panel[hidden] { display: none; }
.lfb-section-heading { margin-bottom: 18px; }
.lfb-section-heading h3 { font-size: clamp(25px, 4vw, 36px); margin: 3px 0 0; }
.lfb-card-top { align-items: flex-start; border-bottom: 1px solid var(--lfb-line); padding-bottom: 18px; }
.lfb-card-top > div { min-width: 0; }
.lfb-card-top h4 { font-size: 20px; margin-bottom: 5px; overflow-wrap: anywhere; }
.lfb-card-top small { color: var(--lfb-muted); overflow-wrap: anywhere; }
.lfb-package-subtitle { display: block; font-size: 14px; font-weight: 400; line-height: 1.35; }
.lfb-status { background: #eee8e3; border-radius: 999px; color: var(--lfb-ink); display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .06em; padding: 5px 9px; text-transform: uppercase; }
.lfb-status-active { background: rgba(250, 238, 220, .5); background: #FAEEDC80; color: var(--lfb-accent); }
.lfb-status-paid, .lfb-status-confirmed, .lfb-status-verified { background: #dcefe4; color: #165a32; }
.lfb-status-pending, .lfb-status-unclaimed { background: #fff1c9; color: #765800; }
.lfb-status-expired, .lfb-status-cancelled, .lfb-status-failed { background: #f7dada; color: #862828; }
.lfb-credit-row { padding: 20px 0; }
.lfb-credit-row > div:first-child { align-items: baseline; display: flex; justify-content: space-between; }
.lfb-credit-row strong { font-size: 24px; }
.lfb-progress { background: #eee6de; border-radius: 999px; height: 8px; margin-top: 12px; overflow: hidden; }
.lfb-progress span { background: var(--lfb-accent); display: block; height: 100%; }
.lfb-meta { column-gap: 14px; display: grid; font-size: 13px; grid-template-columns: 1fr auto; margin: 0; row-gap: 10px; }
.lfb-meta dt { align-items: center; color: var(--lfb-muted); display: flex; font-weight: 400; gap: 8px; }
.lfb-meta dt img { flex: 0 0 auto; height: 15px; opacity: .72; width: 15px; }
.lfb-meta dd { font-size: 13px; font-weight: 500; margin: 0; }
.lfb-next, .lfb-note { background: #f7f1eb; border-radius: 12px; display: grid; gap: 4px; margin: 18px 0; padding: 14px; }
.lfb-next small { color: var(--lfb-muted); }
.lfb-book-form { border-top: 1px solid var(--lfb-line); margin-top: 20px; padding-top: 20px; }
.lfb-table-wrap { border: 1px solid var(--lfb-line); border-radius: 16px; overflow-x: auto; }
.lfb-table { border-collapse: collapse; min-width: 720px; white-space: pre-wrap; width: 100%; }
.lfb-table th, .lfb-table td { border-bottom: 1px solid var(--lfb-line); padding: 14px 16px; text-align: left; vertical-align: middle; }
.lfb-table th { background: #f7f1eb; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.lfb-table tr:last-child td { border-bottom: 0; }
.lfb-account-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; margin: 20px 0 4px; }
.lfb-account-pagination .page-numbers { align-items: center; background: #fff; border: 1px solid var(--lfb-line); border-radius: 8px; color: var(--lfb-ink); display: inline-flex; font-size: 14px; font-weight: 700; height: 38px; justify-content: center; min-width: 38px; padding: 0 10px; text-decoration: none; }
.lfb-account-pagination a.page-numbers:hover, .lfb-account-pagination a.page-numbers:focus { background: #f7f1eb; border-color: var(--lfb-accent); }
.lfb-account-pagination .page-numbers.current { background: var(--lfb-ink); border-color: var(--lfb-ink); color: #fff; }
.lfb-email-list { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.lfb-email-list li { align-items: center; border-bottom: 1px solid var(--lfb-line); display: flex; gap: 12px; justify-content: space-between; padding-bottom: 12px; }
.lfb-email-list li:last-child { border: 0; padding-bottom: 0; }
.lfb-email-list small { color: var(--lfb-muted); }
.lfb-inline-form { grid-template-columns: 1fr auto; }
.lfb-alert { border-radius: 12px; margin: 0 0 20px; padding: 14px 16px; }
.lfb-alert-success { background: #dcefe4; color: #165a32; }
.lfb-alert-error { background: #f7dada; color: #862828; }
.lfb-alert-info { background: #e5edf6; color: #274c72; }
.lfb-vacation-banner { background: #f7f1eb; border: 1px solid var(--lfb-line); border-radius: 14px; display: grid; gap: 5px; margin: 0 0 20px; padding: 16px 18px; }
.lfb-vacation-banner strong { font-size: 17px; }
.lfb-vacation-banner p { margin: 2px 0 0; }
.lfb-vacation-banner small { color: var(--lfb-muted); }
.lfb-policy-content { background: var(--lfb-paper); border: 1px solid var(--lfb-line); border-radius: 18px; font-size: 15px; line-height: 1.7; padding: 26px; }
.lfb-policy-content > :first-child { margin-top: 0; }
.lfb-policy-content > :last-child { margin-bottom: 0; }
.lfb-policy-content h2, .lfb-policy-content h3, .lfb-policy-content h4 { color: var(--lfb-ink); line-height: 1.25; }
.lfb-policy-content a { color: var(--lfb-accent); }
.lfb-policy-content ul, .lfb-policy-content ol { padding-left: 1.4em; }

@media (max-width: 760px) {
    .lfb-account { margin: 24px auto; width: calc(100% - 24px); }
    .lfb-auth-grid, .lfb-two-column { grid-template-columns: 1fr; }
    .lfb-card-grid { gap: 16px; grid-template-columns: minmax(0, 1fr); }
    .lfb-account-header { align-items: stretch; flex-direction: column; gap: 12px; }
    .lfb-account-header h2 { font-size: clamp(27px, 8vw, 36px); overflow-wrap: anywhere; }
    .lfb-account-access { width: 100%; }
    .lfb-account-nav { border: 0; display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
    .lfb-account-tab { border: 1px solid var(--lfb-line); border-radius: 10px; line-height: 1.25; min-height: 48px; padding: 10px 8px; white-space: normal; }
    .lfb-account-tab-policy { grid-column: 1 / -1; }
    .lfb-account-tab.is-active, .lfb-account-tab[aria-selected="true"] { background: #f7f1eb; border-color: var(--lfb-accent); }
    .lfb-section { padding-top: 24px; }
    .lfb-section-heading { margin-bottom: 14px; }
    .lfb-section-heading h3 { font-size: 28px; }
    .lfb-inline-form { grid-template-columns: 1fr; }
    .lfb-panel, .lfb-membership-card, .lfb-empty { padding: 20px; }
    .lfb-button { width: 100%; }
    .lfb-card-top { gap: 10px; }
    .lfb-status { flex: 0 0 auto; }
    .lfb-meta { column-gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(0, auto); }
    .lfb-meta dd { overflow-wrap: anywhere; text-align: right; }
    .lfb-email-list li { align-items: flex-start; flex-direction: column; }
    .lfb-table-wrap { border: 0; border-radius: 0; overflow: visible; }
    .lfb-table, .lfb-table tbody { background: transparent !important; border: 0 !important; }
    .lfb-table { border-collapse: separate; border-spacing: 0; display: block; min-width: 0; width: 100%; }
    .lfb-table thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
    .lfb-table tbody, .lfb-table tr, .lfb-table td { display: block; width: 100%; }
    .lfb-table tr { background: var(--lfb-paper) !important; border: 1px solid var(--lfb-line) !important; border-radius: 14px; box-shadow: 0 4px 14px rgba(43, 22, 17, .04); margin-bottom: 12px; overflow: hidden; padding: 7px 14px; }
    .lfb-table td { align-items: start; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--lfb-line) !important; display: grid; gap: 4px; grid-template-columns: minmax(0, 1fr); overflow-wrap: anywhere; padding: 11px 0 !important; text-align: left !important; }
    .lfb-table td::before { color: var(--lfb-muted); content: attr(data-label); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
    .lfb-table tr:last-child td, .lfb-table td:last-child { border-bottom: 0 !important; }
    .lfb-table td > * { justify-self: start; }
    .lfb-account-pagination { justify-content: flex-start; }
    .lfb-policy-content { border-radius: 14px; padding: 20px; }
}

@media (max-width: 420px) {
    .lfb-account { width: calc(100% - 20px); }
    .lfb-panel, .lfb-membership-card, .lfb-empty { border-radius: 14px; padding: 16px; }
    .lfb-card-top { align-items: flex-start; flex-direction: column; }
    .lfb-card-top h4 { font-size: 18px; }
    .lfb-card-top .lfb-status { align-self: flex-start; }
    .lfb-section-heading h3 { font-size: 25px; }
    .lfb-account-tab { font-size: 13px; }
}
