.guide-navigation{position:sticky;top:74px;z-index:10;background:#f7f9fc;margin-bottom:18px;border-bottom:1px solid var(--line)}
.guide-days{padding:10px 0;margin:0}.guide-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-bottom:12px}.guide-shortcuts button{font-size:12px;min-height:36px;padding:7px 8px;white-space:nowrap;background:#fff;color:#586d89;border:1px solid #dfe7f3;border-radius:8px}.guide-shortcuts button:hover,.guide-shortcuts button:focus-visible{background:#eaf1ff;border-color:#b6cbee;color:var(--blue)}.guide-section:focus{outline:none}.guide-section:focus-visible{outline:2px solid #b6cbee;outline-offset:3px}
.guide-days .day{min-width:73px;min-height:63px}.guide-day-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:21px 0 24px}.guide-day-intro h2{font-size:30px;letter-spacing:-.7px;margin:8px 0 0}.guide-day-intro h2 span{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:17px}
.guide-section{padding:25px 28px;margin-bottom:24px}.guide-section-head,.guide-section-label{display:flex;align-items:center;gap:13px}.guide-section-head{justify-content:space-between;margin-bottom:22px;gap:14px}.guide-section-head h2{font-size:17px;margin:0 0 4px}.guide-section-head p{font-size:11px;margin:0}.section-number{width:33px;height:33px;display:grid;place-items:center;background:#eff4fd;color:var(--blue);font-size:11px;font-weight:600;border-radius:9px;flex:none}
.day-map-empty{min-height:76px;border:1px dashed #d7e0ee;border-radius:11px;background:#fbfcfe;display:flex;align-items:center;justify-content:center;gap:18px;padding:25px}.day-map-empty>svg{width:38px;height:38px;color:#9fb5d6;flex:none}.day-map-empty strong{font-size:14px;font-weight:550;color:#536681}.day-map-empty .sub{font-size:12px;margin:8px 0 0}.day-map-figure{margin:0}.day-map-image{display:block;max-height:650px;width:100%;object-fit:contain;background:#fff;border-radius:9px}.day-map-image[hidden],.day-map-full[hidden]{display:none}.day-map-figure figcaption{font-size:10px;text-align:center;color:#8d99aa;margin-top:9px}.day-map-full{display:block;max-width:100%;height:auto;margin:0 auto}
.guide-empty{padding:12px 8px;text-align:center}.guide-empty strong{font-size:14px;font-weight:500;color:#596b84}.guide-empty .sub{margin:10px 0 0;font-size:12px}.spot-card+.spot-card,.hotel-card+.hotel-card{border-top:1px solid var(--line);margin-top:25px;padding-top:26px}.spot-heading,.hotel-heading{display:flex;align-items:start;gap:13px}.spot-number{width:29px;height:29px;border:1px solid #dfe7f3;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:10px;flex:none}.spot-title{flex:1;min-width:0}.spot-title h3{font-size:17px;margin:2px 0 7px;line-height:1.5;overflow-wrap:anywhere}.spot-title .sub{font-size:11px;margin:0;line-height:1.8}.spot-heading>.badge,.hotel-heading>.badge{margin-top:5px;flex:none}
.spot-details,.hotel-details{margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;padding-left:42px}.spot-details .spot-feature{grid-column:1/-1}.spot-details dt,.hotel-details dt{font-size:11px;color:#8a96a8;margin-bottom:6px}.spot-details dd,.hotel-details dd{font-size:13px;line-height:1.9;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#394b65}.spot-details .spot-feature dd{font-size:14px}.guide-notes{padding:12px 15px;background:#f8fafc;border-radius:8px;font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:18px 0 0 42px}.guide-notes strong{display:block;font-size:10px;font-weight:500;color:#8a96a8;margin-bottom:3px}.spot-footer{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:16px;padding-left:42px}.spot-footer .item-actions{display:flex;max-width:none;flex-wrap:wrap;gap:2px;margin-left:auto}.spot-footer .attachments{margin-top:0}.hotel-symbol{width:29px;height:29px;display:grid;place-items:center;background:#f1f5fd;color:var(--blue);border-radius:8px;flex:none}.hotel-symbol svg{height:17px;width:17px}.guide-day-pager{display:flex;justify-content:space-between;margin:24px 0}.form-extra{border:1px solid var(--line);border-radius:9px;padding:13px}.form-extra summary{font-size:12px;color:#697b94;cursor:pointer}.form-extra[open] summary{margin-bottom:20px}.form-extra .formgrid{margin-bottom:0}
@media(max-width:760px){.guide-navigation{top:62px;margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.guide-days{padding-top:8px;padding-bottom:10px}.guide-shortcuts{gap:6px;padding-bottom:10px}.guide-shortcuts button{font-size:11px;min-height:34px;padding:7px 3px}.guide-days .day{min-width:65px;min-height:59px}.guide-day-intro{display:block;margin:17px 0 20px}.guide-day-intro h2{font-size:27px}.guide-day-intro h2 span{display:block;margin:8px 0 0;font-size:12px}.guide-day-intro>.sub{font-size:11px;margin:12px 0 0}.guide-section{padding:19px 16px;margin-bottom:18px}.guide-section-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.guide-section-head .actions{margin-left:46px}.guide-section-head h2{font-size:16px}.guide-section-head p{font-size:10px}.day-map-empty{min-height:72px;padding:21px 16px;gap:13px}.day-map-empty .sub{font-size:11px}.day-map-empty>svg{width:30px;height:30px}.spot-title h3{font-size:16px}.spot-details,.hotel-details{padding-left:0;gap:16px;grid-template-columns:1fr}.spot-details dd,.hotel-details dd{font-size:13px}.spot-details .spot-feature dd{font-size:13px}.guide-notes,.spot-footer{margin-left:0;padding-left:0}.guide-notes{padding:12px}.spot-footer{flex-wrap:wrap}.spot-heading>.badge,.hotel-heading>.badge{font-size:9px}.spot-title .sub{font-size:11px}.guide-empty{padding:10px 6px}.guide-empty .sub{font-size:11px}}

/* All attractions in one table, one row per stop. */
.day-table-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:10px;-webkit-overflow-scrolling:touch}
.day-attractions-table{width:100%;min-width:800px;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left}
.day-attractions-table.is-editable{min-width:900px}.day-col-place{width:22%}.day-col-features{width:25%}.day-col-hours{width:16%}.day-col-cautions{width:27%}.day-col-actions{width:10%}
.day-attractions-table th,.day-attractions-table td{padding:15px 13px;vertical-align:top;border-bottom:1px solid var(--line);font-size:12px;line-height:1.9;text-align:left}
.day-attractions-table thead th{background:#f5f8fc;font-size:11px;font-weight:600;color:#718098;white-space:normal}
.day-attractions-table tbody tr:last-child th,.day-attractions-table tbody tr:last-child td{border-bottom:0}
.day-attractions-table tbody th{font-weight:400;background:#fff;position:sticky;left:0;z-index:1;border-right:1px solid var(--line)}
.day-attractions-table thead th:first-child{position:sticky;left:0;z-index:2;border-right:1px solid var(--line)}
.day-place-heading{display:flex;align-items:baseline;gap:8px}.day-row-number{color:var(--blue);font-size:10px;font-weight:600;flex:none}.day-place-heading strong{font-size:13px;font-weight:600;color:#243651;line-height:1.65;overflow-wrap:anywhere}
.day-place-meta{font-size:10px;line-height:1.8;color:#8591a3;margin:6px 0}.day-place-cell .badge{font-size:9px;padding:3px 6px}.day-table-nav{font-size:10px;display:inline-block;margin:3px 0 0 7px}
.day-detail-cell{white-space:pre-wrap;overflow-wrap:anywhere;color:#43556e}.day-table-note{border-top:1px solid #edf0f5;margin-top:10px;padding-top:8px;font-size:11px}.day-table-note span{display:block;color:#8b98aa;font-size:10px;margin-bottom:3px}
.day-attractions-table .day-row-actions{padding:12px 5px}.day-attractions-table .item-actions{display:grid;grid-template-columns:repeat(2,30px);gap:3px;max-width:none;justify-content:center}
.day-attractions-table .item-actions .quiet{width:30px;height:30px;min-width:30px;min-height:30px;padding:5px}
.day-attractions-table .day-table-empty{text-align:left;padding:15px 16px;color:#7d8ca3}.day-table-empty strong{font-size:13px;font-weight:500}.day-table-empty p{font-size:12px;margin:7px 0 0;max-width:380px;white-space:normal}.day-table-hint{display:none;color:#8a97a9;font-size:10px;margin:11px 0 0}
@media(max-width:760px){.day-table-hint{display:block}.day-attractions-table .item-actions{grid-template-columns:repeat(2,32px)}.day-attractions-table .item-actions .quiet{width:32px;height:32px;min-width:32px;min-height:32px}.day-attractions-table .day-table-empty{padding:13px 12px}}
/* The two daily transport rows always remain visible. */
.day-transport-table{width:100%;min-width:730px;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left}
.transport-mode{width:18%}.transport-place{width:20%}.transport-departure{width:14%}.transport-notes{width:28%}
.day-transport-table th,.day-transport-table td{padding:16px 13px;vertical-align:top;border-bottom:1px solid var(--line);font-size:12px;line-height:1.9;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}
.day-transport-table thead th{background:#f5f8fc;font-size:11px;font-weight:600;color:#718098}
.day-transport-table tbody th{background:#fff;position:sticky;left:0;z-index:1;border-right:1px solid var(--line)}
.day-transport-table thead th:first-child{position:sticky;left:0;z-index:2;border-right:1px solid var(--line)}
.day-transport-table tbody th strong{display:block;font-size:12px;font-weight:600;color:#243651}.day-transport-table tbody th button{display:block;margin-top:9px;padding:4px 9px;min-height:30px;font-size:11px}
.day-transport-table td{color:#43556e}.day-transport-table .transport-time{font-variant-numeric:tabular-nums;white-space:nowrap}.day-transport-table tbody tr:last-child th,.day-transport-table tbody tr:last-child td{border-bottom:0}

/* Direct field editing and companion flight photos. */
.inline-field{display:inline-block;max-width:100%;vertical-align:baseline;white-space:pre-wrap}.cell-edit{background:transparent;border:1px solid transparent;padding:2px 3px;margin:-2px -3px;min-height:28px;max-width:100%;color:inherit;font:inherit;text-align:inherit;line-height:inherit;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:5px;display:inline;box-shadow:none}.cell-edit:hover,.cell-edit:focus-visible{background:#f1f6ff;border-color:#d7e4f9}.cell-edit-glyph{font-size:10px;margin-left:5px;opacity:0;color:#8396b3}.cell-edit:hover .cell-edit-glyph,.cell-edit:focus-visible .cell-edit-glyph{opacity:1}.cell-editor{display:inline-grid;gap:6px;min-width:125px;width:100%;max-width:100%;white-space:normal}.cell-editor input,.cell-editor select,.cell-editor textarea{width:100%;min-width:0;font-size:12px;padding:7px;box-sizing:border-box}.cell-editor textarea{min-height:90px;resize:vertical}.cell-editor-actions{display:flex;flex-wrap:wrap;gap:5px}.cell-editor-actions button{font-size:10px;min-height:28px;padding:5px 8px}.cell-editor-error{display:block;color:#a44d42;font-size:10px;font-weight:400;line-height:1.7}.day-transport-table td .inline-field{width:100%;min-height:30px}.day-transport-table td .cell-edit{display:block;width:100%;min-height:30px}.day-transport-table .cell-editor button{display:inline-block;width:auto;margin:0}.day-detail-cell .inline-field{width:100%}.day-detail-cell .cell-edit{display:block;min-height:30px;width:100%}
.flight-panel .panel-head{align-items:start}.flight-panel h2{margin:0 0 7px}.flight-panel .panel-head .sub{margin:0;font-size:11px}.flight-table{width:100%;min-width:630px;table-layout:fixed}.flight-person-col{width:17%}.flight-table td,.flight-table th{vertical-align:top;padding:17px 15px;text-align:left}.flight-table thead th{font-size:11px;color:#718098;background:#f5f8fc}.flight-table tbody th{font-size:13px;color:#344962;font-weight:500;overflow-wrap:anywhere}.flight-directions{display:grid;grid-template-columns:1fr 1fr;gap:17px}.flight-slot{min-width:0}.flight-slot-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.flight-slot-head>span{font-size:11px;color:#718098}.flight-slot-head button{font-size:10px;padding:4px 8px;min-height:28px}.flight-photo-button{display:block;width:100%;padding:0;overflow:hidden;background:#f8fafc;border:1px solid var(--line);border-radius:7px;text-align:center;box-shadow:none}.flight-photo{display:block;width:100%;height:170px;object-fit:contain;background:#fff}.flight-photo[hidden]{display:none}.flight-photo-loading{display:block;margin:0;padding:20px 10px;font-size:11px}.flight-photo-empty{height:42px;border:1px dashed #e3e9f3;border-radius:7px;background:#fcfdff}.flight-placeholder .flight-slot{min-height:34px}.flight-placeholder th button{display:block;margin:7px 0 0;font-size:10px}.flight-placeholder .sub{font-size:11px}.flight-hint{font-size:10px;margin:13px 0 0}.flight-photo-full{max-width:100%;height:auto;max-height:none}
@media(max-width:760px){.flight-table{min-width:560px}.flight-person-col{width:18%}.flight-table td,.flight-table th{padding:13px 10px}.flight-directions{gap:12px}.flight-slot-head{align-items:start;flex-wrap:wrap;gap:5px}.flight-photo{height:140px}.flight-photo-full{height:auto}.flight-photo-empty{height:32px}.cell-editor{min-width:100px}}
