/* Meetings share ZABERU's light glass surface. The map is loaded only on demand. */
.meeting-panel{--meeting-green:#244a39;--meeting-text:#29372f;--meeting-muted:#607064;flex:0 1 auto;min-height:0;max-height:42%;overflow:auto;overscroll-behavior:contain;color:var(--meeting-text);margin:8px 18px 10px;border:1px solid #dce5d7;border-radius:17px;background:linear-gradient(132deg,rgba(255,255,255,.97),rgba(241,247,230,.91));box-shadow:inset 0 1px 0 #fff,0 5px 16px #25493108;font-family:inherit;scroll-padding:12px}
.meeting-panel.is-editing{max-height:65%;flex-basis:65%}
.meeting-panel[aria-busy=true] [data-meeting-submit],.meeting-panel[aria-busy=true] [data-meeting-command=action-confirm]{opacity:.6;cursor:wait}
.meeting-panel [hidden]{display:none!important}
.meeting-panel h3,.meeting-panel h4,.meeting-panel p{margin:0}
.meeting-panel h3{font-size:16px;letter-spacing:-.25px;line-height:1.35;font-weight:650}
.meeting-panel h4{font-size:16px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.meeting-panel button,.meeting-panel a,.meeting-panel input,.meeting-panel select,.meeting-panel textarea{font:inherit}
.meeting-panel .meeting-button,.meeting-map-links button,.meeting-map-links a,.meeting-route{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d9e3d2;border-radius:11px;padding:10px 13px;background:rgba(255,255,255,.76);box-shadow:inset 0 1px 0 #fff;color:var(--meeting-green);font-size:13px;font-weight:600;line-height:1.35;text-decoration:none;text-align:center;white-space:normal}
.meeting-panel .meeting-button.is-primary{background:linear-gradient(132deg,rgba(255,255,255,.96),rgba(214,246,90,.54));border-color:#c4d89c;box-shadow:inset 0 1px 0 #fff,0 4px 12px #3d672412;color:#24462e}
.meeting-panel .meeting-button:hover,.meeting-map-links button:hover,.meeting-map-links a:hover{background:#eff6e3;border-color:#bbceaa}
.meeting-panel :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid #648145;outline-offset:3px}
.meeting-icon{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.meeting-emblem{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:linear-gradient(140deg,#fff,#e8f3d4);color:var(--meeting-green);border:1px solid #d8e6c8;box-shadow:inset 0 1px 0 #fff}
.meeting-empty{padding:13px;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.meeting-empty>div{flex:1;min-width:140px}
.meeting-empty p,.meeting-panel .meeting-help{font-size:12px;line-height:1.6;color:var(--meeting-muted)}
.meeting-empty p{margin-top:3px}
.meeting-empty>.meeting-button{flex-basis:100%}
.meeting-panel>.meeting-help{padding:0 13px 12px}
.meeting-current>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 13px;min-height:66px}
.meeting-current>summary::-webkit-details-marker{display:none}
.meeting-current>summary>span:nth-child(2){flex:1;min-width:0}
.meeting-current>summary strong{display:block;font-size:14px;line-height:1.4;font-weight:650}
.meeting-current>summary>span:nth-child(2)>span{display:block;font-size:12px;line-height:1.5;margin-top:3px;color:var(--meeting-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting-current>summary>span:nth-child(2)>.meeting-summary-time{font-size:11px;font-weight:500;color:#48663b;white-space:normal}
.meeting-chevron{width:22px;text-align:center;color:var(--meeting-muted);font-size:20px;line-height:1}
.meeting-current[open]>summary .meeting-chevron{transform:rotate(180deg)}
.meeting-current-body{display:grid;gap:10px;padding:0 12px 12px}
.meeting-card{background:#fffdf8;border:1px solid #e4e7dc;border-radius:13px;padding:13px;min-width:0}
.meeting-card.confirmed{background:#f9fcf4;border-color:#d7e4c7}
.meeting-card.pending{background:#fffdf8;border-color:#e4e1cf}
.meeting-card.history{background:#ffffffa6;border-color:#e1e6da;margin:8px 0}
.meeting-status{font-size:11px;font-weight:600;display:flex;align-items:center;gap:6px;color:#786344;margin-bottom:9px}
.meeting-status .meeting-icon{width:16px;height:16px;flex-basis:16px}
.meeting-status.is-confirmed{color:#456b31}
.meeting-time{margin-top:6px;line-height:1.6;font-size:13px;font-weight:500}
.meeting-time time{display:block}
.meeting-time small{display:block;font-size:11px;color:var(--meeting-muted);font-weight:400}
.meeting-panel .meeting-comment{font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;padding-top:9px}
.meeting-actions,.meeting-map-links{display:flex;align-items:stretch;flex-wrap:wrap;gap:7px;margin-top:12px}
.meeting-actions>.meeting-button{flex:1 1 125px}
.meeting-map-links{border-top:1px solid #e6eadf;padding-top:9px;gap:3px;margin-top:10px}
.meeting-map-links a,.meeting-map-links button{border:0;box-shadow:none;padding:7px 8px;min-height:44px;background:transparent;font-size:12px}
.meeting-route-choice{flex:1 1 160px;font-size:12px;color:var(--meeting-green)}
.meeting-route-choice>summary{min-height:44px;cursor:pointer;padding:11px 8px;line-height:1.7;font-weight:600}
.meeting-route-choice>div{display:flex;flex-wrap:wrap;gap:6px}
.meeting-route-choice>div>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 11px;border:1px solid #dce5d7;border-radius:10px;background:#ffffffce;font-size:12px;text-decoration:none}
.meeting-route-choice>small{font-size:10px;display:block;line-height:1.6;color:var(--meeting-muted);padding:8px 0}
.meeting-panel .meeting-existing{padding:2px 2px 0;font-size:12px;color:#6b634d}
.meeting-history{border-top:1px solid #e0e7d9;padding:0 13px 10px}
.meeting-history>summary,.meeting-coordinates>summary{cursor:pointer;font-size:12px;font-weight:500;min-height:44px;padding:11px 0;color:var(--meeting-green)}
.meeting-events{list-style:none;padding:0;margin:12px 0 0;border-top:1px solid #e2e8db}
.meeting-events li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px solid #e7ebdf;padding:8px 0;font-size:11px;line-height:1.5}
.meeting-events time{font-size:10px;color:var(--meeting-muted);flex-shrink:0}
.meeting-panel .meeting-live{font-size:12px;line-height:1.6;padding:0 13px;color:#3e6430;overflow-wrap:anywhere}
.meeting-panel .meeting-live:not(:empty){padding-top:8px;padding-bottom:12px}
.meeting-panel .meeting-live.is-error,.meeting-panel .meeting-error{color:#9b392b}
.meeting-editor,.meeting-action-review,.meeting-viewer{padding:14px;border-top:1px solid #dce5d7;background:linear-gradient(155deg,#fff,#f7faef)}
.meeting-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.meeting-panel .meeting-editor-heading h3{font-size:18px}
.meeting-kicker{font-size:9px;font-weight:600;letter-spacing:1.3px;color:#738467;display:block;margin-bottom:5px}
.meeting-panel .meeting-close{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;min-height:44px;padding:10px;border:1px solid #dce5d7;border-radius:50%;background:#ffffffd9}
.meeting-panel [data-meeting-fields]{display:grid;gap:12px;margin-top:16px}
.meeting-editor label{display:grid;gap:6px;font-size:12px;font-weight:600;line-height:1.5;margin:0}
.meeting-editor input,.meeting-editor select,.meeting-editor textarea{display:block;min-width:0;width:100%;min-height:46px;border:1px solid #d9e1d2;border-radius:11px;padding:10px 11px;background:#fff;color:var(--meeting-text);font-size:16px;line-height:1.5;font-weight:400;box-shadow:inset 0 1px 2px #30472903}
.meeting-editor textarea{resize:vertical;max-height:180px}
.meeting-editor input::placeholder,.meeting-editor textarea::placeholder{color:#879080;font-size:13px}
.meeting-optional{font-size:11px;color:var(--meeting-muted);font-weight:400}
.meeting-location-tools{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px}
.meeting-location-tools>.meeting-button{flex:1 0 190px}
.meeting-location-tools>.meeting-help{flex-basis:100%;font-variant-numeric:tabular-nums}
.meeting-coordinates{border-top:1px solid #e5eadf;border-bottom:1px solid #e5eadf;padding-bottom:3px}
.meeting-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 9px}
.meeting-coordinates>.meeting-help{margin-bottom:11px}
.meeting-map-block{display:grid;gap:9px}
.meeting-map-tools{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.meeting-map-tools>label{flex:1;min-width:140px}
.meeting-map-tools select{font-size:13px;padding:10px 9px}
.meeting-map-tools>.meeting-button{font-size:12px;min-height:46px}
.meeting-map{height:245px;width:100%;border:1px solid #d6e0cf;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,#e8ede3,#f8f9f4);z-index:0;position:relative}
.meeting-map.leaflet-container{font-family:inherit;font-size:12px;line-height:1.5}
.meeting-map .leaflet-control-attribution{font-size:10px;background:#fffffff0;color:#3d4a36;max-width:100%;white-space:normal;line-height:1.7}
.meeting-map .leaflet-control-attribution a{color:#3c602d;text-decoration:underline}
.meeting-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
.meeting-marker{border:0;background:none}
.meeting-marker>span{display:block;width:31px;height:31px;transform:rotate(-45deg);border:3px solid #fff;border-radius:50% 50% 50% 4px;background:linear-gradient(130deg,#d6f65a,#aecb67);box-shadow:-1px 3px 10px #142d3b45;position:relative}
.meeting-marker>span:after{content:'';position:absolute;inset:7px;border:2px solid #365330;border-radius:50%}
.meeting-panel .meeting-provider{font-size:10px;line-height:1.6;color:#788370;margin:0;overflow-wrap:anywhere}
.meeting-panel .meeting-error{font-size:12px;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}
.meeting-panel .meeting-error:empty{display:none}
.meeting-panel [data-meeting-review]{margin-top:16px}
.meeting-panel [data-meeting-review]>h4{font-size:15px}
.meeting-action-review>p{font-size:13px;line-height:1.6;margin-top:10px}
.meeting-viewer .meeting-map{margin:12px 0 9px}
.meeting-viewer .meeting-route{margin:9px 0 12px;width:100%}
@media(min-width:600px){.meeting-empty{flex-wrap:nowrap}.meeting-empty>.meeting-button{flex-basis:auto;max-width:155px}.meeting-panel{max-height:45%}.meeting-panel.is-editing{max-height:68%;flex-basis:68%}.meeting-map{height:285px}.meeting-current-body{grid-template-columns:minmax(0,1fr)}.meeting-editor,.meeting-action-review,.meeting-viewer{padding:17px}.meeting-editor [data-meeting-fields]{gap:14px}}
@media(max-width:420px){.meeting-panel{margin:6px 10px 8px;border-radius:14px}.meeting-empty{padding:11px}.meeting-current>summary{padding:11px}.meeting-current-body{padding:0 9px 10px}.meeting-editor,.meeting-action-review,.meeting-viewer{padding:12px}.meeting-map{height:220px}.meeting-map-links>a{width:100%;justify-content:flex-start}.meeting-map-links>button{justify-content:flex-start}.meeting-two-fields{gap:7px}.meeting-events li{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){.meeting-panel *{scroll-behavior:auto;transition:none}}

@media(max-width:550px){.meeting-map-tools>label{flex:1 0 100%;width:100%}.meeting-map-tools>.meeting-button{width:100%}}
