/* The day is edited as a sequence of places, with optional details tucked away. */
.visual-day .day-heading{gap:24px;align-items:center;margin:22px 0 28px}
.visual-day .day-heading h1{font-size:clamp(32px,3.6vw,48px)}
.visual-day .day-heading p:not(.eyebrow){max-width:580px;line-height:1.6}
.day-heading-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.day-heading-actions>a{padding:13px 18px;border-radius:30px;background:var(--green);color:white;text-decoration:none;font-size:14px}
.day-date{display:grid;gap:4px;color:var(--muted);font-size:12px}
.day-date input{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:4px 0;font-size:16px;min-width:145px}
.visual-day .day-layout.journey-layout{grid-template-columns:minmax(0,1fr) minmax(440px,1.04fr);gap:28px}
.visual-day .day-itinerary{padding:0;border:0;background:transparent}
#day-overview{padding:22px;border:1px solid #dce2d4;border-radius:20px;background:#eef1e6;margin-bottom:14px}
.day-overview-head{display:flex;align-items:center;gap:16px;justify-content:space-between}
.day-overview-head h2{font:400 clamp(21px,2vw,27px)/1.2 Georgia,serif;margin:8px 0 0;max-width:300px}
.day-overview-head .canvas-eyebrow{font-size:10px;letter-spacing:.09em}
.day-overview-head button{font-size:12px;padding:8px 10px;white-space:nowrap;background:#ffffff85;border:0;border-radius:20px}
.day-overview-head button span{color:var(--muted)}
.day-ribbon{display:flex;gap:4px;height:44px;margin:20px 0 13px}
.day-ribbon:empty{height:15px;border:1px dashed #aeb9a1;border-radius:6px}
.day-ribbon-stop{flex-basis:0;min-width:28px;min-height:44px;background:var(--stop-color);color:white;border:0;border-radius:7px;padding:0;transition:flex-grow .12s}
.day-ribbon-stop:hover{background:var(--stop-color);filter:brightness(1.12)}
.day-ribbon-stop span{font-size:12px;font-weight:600}
.day-ribbon-stop.ribbon-unset{background:repeating-linear-gradient(135deg,#fff7 0 3px,transparent 3px 7px),var(--stop-color)}
.day-ribbon-travel{flex-basis:0;min-width:3px;background:#d1d9c8;border-radius:4px}
.day-overview-caption{display:flex;gap:10px;flex-wrap:wrap;line-height:1.5;font-size:12px;color:#52634f}
.day-overflow{color:#983b17}
.itinerary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}
.itinerary-toolbar>p{font-size:11px;line-height:1.5;max-width:250px;color:var(--muted);margin:0}
.itinerary-toolbar .history{flex-wrap:nowrap;margin:0;gap:3px}
.itinerary-toolbar button{font-size:12px;padding:6px 9px;background:transparent;border:0;white-space:nowrap}
.itinerary-toolbar button span{font-size:18px}
.visual-day .stops>li{position:relative;scroll-margin:18px;min-width:0}
.visual-day .day-itinerary .stop,.itinerary-ghost{display:block;margin:0;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden;box-shadow:0 3px 12px #29251f06}
.stop-topline{display:flex;align-items:center;gap:12px;padding:9px 14px 5px}
.visual-day .stop-handle{display:flex;width:auto;min-width:58px;min-height:44px;gap:9px;padding:0 10px;background:transparent;border:0;touch-action:none;border-radius:10px;color:var(--stop-color)}
.visual-day .stop-handle:hover{background:#f0eee6}
.visual-day .stop-handle span{font-size:25px;color:#8c9485}
.visual-day .stop-handle b{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;background:var(--stop-color);color:#fff;font-size:12px}
.stop-clock{font-size:13px;font-variant-numeric:tabular-nums;color:var(--green);flex:1}
.stop-remove{border:0;background:none;color:#9a9488;font-size:23px;width:44px;padding:0}
.stop-face{display:grid;grid-template-columns:108px minmax(0,1fr);gap:18px;padding:4px 22px 16px;align-items:start}
.visual-day .stop .photo{width:100%;height:94px;aspect-ratio:auto;border-radius:10px}
.visual-day .stop .photo img{width:100%;height:100%;border-radius:0}
.visual-day .stop .attribution{display:block;font-size:9px;line-height:1.5;padding:5px 0 0;border:0}
.visual-day .stop .attribution summary{min-height:28px;display:flex;align-items:center;cursor:pointer}
.visual-day .stop .attribution summary:before{content:'▸';margin-right:4px}
.visual-day .stop .attribution[open] summary:before{content:'▾'}
.visual-day .stop .attribution p{font-size:10px;overflow-wrap:anywhere}
.stop-place{padding-top:4px;min-width:0}
.stop-place .canvas-eyebrow{font-size:10px;letter-spacing:.05em;color:var(--stop-color)}
.visual-day .stop .stop-place h3{font:400 clamp(21px,2vw,27px)/1.18 Georgia,serif;margin:7px 0 5px;overflow-wrap:anywhere}
.visual-day .stop .stop-place h3 button{min-height:44px;display:block}
.visual-day .stop p.stop-area{font-size:12px;margin:7px 0;color:var(--muted)}
.visual-day .stop p.stop-note{color:var(--green);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.stay-control{padding:16px 22px 12px;background:#f6f5ee;border-block:1px solid #ebe8de}
.stay-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}
.stay-heading label{font-size:12px;color:#68705f;line-height:1.5}
.stay-heading output{font:400 25px/1.2 Georgia,serif;color:var(--stop-color);white-space:nowrap;font-variant-numeric:tabular-nums}
.stay-unset .stay-heading output{font-size:21px;color:#78756b}
.stay-control input[type=range]{display:block;width:100%;height:44px;min-height:44px;margin:4px 0 0;padding:0;border:0;appearance:none;background:transparent;cursor:ew-resize;touch-action:pan-y}
.stay-control input[type=range]::-webkit-slider-runnable-track{height:7px;border-radius:8px;background:linear-gradient(to right,var(--stop-color) var(--stay-fill),#dedfd3 var(--stay-fill))}
.stay-control input[type=range]::-webkit-slider-thumb{appearance:none;width:25px;height:25px;margin-top:-9px;border:3px solid white;background:var(--stop-color);border-radius:50%;box-shadow:0 1px 6px #26392544}
.stay-control input[type=range]::-moz-range-track{height:7px;border-radius:8px;background:#dedfd3}
.stay-control input[type=range]::-moz-range-progress{height:7px;background:var(--stop-color);border-radius:8px}
.stay-control input[type=range]::-moz-range-thumb{width:20px;height:20px;border:3px solid white;background:var(--stop-color);border-radius:50%}
.stay-unset input[type=range]{opacity:.55}
.stay-scale{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#797e71;margin-top:-7px;min-height:44px}
.stay-scale button{font-size:10px;color:inherit;min-height:44px;padding:4px 0;border:0;border-radius:0;background:none;text-decoration:underline;text-underline-offset:3px}
.stop-tools{display:flex;align-items:center;gap:3px;padding:7px 12px;flex-wrap:wrap}
.stop-tools>button,.move-menu summary,.move-menu button{font-size:11px;min-height:44px;border:0;background:transparent;padding:8px 10px;color:#63725c}
.stop-tools>.leave-flexible{margin-left:auto;color:#878477}
.move-menu{position:relative}
.move-menu summary{display:flex;align-items:center;cursor:pointer;list-style:none}
.move-menu summary::-webkit-details-marker{display:none}
.move-menu[open] summary{border-radius:8px;background:#e9efdf}
.move-menu>div{display:flex;gap:4px;flex-wrap:wrap;padding:0 4px 6px}
.visual-day .stop p.event-notice{padding:12px;font-size:12px;line-height:1.6;margin:0 14px 14px;border-radius:9px}
.event-check{margin:0 22px 13px;font-size:11px;color:var(--muted)}
.event-check summary{min-height:30px;cursor:pointer;padding:5px 0}
.visual-day .stop .event-check .event-notice{margin:0;padding:0;border:0}
.stop-connection{display:flex;gap:14px;align-items:center;padding:9px 24px;min-height:64px;color:#929b88}
.stop-connection>span{font-size:31px;line-height:1}
.stop-connection p{margin:0;font-size:12px;flex:1;color:#69735f}
.stop-connection small{display:block;font-size:10px;margin-top:3px;color:var(--muted)}
.stop-connection button{font-size:11px;background:transparent;border:0;color:#66765c}
.visual-day .visit-extras{display:block;padding:16px 22px;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:#faf9f3}
.visual-day .visit-extras>p{font-size:12px;margin:0 0 12px}
.visit-extras label{margin-bottom:12px}
.visit-extras textarea{min-height:85px;font:inherit}
.opening-extra{font-size:12px;color:var(--muted);margin:8px 0 14px}
.opening-extra>summary{min-height:44px;cursor:pointer}
.extras-actions{display:flex;gap:8px;flex-wrap:wrap}
.extras-actions button{font-size:12px}
.add-another{display:block;padding:17px;margin:15px 0;text-align:center;border:1px dashed #bac4ae;border-radius:14px;text-decoration:none;color:var(--green);font-size:14px}
.schedule-status{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 4px 22px}
.schedule-status button{font-size:12px;min-height:44px;background:none;border:0;padding:4px;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.visual-day .time-review{background:transparent;padding:16px;border-radius:16px;font-size:13px}
.visual-day .time-review>summary{min-height:24px;font-weight:500;line-height:1.5}
.visual-day .time-review[open]>summary{margin-bottom:14px}
.visual-day .leg-editor{padding:15px 0;gap:12px}
.visual-day .leg-editor p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.visual-day .leg-editor label{flex-basis:100%}
.visual-day .leg-editor input,.visual-day #context-form input[type=range]{accent-color:var(--green);padding:0}
.visual-day .leg-editor output{color:var(--green);font-size:17px}
.visual-day .calculation{margin-top:15px;font-size:12px;line-height:1.65}
.visual-day .calculation li{margin-bottom:12px}
.visual-day .account{border-radius:16px;font-size:12px;background:transparent}
.visual-day .account button{font-size:12px}
.empty-day{padding:36px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}
.empty-day>span{font:40px Georgia,serif;color:#8ca27a}
.visual-day .drag-source>.stop{opacity:.28}
.visual-day .drop-before:before,.visual-day .drop-after:after{content:'';position:absolute;left:0;right:0;height:4px;background:#547753;border-radius:8px;z-index:3}
.visual-day .drop-before:before{top:-8px}.visual-day .drop-after:after{bottom:12px}
.itinerary-ghost{position:fixed;pointer-events:none;z-index:50;opacity:.96;transform:rotate(-2deg);box-shadow:0 16px 45px #162a3338;max-height:180px;border:2px solid #547753}
.itinerary-ghost .stop-face{grid-template-columns:72px 1fr;padding:4px 14px 12px;gap:10px}
.itinerary-ghost .photo{width:72px;height:66px}
.itinerary-ghost .photo img{width:100%;height:100%;border-radius:0}
.itinerary-ghost h3{font:22px Georgia,serif}
.itinerary-ghost .attribution,.itinerary-ghost .stay-control,.itinerary-ghost .stop-tools,.itinerary-ghost .event-check,.itinerary-ghost .stop-remove{display:none}
@media(max-width:1050px){.visual-day .day-layout.journey-layout{grid-template-columns:minmax(0,1fr) minmax(370px,1.1fr);gap:18px}.day-heading-actions{gap:10px}#day-overview{padding:18px}.stop-face{padding-inline:18px;gap:14px;grid-template-columns:90px minmax(0,1fr)}.stay-control{padding-inline:18px}.day-overview-head{align-items:flex-start;flex-wrap:wrap;gap:10px}}
@media(max-width:820px){.visual-day .day-layout.journey-layout{grid-template-columns:1fr;gap:26px}.visual-day .day-itinerary{order:-1}.visual-day .day-heading{margin:20px 0}.visual-day .day-heading p:not(.eyebrow){font-size:14px}.day-heading-actions{justify-content:space-between;width:100%}.visual-day .day-layout>.board-wrap{order:0}.day-overview-head{flex-wrap:nowrap;align-items:center}.day-overview-head h2{font-size:25px}.stop-face{grid-template-columns:104px minmax(0,1fr);gap:17px}.visual-day .stop .stop-place h3{font-size:26px}}
@media(max-width:430px){.visual-day{padding-top:16px}.visual-day .day-heading h1{font-size:35px}.visual-day .day-heading-actions>a{padding:12px 15px;font-size:12px}.day-overview-head{flex-wrap:wrap}.day-overview-head h2{font-size:24px}.day-overview-head button{min-height:36px}.itinerary-toolbar{gap:5px}.itinerary-toolbar>p{font-size:10px;max-width:180px}.itinerary-toolbar button{padding-inline:6px;font-size:11px}.stop-topline{padding:7px 10px 4px;gap:8px}.stop-face{padding:4px 16px 15px;grid-template-columns:88px minmax(0,1fr);gap:14px}.visual-day .stop .photo{height:83px}.visual-day .stop .stop-place h3{font-size:23px}.stay-control{padding:14px 16px 12px}.stay-heading label{font-size:11px;max-width:140px}.stay-heading output{font-size:24px}.stay-unset .stay-heading output{font-size:19px}.stop-tools{padding-inline:7px;gap:0}.stop-tools>button,.move-menu summary{font-size:10px;padding-inline:7px}.stop-connection{padding-inline:18px;gap:10px}.visual-day #context-form{grid-template-columns:1fr}.day-date input{font-size:15px}.stop-place .canvas-eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.day-ribbon-stop{transition:none}}
@media print{.day-heading-actions,.itinerary-toolbar,.day-overview-head button,.stop-remove,.stop-tools,.stay-control,.stop-connection button,.add-another,.schedule-status{display:none!important}.visual-day .day-itinerary .stop{padding:10px;margin:0 0 8px;border:1px solid #ccc}.visual-day .stop .attribution{display:block}.visual-day .day-layout.journey-layout{display:block}.visual-day .stop-face{padding:0}.visual-day .stop .photo{height:80px}.visual-day .stop .stop-place h3{font-size:22px}.visual-day .stop-topline{padding:0}.visual-day .stop-clock{color:black}}
