.plan-nav { display:flex; gap:6px; align-items:center; margin-left:22px; }
.plan-more { position:relative; margin:0; }
.plan-more summary { list-style:none; color:var(--text); font-size:14px; padding:9px 10px; white-space:nowrap; }
.plan-more summary::-webkit-details-marker { display:none; }
.plan-more summary::after { content:' ▾'; color:var(--muted); }
.plan-more > div { position:absolute; display:grid; min-width:170px; top:calc(100% + 8px); left:0; padding:5px; background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 22px #0005; }
.plan-more button { text-align:left; padding:10px; border:0; border-radius:6px; background:transparent; color:var(--text); font:inherit; cursor:pointer; }
.plan-more button:hover, .plan-more button[aria-current="page"] { background:var(--raised); }
.plan-nav .plan-button { min-height:34px; padding:6px 12px; }
.plan-nav [aria-current="page"] { color:var(--amber); }
.topbar .brand { flex:none; min-width:0; white-space:nowrap; }
.plan-member-count { display:none; }
.workspace.plan { overflow:auto; background:radial-gradient(ellipse at 70% 0,#1a302e 0,transparent 55%),var(--bg); }
.planner-inner { max-width:1080px; margin:auto; padding:40px 28px 24px; }
.plan-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.plan-header h1 { font-size:clamp(29px,5vw,46px); line-height:1.05; margin:7px 0; overflow-wrap:anywhere; }
.plan-header p,.plan-board-head p,.plan-empty p { margin:0; color:var(--muted); }
.plan-header p span { color:var(--amber); padding:0 4px; }
.plan-button, .plan-order button, .plan-days button, .planner-inner select, .plan-dialog select, .plan-map-tools select {
  color:var(--text); font:inherit; background:var(--surface); border:1px solid #41605c; border-radius:8px; min-height:40px; padding:8px 12px;
}
button.plan-button,.plan-order button,.plan-days button { cursor:pointer; }
.plan-button:hover, .plan-order button:hover:not(:disabled), .plan-days button:hover { border-color:var(--amber); }
.plan-button.plan-primary { color:var(--bg); background:var(--amber); border-color:var(--amber); font-weight:700; }
.plan-button:disabled, .plan-order button:disabled { opacity:.4; cursor:default; }
.plan-days { position:relative; display:flex; gap:8px; overflow-x:auto; scrollbar-width:thin; padding:2px 2px 9px; margin:0 0 12px; }
.plan-days button { flex:0 0 auto; min-width:100px; text-align:left; padding:9px 12px; line-height:1.25; }
.plan-days button span,.plan-days button small { display:block; }
.plan-days button small { color:var(--muted); margin-top:4px; font-size:11px; }
.plan-days button[aria-current="true"] { background:#393724; border-color:var(--amber); color:#ffe1a4; }
.plan-board { padding:24px; background:#102022; border:1px solid var(--line); border-radius:14px; }
.plan-board-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.plan-board-head h2 { font-size:24px; margin:0 0 4px; letter-spacing:-.04em; }
.plan-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 7px; }
.plan-metrics div { background:#192f31; border:1px solid var(--line); border-radius:9px; padding:11px 12px; }
.plan-metrics dt,.plan-metrics small,.plan-caption { color:var(--muted); font-size:12px; }
.plan-metrics dd { margin:3px 0 0; font-size:clamp(15px,3vw,24px); font-weight:700; letter-spacing:-.04em; }
.plan-metrics div:last-child dd { color:var(--amber); }
.plan-caption { margin:0 0 8px; line-height:1.4; }
.plan-departure { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px; margin-top:16px; padding:9px 12px; border:1px solid var(--line); border-radius:8px; }
.plan-departure span { font-size:12px; color:var(--muted); }
.plan-places { list-style:none; margin:12px 0 0; padding:0; }
.plan-place { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:10px; border-top:1px solid var(--line); padding:12px 0; }
.plan-place-number { background:#284346; color:#deece7; border-radius:50%; width:26px; height:26px; display:grid; place-items:center; font-weight:700; }
.plan-place-title,.plan-text-button { border:0; background:transparent; color:var(--text); font:inherit; padding:0; cursor:pointer; text-align:left; }
.plan-place-title { font-weight:700; font-size:16px; overflow-wrap:anywhere; }
.plan-place-title:hover,.plan-text-button { text-decoration:underline; text-underline-offset:3px; }
.plan-place-name small { display:block; color:var(--muted); margin-top:2px; }
.plan-place-actions,.plan-order { display:flex; align-items:center; gap:6px; }
.plan-order button { padding:6px 10px; font-size:18px; }
.plan-leg { display:block; margin:0 0 0 12px; border-left:2px solid #3d7265; padding:6px 12px; color:#b7dfd2; font-size:12px; }
.plan-leg-pending,.plan-missing { color:#f2ce8e; }
.plan-leg-pending { border-left-style:dashed; border-color:#9a7645; }
.plan-empty { display:grid; justify-items:start; gap:10px; border:1px dashed #41605c; border-radius:9px; padding:22px 18px; }
.planner-status { margin:0 0 12px; color:#c1e0d2; }
.planner-status:empty { margin:0; }
.workspace.plan .poi-drawer:not(.drawer-hidden) { display:block; position:fixed; top:80px; bottom:12px; z-index:25; overflow:auto; }
.workspace.map .poi-drawer { overflow:auto; }
.poi-drawer { background:var(--bg); }
.poi-drawer .poi-hero { height:auto; background:var(--surface); }
.poi-drawer .hero-title { position:static; padding:14px 16px 0; }
.poi-location-map { position:relative; height:clamp(155px,26dvh,210px); background:#dce4db; }
.poi-location-map .maplibregl-ctrl-attrib { font-size:10px; }
.poi-map-empty { margin:0; padding:14px 16px; color:var(--muted); font-size:12px; }
.plan-dialog { background:var(--surface); color:var(--text); border:1px solid #496460; border-radius:14px; padding:20px; width:min(510px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; }
.plan-dialog::backdrop { background:#071011bf; }
.plan-dialog-head,.plan-dialog-actions,.plan-dialog-modes { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.plan-dialog-head,.plan-dialog-actions { justify-content:space-between; }
.plan-dialog-head h2 { margin:0; font-size:23px; }
.plan-dialog-head button { font-size:20px; min-width:40px; }
.plan-dialog-modes [aria-pressed="true"] { color:var(--amber); border-color:var(--amber); }
.plan-dialog label { display:grid; gap:5px; margin:12px 0 7px; }
.plan-dialog input,.plan-dialog textarea { width:100%; font:inherit; font-size:16px; border:1px solid #41605c; border-radius:8px; padding:9px; background:var(--bg); color:var(--text); }
.plan-dialog select { font-size:16px; }
.plan-dialog-actions { margin:14px 0 0; }
.plan-dialog-actions [type="submit"] { margin-left:auto; }
.plan-location,.plan-results { color:var(--muted); margin-top:8px; }
.plan-results { display:grid; gap:4px; }
.plan-results .plan-button { text-align:left; }
.plan-dialog-error,.plan-delete { color:#ffac9c; }
.plan-dialog-error:empty { display:none; }
.plan-map-tools { position:absolute; z-index:5; top:12px; left:12px; display:flex; flex-wrap:wrap; gap:6px; width:min(370px,calc(100% - 24px)); pointer-events:none; }
.plan-map-tools > * { pointer-events:auto; }
.plan-map-metrics { flex-basis:100%; background:#0c171af5; border:1px solid var(--line); border-radius:9px; padding:8px; }
.plan-map-metrics .plan-metrics div { padding:5px 8px; }
.plan-map-metrics .plan-metrics dd { font-size:16px; }
.plan-map-metrics .plan-caption { margin:0; }
.plan-map-marker { width:32px; height:32px; border:2px solid #fef1dc; border-radius:50%; background:#1d5962; color:white; font:700 14px inherit; cursor:pointer; }
@media(max-width:720px) {
  .topbar { gap:5px; }
  .plan-nav { margin-left:3px; gap:0; }
  .plan-nav .plan-button,.plan-more summary { padding-inline:7px; }
  .topbar .top-actions { gap:5px; }
  .topbar .members-summary { min-width:32px; min-height:34px; justify-content:center; border:1px solid var(--line); border-radius:8px; }
  .topbar .members-label { display:none; }
  .plan-member-count { display:inline; float:none; font-size:12px; color:var(--text); }
  .planner-inner { padding:20px 12px 16px; }
  .plan-header { align-items:flex-start; }
  .plan-header .plan-button { max-width:110px; padding:7px 9px; }
  .plan-board { padding:12px; }
  .plan-board-head h2 { font-size:20px; }
  .plan-board-head .plan-button { flex-shrink:0; }
  .plan-metrics { gap:5px; }
  .plan-metrics div { padding:7px; }
  .plan-place { grid-template-columns:26px minmax(0,1fr); gap:7px; }
  .plan-place-actions { grid-column:2; flex-wrap:wrap; }
  .plan-place-actions select { font-size:16px; max-width:100%; }
  .workspace.plan .poi-drawer:not(.drawer-hidden) { top:60px; bottom:0; }
  .workspace.map .poi-drawer:not(.drawer-hidden) { top:0; bottom:0; }
  .poi-drawer .close { top:70px; }
}
@media(max-width:430px) {
  .topbar .brand > span { display:none; }
}
