/* JP COMMUNITY v32 — targeted polish, no global mutation of cards. */
/* Clean return buttons */
.v31-fleet-panel .vehicle-primary{font-size:13px!important}
/* Calendar heading buttons: no giant round border. */
.calendar-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
.calendar-heading .btn{min-width:0!important;width:auto!important;height:auto!important;min-height:41px!important;padding:10px 14px!important;border-radius:11px!important;white-space:nowrap!important;font-size:13px!important;line-height:1.15!important}
/* Calendar summary start/end rows: consistent padding, no pill stretching */
#modal.is-event24 .event-summary24{width:100%!important;min-width:0!important;border:1px solid #e4ebe5!important;border-radius:14px!important;overflow:hidden!important;padding:2px 10px!important;margin:0!important;gap:0!important;background:#fff!important}
#modal.is-event24 .v28-event-row{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:9px 0!important;min-width:0!important}
#modal.is-event24 .v28-event-row+.v28-event-row{border-top:1px solid #ecf0ec!important}
#modal.is-event24 .v28-event-row>.event-choice{width:100%!important;min-width:0!important;min-height:48px!important;padding:4px 0!important;margin:0!important;border:0!important;border-radius:0!important;display:flex!important;flex-wrap:wrap!important;align-content:center!important;align-items:center!important;column-gap:10px!important;row-gap:4px!important;box-shadow:none!important}
#modal.is-event24 .v28-event-row .event-choice-label24{width:28px!important;flex:0 0 28px!important;color:#74877b!important;font-size:12px!important;margin:0!important}
#modal.is-event24 .v28-event-row .event-choice-date24{max-width:100%!important;width:auto!important;min-width:0!important;display:inline-flex!important;align-items:center!important;min-height:33px!important;padding:7px 10px!important;margin:0!important;border-radius:10px!important;background:#f0f5f1!important;color:#264e3a!important;font-size:12px!important;font-weight:700!important;white-space:normal!important;overflow-wrap:normal!important;line-height:1.3!important}
#modal.is-event24 .v28-event-row .v28-event-time{flex:0 0 auto!important;border-radius:10px!important;background:#f0f5f1!important;padding:9px 10px!important;min-height:38px!important;font-size:12px!important;white-space:nowrap!important}
/* SVG makes the plus look optically and geometrically centered */
.v28-day-icons .v28-day-add{display:grid!important;place-items:center!important;padding:0!important;width:44px!important;height:44px!important;line-height:0!important}
.v28-day-icons .v28-day-add svg{display:block!important;margin:0!important;transform:none!important}
/* Time selector: three independent touch-driven scroll wheels */
#modal .v32-time-overlay{position:absolute!important;inset:0!important;z-index:98!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;background:#12271e66!important;overscroll-behavior:contain!important}
#modal .v32-time-sheet{width:100%!important;max-height:min(520px,90dvh)!important;background:#fff!important;border-radius:20px 20px 0 0!important;box-shadow:0 -12px 30px #152e2420!important;padding:8px 14px calc(18px + env(safe-area-inset-bottom))!important;overflow:hidden!important;animation:v28Rise .24s cubic-bezier(.2,.7,.2,1) both!important}
.v32-time-header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;border-bottom:1px solid #e9eee9}
.v32-time-header strong{font-size:16px;color:#223a2c}
.v32-time-header button{border:0!important;background:transparent!important;color:#286d56!important;font-weight:800!important;font-size:14px!important;padding:8px 3px!important}
.v32-time-caption{text-align:center;color:#85958b;font-size:12px;margin:10px 0 12px}
.v32-time-columns{display:grid;grid-template-columns:.95fr 1fr 1fr;gap:8px;position:relative;height:220px;overflow:hidden}
.v32-time-columns:after{content:'';position:absolute;left:0;right:0;top:88px;height:44px;pointer-events:none;border-radius:10px;border:1px solid #dfe9e1;background:#f0f5f13b}
.v32-time-column{position:relative;min-width:0;overflow:hidden}
.v32-time-wheel{height:220px!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:y mandatory!important;scroll-padding:88px 0!important;scrollbar-width:none!important;padding:88px 0!important}
.v32-time-wheel::-webkit-scrollbar{display:none}
.v32-time-wheel button{display:block!important;width:100%!important;height:44px!important;min-height:44px!important;padding:0 2px!important;text-align:center!important;border:0!important;border-radius:0!important;background:transparent!important;color:#728276!important;font-size:17px!important;font-weight:500!important;scroll-snap-align:center!important;white-space:nowrap!important;position:relative;z-index:2}
.v32-time-wheel button.selected{color:#195c42!important;font-weight:800!important}
/* Allow event entry to stay in bounds on narrow phones */
@media(max-width:375px){#modal.is-event24 .event-form24{padding-left:10px!important;padding-right:10px!important}#modal.is-event24 .v28-event-row{gap:4px!important}#modal.is-event24 .v28-event-row .event-choice-date24{padding:7px 5px!important;font-size:11px!important}#modal.is-event24 .v28-event-row .v28-event-time{padding:8px 5px!important;font-size:11px!important}}
/* Lower bottom nav without losing safe-area */
.nav{padding:5px 4px calc(4px + env(safe-area-inset-bottom))!important;min-height:0!important}
.nav button{padding:0!important;gap:1px!important;min-height:52px!important;font-size:10px!important}
.nav .nav-icon{height:26px!important;min-height:26px!important;margin:0!important}
.app{padding-bottom:calc(61px + env(safe-area-inset-bottom))!important}
/* Home roles segmented control */
.home-role-tabs32{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#eff4ef;border-radius:14px;margin:8px 0 10px}
.home-role-tabs32 button{border:0;background:transparent;color:#678272;border-radius:10px;min-height:43px;font-weight:750;font-size:14px}
.home-role-tabs32 button span{font-size:12px;font-weight:650;margin-left:3px}
.home-role-tabs32 button.selected{background:white;color:#22644a;box-shadow:0 1px 6px #304c371b}
.v32-empty-home{color:#8d9b90;text-align:center;font-size:13px;padding:24px}
/* Only admin on home loses badge; elsewhere role labeling stays unchanged. */
/* Critical flex fix: the event date panel must not shrink to 6px when the form is tall. */
#modal.is-event24 .event-summary24{height:auto!important;max-height:none!important;min-height:0!important;flex:0 0 auto!important;align-self:stretch!important;}
#modal.is-event24 .v28-event-row{flex:0 0 auto!important;}
#modal.is-event24 .v28-event-row>.event-choice{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center!important;justify-items:start!important;gap:5px!important;min-height:44px!important;}
#modal.is-event24 .v28-event-row .event-choice-label24{grid-column:1!important;grid-row:1!important;width:32px!important;flex:none!important;white-space:nowrap!important;font-size:12px!important}
#modal.is-event24 .v28-event-row .event-choice-date24{grid-column:2!important;grid-row:1!important;max-width:100%!important;font-size:12px!important;text-align:left!important}
