#map-workspace{display:flex;flex:1;min-height:0;position:relative}
.map-stage{display:flex;flex-direction:column;min-width:0;min-height:0;width:100%}
.map-tools{padding:12px 14px;flex:none}
.map-tools .status-tabs button{min-height:34px}
.map-tools .category-scroll{margin-top:8px}
.map-tools .chip{min-height:34px}
.map-surface{position:relative;flex:1;min-height:0;background:var(--surface);overflow:hidden}
.map-canvas,.map-message{position:absolute;inset:0}
.map-message{display:grid;align-content:center;justify-items:center;background:var(--surface);text-align:center;padding:16px}
.map-message .chip{background:white;min-height:40px}
.map-panel{min-width:0;min-height:0;background:var(--base)}
.map-summary{padding:12px;overflow-wrap:anywhere}
.map-selection{display:flex;align-items:center;gap:8px;background:white;border-radius:14px;padding:10px}
.map-selection .chip{min-height:40px}
.map-group{background:white;border-radius:12px;padding:8px 12px;margin-top:8px}
.map-group summary{cursor:pointer;padding:6px 0}
.map-row{width:100%;display:block;text-align:left;padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.map-empty{margin:0;padding:6px 0}
.map-pin-layer{position:absolute;left:0;top:0}
.map-pin,.map-cluster{position:absolute;display:grid;place-items:center;color:white;filter:drop-shadow(0 1px 2px #31251c66)}
.map-pin{width:40px;height:46px;transform:translate(-50%,-100%);--pin:var(--accent)}
.map-pin[data-status="行った"]{--pin:var(--green)}
.map-pin::before{content:"";position:absolute;top:6px;width:26px;height:26px;background:var(--pin);border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.map-pin .map-pin-icon{width:17px;height:17px;position:absolute;top:12px;left:12px}
.map-cluster{width:38px;height:38px;transform:translate(-50%,-50%);background:#6F6052;border:2px solid white;border-radius:50%;font-size:12px;font-weight:600}
@media(min-width:600px) and (min-height:480px){
 .map-stage{width:65%}
 .map-panel{width:35%;border-left:1px solid var(--line);overflow:auto}
}
@media(min-width:600px) and (min-height:480px) and (orientation:portrait){
 .map-stage{width:60%}
 .map-panel{width:40%}
}
@media(max-width:599px),(max-height:479px){
 #map-workspace{flex-direction:column}
 .map-stage{flex:1}
 .map-panel{max-height:35%;overflow:auto}
 .map-detail-open .map-stage{visibility:hidden}
 .map-detail-open .map-panel{position:absolute;inset:0;max-height:none}
}

.map-trip-tools{padding:8px 14px;min-width:0;flex:none}
.map-trip-tools .back-button{margin-bottom:0}
.map-trip-title{font-size:14px;margin:0 0 6px;overflow-wrap:anywhere}
.map-trip-tools .schedule-days{margin:0 0 4px}
.map-trip-toggles{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:11px}
.map-trip-toggles label{display:flex;align-items:center;gap:4px;min-height:26px}
.map-trip-toggles input{accent-color:var(--accent)}
.map-pin-faded{opacity:.56}
.map-pin-number{position:absolute;top:8px;left:0;width:100%;text-align:center;font-size:13px;font-weight:700;line-height:23px}

.map-selection-plannable{flex-wrap:wrap}
.map-trip-plan-add{margin-left:auto}
.map-trip-plan-feedback{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.map-trip-plan-feedback p{margin:0;font-size:12px}
.map-trip-plan-undo{min-height:40px}
