.halb-hub{margin:8px 0 34px}.halb-hub-intro{margin:0 0 22px;color:#475569}.halb-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;margin:20px 0 28px}.halb-summary-card{background:#fff;border:1px solid #dbe3ee;border-radius:12px;padding:18px;box-shadow:0 2px 9px rgba(15,23,42,.05)}.halb-summary-card strong{display:block;font-size:30px;line-height:1;color:#0f172a}.halb-summary-card span{display:block;margin-top:8px;color:#64748b;font-weight:600}.halb-summary-card.is-good{border-top:4px solid #16a34a}.halb-summary-card.is-attention{border-top:4px solid #d97706}.halb-summary-card.is-action{border-top:4px solid #dc2626}.halb-license-card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;margin:0 0 22px;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.06)}.halb-license-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:22px 24px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.halb-license-card-head h3{margin:0 0 5px;font-size:22px}.halb-license-card-head p{margin:0;color:#64748b}.halb-health{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;font-weight:700;font-size:13px;white-space:nowrap}.halb-health:before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor}.halb-health-good{background:#ecfdf3;color:#147a38}.halb-health-attention{background:#fff7e6;color:#9a5a00}.halb-health-action{background:#fff0f1;color:#a61b2b}.halb-license-card-body{padding:24px}.halb-license-grid{display:grid;grid-template-columns:minmax(260px,1.3fr) repeat(3,minmax(120px,.7fr));gap:16px;align-items:stretch}.halb-field{border:1px solid #e2e8f0;border-radius:9px;padding:14px;background:#fff}.halb-field-label{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:7px}.halb-field-value{font-weight:700;color:#172033;word-break:break-word}.halb-key-box{display:flex;gap:8px;align-items:center}.halb-key-box code{display:block;flex:1;padding:11px 12px;border:2px solid #011748;border-radius:7px;background:#f8fafc;color:#011748;font-weight:700;font-size:14px;word-break:break-all;user-select:all}.halb-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9eef5;font-weight:700;font-size:12px}.halb-status-active,.halb-status-valid{background:#eaf8ee;color:#176b32}.halb-status-grace{background:#fff5d9;color:#8a5900}.halb-status-revoked,.halb-status-suspended,.halb-status-expired{background:#fdebed;color:#9c1c2c}.halb-license-actions{display:flex;flex-wrap:wrap;gap:9px;margin:19px 0 0}.halb-license-actions form{margin:0}.halb-timeline{margin:22px 0 0;border-top:1px solid #e2e8f0;padding-top:18px}.halb-timeline h4{margin:0 0 11px}.halb-timeline ul{list-style:none;margin:0;padding:0}.halb-timeline li{position:relative;padding:0 0 12px 22px;color:#475569}.halb-timeline li:before{content:"";position:absolute;left:3px;top:7px;width:8px;height:8px;border-radius:50%;background:#2457a7}.halb-timeline time{display:block;color:#94a3b8;font-size:12px;margin-top:2px}.halb-account-email{background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;padding:20px;margin:24px 0}.halb-account-email h3{margin-top:0}.halb-email-correction{display:none;margin-top:15px}.halb-email-correction.is-open{display:block}.halb-email-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.halb-email-fields label{display:block;font-weight:700}.halb-email-fields input{width:100%;margin-top:5px}.halb-form-actions{display:flex;gap:9px;align-items:center;margin-top:13px}.halb-thankyou{margin:28px 0;background:#fff;border:1px solid #dbe3ee;border-radius:15px;overflow:hidden;box-shadow:0 4px 18px rgba(15,23,42,.07)}.halb-thankyou-head{padding:26px 28px;background:#011748;color:#fff}.halb-thankyou-head h2{color:#fff;margin:0 0 8px;font-size:30px}.halb-thankyou-head p{margin:0;color:#dbeafe}.halb-thankyou-body{padding:26px 28px}.halb-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px}.halb-check{background:#ecfdf3;border:1px solid #bbf7d0;border-radius:8px;padding:12px;font-weight:700;color:#166534}.halb-check:before{content:"✓";margin-right:7px}.halb-email-callout{margin:20px 0 0;padding:15px;border-radius:9px;background:#fff7ed;border:1px solid #fed7aa}.halb-email-callout strong{word-break:normal;overflow-wrap:normal}.halb-account-email-value{overflow-wrap:anywhere;word-break:break-word}.halb-yahoo-warning strong,.halb-spam-callout p strong{white-space:nowrap;word-break:normal;overflow-wrap:normal}.halb-button-primary{background:#2457a7!important;border-color:#2457a7!important;color:#fff!important}.halb-empty{padding:24px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.halb-downloads{display:flex;flex-wrap:wrap;gap:8px}.halb-notice{padding:13px 15px;border-radius:8px;margin:15px 0}.halb-notice-success{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534}.halb-notice-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}@media(max-width:900px){.halb-license-grid{grid-template-columns:1fr 1fr}.halb-checks{grid-template-columns:1fr}.halb-summary{grid-template-columns:1fr 1fr}.halb-license-card-head{display:block}.halb-health{margin-top:12px}}@media(max-width:600px){.halb-summary,.halb-license-grid,.halb-email-fields{grid-template-columns:1fr}.halb-license-card-head,.halb-license-card-body,.halb-thankyou-head,.halb-thankyou-body{padding:19px}.halb-key-box{align-items:stretch;flex-direction:column}.halb-key-box .button{width:100%}}
.halb-delivery-hub{margin-top:0}.halb-delivery-hub .halb-thankyou-head{background:linear-gradient(135deg,#011748 0%,#173f91 100%)}.halb-eyebrow{display:block;margin:0 0 9px;color:#bfdbfe;font-size:12px;font-weight:800;letter-spacing:.12em}.halb-start-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.75fr);gap:22px;align-items:start}.halb-start-main .happilyapps-license-section{margin-top:0!important}.halb-immediate-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.halb-download-now{font-size:17px!important;padding:14px 22px!important;line-height:1.3!important}.halb-next-steps{background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;padding:20px}.halb-next-steps h3{margin:0 0 15px;color:#0f172a}.halb-next-steps ol{margin:0 0 17px;padding:0;list-style:none;counter-reset:halb-step}.halb-next-steps li{position:relative;margin:0 0 17px;padding:0 0 0 42px;counter-increment:halb-step}.halb-next-steps li:before{content:counter(halb-step);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;background:#2457a7;color:#fff;font-weight:800}.halb-next-steps li strong,.halb-next-steps li span{display:block}.halb-next-steps li span{margin-top:3px;color:#64748b;font-size:14px;line-height:1.4}.halb-spam-callout{font-size:15px}.halb-spam-callout p{margin:8px 0 0}.halb-receipt-note{margin:20px 0 0;padding-top:18px;border-top:1px solid #e2e8f0;color:#64748b}.halb-license-spinner{width:42px;height:42px;margin:4px 0 18px;border:4px solid #dbe3ee;border-top-color:#2457a7;border-radius:50%;animation:halb-spin .9s linear infinite}@keyframes halb-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.halb-start-grid{grid-template-columns:1fr}}
.halb-pdf-callout{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:18px 20px;border:1px solid #cbd5e1;border-left:4px solid #7c3aed;border-radius:10px;background:#faf8ff}.halb-pdf-copy{min-width:0;flex:1 1 320px}.halb-pdf-callout strong,.halb-pdf-callout span{display:block}.halb-pdf-callout strong{color:#172033}.halb-pdf-callout span{margin-top:3px;color:#64748b;font-size:14px;line-height:1.4}.halb-pdf-download{flex:0 1 auto;max-width:100%;white-space:normal;text-align:center;background:#fff!important;border-color:#7c3aed!important;color:#5b21b6!important;font-weight:700!important}.halb-yahoo-warning{padding:11px 12px;border-radius:7px;background:#fff1d6;border:1px solid #f4b942;color:#7c3f00}.halb-yahoo-warning strong{color:#7c2d12}@media(max-width:700px){.halb-pdf-callout{align-items:stretch;flex-direction:column}.halb-pdf-download{width:100%;text-align:center}}
.halb-license-wait-visual{display:flex;align-items:center;gap:20px;margin:2px 0 16px}.halb-license-wait-visual .halb-license-spinner{flex:0 0 auto;margin:0}.halb-license-countdown-wrap{display:flex;flex-direction:column;gap:3px}.halb-license-countdown-label{color:#64748b;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.halb-license-countdown{color:#0f172a;font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.halb-license-progress{height:9px;margin:0 0 18px;overflow:hidden;border-radius:999px;background:#e2e8f0}.halb-license-progress span{display:block;width:0;height:100%;border-radius:inherit;background:#2457a7;transition:width 1s linear}.halb-license-recovery-state[hidden],.halb-license-waiting-state[hidden]{display:none!important}.halb-license-recovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.halb-license-recovery-step{display:flex;gap:12px;padding:15px;border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc}.halb-license-recovery-step>span{display:flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2457a7;color:#fff;font-weight:800}.halb-license-recovery-step strong{display:block;color:#172033}.halb-license-recovery-step p{margin:4px 0 0;color:#64748b;font-size:14px;line-height:1.45}@media(max-width:760px){.halb-license-recovery-grid{grid-template-columns:1fr}.halb-license-wait-visual{align-items:flex-start}.halb-license-countdown{font-size:30px}}


/* Temporary-password recovery action on My Account. */
.woocommerce-info .halb-password-resend-action,
.woocommerce-message .halb-password-resend-action,
.woocommerce-notice .halb-password-resend-action {
    display: inline-flex;
    margin-left: 14px;
    vertical-align: middle;
}

.woocommerce-info .halb-resend-password-button,
.woocommerce-message .halb-resend-password-button,
.woocommerce-notice .halb-resend-password-button {
    margin: 0;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .woocommerce-info .halb-password-resend-action,
    .woocommerce-message .halb-password-resend-action,
    .woocommerce-notice .halb-password-resend-action {
        display: flex;
        margin: 12px 0 0;
    }
}


/* Keep customer action labels readable inside narrow account columns. */
.halb-immediate-actions .button,
.halb-license-actions .button,
.halb-next-steps .button,
.halb-license-recovery-state .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 18px !important;
    line-height: 1.2 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

.halb-immediate-actions .button::before,
.halb-immediate-actions .button::after,
.halb-license-actions .button::before,
.halb-license-actions .button::after {
    text-decoration: none !important;
}

@media (max-width: 520px) {
    .halb-immediate-actions .button,
    .halb-license-actions .button,
    .halb-license-recovery-state .button {
        width: 100%;
        white-space: normal;
    }
}

/* Allow long software download labels to wrap inside narrow account columns. */
.halb-immediate-actions .halb-download-now {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    height: auto;
}

/* Keep software download buttons inside their column at every account width. */
.halb-immediate-actions .halb-download-now {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    text-align: center;
}

/* My Account has a sidebar, so stack the delivery columns before they become cramped. */
@media (max-width: 1200px) {
    .woocommerce-account .halb-start-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Keep activation codes intact and place Copy neatly below them. */
.happilyapps-license-section td[data-title="License code"] code {
    display: block;
    white-space: nowrap;
    word-break: normal !important;
    overflow-wrap: normal !important;
    max-width: 100%;
    overflow-x: auto;
}

.happilyapps-license-section td[data-title="License code"] .halb-copy-license {
    display: block !important;
    margin-top: 8px !important;
    margin-left: 0 !important;
}

/* In the narrow WooCommerce table layout, keep Copy aligned under the license code. */
@media (max-width: 768px) {
    .happilyapps-license-section td[data-title="License code"] .halb-copy-license {
        margin-left: auto !important;
        margin-right: 0 !important;
        width: max-content !important;
    }
}
.halb-subscription-disclosure{margin:18px 0;padding:16px 18px;border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:10px;background:#eff6ff;color:#172033}.halb-subscription-disclosure strong{display:block;margin:0 0 5px;color:#123b7a;font-size:16px}.halb-subscription-disclosure p{margin:0 0 5px;line-height:1.55}.halb-subscription-disclosure small{display:block;color:#526173;line-height:1.45}.woocommerce-checkout .halb-subscription-disclosure{margin:0 0 22px}
