.cgh-form-progress { margin: 0 10px 24px; padding: 18px 20px; border: 1px solid #dbe3ef; border-radius: 8px; background: #f8faff; }
.cgh-progress-head { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 10px; color: #172b4d; font-size: 16px; }
.cgh-progress-track { height: 10px; overflow: hidden; border-radius: 999px; background: #dfe6ef; }
.cgh-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: #254281; transition: width .3s ease; }
.cgh-form-progress.is-complete .cgh-progress-track span { background: #16833a; }
.cgh-progress-note { margin-top: 9px; color: #66717e; font-size: 12px; }
.cgh-required { color: #c5221f; font-weight: 800; }
.cgh-form-help { margin: 7px 0 0 !important; color: #66717e; font-size: 12px; line-height: 1.45; }
.cgh-description-template { float: right; margin: -4px 0 7px; padding: 5px 9px; border: 1px solid #254281; border-radius: 4px; color: #254281; background: #fff; cursor: pointer; font-size: 12px; font-weight: 700; }
.cgh-description-template:hover { color: #fff; background: #254281; }
.cgh-premium-intro { margin: 8px 0 14px !important; padding: 13px 14px; border-left: 4px solid #d9a400; border-radius: 5px; color: #5c4700; background: #fff8d9; line-height: 1.45; }
.cgh-premium-intro.has-premium { border-left-color: #16833a; color: #116329; background: #edf9f0; }
.cgh-premium-intro.no-premium { border-left-color: #b86b00; color: #764500; background: #fff4df; }
.cgh-premium-intro.no-premium > strong, .cgh-premium-intro.no-premium > span { display: block; }
.cgh-premium-intro.no-premium > strong { margin-bottom: 5px; }
.cgh-premium-link { display: inline-block; margin-top: 11px; padding: 9px 13px; border-radius: 5px; color: #fff !important; background: #254281; text-decoration: none !important; font-weight: 700; }
.cgh-premium-link:hover, .cgh-premium-link:focus { color: #fff !important; background: #172b4d; }
.cgh-premium-card { box-sizing: border-box; width: 100%; margin: 12px 0 16px; overflow: visible; border: 2px solid #d8dee8; border-radius: 8px; background: #f7f8fa; transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease; }
.cgh-premium-choice { box-sizing: border-box; display: flex !important; align-items: flex-start; gap: 13px; width: 100%; margin: 0 !important; padding: 15px 16px; cursor: pointer; }
.cgh-premium-choice input[type="checkbox"] { position: static !important; inset: auto !important; display: block !important; float: none !important; flex: 0 0 22px !important; width: 22px !important; min-width: 22px !important; max-width: 22px !important; height: 22px !important; margin: 2px 0 0 !important; padding: 0 !important; overflow: visible !important; clip: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; accent-color: #254281; cursor: pointer; }
.cgh-premium-choice-body, .cgh-premium-choice-body > strong, .cgh-premium-choice-info, .cgh-premium-balance { display: block; }
.cgh-premium-choice-body { flex: 1 1 auto; min-width: 0; }
.cgh-premium-choice-body > strong { margin-bottom: 5px; color: #172b4d; font-size: 14px; line-height: 1.35; }
.cgh-premium-choice-info { color: #59636e; font-size: 12px; line-height: 1.4; }
.cgh-premium-balance { margin-top: 8px; color: #254281; font-size: 12px; font-weight: 800; }
.cgh-premium-card:hover { border-color: #9badd1; }
.cgh-premium-card.is-selected { border-color: #16833a; background: #edf9f0; box-shadow: 0 0 0 3px rgba(22, 131, 58, .1); }
.cgh-premium-card.is-selected .cgh-premium-choice-body > strong, .cgh-premium-card.is-selected .cgh-premium-balance { color: #116329; }
.cgh-premium-card.is-disabled { border-color: #e0e0e0; background: #f4f4f4; opacity: .85; }
.cgh-premium-card.is-disabled .cgh-premium-choice { cursor: not-allowed; }
.cgh-premium-card.is-disabled .cgh-premium-balance { color: #8f1719; }
.cgh-default-employer-image { box-sizing: border-box; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 8px; background: #eef5ff; }

@media (max-width: 600px) {
    .cgh-progress-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .cgh-description-template { float: none; display: block; margin: 6px 0 8px; }
}
@media (prefers-reduced-motion: reduce) { .cgh-progress-track span, .cgh-premium-card { transition: none; } }
