/* JP COMMUNITY v33 — navigation, schedule and media quality pass */
:root{--v33-ink:#21372a;--v33-green:#276c53;--v33-muted:#73867b;--v33-border:#e5ede7}
/* Bottom bar: icons only, balanced vertically, safe-area still visible */
.nav{display:grid!important;grid-template-columns:repeat(4,1fr)!important;padding:7px 7px calc(7px + env(safe-area-inset-bottom))!important;min-height:0!important;box-shadow:0 -3px 14px #153d2210!important}
.nav button{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;gap:0!important;font-size:0!important}
.nav button>.nav-icon{display:grid!important;place-items:center!important;width:49px!important;height:43px!important;margin:0 auto!important;border-radius:15px!important}
.nav .nav-icon svg{width:26px!important;height:26px!important}
.nav button.active>.nav-icon{background:#e2f3e8!important}
.app{padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
/* Calendar: compact gap between date and time, consistent rectangular controls */
#modal.is-event24 .event-form24{gap:9px!important;padding-top:16px!important}
#modal.is-event24 .event-pick-label24{margin:1px 0 0!important;font-size:13px!important;font-weight:750!important}
#modal.is-event24 .event-summary24{margin:0!important;padding:4px 11px!important;gap:0!important;border-radius:13px!important}
#modal.is-event24 .v28-event-row{gap:7px!important;padding:7px 0!important;min-height:55px!important}
#modal.is-event24 .v28-event-row>.event-choice{min-height:40px!important;padding:0!important}
#modal.is-event24 .v28-event-row .event-choice-date24{background:#f1f6f2!important;border:1px solid #e2ece5!important;border-radius:10px!important;min-height:34px!important;padding:7px 8px!important;color:#264f3a!important}
#modal.is-event24 .v28-event-row .v28-event-time{min-height:36px!important;border:1px solid #e2ece5!important;background:#f1f6f2!important;border-radius:10px!important;padding:7px 9px!important}
#modal.is-event24 .event-picker24:empty{display:none!important;margin:0!important}
#modal.is-event24 .event-picker24{margin:1px 0!important}
#modal.is-event24 .event-form24 .repeat-options18{display:grid!important;gap:11px!important;padding:16px 0 0!important;margin:4px 0 0!important;border-top:1px solid var(--v33-border)!important}
#modal.is-event24 .repeat-toggle23{display:flex!important;align-items:center!important;gap:10px!important;font-size:14px!important;font-weight:750!important}
#modal.is-event24 .repeat-toggle23 input{width:20px!important;height:20px!important;min-width:20px!important;accent-color:var(--v33-green);margin:0!important}
#modal.is-event24 .repeat-count23{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;font-weight:700!important;font-size:14px!important;margin:0!important}
#modal.is-event24 .repeat-count23 select{margin:0!important;width:150px!important;max-width:60%!important;height:44px!important;border-radius:11px!important;background:#f6f9f6!important;color:var(--v33-ink)!important;border:1px solid #dae7dd!important;padding:9px 12px!important}
#modal.is-event24 .repeat-count23.inactive23{opacity:.5!important}
#modal.is-event24 .repeat-explain23{color:#829389!important;line-height:1.5!important;margin:0!important;font-size:12px!important}
/* Date list: clear calendar hierarchy, no oversized badges */
.v33-event-card{background:white;border:0;border-bottom:1px solid #edf1ed;margin:0}
.v33-event-open{display:flex;align-items:center;width:100%;gap:14px;border:0;background:white;padding:15px 2px;text-align:left;color:var(--v33-ink)}
.v33-event-date{width:52px;min-width:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#285e46;background:#f2f7f3;border-radius:12px;padding:10px 2px}
.v33-event-date b{font-size:23px;line-height:1;letter-spacing:-.5px}
.v33-event-date small{font-size:10px;font-weight:750;color:#7a9082}
.v33-event-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:5px}
.v33-event-info strong{font-size:15px;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.v33-event-time{font-size:13px;color:#276b53;font-weight:750;line-height:1.35}
.v33-event-range{color:#778b7e;font-weight:600;margin-left:6px;font-size:11px}
.v33-event-desc{font-size:12px;color:#8a958b;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v33-repeat-label{font-size:10px;line-height:1.3;border-radius:8px;color:#49765b;background:#ecf5ed;padding:5px 6px;white-space:nowrap}
/* Bulk recurring-event management */
.v33-series-detail{padding:16px 0;border-top:1px solid var(--v33-border);margin-top:18px}
.v33-series-detail p{font-size:12px;color:#809083;margin-bottom:10px}
.v33-series-detail button{width:100%}
#modal .v33-series-screen{height:100%;display:flex;flex-direction:column;min-height:0;background:white}
#modal .v33-series-scroll{flex:1;min-height:0;overflow-y:auto;padding:17px 17px calc(35px + env(safe-area-inset-bottom))}
#modal .v33-series-intro{font-size:13px;color:#6f8275;line-height:1.65;margin:0 0 16px}
#modal .v33-series-save{min-height:48px}
#modal .v33-series-danger{margin-top:18px;border-top:1px solid #e8ede9;padding-top:16px;display:grid;gap:7px}
#modal .v33-series-danger strong{font-size:14px}
#modal .v33-series-danger p{font-size:12px;color:#7b8c7d;line-height:1.5;margin:0}
#modal .v33-series-danger button{justify-self:start;background:#fff2f1!important;color:#b74f45!important}
/* Media playback fallback provides action rather than a silent black screen */
.v33-video-viewer{display:flex!important;flex-direction:column!important;height:100%;background:#0a0b0a;color:#fff;overflow-y:auto!important}
.v33-video-viewer .movie-full23{width:100%!important;max-height:70dvh!important;min-height:200px!important;object-fit:contain!important;background:black!important}
.v33-video-error{color:#e9e9e9;font-size:13px;line-height:1.7;padding:18px;display:grid;gap:12px}
.v33-video-open{display:block;text-align:center;padding:15px 12px;color:#fff;text-decoration:none;font-size:14px;font-weight:750;background:#303b32}
@media(max-width:365px){#modal.is-event24 .v28-event-row{gap:4px!important}#modal.is-event24 .v28-event-row .event-choice-date24{padding:6px 4px!important;font-size:11px!important}#modal.is-event24 .v28-event-row .v28-event-time{padding:6px 5px!important;font-size:11px!important}.v33-event-open{gap:9px}.v33-event-date{width:46px;min-width:46px}}
