.lvp-public-page{width:min(1280px,calc(100% - 32px));margin:28px auto 60px}.lvp{--green:#315a49;--lime:#7eb831;--cream:#f7f3eb;--ink:#20332b;color:var(--ink);font-family:inherit}
.lvp__hero{padding:32px;border-radius:22px;background:linear-gradient(135deg,#315a49,#203d32);color:#fff}
.lvp__hero span{font-size:12px;font-weight:800;letter-spacing:.16em}
.lvp__hero h2{margin:8px 0;font-size:clamp(28px,5vw,48px);color:#fff}
.lvp__hero p{margin:0;opacity:.85}
.lvp__toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0}
.lvp__views,.lvp__months{display:flex;align-items:center}
.lvp__views button,.lvp__months button,.lvp__filters button{border:1px solid #d8e0dc;background:#fff;color:var(--green);font-weight:750;cursor:pointer}
.lvp__views button{padding:10px 18px}
.lvp__views button:first-child{border-radius:22px 0 0 22px}
.lvp__views button:last-child{border-radius:0 22px 22px 0}
.lvp__views .is-active,.lvp__filters .is-active{background:var(--green);color:#fff}
.lvp__months{gap:14px}
.lvp__months button{width:40px;height:40px;border-radius:50%;font-size:24px}
.lvp__months strong{min-width:130px;text-align:center;text-transform:capitalize}
.lvp__filters{display:flex;gap:8px;overflow:auto;padding-bottom:12px}
.lvp__filters button{white-space:nowrap;padding:8px 14px;border-radius:18px}
.lvp__status{min-height:22px;color:#6b766f}
.lvp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.lvp-card{display:flex;min-width:0;background:#fff;border:1px solid #e2e7e4;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(25,55,43,.07)}
.lvp-card__date{flex:0 0 66px;padding:18px 10px;text-align:center;background:var(--cream)}
.lvp-card__date b{display:block;font-size:28px;color:var(--green)}
.lvp-card__date span{text-transform:uppercase;font-size:12px}
.lvp-card__body{display:flex;flex:1;flex-direction:column;padding:18px;min-width:0}
.lvp-tag{align-self:flex-start;padding:4px 9px;border-radius:10px;background:#eaf3df;color:#527b22;font-size:11px;font-weight:800;text-transform:uppercase}
.lvp-card h3{margin:10px 0 5px;font-size:19px}
.lvp-card p{margin:3px 0;color:#627068;font-size:14px}
.lvp-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:16px}
.lvp-card footer span{font-size:12px;color:#527b22;font-weight:750}
.lvp-card footer .is-full{color:#b46b32}
.lvp-card button,.lvp-book-form>button{border:0;border-radius:18px;background:var(--green);color:#fff;padding:9px 15px;font-weight:800;cursor:pointer}
.lvp-cal-scroll{overflow-x:auto;border:1px solid #dfe5e1;border-radius:18px}
.lvp-cal{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px;background:#fff}
.lvp-cal__head{padding:13px;text-align:center;border-bottom:1px solid #dfe5e1;color:#6b756f;text-transform:uppercase}
.lvp-cal__day{min-height:145px;padding:9px;border-right:1px solid #e5e9e6;border-bottom:1px solid #e5e9e6}
.lvp-cal__day time{display:block;text-align:right;color:#7b857e}
.lvp-cal__day button{display:block;width:100%;margin-top:5px;padding:6px 7px;border:0;border-radius:6px;background:var(--lime);color:#fff;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.lvp-cal__day.is-empty{background:#fafbfa}
.lvp-empty{padding:45px;text-align:center;background:var(--cream);border-radius:18px}
.lvp-modal{width:min(520px,calc(100% - 28px));padding:0;border:0;border-radius:22px;box-shadow:0 20px 80px rgba(0,0,0,.25)}
.lvp-modal::backdrop{background:rgba(15,32,25,.65)}
.lvp-modal__close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}
.lvp-modal__event{padding:25px 28px 18px;background:var(--cream)}
.lvp-modal__event h3{margin:6px 35px 6px 0}
.lvp-book-form{display:grid;gap:12px;padding:25px 28px}
.lvp-book-form label{display:grid;gap:5px;font-weight:700}
.lvp-book-form input{padding:11px;border:1px solid #cfd8d3;border-radius:9px;font:inherit}
.lvp-book-form .lvp-consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-size:12px;font-weight:400}
.lvp-form-status{min-height:20px;font-weight:700;color:var(--green)}
@media(max-width:900px){.lvp-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){.lvp__hero{padding:25px 20px}
.lvp__toolbar{align-items:stretch;flex-direction:column}
.lvp__months{justify-content:space-between}
.lvp-grid{grid-template-columns:1fr}
.lvp-card__date{flex-basis:58px}
.lvp-cal{grid-template-columns:repeat(7,130px);min-width:910px}
}
.lvp__hero{display:flex;justify-content:space-between;align-items:center;gap:20px}
.lvp__account-links{display:flex;gap:9px;flex-wrap:wrap}
.lvp__account-links a{padding:9px 14px;border:1px solid rgba(255,255,255,.45);border-radius:20px;color:#fff;text-decoration:none;font-weight:750;white-space:nowrap}
.lvp-account{margin:18px 0;padding:22px;border:1px solid #dfe6e2;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(25,55,43,.06)}
.lvp-account__heading,.lvp-account__heading>div,.lvp-account__list article,.lvp-account__list article>div:last-child{display:flex;align-items:center}
.lvp-account__heading{justify-content:space-between;gap:15px}
.lvp-account__heading>div{gap:12px}
.lvp-account__heading span{color:#527b22;font-size:11px;font-weight:800;letter-spacing:.1em}
.lvp-account__heading h3{margin:0}
.lvp-account__heading a{color:var(--green);font-weight:700}
.lvp-account__list{margin-top:15px;border-top:1px solid #e5eae7}
.lvp-account__list article{justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #e5eae7}
.lvp-account__list p{margin:4px 0 0;color:#65726b;font-size:13px}
.lvp-account__list article>div:last-child{gap:10px}
.lvp-account__list button{border:0;background:transparent;color:#9b3e3e;text-decoration:underline;cursor:pointer}
.lvp-account__empty{margin-bottom:0}
.lvp-account__status{min-height:20px;margin-top:8px;color:var(--green);font-weight:700}
.lvp-account h4{margin:22px 0 4px;font-size:15px;color:var(--green)}
.lvp-account__tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.lvp-account__tabs a{padding:7px 11px;border:1px solid #dce5e0;border-radius:16px;color:var(--green);text-decoration:none;font-size:12px;font-weight:750}
.lvp-account__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}
.lvp-account__summary span{padding:11px;border-radius:12px;background:var(--cream);color:#65726b;font-size:12px}
.lvp-account__summary strong{display:block;color:var(--green);font-size:20px}
.lvp-account__history{margin-top:18px;border-top:1px solid #dfe6e2;padding-top:16px}
.lvp-account__history summary{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-weight:800;cursor:pointer}
.lvp-account__history summary span{min-width:28px;padding:4px 8px;border-radius:14px;background:#eaf3df;text-align:center;font-size:12px}
.lvp-pill.is-historical{background:#f0eee7;color:#766b52}
.lvp-pill.is-present{background:#e4f2df;color:#477728}
.lvp-pill.is-absent,.lvp-pill.is-no_show{background:#f7e7e3;color:#94483b}
@media(max-width:620px){.lvp__hero{align-items:flex-start;flex-direction:column}.lvp-account__heading,.lvp-account__heading>div,.lvp-account__list article{align-items:flex-start;flex-direction:column}.lvp-account__list article>div:last-child{width:100%;justify-content:space-between}}
@media(max-width:620px){.lvp-account__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
