.bep-portal { --bep-blue: #245b78; --bep-green: #39745a; color: #243039; font-family: inherit; margin: 2rem auto; max-width: 1200px; }
.bep-portal * { box-sizing: border-box; }
.bep-portal-header { align-items: end; display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; }
.bep-portal-header h2 { margin: 3px 0 0; }
.bep-eyebrow { color: var(--bep-green); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bep-portal select { border: 1px solid #b6c1c7; border-radius: 6px; display: block; margin-top: 4px; padding: 8px; }
.bep-deadline { background: #edf5f1; border-left: 4px solid var(--bep-green); padding: 10px 14px; }
.bep-deadline.is-locked { background: #fff1ef; border-color: #a63d30; }
.bep-child { margin-top: 30px; }
.bep-child h3 { border-bottom: 2px solid var(--bep-blue); margin-bottom: 14px; padding-bottom: 8px; }
.bep-child h3 small { color: #67747c; font-size: .8em; font-weight: 400; }
.bep-days { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.bep-day { border: 1px solid #d6dde1; border-radius: 9px; margin: 0; min-width: 0; padding: 12px; }
.bep-day legend { padding: 0 5px; }
.bep-day legend span { color: #68767f; display: block; font-size: .82rem; }
.bep-choice { align-items: start; border: 1px solid #e0e5e8; border-radius: 6px; cursor: pointer; display: flex; font-size: .9rem; gap: 8px; margin: 8px 0; padding: 9px; }
.bep-choice:has(input:checked) { background: #edf5f1; border-color: var(--bep-green); }
.bep-choice input { flex: none; margin-top: 3px; }
.bep-choice small, .bep-choice em { color: #5e6b73; display: block; font-size: .85em; font-style: normal; font-weight: 400; margin-top: 3px; }
.bep-none { background: #f6f7f7; }
.bep-no-offer { color: #68767f; font-size: .88rem; }
.bep-submit { background: var(--bep-blue); border: 0; border-radius: 7px; color: #fff; cursor: pointer; font: inherit; font-weight: 700; margin-top: 25px; padding: 12px 20px; }
.bep-message, .bep-success { border-radius: 6px; margin: 12px 0; padding: 12px 15px; }
.bep-message { background: #fff4db; }
.bep-success { background: #e7f6eb; color: #205c33; }
.bep-final-note { background: #edf5f1; border-radius: 5px; color: #205c33; font-size: .9rem; margin: 0 0 12px; padding: 8px 11px; }
.bep-day:disabled { background: #f6f7f7; opacity: .8; }
@media (max-width: 1000px) { .bep-days { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .bep-days { grid-template-columns: 1fr; } }
