/* JP COMMUNITY v25 — every ordinary dialog uses the entire visible screen. */
#modal.fullscreen25{padding:0!important;place-items:stretch!important;align-items:stretch!important;justify-content:center!important;background:rgba(19,28,24,.4)}
#modal.fullscreen25 .modalbox.fullsheet25{width:100%!important;max-width:650px!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;align-self:stretch;margin:0 auto!important;padding:0!important;border-radius:0!important;background:#fffefa;display:flex;flex-direction:column;overflow:hidden!important;box-shadow:none!important}
#modal.fullscreen25 .modalbox.fullsheet25>.v25-sheet-header{flex-shrink:0}
.v25-sheet-header{position:relative;z-index:4;width:100%;min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;display:grid;grid-template-columns:minmax(58px,auto) minmax(0,1fr) minmax(58px,auto);align-items:center;background:#fffefa;border-bottom:1px solid #e7eee8;flex-shrink:0;gap:2px}
.v25-sheet-header strong{text-align:center;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v25-sheet-header button{font-size:15px;font-weight:800;border:0;background:transparent;min-height:52px;color:#237961;padding:0 7px}
.v25-sheet-header .v25-x{justify-self:start;font-size:24px;font-weight:400;color:#35433e}
.v25-sheet-header .v25-action{justify-self:end}
.v25-sheet-header .v25-action:disabled{color:#a4b3a9;opacity:.6}
.v25-sheet-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px 18px max(32px,env(safe-area-inset-bottom));scrollbar-width:thin}
.v25-original-action{display:none!important}
.v25-screen{height:100%;min-height:0;display:flex;flex-direction:column;background:#fffefa}
.v25-screen>.v25-sheet-scroll{padding:18px 17px max(35px,env(safe-area-inset-bottom))}
.v25-post-screen .v25-write-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 18px max(120px,env(safe-area-inset-bottom));scroll-behavior:auto}
.v25-board-label{font-size:12px;color:#718177;margin:6px 0 14px}
.v25-post-title{border:0!important;border-radius:0!important;border-bottom:1px solid #e8ede8!important;background:transparent!important;padding:12px 1px 15px!important;font-size:19px!important;font-weight:750;outline:0!important;box-shadow:none!important;margin-bottom:8px}
.v25-post-body{display:block;width:100%;border:0!important;background:transparent!important;resize:none!important;overflow:hidden!important;padding:18px 1px!important;min-height:260px;max-height:none;height:auto;line-height:1.75;font-size:16px;outline:0!important;box-shadow:none!important}
.v25-car-name{font-size:21px;font-weight:850;color:#293d32;margin:3px 0 16px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.v25-car-name small{font-size:13px;color:#77867c;font-weight:400}
.v25-hint{font-size:13px;color:#708479;margin:8px 0 17px;line-height:1.5}
.v25-month{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-top:1px solid #eef0ea;padding-top:4px}
.v25-month b{font-size:16px}
.v25-month button{border:0;background:transparent;padding:12px 17px;color:#334b3f;font-size:24px}
.v25-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:8px 0 21px}
.v25-dow{text-align:center;color:#8c998e;font-size:12px;padding:3px 0 9px}
.v25-date{aspect-ratio:1/1;border:0;background:transparent;border-radius:50%;font-size:14px;color:#344139;min-width:0;padding:0}
.v25-date:disabled{color:#b7bcb8;opacity:.4}
.v25-date.is-today{outline:1px solid #93bdb1;outline-offset:-3px}
.v25-date.is-middle{background:#e2f1eb;border-radius:12px}
.v25-date.is-start,.v25-date.is-end{background:#248d72;color:#fff;font-weight:800}
.v25-date-panels,.v25-time-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.v25-date-panels{margin-bottom:13px}
.v25-date-summary{border:1px solid #e7eae5;border-radius:13px;padding:11px 12px;min-width:0;display:flex;flex-direction:column;gap:5px}
.v25-date-summary span{color:#8b998e;font-size:12px}
.v25-date-summary strong{font-size:13px}
.v25-time-panels{padding-top:12px;border-top:1px solid #e8ede7}
.v25-time-panels label,.v25-field-label{font-size:13px;color:#63786b;display:block}
.v25-time-panels input,.v25-field-label input,.v25-field-label select{margin:8px 0 12px;font-size:16px;color:#34453c;background:#f8faf7}
.v25-footnote{font-size:12px;line-height:1.6;color:#8a9b8f;margin:14px 0 20px}
.v25-confirm{display:block;width:100%;margin-top:18px}
.v25-modes{display:flex;gap:8px;margin-bottom:20px}
.v25-modes button{flex:1}
.v25-vehicle-screen .return-summary{margin-top:18px}
/* v24 calendar and the viewer are also genuinely full-screen on desktop. */
#modal.is-event24 .modalbox.event-sheet24{width:100%!important;max-width:650px!important;height:100dvh!important;max-height:100dvh!important;align-self:stretch!important;border-radius:0!important;margin:0 auto!important}
@media(max-width:360px){.v25-sheet-header{grid-template-columns:52px 1fr 58px}.v25-date-grid{gap:1px}.v25-date{font-size:12px}.v25-date-summary strong{font-size:12px}}
/* Grid's intrinsic-width auto track must not shrink the full-page editor. */
#modal.fullscreen25{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;justify-content:stretch!important}
#modal.fullscreen25 .modalbox.fullsheet25{justify-self:center!important;width:100%!important;min-width:0!important}

/* Video-reference vehicle time chooser: bottom sliding sheet with 30 minute slots. */
#modal.fullscreen25 .modalbox.fullsheet25{position:relative}
.v25-time-field{display:flex;flex-direction:column;min-width:0;gap:7px;color:#64786c;font-size:13px}
.v25-time-trigger{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;background:#f8faf7;border:1px solid #e4eae2;border-radius:13px;padding:12px 14px;color:#263b31;font-size:16px;font-weight:650;white-space:nowrap}
.v25-time-trigger span{color:#6f8176;font-size:17px}
.v25-time-trigger:focus-visible{outline:2px solid #328d77;outline-offset:2px}
.v25-time-overlay{position:absolute;inset:0;z-index:60;background:rgba(10,20,15,.47);display:flex;align-items:flex-end;justify-content:center}
.v25-time-sheet{width:100%;height:min(65dvh,500px);display:flex;flex-direction:column;background:#fffefa;border-radius:22px 22px 0 0;padding:0 0 env(safe-area-inset-bottom);box-shadow:0 -10px 24px rgba(0,0,0,.08);animation:v25SheetAppear .17s ease-out}
@keyframes v25SheetAppear{from{transform:translateY(12px);opacity:.75}to{transform:translateY(0);opacity:1}}
.v25-time-sheet-bar{min-height:57px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ede8}
.v25-time-sheet-bar strong{font-size:16px;color:#27382d}
.v25-time-sheet-bar button{border:0;background:transparent;font-size:22px;color:#56695d;padding:12px}
.v25-time-help{font-size:12px;color:#73877c;margin:0;padding:11px 19px 5px}
.v25-time-options{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 16px 12px}
.v25-time-option{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid #eef1ed;background:transparent;color:#263b31;font-size:16px;padding:10px 15px;text-align:left}
.v25-time-option.selected{color:#18745d;font-weight:800;background:#eaf6f0;border-radius:8px}
.v25-time-option:disabled{color:#b9c0ba;opacity:.5}
.v25-time-option span{font-size:15px}
@media(prefers-reduced-motion:reduce){.v25-time-sheet{animation:none}}
