/* JP COMMUNITY v36: five stable tabs, messenger controls and named calendar labels. */
:root{--v36-green:#276e55;--v36-text:#25372d;--v36-muted:#75897d}
html body:not(.is-room23) .app>.nav:not(.hidden){
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 height:calc(54px + env(safe-area-inset-bottom,0px))!important;
 min-height:calc(54px + env(safe-area-inset-bottom,0px))!important;
 max-height:calc(54px + env(safe-area-inset-bottom,0px))!important;
 padding:0 5px env(safe-area-inset-bottom,0px)!important;
 align-items:center!important;justify-items:stretch!important;
}
html body:not(.is-room23) .app>.nav>button{height:54px!important;min-height:54px!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important}
html body:not(.is-room23) .app>.nav>button>.nav-icon{height:42px!important;width:44px!important;max-height:42px!important;min-height:42px!important;min-width:44px!important;border-radius:15px!important}
html body:not(.is-room23) .app>.nav .nav-unread{right:2px!important;top:1px!important;transform:translate(12%,-8%)!important}
html body:not(.is-room23) .app{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))!important}
/* Date divider is the only visual rule within a chat; no between-message line. */
.chatbox .msg-line24,.room-screen23 .msg-line24{border:0!important;box-shadow:none!important;margin:0!important;padding:1px 0!important}
.room-screen23 .chatbox{gap:5px!important}
.v36-date-separator{display:flex;align-items:center;gap:12px;margin:17px 0 13px;color:#87968e;font-weight:650;font-size:11px;white-space:nowrap}
.v36-date-separator:before,.v36-date-separator:after{content:"";height:1px;background:#e9eee9;flex:1;min-width:0}
.v36-long-message{-webkit-touch-callout:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:context-menu}
.v36-long-message .message-body24{white-space:pre-wrap;overflow-wrap:anywhere}
.v36-reply-quote{display:flex;flex-direction:column;gap:3px;text-align:left;width:100%;max-width:100%;border:0;border-left:3px solid #81ad98;background:rgba(255,255,255,.38);color:#526b5f;margin:0 0 7px;padding:6px 8px;border-radius:5px}
.v36-reply-quote small{font-size:11px;font-weight:750;color:#3b745b}.v36-reply-quote span{font-size:12px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.v36-reply-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 15px;background:#f0f6f1;border-top:1px solid #e1ebe2}
.v36-reply-bar>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.v36-reply-bar strong{font-size:12px;color:#256b51}.v36-reply-bar small{font-size:11px;color:#7c8d80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v36-reply-bar button{flex-shrink:0;border:0;background:transparent;color:#6b7e70;font-size:17px;min-width:35px;min-height:35px}
.v36-pinned{display:flex;align-items:center;gap:10px;background:#f7faf7;border:0;border-bottom:1px solid #e5eee7;width:100%;text-align:left;padding:10px 15px;color:#587463;min-height:54px}
.v36-pin-symbol{font-size:16px}.v36-pinned-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.v36-pinned-copy strong{color:#3a6651;font-size:12px}.v36-pinned-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#788c7d}
.v36-menu-backdrop{position:fixed;inset:0;z-index:250;background:rgba(21,28,24,.3);display:flex;align-items:flex-end;justify-content:center;animation:v36Fade .16s ease}
.v36-menu-sheet{width:min(100%,650px);border-radius:24px 24px 0 0;background:#fff;padding:11px 16px calc(15px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 32px #172e221f;animation:v36Rise .24s cubic-bezier(.2,.75,.25,1)}
.v36-menu-handle{width:42px;height:4px;background:#dfe6df;border-radius:5px;margin:1px auto 15px}
.v36-menu-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#718376;font-size:12px;padding:0 7px 12px;margin:0}
.v36-menu-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.v36-menu-actions button{border:0;background:#f5f8f5;border-radius:13px;min-height:64px;font-size:13px;font-weight:700;color:#2e6149}
.v36-menu-cancel{background:#fff;color:#576d60;border:0;border-top:1px solid #edf2ed;width:100%;padding:14px 0 2px;margin-top:10px;font-weight:700}
.v36-action-sheet{padding:8px 2px;display:grid;gap:12px}.v36-action-sheet p{line-height:1.6;font-size:14px;color:#596f61;overflow-wrap:anywhere}
.v36-action-sheet .btn{min-height:45px}.v36-action-sheet textarea{width:100%;min-height:120px}
.v36-share-room-list{max-height:54dvh;overflow-y:auto}
.v36-flash{outline:2px solid #81b69a;outline-offset:2px;border-radius:12px;transition:outline .3s}
@keyframes v36Rise{from{transform:translateY(25px);opacity:.8}to{transform:translateY(0);opacity:1}}
@keyframes v36Fade{from{opacity:0}to{opacity:1}}
/* Calendar header never competes with the add-action. */
.calendar-heading{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important}
.calendar-heading .v36-label-manage{border:1px solid #dce8de;background:#f5f8f5;color:#376d52;border-radius:11px;padding:9px 11px;font-size:12px;font-weight:750;min-height:40px;white-space:nowrap}
.calendar-heading .btn{margin-left:auto!important}
.v36-label-picker{display:grid;gap:10px;padding:12px 0 3px;width:100%}
.v36-label-picker>strong{font-size:13px;color:#586d61}
.v36-label-options{display:flex;flex-wrap:wrap;gap:8px}
.v36-label-options button{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #dfe8df;border-radius:12px;padding:9px 11px;color:#3f5f4b;font-size:13px;font-weight:700;min-height:41px}
.v36-label-options button.selected{border:2px solid #2a7356;background:#f2f8f3}
.v36-label-options button span,.v36-label-dot{width:13px;height:13px;display:block;border-radius:50%;flex-shrink:0}
.v36-label-manager{padding:16px;display:flex;flex-direction:column;gap:14px}
.v36-label-item{display:flex;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid #edf1ed}
.v36-label-item strong{flex:1;min-width:0;font-size:14px}.v36-label-item button{border:0;background:#eff4ef;color:#37634a;border-radius:10px;padding:8px 10px;font-size:12px}
.v36-new-label{display:flex;align-items:center;gap:8px}.v36-new-label input[type=text],.v36-new-label input:not([type]){flex:1;min-width:0}.v36-new-label input[type=color]{width:43px;height:43px;min-width:43px;padding:4px;border-radius:12px}.v36-new-label .btn{padding:0 13px}
/* Video playback fallback and steady loading. */
.v36-video-viewer{height:100%!important;display:flex!important;flex-direction:column!important;background:#090a09;color:#fff;overflow:auto!important}
.v36-video-viewer header{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 16px;border-bottom:1px solid #252a26}
.v36-video-viewer header button{border:0;background:transparent;color:#fff;font-size:24px;width:44px;height:44px}
.v36-video-viewer video{width:100%;max-height:68dvh;min-height:180px;object-fit:contain;background:#000}
.v36-video-status{font-size:13px;color:#dfe7df;line-height:1.7;padding:16px}
.v36-video-actions{display:grid;gap:9px;padding:10px 15px 24px}.v36-video-actions button{min-height:48px;background:#f5f8f6;border:0;color:#285b42;border-radius:11px;font-weight:750}
@media(max-width:365px){.v36-menu-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-heading .v36-label-manage{font-size:11px;padding:7px 8px}.v36-label-options button{padding:8px}}
.v36-calendar-label{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:9px;color:#35493d;border:1px solid #e2eae3;padding:5px 9px;font-size:11px;font-weight:750;background:#f6f9f6}
.v36-calendar-label:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--label-color,#2e7257);display:inline-block}
.v36-deleted-message{color:#839287!important;background:#f2f5f2!important;font-size:12px!important;font-style:italic!important;box-shadow:none!important}
