/* Shared light blue surfaces, readable labels and consistent controls. */
body.travel-logbook{--ink:#28576d;--muted:#526b7c;--accent:#0077a8;--soft:#edf8fc;--aida-blue:#0077a8;--aida-cyan:#18a9d1;--aida-red:#e84f54;--aida-yellow:#f4c844;--aida-green:#86bc25}
body.travel-logbook button,body.travel-logbook .button{font-family:var(--ui-font);line-height:1.4}
body.travel-logbook #add,body.travel-logbook .actions>button:not(.danger),body.travel-logbook button[type=submit],body.travel-logbook [data-new],body.travel-logbook [data-new-cruise],body.travel-logbook [data-home-new]{background:#e4f0f8;color:#285b79;border:1px solid #bdd4e4;font-size:14px;font-weight:600;min-height:44px}
body.travel-logbook #add:hover,body.travel-logbook .actions>button:not(.danger):hover,body.travel-logbook button[type=submit]:hover,body.travel-logbook [data-new]:hover,body.travel-logbook [data-new-cruise]:hover,body.travel-logbook [data-home-new]:hover{background:#d7e9f5;color:#285b79}
body.travel-logbook button.secondary,body.travel-logbook .button.secondary{background:#edf5fb;color:#285b79;border-color:#cbdfe9;min-height:44px}
body.travel-logbook button.secondary:hover{background:#e0edf6}
body.travel-logbook .actions>button:not(.secondary):not(.danger){background:#e4f4fb;color:#09688f;border:1px solid #aed4e6}
body.travel-logbook .actions>button:not(.secondary):not(.danger):hover{background:#d5edf8;color:#09688f}
body.travel-logbook button.danger{background:#fff1ef;color:#a33732;border-color:#ebccc7}
body.travel-logbook .travel-subnav button{font-size:14px;min-height:44px}
body.travel-logbook .travel-primary-nav button{min-height:44px}
body.travel-logbook .home-actions button{font-size:14px}
body.travel-logbook .preview-graphics h2{font:500 22px/1.3 var(--heading-font);color:#28576d}
body.travel-logbook .preview-graphics p,body.travel-logbook .preview-airline small,body.travel-logbook .year-column,body.travel-logbook .year-count{color:var(--muted)}
body.travel-logbook .year-column,body.travel-logbook .year-count{font-size:11px}
body.travel-logbook .cruise-dashboard-facts,body.travel-logbook .cruise-dashboard-ship,body.travel-logbook .cruise-dashboard-dates,body.travel-logbook .cruise-dashboard-footer,body.travel-logbook .cruise-dashboard-lines small,body.travel-logbook .cruise-dashboard .cruise-stat-metric small{color:var(--muted)}
body.travel-logbook .statistics-copy>small,body.travel-logbook .statistics-copy>span,body.travel-logbook .statistics-trip-link span,body.travel-logbook .cruise-statistics small,body.travel-logbook .statistics-tabs button span,body.travel-logbook .statistics-story p,body.travel-logbook .statistics-story>span{color:var(--muted)}
body.travel-logbook .statistics-dates small{font-size:11px}
body.travel-logbook .statistics-lines small{font-size:12px}
body.travel-logbook .cruise-ship-heading p,body.travel-logbook .cruise-ship-specs dt,body.travel-logbook .cruise-ship-trips .cruise-trip-link span,body.travel-logbook .cruise-tour-ship,body.travel-logbook .cruise-tour-dates{color:var(--muted)}
body.travel-logbook .ship-card-edit,body.travel-logbook [data-ship-add]{background:transparent;border-color:#dbe7ee;color:#2e6f91}
/* The departure board keeps its original airport colors. */
body.travel-logbook .terminal-board .board-logo{width:60px;height:48px;flex:0 0 60px;padding:4px;background:#f6f8fb;border:1px solid #dce4eb}
body.travel-logbook .terminal-board .board-logo img{object-fit:contain;mix-blend-mode:normal}
body.travel-logbook .preview-airline .board-logo{display:flex;align-items:center;justify-content:center;width:84px;height:56px;margin:auto;background:transparent;border:0;padding:0}
body.travel-logbook .preview-airline img{max-width:84px;max-height:52px;object-fit:contain;mix-blend-mode:multiply}
body.travel-logbook .preview-graphics>.card,body.travel-logbook .preview-airline{min-width:0}
body.travel-logbook .preview-airline .board-logo,body.travel-logbook .preview-airline img{max-width:100%}
body.travel-logbook .preview-airline b{overflow-wrap:anywhere}
body.travel-logbook .statistics-line-logo{width:90px;height:46px;flex-basis:90px}
/* Gallery photographs keep their original color-film frames. */
/* Replace inherited green chart and hover colors. */
body.travel-logbook .flight-category-track{background:#edf4fa}
body.travel-logbook .flight-category-track>span{background:#85b5d1}
body.travel-logbook .airport-stat-entry:hover,body.travel-logbook .airport-stat-card:hover{background:#f0f7fc;border-color:#b8d3e5}
body.travel-logbook .airport-top-rank{background:#edf4fa;color:#526b7c}
body.travel-logbook .airport-top-ranked:first-of-type .airport-top-rank{background:#dfedf7;color:#2e6f91}
body.travel-logbook .airport-top-ranked{border-bottom-color:#e3edf2}
body.travel-logbook .cruise-sea-ring{background:conic-gradient(#85b5d1 var(--sea-share),#e5edf3 0)}
body.travel-logbook input,body.travel-logbook select,body.travel-logbook textarea{font-family:var(--ui-font)}
/* Reference typography: light serif numerals with clean sans-serif labels. */
body.travel-logbook aside{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#0077a8,#18a9d1) 1}
body.travel-logbook .travel-primary-nav button.active,body.travel-logbook .travel-subnav button.active{box-shadow:inset 0 -3px #18a9d1}
body.travel-logbook .cruise-stat-metric,body.travel-logbook .metrics>.metric{border-top:3px solid #69c4e1}
body.travel-logbook .cruise-stat-metric:nth-child(3n),body.travel-logbook .metrics>.metric:nth-child(3n){border-top-color:#f4c844}
body.travel-logbook .cruise-stat-metric:nth-child(6n),body.travel-logbook .metrics>.metric:nth-child(4n){border-top-color:#e84f54}
body.travel-logbook .metrics>.metric strong,body.travel-logbook .cruise-stat-metric strong,body.travel-logbook .home-summary strong{font-family:Georgia,"Palatino Linotype",Palatino,serif;font-weight:400;color:#087bab;letter-spacing:-.4px;font-variant-numeric:lining-nums tabular-nums}
body.travel-logbook .metrics>.metric strong{font-size:34px}
body.travel-logbook .cruise-stat-metric strong{font-size:30px}
body.travel-logbook .home-summary strong{font-size:28px}
body.travel-logbook .home-country-progress strong,body.travel-logbook .cruise-stat-averages strong,body.travel-logbook .statistics-lines b,body.travel-logbook .preview-airline strong,body.travel-logbook .cruise-dashboard-lines b{font-family:Georgia,"Palatino Linotype",Palatino,serif;font-weight:400;color:#087bab}
body.travel-logbook .home-summary-icon svg,body.travel-logbook .cruise-stat-metric>span{color:#568eaa}
body.travel-logbook .home-overview-card{border-top:3px solid #69c4e1}
body.travel-logbook .year-bar,body.travel-logbook .cruise-dashboard-charts .year-bar,body.travel-logbook .statistics-years i{background:linear-gradient(#85d4e9,#269dc7)}
body.travel-logbook .flight-category-track>span,body.travel-logbook .bar span{background:#66b8d7}
body.travel-logbook .cruise-sea-ring{background:conic-gradient(#66b8d7 var(--sea-share),#f7eac2 0)}
body.travel-logbook .home-country-progress progress{accent-color:#2498c5}
body.travel-logbook .home-country-progress progress{appearance:none;border:0;border-radius:5px;background:#e5edf3;overflow:hidden}
body.travel-logbook .home-country-progress progress::-webkit-progress-bar{background:#e5edf3;border-radius:5px}
body.travel-logbook .home-country-progress progress::-webkit-progress-value{background:#2498c5;border-radius:5px}
body.travel-logbook .home-country-progress progress::-moz-progress-bar{background:#2498c5;border-radius:5px}
body.travel-logbook .travel-primary-nav button.active,body.travel-logbook .travel-subnav button.active{color:#0077a8;border-color:#c9e5f0;background:#f7fcff}
body.travel-logbook .statistics-tabs button[aria-pressed=true]{background:#e1f4fb;color:#09688f;border-color:#add6e9}
body.travel-logbook .statistics-story{background:linear-gradient(120deg,#e3f5fc,#f5fcfe 70%,#fff9ec)}
body.travel-logbook .city-page-summary strong{font-family:Georgia,"Palatino Linotype",Palatino,serif;font-weight:400;color:#087bab}
body.travel-logbook .toast{background:#e4f3fb;color:#28576d;border:1px solid #b8d7e8;box-shadow:0 4px 18px #28576d18}
body.travel-logbook dialog::backdrop{background:#83a8bf40;backdrop-filter:blur(3px)}
body.travel-logbook .city-visit-place{display:flex;align-items:center;gap:14px;min-width:0}
body.travel-logbook .city-visit-place>div{min-width:0}
body.travel-logbook .city-visit-flag{display:block;width:32px;height:24px;flex:0 0 32px;object-fit:contain}
body.travel-logbook .city-visit-row .actions{align-items:center}
body.travel-logbook .city-visit-row .actions>button.secondary{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;box-shadow:none;color:#2e6f91;font-size:12px;font-weight:500;line-height:1;padding:8px;min-height:40px}
body.travel-logbook .city-visit-row .actions>button.secondary:hover{background:transparent;border-color:transparent;box-shadow:none;filter:none;transform:none}
body.travel-logbook .city-visit-row .actions>button[data-city-remove]{color:#915254;width:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
body.travel-logbook .city-visit-row .actions>button[data-city-remove]>svg{display:block;margin:0;flex-shrink:0;transform:translateY(-1px)}
body.travel-logbook .city-visit-row .actions>button[data-city-remove]:hover{background:transparent}
body.travel-logbook .travel-backup button{background:transparent;color:#2e6f91;border:0;min-height:44px}
body.travel-logbook .statistics-entity .statistics-dates:has(.statistics-date-group){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;flex-basis:200px;align-items:start}
body.travel-logbook .statistics-date-group{gap:3px;min-width:0}
body.travel-logbook .statistics-date-group small{white-space:nowrap;margin:0}
/* Quieter main navigation and a shared logbook type hierarchy. */
body.travel-logbook h1{font:500 34px/1.25 Georgia,"Palatino Linotype",Palatino,serif;letter-spacing:-.4px;color:#28576d}
body.travel-logbook .travel-primary-nav{gap:14px}
body.travel-logbook .travel-primary-nav button,body.travel-logbook .travel-primary-nav button.active{font:500 14px/1.4 var(--ui-font);background:transparent;border:1px solid transparent;border-radius:0;box-shadow:none;color:#526b7c;padding:10px 8px;min-height:44px}
body.travel-logbook .travel-primary-nav button.active{color:#087bab;border-bottom:2px solid #18a9d1}
body.travel-logbook .travel-primary-nav button:hover{color:#087bab;background:#edf8fc;border-bottom-color:#b5d9e8}
body.travel-logbook .travel-primary-nav .menu-icon{width:18px;height:18px;stroke-width:1.5}
body.travel-logbook .travel-page-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;text-align:left;margin-top:32px;padding-top:16px;font-size:12px}
body.travel-logbook .travel-page-footer .travel-footer-data{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;color:#526b7c;font-size:13px;font-weight:500;min-height:44px;padding:8px 0;white-space:normal}
body.travel-logbook .travel-page-footer .travel-footer-data:hover{color:#087bab}
body.travel-logbook .travel-footer-data .menu-icon{width:16px;height:16px;flex:0 0 16px}
@media(max-width:650px){body.travel-logbook h1{font-size:28px}body.travel-logbook .travel-primary-nav{gap:4px 12px}body.travel-logbook .travel-primary-nav button,body.travel-logbook .travel-primary-nav button.active{font-size:14px;padding:10px 6px}body.travel-logbook .travel-page-footer{align-items:flex-start;flex-direction:column;gap:4px}}
body.travel-logbook :is(.cruise-dashboard,.cruise-statistics) .cruise-stat-metric{border-top-color:#69c4e1}
body.travel-logbook :is(.cruise-dashboard,.cruise-statistics) .cruise-stat-metric:nth-child(3n){border-top-color:#f4c844}
body.travel-logbook :is(.cruise-dashboard,.cruise-statistics) .cruise-stat-metric:nth-child(6n){border-top-color:#e84f54}
body.travel-logbook :is(.cruise-dashboard,.cruise-statistics) .cruise-stat-metric:nth-child(4n),body.travel-logbook .metrics>.metric:nth-child(4n){border-top-color:var(--aida-green)}
body.travel-logbook #homeMapSection .home-map-pin-shape,body.travel-logbook .cruise-port-map-pin>.cruise-port-pin-shape{stroke:#fff;stroke-width:1.15;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1.5px 1.5px #28576d65)}
body.travel-logbook #homeMapSection .home-map-pin.is-active .home-map-pin-shape,body.travel-logbook #homeMapSection .home-map-pin:focus-visible .home-map-pin-shape,body.travel-logbook .cruise-port-map-pin:hover>.cruise-port-pin-shape,body.travel-logbook .cruise-port-map-pin:focus-visible>.cruise-port-pin-shape{stroke:#28576d;stroke-width:1.6}
@media(max-width:650px){body.travel-logbook .city-visit-row .actions{margin-left:46px;gap:8px}body.travel-logbook .city-visit-row .actions>button.secondary{min-height:44px}}
@media(max-width:650px){body.travel-logbook .travel-subnav button{font-size:13px;padding:9px 11px}body.travel-logbook #add{font-size:13px;padding:10px 12px}body.travel-logbook input,body.travel-logbook select,body.travel-logbook textarea{font-size:16px}body.travel-logbook .statistics-entity .statistics-line-logo{width:68px;height:38px;flex-basis:68px}}

/* Submenus share the quiet navigation; action controls use the reference pills. */
body.travel-logbook .metrics>.metric:nth-child(n){border-top:3px solid #0077a8}
body.travel-logbook .metrics>.metric:nth-child(2){border-top-color:#18a9d1}
body.travel-logbook .metrics>.metric:nth-child(3){border-top-color:#f4c844}
body.travel-logbook .metrics>.metric:nth-child(4){border-top-color:#86bc25}
body.travel-logbook .home-overview-card{border-top:1px solid #dbe7ee}
body.travel-logbook .home-overview-card .home-summary>button{border-top:3px solid #0077a8}
body.travel-logbook .home-overview-card .home-summary>button:nth-child(2){border-top-color:#18a9d1}
body.travel-logbook .home-overview-card .home-summary>button:nth-child(3){border-top-color:#e84f54}
body.travel-logbook .home-overview-card .home-summary>button:nth-child(4){border-top-color:#f4c844}
body.travel-logbook .home-overview-card .home-summary>button:nth-child(5){border-top-color:#86bc25}
body.travel-logbook .home-overview-card .home-country-progress{padding:18px var(--home-progress-inset,40px);background:linear-gradient(110deg,#eff9fd 0%,#f7fbfd 55%,#fff9e9 82%,#f6faed 100%);border-top:1px solid #d1e4ef}
body.travel-logbook .home-overview-card .home-country-progress:hover{background:linear-gradient(110deg,#e8f6fc 0%,#f1f8fc 55%,#fff6df 82%,#f0f7e5 100%)}
body.travel-logbook .home-country-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#0077a8,#18a9d1)}
body.travel-logbook .home-country-progress progress::-moz-progress-bar{background:linear-gradient(90deg,#0077a8,#18a9d1)}
body.travel-logbook .map-card .map-eyebrow{display:none}
body.travel-logbook .map-card .map-heading h2{font:500 23px/1.3 var(--heading-font);letter-spacing:0;color:#28576d}
body.travel-logbook .map-card .map-heading .hint{color:#526b7c;font:400 13px/1.6 var(--ui-font)}
body.travel-logbook .atlas-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #dbe7ee;border-radius:14px;padding:0;margin:22px 0;background:#fff;overflow:hidden}
body.travel-logbook .atlas-metrics>div{display:flex;align-items:baseline;gap:10px;padding:18px 20px;border-right:1px solid #dbe7ee;min-width:0}
body.travel-logbook .atlas-metrics>div:last-child{border-right:0}
body.travel-logbook .atlas-metrics strong{font:400 30px/1.25 var(--heading-font);color:#087bab;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
body.travel-logbook .atlas-metrics span{font:400 12px/1.4 var(--ui-font);color:#526b7c;letter-spacing:0}
body.travel-logbook .cruise-tour-card{background:#fff;border-color:#dbe7ee;border-radius:16px}
body.travel-logbook .cruise-tour-title{font:500 21px/1.35 var(--heading-font);color:#28576d;letter-spacing:0;overflow-wrap:anywhere}
body.travel-logbook .cruise-tour-year{font:500 19px/1.35 var(--heading-font);color:#526b7c;letter-spacing:0}
body.travel-logbook .cruise-tour-year::after{background:#dbe7ee}
body.travel-logbook .cruise-tour-ship,body.travel-logbook .cruise-tour-facts,body.travel-logbook .cruise-tour-dates{font:400 13px/1.6 var(--ui-font);color:#526b7c}
body.travel-logbook .cruise-tour-card:hover{background:#f8fcfe;border-color:#b3d4e4}
@media(max-width:650px){body.travel-logbook .atlas-metrics>div{display:flex;flex-direction:column;gap:6px;padding:14px 10px}body.travel-logbook .atlas-metrics strong{font-size:clamp(18px,5vw,24px)}body.travel-logbook .atlas-metrics span{font-size:11px}body.travel-logbook .cruise-tour-title{font-size:20px}}
body.travel-logbook .travel-subnav{gap:14px;padding-bottom:12px}
body.travel-logbook .travel-subnav button,body.travel-logbook .travel-subnav button.active{font:500 14px/1.4 var(--ui-font);background:transparent;color:#526b7c;border:1px solid transparent;border-radius:0;box-shadow:none;min-height:44px;padding:10px 8px}
body.travel-logbook .travel-subnav button.active{color:#087bab;border-bottom:2px solid #18a9d1}
body.travel-logbook .travel-subnav button:hover{background:#edf8fc;color:#087bab;border-bottom-color:#b5d9e8}
body.travel-logbook .travel-subnav .menu-icon{stroke-width:1.5}
body.travel-logbook button.secondary:not(.ship-card-edit):not(.close):not([data-city-edit]):not([data-city-remove]),
body.travel-logbook button[type=submit],body.travel-logbook #add,
body.travel-logbook .home-actions>button,body.travel-logbook .actions>button:not(.close):not(.ship-card-edit):not([data-city-edit]):not([data-city-remove]),
body.travel-logbook .map-controls button,body.travel-logbook .map-regions button,
body.travel-logbook .cruise-route-map-controls button,body.travel-logbook .cruise-port-map-filters button,
body.travel-logbook .statistics-tabs button,body.travel-logbook .travel-backup button,
body.travel-logbook [data-new],body.travel-logbook [data-new-cruise],body.travel-logbook [data-ship-add],body.travel-logbook .button.secondary{border-radius:999px;min-height:40px;padding:9px 16px;font:500 13px/1.4 var(--ui-font);background:#fff;color:#285b79;border:1px solid #d1e4ef;box-shadow:none}
body.travel-logbook #add,body.travel-logbook button[type=submit],body.travel-logbook .home-actions>button:first-child,body.travel-logbook .actions>button:not(.secondary):not(.danger){background:#eef8fd;border-color:#a7cfe4;color:#09688f;font-weight:500}
body.travel-logbook .statistics-tabs button[aria-pressed=true],body.travel-logbook .cruise-port-map-filters button.active,body.travel-logbook .map-regions button.active{background:#eef8fd;border-color:#a7cfe4;color:#09688f}
body.travel-logbook .actions>button.danger{background:#fff5f3;border-color:#ebccc7;color:#a33732}
body.travel-logbook .city-visit-row .actions>button.secondary,body.travel-logbook .ship-card-edit{border-radius:999px}
body.travel-logbook [data-ship-add]{background:transparent}
body.travel-logbook .map-controls button:hover,body.travel-logbook .travel-backup button:hover,body.travel-logbook .statistics-tabs button:hover{background:#eef8fd;border-color:#a7cfe4}
@media(max-width:650px){body.travel-logbook .travel-subnav{gap:5px 12px}body.travel-logbook .travel-subnav button,body.travel-logbook .travel-subnav button.active{font-size:13px;padding:10px 6px}body.travel-logbook .actions>button,body.travel-logbook button.secondary,body.travel-logbook #add,body.travel-logbook .map-controls button,body.travel-logbook .statistics-tabs button,body.travel-logbook .travel-backup button,body.travel-logbook .cruise-port-map-filters button{min-height:44px}}

/* Calm shared chrome; map controls and statistical color accents retain their styles. */
body.travel-logbook .city-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
body.travel-logbook .city-album-card{border:1px solid #dbe7ee;border-radius:16px;overflow:hidden;background:#fff;min-width:0;display:flex;flex-direction:column}
body.travel-logbook button.city-album-open{background:transparent;border:0;border-radius:0;padding:0;color:#28576d;text-align:left;display:flex;flex-direction:column;width:100%;flex:1;filter:none}
body.travel-logbook .city-album-image{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#eff7fb;color:#9ebed0;width:100%;overflow:hidden}
body.travel-logbook .city-album-image>img{width:100%;height:100%;object-fit:contain}
body.travel-logbook .city-album-image>svg{width:96px;height:70px}
body.travel-logbook .city-album-copy{padding:18px;display:grid;gap:8px;min-width:0;width:100%}
body.travel-logbook .city-album-name{display:flex;align-items:center;gap:10px}
body.travel-logbook .city-album-name strong{font:500 22px/1.3 var(--heading-font);overflow-wrap:anywhere}
body.travel-logbook .city-album-copy>span:not(.city-album-name){font:400 12px/1.5 var(--ui-font);color:#526b7c}
body.travel-logbook .city-album-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 12px 8px}
body.travel-logbook .city-album-actions>button.secondary{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#2e6f91;padding:8px;min-height:40px;font:500 12px/1 var(--ui-font);box-shadow:none}
body.travel-logbook .city-album-actions>button[data-city-remove]{color:#915254;width:40px}
body.travel-logbook .city-album-actions>button.secondary:hover{background:transparent;filter:none;transform:none;box-shadow:none}
body.travel-logbook .city-album-actions svg{display:block;transform:translateY(-1px)}
body.travel-logbook .city-album-switch{display:flex;gap:8px;flex-wrap:wrap}
body.travel-logbook .city-album-switch button[aria-pressed=true]{background:#eef8fd;border-color:#a7cfe4}
body.travel-logbook .city-album-list{display:grid;margin-top:16px}
body.travel-logbook .city-album-list .city-album-card{flex-direction:row;align-items:center;border:0;border-bottom:1px solid #e3edf2;border-radius:0;padding:12px 0}
body.travel-logbook .city-album-list .city-album-open{flex-direction:row;align-items:center;gap:14px}
body.travel-logbook .city-album-list .city-album-image{width:100px;flex:0 0 100px;border-radius:8px}
body.travel-logbook .city-album-list .city-album-image>svg{width:48px;height:40px}
body.travel-logbook .city-album-list .city-album-copy{padding:0;gap:4px}
body.travel-logbook .city-album-list .city-album-name strong{font-size:19px}
body.travel-logbook #cityEntryDialog,body.travel-logbook #cityAlbumDetail{width:min(820px,calc(100vw - 32px))}
body.travel-logbook #cityEntryDialog .city-entry-content{padding:20px 0 0;border:0;box-shadow:none}
body.travel-logbook #cityAlbumTitle{display:flex;align-items:center;gap:12px}
body.travel-logbook .city-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
body.travel-logbook .city-photo-grid figure{margin:0;min-width:0;position:relative}
body.travel-logbook button.city-photo-remove{position:absolute;top:6px;right:6px;width:32px;height:32px;min-height:32px;padding:0;background:#fffffff0;border:1px solid #dbe7ee;border-radius:50%;color:#915254;font-size:20px}
body.travel-logbook .city-photo-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#f3f9fc;border-radius:8px}
body.travel-logbook .city-photo-grid figcaption{font-size:11px;overflow-wrap:anywhere;color:#526b7c;margin-top:5px}
body.travel-logbook .city-stay-list>article{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #e3edf2}
body.travel-logbook .city-stay-list>article:last-child{border:0}
body.travel-logbook .city-stay-list strong{font-size:14px;font-weight:500}
body.travel-logbook .city-stay-list p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}
body.travel-logbook #cityStayForm{background:#f3f9fc;border:1px solid #dbe7ee;border-radius:12px;padding:18px;margin-top:16px}
body.travel-logbook #cityStayForm[hidden]{display:none}
@media(max-width:1050px){body.travel-logbook .city-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body.travel-logbook .city-album-grid{grid-template-columns:1fr;gap:16px}body.travel-logbook .city-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.travel-logbook .city-album-list .city-album-card{flex-wrap:wrap}body.travel-logbook .city-album-list .city-album-image{width:76px;flex-basis:76px}body.travel-logbook .city-album-list .city-album-actions{margin-left:auto}body.travel-logbook .city-album-switch button{padding:8px 12px}body.travel-logbook .city-stay-list>article{gap:8px}body.travel-logbook .city-album-actions>button.secondary{min-height:44px}}
body.travel-logbook main{width:100%;max-width:1400px;margin-inline:auto}
@media(min-width:1401px){body.travel-logbook aside{padding-inline:calc((100% - 1400px)/2 + 32px)}}
body.travel-logbook #travelDataDialog{width:min(720px,calc(100vw - 32px))}
body.travel-logbook .backup-common{padding:20px 0}
body.travel-logbook .backup-common h3{margin:0 0 12px}
body.travel-logbook .backup-common p{line-height:1.6}
body.travel-logbook .travel-data-content[hidden],body.travel-logbook #backupPreview[hidden]{display:none}
body.travel-logbook #backupPreview{margin-top:24px;padding:18px;background:#f3f9fc;border:1px solid #dbe7ee;border-radius:14px}
body.travel-logbook #backupPreviewValues{margin:12px 0}
body.travel-logbook #backupPreviewValues>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0}
body.travel-logbook #backupPreviewValues dt,body.travel-logbook #backupPreviewValues dd{margin:0;font-size:13px}
body.travel-logbook #backupStatus{font-size:13px;line-height:1.6;margin:16px 0 0}
body.travel-logbook{background:linear-gradient(145deg,#f3fafc,#fbfdfe) fixed}
body.travel-logbook :is(.travel-primary-nav,.travel-subnav) button{letter-spacing:0}
body.travel-logbook :is(.city-page,.cruise-dashboard,.cruise-statistics,.preview-graphics) p{line-height:1.6}
body.travel-logbook dialog h2{font:500 23px/1.3 var(--heading-font);letter-spacing:0}
body.travel-logbook dialog h3{font:600 15px/1.4 var(--ui-font);letter-spacing:0;margin:24px 0 12px}
body.travel-logbook dialog label{font:400 13px/1.4 var(--ui-font);margin-bottom:7px}
body.travel-logbook dialog .formgrid{gap:18px 20px}
body.travel-logbook dialog .actions{gap:10px;margin-top:24px;align-items:center}
body.travel-logbook :is(.city-page>.card,.preview-graphics>.card,.cruise-stat-panel){padding:24px;box-shadow:none}
body.travel-logbook .travel-page-footer{border-top-color:#e5eef3}
body.travel-logbook #add,
body.travel-logbook [data-new],body.travel-logbook [data-new-cruise],
body.travel-logbook .home-actions>button,
body.travel-logbook .travel-backup button,
body.travel-logbook dialog button.secondary:not(.close):not(.ship-card-edit),
body.travel-logbook #cityVisitForm button.secondary{background:#fff;color:#285b79;border:1px solid #d1e4ef;box-shadow:none;font:500 13px/1.4 var(--ui-font);border-radius:999px;min-height:40px;padding:9px 16px}
body.travel-logbook :is(#add,[data-new],[data-new-cruise],.home-actions>button,.travel-backup button):hover,
body.travel-logbook dialog button.secondary:not(.close):not(.ship-card-edit):hover{background:#f3f9fc;border-color:#b6d4e4;filter:none;transform:none;box-shadow:none}
body.travel-logbook :is(#content,dialog[id]) button[type=submit]{background:#0077a8;color:#fff;border:1px solid #0077a8;font:500 13px/1.4 var(--ui-font);border-radius:999px;min-height:40px;padding:9px 18px;box-shadow:none}
body.travel-logbook :is(#content,dialog[id]) button[type=submit]:hover{background:#086e98;color:#fff;border-color:#086e98;filter:none;transform:none}
body.travel-logbook button[type=submit]:disabled{opacity:.55;cursor:wait}
body.travel-logbook :is(.city-visit-flag,.statistics-flag){box-sizing:border-box;border:1px solid #315e731a;border-radius:3px;background:transparent;object-fit:contain;box-shadow:0 1px 2px #315e7310}
@media(max-width:650px){body.travel-logbook :is(.city-page>.card,.preview-graphics>.card,.cruise-stat-panel){padding:18px}body.travel-logbook dialog .formgrid{gap:16px}body.travel-logbook :is(#add,[data-new],[data-new-cruise],.home-actions>button,.travel-backup button),body.travel-logbook :is(#content,dialog[id]) button[type=submit],body.travel-logbook dialog button.secondary:not(.close):not(.ship-card-edit){min-height:44px}}

.city-entry-photo{margin-top:8px}.city-entry-photo input{width:100%}.city-entry-photo img{display:block;max-width:100%;width:240px;aspect-ratio:16/9;object-fit:contain;border-radius:10px;background:#f1f7fb;margin:12px 0}.city-entry-photo img[hidden]{display:none}
