/*
 * Bizonomist Suite UI — v5.0
 * ALL selectors scoped to .bizo-wrap or .bizo-hero-wrap to prevent theme bleed.
 * Never applies universal resets.
 */

/* ═══════════════════════════════════════════════════
   CSS CUSTOM PROPERTIES
═══════════════════════════════════════════════════ */
.bizo-wrap,
.bizo-hero-wrap,
.bizo-modal-overlay {
    --bizo-green:    #2EFF7B;
    --bizo-green-dk: #041E0D;
    --bizo-green-md: #0B2A14;
    --bizo-bg:       #0a0a0f;
    --bizo-card:     #111827;
    --bizo-border:   #1f2937;
    --bizo-border2:  #374151;
    --bizo-text:     #e5e7eb;
    --bizo-muted:    #6b7280;
    --bizo-muted2:   #9ca3af;
    --bizo-radius:   14px;
    --bizo-radius-sm:8px;
    --bizo-transition: .18s ease;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
}
.bizo-wrap *, .bizo-hero-wrap *, .bizo-modal-overlay * {
    box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════════ */
.bizo-wrap {
    background: var(--bizo-bg);
    color: var(--bizo-text);
    min-height: 80vh;
    padding: 0 0 60px;
    border-radius: 0;
}

/* ═══════════════════════════════════════════════════
   DASHBOARD TOP BAR
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-db-topbar {
    background: var(--bizo-card);
    border-bottom: 1px solid var(--bizo-border);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.bizo-wrap .bizo-db-user {
    display: flex;
    align-items: center;
    gap: 12px;
}
.bizo-wrap .bizo-db-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid var(--bizo-green);
    object-fit: cover;
}
.bizo-wrap .bizo-db-name {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}
.bizo-wrap .bizo-db-email {
    font-size: 12px;
    color: var(--bizo-muted);
}
.bizo-wrap .bizo-db-credits-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(46,255,123,.12);
    border: 1px solid rgba(46,255,123,.3);
    border-radius: 100px;
    padding: 8px 16px;
}
.bizo-wrap .bizo-credits-icon { font-size: 18px; }
.bizo-wrap .bizo-credits-count {
    font-size: 22px;
    font-weight: 900;
    color: var(--bizo-green);
    line-height: 1;
}
.bizo-wrap .bizo-credits-label {
    font-size: 11px;
    color: var(--bizo-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
}

/* ═══════════════════════════════════════════════════
   TABS
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-db-tabs {
    display: flex;
    gap: 0;
    overflow-x: auto;
    background: var(--bizo-card);
    border-bottom: 1px solid var(--bizo-border);
    padding: 0 12px;
    scrollbar-width: none;
}
.bizo-wrap .bizo-db-tabs::-webkit-scrollbar { display: none; }
.bizo-wrap .bizo-tab {
    padding: 13px 18px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--bizo-muted);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: var(--bizo-transition);
}
.bizo-wrap .bizo-tab:hover,
.bizo-wrap .bizo-tab.active {
    color: #fff;
    border-bottom-color: var(--bizo-green);
}
.bizo-wrap .bizo-tab-pane { display: none; padding: 20px; }
.bizo-wrap .bizo-tab-pane.active { display: block; }

/* ═══════════════════════════════════════════════════
   STAT GRID
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-stat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}
@media (min-width: 600px) {
    .bizo-wrap .bizo-stat-grid { grid-template-columns: repeat(4, 1fr); }
}
.bizo-wrap .bizo-stat-card {
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border);
    border-radius: var(--bizo-radius);
    padding: 16px;
    text-align: center;
}
.bizo-wrap .bizo-stat-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--bizo-green);
    line-height: 1;
}
.bizo-wrap .bizo-stat-lbl {
    font-size: 11px;
    color: var(--bizo-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════
   CARDS
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-db-card {
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border);
    border-radius: var(--bizo-radius);
    padding: 16px;
    margin-bottom: 14px;
}
.bizo-wrap .bizo-db-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    font-size: 13px;
    color: var(--bizo-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.bizo-wrap .bizo-plan-idea {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    line-height: 1.4;
}
.bizo-wrap .bizo-plan-meta {
    font-size: 12px;
    color: var(--bizo-muted);
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

/* ═══════════════════════════════════════════════════
   PLAN LIST
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-plans-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.bizo-wrap .bizo-plans-header h3 { color: #fff; font-size: 18px; }
.bizo-wrap .bizo-plan-item {
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border);
    border-radius: var(--bizo-radius);
    padding: 14px;
    margin-bottom: 10px;
    transition: var(--bizo-transition);
}
.bizo-wrap .bizo-plan-item:hover { border-color: rgba(46,255,123,.3); }
.bizo-wrap .bizo-plan-item-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 8px;
}
.bizo-wrap .bizo-plan-item-idea {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
    flex: 1;
}
.bizo-wrap .bizo-plan-score-badge {
    font-size: 20px;
    font-weight: 900;
    min-width: 36px;
    text-align: right;
}
.bizo-wrap .score-high { color: var(--bizo-green); }
.bizo-wrap .score-mid  { color: #FFB347; }
.bizo-wrap .score-low  { color: #FF6B6B; }
.bizo-wrap .bizo-plan-item-meta {
    font-size: 12px;
    color: var(--bizo-muted);
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.bizo-wrap .bizo-plan-item-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════════
   BADGES
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-plan-badge,
.bizo-wrap .bizo-plan-type-tag {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 99px;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.bizo-wrap .bizo-badge-free  { background: rgba(107,114,128,.2); color: #9ca3af; }
.bizo-wrap .bizo-badge-paid  { background: rgba(46,255,123,.15); color: var(--bizo-green); }
.bizo-wrap .bizo-badge-verified { font-size: 11px; color: var(--bizo-green); }

/* ═══════════════════════════════════════════════════
   COURSES
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-courses-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
@media (min-width: 600px) {
    .bizo-wrap .bizo-courses-grid { grid-template-columns: 1fr 1fr; }
}
.bizo-wrap .bizo-course-card {
    display: flex;
    gap: 12px;
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border);
    border-radius: var(--bizo-radius);
    padding: 12px;
    text-decoration: none;
    transition: var(--bizo-transition);
}
.bizo-wrap .bizo-course-card:hover { border-color: rgba(46,255,123,.3); }
.bizo-wrap .bizo-course-thumb {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: var(--bizo-radius-sm);
    flex-shrink: 0;
}
.bizo-wrap .bizo-course-thumb-placeholder {
    width: 64px;
    height: 64px;
    background: var(--bizo-border);
    border-radius: var(--bizo-radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    flex-shrink: 0;
}
.bizo-wrap .bizo-course-info { flex: 1; }
.bizo-wrap .bizo-course-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
    line-height: 1.3;
}
.bizo-wrap .bizo-course-progress-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
.bizo-wrap .bizo-course-progress-bar {
    flex: 1;
    height: 5px;
    background: var(--bizo-border);
    border-radius: 99px;
    overflow: hidden;
}
.bizo-wrap .bizo-course-progress-fill {
    height: 100%;
    background: var(--bizo-green);
    border-radius: 99px;
    transition: width .4s ease;
}
.bizo-wrap .bizo-course-pct { font-size: 11px; color: var(--bizo-muted); white-space: nowrap; }

/* ═══════════════════════════════════════════════════
   CREDITS PAGE
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-credits-balance-card {
    text-align: center;
    background: linear-gradient(135deg, #0B2A14 0%, #041E0D 100%);
    border: 1px solid rgba(46,255,123,.25);
    border-radius: var(--bizo-radius);
    padding: 32px 20px;
    margin-bottom: 20px;
}
.bizo-wrap .bizo-credits-big {
    font-size: 64px;
    font-weight: 900;
    color: var(--bizo-green);
    line-height: 1;
}
.bizo-wrap .bizo-credits-big-label {
    font-size: 14px;
    color: var(--bizo-muted);
    margin-top: 6px;
}
.bizo-wrap .bizo-credits-rules { margin-bottom: 24px; }
.bizo-wrap .bizo-credits-rules h4 { color: #fff; margin-bottom: 14px; font-size: 16px; }
.bizo-wrap .bizo-rules-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media (max-width: 480px) { .bizo-wrap .bizo-rules-grid { grid-template-columns: 1fr; } }
.bizo-wrap .bizo-rule-item {
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border);
    border-radius: var(--bizo-radius-sm);
    padding: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 13px;
}
.bizo-wrap .bizo-rule-item.earn { border-left: 3px solid var(--bizo-green); }
.bizo-wrap .bizo-rule-item.spend { border-left: 3px solid #FF6B6B; }
.bizo-wrap .bizo-rule-item strong { display: block; color: #fff; margin-bottom: 2px; }
.bizo-wrap .bizo-rule-item p { color: var(--bizo-muted); font-size: 12px; margin: 0; }
.bizo-wrap .bizo-rule-icon { font-size: 18px; }

/* Buy credit pack */
.bizo-wrap .bizo-buy-pack-section h4 { color: #fff; margin-bottom: 14px; }
.bizo-wrap .bizo-credit-pack-card {
    background: linear-gradient(135deg, #0B2A14 0%, var(--bizo-card) 100%);
    border: 1px solid rgba(46,255,123,.3);
    border-radius: var(--bizo-radius);
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.bizo-wrap .bizo-pack-qty {
    font-size: 42px;
    font-weight: 900;
    color: var(--bizo-green);
    line-height: 1;
}
.bizo-wrap .bizo-pack-qty-lbl { font-size: 12px; color: var(--bizo-muted); }
.bizo-wrap .bizo-pack-price { font-size: 22px; font-weight: 800; color: #fff; }
.bizo-wrap .bizo-pack-desc  { font-size: 12px; color: var(--bizo-muted); }

/* Ledger */
.bizo-wrap .bizo-ledger-section h4 { color: #fff; margin-bottom: 14px; font-size: 16px; }
.bizo-wrap .bizo-ledger-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--bizo-border);
    font-size: 13px;
    gap: 10px;
    flex-wrap: wrap;
}
.bizo-wrap .bizo-ledger-reason { color: var(--bizo-text); flex: 1; }
.bizo-wrap .bizo-ledger-right { display: flex; gap: 10px; align-items: center; flex-shrink: 0; }
.bizo-wrap .bizo-ledger-delta { font-weight: 700; }
.bizo-wrap .bizo-ledger-delta.positive { color: var(--bizo-green); }
.bizo-wrap .bizo-ledger-delta.negative { color: #FF6B6B; }
.bizo-wrap .bizo-ledger-balance { color: var(--bizo-muted); font-size: 12px; }
.bizo-wrap .bizo-ledger-date { color: var(--bizo-muted); font-size: 11px; }

/* ═══════════════════════════════════════════════════
   TRANSACTIONS
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-txn-list { display: flex; flex-direction: column; gap: 10px; }
.bizo-wrap .bizo-txn-item {
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border);
    border-radius: var(--bizo-radius);
    padding: 14px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.bizo-wrap .bizo-txn-icon { font-size: 28px; flex-shrink: 0; }
.bizo-wrap .bizo-txn-details { flex: 1; }
.bizo-wrap .bizo-txn-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.bizo-wrap .bizo-txn-id    { font-size: 11px; color: var(--bizo-muted); font-family: monospace; }
.bizo-wrap .bizo-txn-date  { font-size: 11px; color: var(--bizo-muted); margin-top: 3px; }
.bizo-wrap .bizo-txn-amount { text-align: right; flex-shrink: 0; }
.bizo-wrap .bizo-txn-price  { font-size: 16px; font-weight: 700; color: #fff; }
.bizo-wrap .bizo-txn-status { font-size: 10px; font-weight: 700; text-transform: uppercase; margin-top: 2px; }
.bizo-wrap .bizo-status-captured { color: var(--bizo-green); }
.bizo-wrap .bizo-txn-credits { font-size: 11px; color: var(--bizo-green); }

/* ═══════════════════════════════════════════════════
   REFERRALS
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-ref-card {
    background: var(--bizo-card);
    border: 1px solid rgba(46,255,123,.2);
    border-radius: var(--bizo-radius);
    padding: 20px;
    margin-bottom: 20px;
}
.bizo-wrap .bizo-ref-title { font-size: 13px; color: var(--bizo-muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 10px; font-weight: 700; }
.bizo-wrap .bizo-ref-link-box { display: flex; gap: 8px; margin-bottom: 8px; }
.bizo-wrap .bizo-ref-input {
    flex: 1;
    background: var(--bizo-border);
    border: 1px solid var(--bizo-border2);
    border-radius: var(--bizo-radius-sm);
    padding: 8px 12px;
    color: #fff;
    font-size: 13px;
    outline: none;
}
.bizo-wrap .bizo-ref-code { font-size: 12px; color: var(--bizo-muted); }
.bizo-wrap .bizo-ref-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 20px; }
.bizo-wrap .bizo-ref-how { margin-bottom: 20px; }
.bizo-wrap .bizo-ref-how h4 { color: #fff; margin-bottom: 10px; }
.bizo-wrap .bizo-ref-steps { color: var(--bizo-muted); padding-left: 18px; line-height: 2; font-size: 14px; }
.bizo-wrap .bizo-ref-steps strong { color: #fff; }
.bizo-wrap .bizo-ref-share h4 { color: #fff; margin-bottom: 10px; }
.bizo-wrap .bizo-ref-share-btns { display: flex; gap: 10px; flex-wrap: wrap; }

/* ═══════════════════════════════════════════════════
   PROFILE
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-profile-card {
    text-align: center;
    padding: 20px;
    margin-bottom: 20px;
}
.bizo-wrap .bizo-profile-avatar { width: 72px; height: 72px; border-radius: 50%; border: 3px solid var(--bizo-green); margin-bottom: 10px; }
.bizo-wrap .bizo-profile-name  { font-size: 20px; font-weight: 700; color: #fff; }
.bizo-wrap .bizo-profile-email { font-size: 14px; color: var(--bizo-muted); }
.bizo-wrap .bizo-form { max-width: 480px; }
.bizo-wrap .bizo-form-group { margin-bottom: 16px; }
.bizo-wrap .bizo-form-group label { display: block; font-size: 13px; color: var(--bizo-muted); margin-bottom: 6px; font-weight: 600; }
.bizo-wrap .bizo-input {
    width: 100%;
    padding: 11px 14px;
    background: var(--bizo-card);
    border: 1px solid var(--bizo-border2);
    border-radius: var(--bizo-radius-sm);
    color: #fff;
    font-size: 14px;
    outline: none;
    transition: border-color var(--bizo-transition);
}
.bizo-wrap .bizo-input:focus { border-color: var(--bizo-green); }
.bizo-wrap .bizo-input:disabled { opacity: .5; cursor: not-allowed; }
.bizo-wrap .bizo-form-msg { font-size: 13px; color: var(--bizo-green); min-height: 20px; margin-bottom: 10px; }
.bizo-wrap .bizo-change-password-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--bizo-border); }
.bizo-wrap .bizo-change-password-section h4 { color: #fff; margin-bottom: 12px; }

/* ═══════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-btn,
.bizo-hero-wrap .bizo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 20px;
    border-radius: var(--bizo-radius-sm);
    border: none;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    transition: opacity var(--bizo-transition), transform .1s;
    line-height: 1;
    white-space: nowrap;
}
.bizo-wrap .bizo-btn:active,
.bizo-hero-wrap .bizo-btn:active { transform: scale(.97); }
.bizo-wrap .bizo-btn-primary,
.bizo-hero-wrap .bizo-btn-primary { background: var(--bizo-green); color: var(--bizo-green-dk); }
.bizo-wrap .bizo-btn-primary:hover,
.bizo-hero-wrap .bizo-btn-primary:hover { opacity: .88; }
.bizo-wrap .bizo-btn-outline { background: none; border: 1px solid var(--bizo-border2); color: var(--bizo-text); }
.bizo-wrap .bizo-btn-outline:hover { border-color: var(--bizo-green); color: var(--bizo-green); }
.bizo-wrap .bizo-btn-sm { padding: 7px 13px; font-size: 12px; }
.bizo-wrap .bizo-btn-full { width: 100%; }
.bizo-wrap .bizo-btn-wa { background: #25D366; color: #fff; }
.bizo-wrap .bizo-btn-tw { background: #000; color: #fff; }
.bizo-wrap .bizo-btn-li { background: #0077B5; color: #fff; }

/* ═══════════════════════════════════════════════════
   BUY CTA (overview)
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-buy-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    background: linear-gradient(135deg, #0B2A14 0%, var(--bizo-card) 100%);
    border: 1px solid rgba(46,255,123,.25);
}
.bizo-wrap .bizo-buy-cta-title { font-size: 15px; font-weight: 700; color: #fff; }
.bizo-wrap .bizo-buy-cta-sub   { font-size: 12px; color: var(--bizo-muted); margin-top: 3px; }

/* ═══════════════════════════════════════════════════
   MODALS
═══════════════════════════════════════════════════ */
.bizo-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.75);
    z-index: 99999;
    align-items: flex-end;
    justify-content: center;
}
.bizo-modal-overlay.open {
    display: flex;
    align-items: flex-end;
}
@media (min-width: 600px) {
    .bizo-modal-overlay.open { align-items: center; }
}
.bizo-modal {
    background: #111827;
    border-radius: 20px 20px 0 0;
    padding: 24px 20px 40px;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    color: var(--bizo-text);
}
@media (min-width: 600px) {
    .bizo-modal { border-radius: 20px; }
}
.bizo-modal h3 { color: #fff; font-size: 20px; margin-bottom: 8px; }
.bizo-modal p  { color: var(--bizo-muted); font-size: 14px; line-height: 1.6; margin-bottom: 14px; }
.bizo-modal-close {
    position: absolute;
    top: 16px; right: 16px;
    background: var(--bizo-border);
    border: none;
    width: 30px; height: 30px;
    border-radius: 50%;
    color: var(--bizo-muted);
    font-size: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Buy modal */
.bizo-wrap .bizo-buy-modal .bizo-buy-modal-inner { text-align: center; }
.bizo-wrap .bizo-buy-icon { font-size: 44px; margin-bottom: 8px; }
.bizo-wrap .bizo-buy-price { font-size: 42px; font-weight: 900; color: var(--bizo-green); margin: 8px 0 16px; }
.bizo-wrap .bizo-buy-features {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    text-align: left;
    display: inline-block;
}
.bizo-wrap .bizo-buy-features li {
    font-size: 14px;
    color: var(--bizo-muted2);
    padding: 4px 0;
}
.bizo-wrap .bizo-buy-note { font-size: 12px; color: var(--bizo-muted); margin-top: 10px; }

/* ═══════════════════════════════════════════════════
   EMPTY STATES
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-empty-state {
    text-align: center;
    padding: 48px 20px;
    color: var(--bizo-muted);
}
.bizo-wrap .bizo-empty-icon { font-size: 48px; margin-bottom: 12px; }
.bizo-wrap .bizo-empty-state p { font-size: 15px; margin-bottom: 20px; }

/* ═══════════════════════════════════════════════════
   MUTED TEXT
═══════════════════════════════════════════════════ */
.bizo-wrap .bizo-muted { color: var(--bizo-muted); }

/* ═══════════════════════════════════════════════════
   LOGIN PROMPT
═══════════════════════════════════════════════════ */
.bizo-wrap.bizo-login-prompt {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
}
.bizo-login-box {
    text-align: center;
    max-width: 340px;
    padding: 40px 20px;
}
.bizo-login-icon { font-size: 48px; margin-bottom: 16px; }
.bizo-login-box h2 { color: #fff; margin-bottom: 10px; }
.bizo-login-box p  { color: var(--bizo-muted); margin-bottom: 24px; }

/* ═══════════════════════════════════════════════════
   HERO INLINE VALIDATOR
═══════════════════════════════════════════════════ */
.bizo-hero-wrap {
    width: 100%;
    color: #fff;
}
.bizo-hero-step-0 .bizo-hero-s0-inner {
    text-align: center;
    padding: 0;
}
.bizo-hero-wrap .bizo-hero-tagline {
    font-size: 16px;
    color: rgba(255,255,255,.8);
    margin-bottom: 16px;
}
.bizo-hero-wrap .bizo-hero-idea-quick {
    display: flex;
    gap: 8px;
    max-width: 600px;
    margin: 0 auto 10px;
    flex-wrap: wrap;
    justify-content: center;
}
.bizo-hero-wrap .bizo-hero-input {
    width: 100%;
    padding: 14px 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 12px;
    color: #fff;
    font-size: 15px;
    outline: none;
    transition: border-color .2s;
}
.bizo-hero-wrap .bizo-hero-input::placeholder { color: rgba(255,255,255,.4); }
.bizo-hero-wrap .bizo-hero-input:focus { border-color: var(--bizo-green); }
.bizo-hero-wrap .bizo-hero-idea-quick .bizo-hero-input { flex: 1; min-width: 220px; }
.bizo-hero-wrap .bizo-hero-cta-btn {
    background: var(--bizo-green);
    color: var(--bizo-green-dk);
    border: none;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity .15s, transform .1s;
}
.bizo-hero-wrap .bizo-hero-cta-btn:hover { opacity: .88; }
.bizo-hero-wrap .bizo-hero-credit-hint { font-size: 12px; color: rgba(255,255,255,.55); margin-top: 8px; }

/* Expanded section */
.bizo-hero-wrap .bizo-hero-expanded {
    overflow: hidden;
    animation: bizoSlideDown .35s ease forwards;
}
@keyframes bizoSlideDown {
    from { opacity: 0; transform: translateY(-12px); }
    to   { opacity: 1; transform: translateY(0); }
}
.bizo-hero-wrap .bizo-hero-progress {
    display: flex;
    justify-content: center;
    gap: 0;
    margin: 20px 0 24px;
    overflow-x: auto;
    scrollbar-width: none;
}
.bizo-hero-wrap .bizo-hero-progress::-webkit-scrollbar { display: none; }
.bizo-hero-wrap .bizo-hero-progress-step {
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 700;
    color: rgba(255,255,255,.4);
    border-bottom: 2px solid rgba(255,255,255,.1);
    transition: all .2s;
    white-space: nowrap;
}
.bizo-hero-wrap .bizo-hero-progress-step.active {
    color: var(--bizo-green);
    border-bottom-color: var(--bizo-green);
}
.bizo-hero-wrap .bizo-hero-step-form { display: none; max-width: 560px; margin: 0 auto; }
.bizo-hero-wrap .bizo-hero-step-form.active { display: block; }
.bizo-hero-wrap .bizo-hero-step-title {
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    margin-bottom: 20px;
    text-align: center;
}
.bizo-hero-wrap .bizo-hero-step-sub {
    font-size: 14px;
    color: rgba(255,255,255,.6);
    text-align: center;
    margin-bottom: 16px;
}
.bizo-hero-wrap .bizo-hero-field { margin-bottom: 16px; }
.bizo-hero-wrap .bizo-hero-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.7);
    margin-bottom: 6px;
}
.bizo-hero-wrap .bizo-hero-textarea { resize: vertical; }
.bizo-hero-wrap .bizo-hero-select {
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,.5)' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
}
.bizo-hero-select option { background: #1f2937; color: #fff; }
.bizo-hero-wrap .bizo-hero-stage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.bizo-hero-wrap .bizo-stage-btn {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 10px;
    color: rgba(255,255,255,.7);
    padding: 12px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    text-align: center;
}
.bizo-hero-wrap .bizo-stage-btn:hover,
.bizo-hero-wrap .bizo-stage-btn.selected {
    background: rgba(46,255,123,.15);
    border-color: var(--bizo-green);
    color: var(--bizo-green);
}
.bizo-hero-wrap .bizo-hero-nav { display: flex; gap: 10px; justify-content: space-between; margin-top: 20px; }
.bizo-hero-wrap .bizo-hero-next-btn,
.bizo-hero-wrap .bizo-hero-analyze-btn {
    background: var(--bizo-green);
    color: var(--bizo-green-dk);
    border: none;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    flex: 1;
    transition: opacity .15s;
}
.bizo-hero-wrap .bizo-hero-next-btn:hover,
.bizo-hero-wrap .bizo-hero-analyze-btn:hover { opacity: .88; }
.bizo-hero-wrap .bizo-hero-back-btn {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    color: rgba(255,255,255,.7);
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 14px;
    cursor: pointer;
}
.bizo-hero-wrap .bizo-hero-logged-in-msg {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    margin-bottom: 20px;
    font-size: 14px;
    color: rgba(255,255,255,.7);
}
.bizo-hero-wrap .bizo-hero-credit-pill {
    background: rgba(46,255,123,.15);
    border: 1px solid rgba(46,255,123,.3);
    border-radius: 99px;
    padding: 3px 10px;
    font-size: 13px;
    color: var(--bizo-green);
    font-weight: 700;
}
.bizo-hero-wrap .bizo-hero-input-note { font-size: 11px; color: rgba(255,255,255,.4); margin-top: 4px; display: block; }
.bizo-hero-wrap .bizo-hero-ref-notice {
    background: rgba(46,255,123,.1);
    border: 1px solid rgba(46,255,123,.2);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    color: var(--bizo-green);
    text-align: center;
    margin-bottom: 14px;
}
.bizo-hero-wrap .bizo-hero-disclaimer {
    font-size: 11px;
    color: rgba(255,255,255,.35);
    text-align: center;
    margin-top: 14px;
}
.bizo-hero-wrap .bizo-hero-disclaimer a { color: rgba(255,255,255,.55); }
.bizo-hero-wrap .bizo-results-step { padding-bottom: 20px; }

/* Buy credits standalone page */
.bizo-wrap .bizo-credits-hero {
    text-align: center;
    padding: 30px 20px;
    background: linear-gradient(135deg, #0B2A14, #041E0D);
    border-radius: var(--bizo-radius);
    margin-bottom: 24px;
}
.bizo-wrap .bizo-credits-hero-balance { display: inline-flex; flex-direction: column; align-items: center; }
.bizo-wrap .bizo-credits-hero-num { font-size: 56px; font-weight: 900; color: var(--bizo-green); }
.bizo-wrap .bizo-credits-hero-lbl { font-size: 14px; color: var(--bizo-muted); }
.bizo-wrap .bizo-pack-grid { display: flex; justify-content: center; gap: 20px; margin-bottom: 32px; flex-wrap: wrap; }
.bizo-wrap .bizo-pack-card {
    background: var(--bizo-card);
    border: 2px solid rgba(46,255,123,.3);
    border-radius: 20px;
    padding: 28px;
    text-align: center;
    max-width: 300px;
    width: 100%;
    position: relative;
}
.bizo-wrap .bizo-pack-badge {
    position: absolute;
    top: -12px; left: 50%; transform: translateX(-50%);
    background: var(--bizo-green);
    color: var(--bizo-green-dk);
    font-size: 11px;
    font-weight: 800;
    padding: 4px 14px;
    border-radius: 99px;
    white-space: nowrap;
}
.bizo-wrap .bizo-pack-credits     { font-size: 64px; font-weight: 900; color: var(--bizo-green); }
.bizo-wrap .bizo-pack-credits-lbl { font-size: 14px; color: var(--bizo-muted); margin-bottom: 10px; }
.bizo-wrap .bizo-pack-price-big   { font-size: 32px; font-weight: 800; color: #fff; margin-bottom: 16px; }
.bizo-wrap .bizo-pack-list        { list-style: none; padding: 0; margin: 0 0 20px; color: var(--bizo-muted); font-size: 13px; }
.bizo-wrap .bizo-pack-list li     { padding: 5px 0; border-bottom: 1px solid var(--bizo-border); }
.bizo-wrap .bizo-credit-explainer { padding: 0 0 40px; }
.bizo-wrap .bizo-credit-explainer h3 { color: #fff; margin-bottom: 16px; }
.bizo-wrap .bizo-credit-explainer .bizo-rules-grid .bizo-rule-item { font-size: 13px; padding: 10px; }
.bizo-wrap .bizo-credit-explainer .bizo-rule-item strong { display: inline; }
