body{background:#f4f5f1;color:#24302b;font-family:system-ui,Arial,sans-serif;margin:0}.portal{max-width:650px;margin:24px auto;padding:16px}.portal-brand{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.12em;font-weight:750;margin-bottom:22px}.portal-brand img{width:52px;height:52px;object-fit:contain}.portal-card{background:white;padding:28px;border-radius:18px;box-shadow:0 6px 35px #1d2d2220}.portal-card h1{font-size:28px}.portal-card label{display:block;font-size:14px;font-weight:600;margin:14px 0}.portal-card input,.portal-card select,.portal-card textarea{box-sizing:border-box;display:block;width:100%;padding:12px;border:1px solid #bbc4ba;border-radius:9px;font:inherit;margin-top:5px}.portal-card button{margin:8px 8px 8px 0}.portal-card [hidden]{display:none!important}#status{font-weight:650;line-height:1.5}#entries p{border-bottom:1px solid #ddd;padding:10px 0}@media(max-width:520px){.portal-card{padding:20px}.portal{margin:5px auto}}
.booking-legend{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0;font-size:.83rem;color:#46586c}.booking-legend span:nth-child(1){color:#15734b}.booking-legend span:nth-child(2){color:#9a6515}.booking-legend span:nth-child(3){color:#8c4852}.booking-calendar{margin:12px 0 22px;border:1px solid #dbe2e9;border-radius:12px;padding:12px}.booking-calendar-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.booking-calendar-bar h2{font-size:1.12rem;margin:0}.booking-calendar-bar button{border:1px solid #d4dce5;background:#fff;border-radius:7px;padding:6px 16px;font-size:22px;cursor:pointer}.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-weekday{text-align:center;font-weight:600;font-size:.76rem;color:#526275;padding:5px 0}.booking-day{min-height:61px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:1px solid #dce5eb;border-radius:8px;background:#f0f9f5;color:#15593e;cursor:pointer}.booking-day small{font-size:.62rem;line-height:1.15;text-align:center}.booking-day.partial{background:#fff6e6;color:#865b19;border-color:#e8ca88}.booking-day.full,.booking-day.unavailable{background:#f3f4f6;color:#7a8290;cursor:not-allowed}.booking-day.selected{outline:3px solid #326fbd;outline-offset:0}.booking-day:focus-visible{outline:3px solid #326fbd}@media(max-width:560px){.booking-calendar{padding:6px}.booking-calendar-grid{gap:3px}.booking-day{min-height:56px}.booking-day small{font-size:.54rem}.booking-legend{gap:8px;font-size:.72rem}}

.portal-month-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0;flex-wrap:wrap}.portal-summary{padding:14px;border-radius:12px;background:#eff4ee;color:#18372b;font-weight:600;margin-bottom:14px}.portal-work-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.portal-work-calendar>strong{text-align:center;font-size:12px;padding:6px 0}.portal-work-day{min-height:72px;padding:7px 4px;border:1px solid #ddd;border-radius:8px;overflow-wrap:anywhere}.portal-work-day.worked{background:#e2f5e8;border-color:#78b38a}.portal-work-day strong,.portal-work-day small{display:block}.portal-work-day small{font-size:10px;margin-top:4px}.portal-complete{text-align:center;padding:30px 15px;border-radius:12px;background:#e7f5eb;color:#164c2b}.portal-complete h2{color:#164c2b}@media(max-width:560px){.portal-work-day{min-height:62px}.portal-work-day small{font-size:9px}}
