/* Logbook: one shared set of colors, type and surfaces for both travel modules. */
body.travel-logbook{--ink:#304f60;--muted:#536b7c;--accent:#376f93;--bg:#f0f9fc;--line:#dbe7ee;--surface:#fff;--soft:#edf5fb;--sand:#eadfcd;--ui-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(145deg,#f0f9fc 0%,#fafcfd 45%,#fcf9f3 100%) fixed;color:var(--ink);font:14px/1.5 var(--ui-font);-webkit-font-smoothing:antialiased;overflow-anchor:none}
html:has(body.travel-logbook){scrollbar-gutter:stable}
.travel-logbook .travel-primary-nav button,.travel-logbook .travel-primary-nav button.active,.travel-logbook .travel-subnav button,.travel-logbook .travel-subnav button.active{font-weight:600}
.travel-logbook .airport-suggestions,.travel-logbook .airline-search-results{border-color:var(--line);box-shadow:0 12px 30px #304f601c}
.travel-logbook .airport-suggestions button,.travel-logbook .airline-search-results button{background:#fff;color:var(--ink);border-color:var(--line)}
.travel-logbook .airport-suggestions button:hover,.travel-logbook .airport-suggestions button[aria-selected=true],.travel-logbook .airline-search-results button:hover,.travel-logbook .airline-search-results button[aria-selected=true],.travel-logbook .country-stat-row:hover,.travel-logbook .flight-stat-group:hover{background:#edf5fb}
.travel-logbook .airport-suggestions small,.travel-logbook .airline-search-results small{color:var(--muted)}
.travel-logbook .flight-category-track,.travel-logbook .flight-count-airlines,.travel-logbook .flight-time-average{border-color:var(--line)}.travel-logbook .flight-category-track{background:#edf3f8}.travel-logbook .flight-category-track>span{background:#86aac4}
.travel-logbook .terminal-board .flight:hover,.travel-logbook .cruise-row:hover{background:#edf5fb}
.travel-logbook .aircraft-photo-link,.travel-logbook .aircraft-picture figcaption{color:var(--accent)}
.travel-logo-mark{width:52px;height:52px;color:var(--accent)}.travel-logo-mark svg{width:100%;height:100%;display:block}.travel-logo-mark .logo-sun{fill:#ecd7af;stroke:none}
.travel-logbook .travel-header-logo{display:block;width:150px;height:64px;object-fit:contain;flex-shrink:0}.travel-logbook aside{min-height:84px;padding-top:10px;padding-bottom:10px}
@media(max-width:650px){.travel-logbook .travel-header-logo{width:126px;height:54px}.travel-logbook aside{padding-top:12px;padding-bottom:12px;gap:12px}}
/* Fixed-width navigation and stable gutters prevent movement when a button becomes active. */
body.travel-logbook .travel-primary-nav button,body.travel-logbook .travel-primary-nav button.active,body.travel-logbook .travel-subnav button,body.travel-logbook .travel-subnav button.active{font-weight:600;transform:none}
/* Mechanical airport departure board. These dark surfaces are deliberately limited to flight rows. */
body.travel-logbook .terminal-board{background:#152334;border-color:#293a4b;border-radius:12px;color:#edf2f8}
body.travel-logbook .terminal-board-heading{background:#101d2b;border-bottom:1px solid #304152;padding:18px 22px}
body.travel-logbook .terminal-board-heading strong{color:#f0c96a;font:600 12px var(--ui-font);letter-spacing:1.8px}
body.travel-logbook .terminal-board-heading>span{color:#bdcbd7}
body.travel-logbook .terminal-board-columns{background:#152334;color:#f0c96a;border-color:#304152;font-size:10px;letter-spacing:1.5px}
body.travel-logbook .terminal-board .flight{background:#152334;color:#edf2f8;border-color:#304152;min-height:104px}
body.travel-logbook .terminal-board .flight:hover{background:#1c2d40}
body.travel-logbook .terminal-board-columns,body.travel-logbook .terminal-board .flight{grid-template-columns:55px 145px 110px minmax(250px,1fr) 220px 195px;gap:18px;min-width:1140px}
body.travel-logbook .terminal-board .flight-airport-name,body.travel-logbook .terminal-board .flight-icao,body.travel-logbook .terminal-board .board-airport-caption{color:#c0cfdd}
body.travel-logbook .terminal-board .board-logo{background:#f5f7fa;flex:0 0 32px}
body.travel-logbook .terminal-board .split-flap-field{position:relative;display:block;min-width:0;max-width:100%;overflow:hidden;-webkit-line-clamp:unset;font-family:Consolas,'Courier New',monospace}
.split-flap-characters{display:inline-flex;gap:2px;vertical-align:middle;max-width:100%;overflow:hidden;white-space:nowrap}
.split-flap-cell{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 11px;width:11px;height:22px;background:linear-gradient(#253448 0 48%,#101b29 48% 53%,#1d2b3d 53%);color:#f4f6fa;border:1px solid #0c1520;border-radius:2px;font:600 12px/1 Consolas,'Courier New',monospace;box-shadow:inset 0 1px #ffffff0b}
.split-flap-cell:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#0008;pointer-events:none}
body.travel-logbook .terminal-board .board-airport-code .split-flap-cell{flex-basis:17px;width:17px;height:28px;font-size:20px}
body.travel-logbook .terminal-board .board-date .split-flap-cell{flex-basis:8px;width:8px;font-size:11px}
body.travel-logbook .terminal-board .board-airline-name .split-flap-cell,body.travel-logbook .terminal-board .board-aircraft>span:first-child .split-flap-cell{flex-basis:8px;width:8px;height:22px;font-size:11px}
body.travel-logbook .terminal-board .board-registration{margin-top:7px}
body.travel-logbook .terminal-board .board-registration .split-flap-cell{flex-basis:8px;width:8px;height:19px;font-size:10px;color:#c9d8e7}
body.travel-logbook .terminal-board .board-airport-code{font-family:Consolas,monospace}
body.travel-logbook .terminal-board-scroll{scrollbar-color:#687f95 #152334}
/* Quieter airport board: only flight numbers and airport codes use character flaps. */
body.travel-logbook .terminal-board .flight{min-height:94px;border-bottom-color:#ffffff13}
body.travel-logbook .terminal-board .board-number{color:#9eafc1;font:12px var(--ui-font)}
body.travel-logbook .terminal-board .board-date{color:#e1e8f0;font:13px var(--ui-font);white-space:nowrap}
body.travel-logbook .terminal-board .board-airline-name{display:block;color:#e1e8f0;font:13px/1.5 var(--ui-font);-webkit-line-clamp:unset;white-space:normal;overflow-wrap:anywhere}
body.travel-logbook .terminal-board .board-aircraft{color:#e1e8f0;font:13px/1.5 var(--ui-font)}
body.travel-logbook .terminal-board .board-registration{color:#a7bbcd;font:11px/1.5 Consolas,monospace;margin-top:5px}
body.travel-logbook .terminal-board .board-logo{width:52px;height:52px;flex:0 0 52px;padding:7px;border-radius:7px;background:#f6f8fb;border:1px solid #dce4eb;overflow:hidden}
body.travel-logbook .terminal-board .board-logo img{display:block;width:100%;height:100%;object-fit:contain}
body.travel-logbook .terminal-board .board-airport-caption{display:none}
body.travel-logbook .terminal-board .flight-airport-name{color:#b7c6d5;font-size:11px;line-height:1.5}
body.travel-logbook .terminal-board .flight-icao{color:#9eafc1;font-size:10px}
body.travel-logbook .terminal-board .board-flight-number .split-flap-cell{width:13px;flex-basis:13px;height:26px;font-size:15px}
body.travel-logbook .terminal-board .split-flap-cell{border-color:#18283a;box-shadow:none;background:linear-gradient(#273a50 0 49%,#17283b 49% 52%,#23354b 52%)}
body.travel-logbook .terminal-board .split-flap-cell:after{background:#101e2d55}
body.travel-logbook .terminal-board-columns,body.travel-logbook .terminal-board .flight{grid-template-columns:45px 130px 120px minmax(260px,1fr) 215px 185px;gap:18px;min-width:1100px}
.travel-logbook *{box-sizing:border-box}.travel-logbook [hidden]{display:none!important}
.travel-logbook button,.travel-logbook input,.travel-logbook select,.travel-logbook textarea{font-family:var(--ui-font);font-size:14px}
.travel-logbook h1,.travel-logbook h2,.travel-logbook h3{font-family:var(--ui-font);color:var(--ink);line-height:1.25;font-weight:650;letter-spacing:-.5px}
.travel-logbook h1{font-size:32px;margin:0 0 8px}.travel-logbook h2{font-size:20px;margin:0 0 18px}.travel-logbook h3{font-size:17px}
.travel-logbook p,.travel-logbook .hint{color:var(--muted);line-height:1.65}.travel-logbook .hint{font-size:12px}.travel-logbook p{font-size:14px}
.travel-logbook button,.travel-logbook .button{border-radius:10px;transition:background .15s,border-color .15s,box-shadow .15s}
.travel-logbook button:hover{filter:none}.travel-logbook button:focus-visible,.travel-logbook a:focus-visible,.travel-logbook [role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.travel-logbook button.secondary,.travel-logbook .button.secondary{background:var(--soft);color:var(--accent);border:1px solid #d4e2e8}
.travel-logbook button.secondary:hover,.travel-logbook .button.secondary:hover{background:#e1edf2}
.travel-logbook button.danger{background:#fcefed;color:#a3372d;border:1px solid #efcec9}
.travel-logbook button.close{background:var(--soft);color:var(--ink);padding:8px 12px;min-width:40px;min-height:40px;flex-shrink:0}
.travel-logbook button.link{background:transparent;color:var(--accent);border:0;border-radius:4px;min-height:32px;font-size:13px}
.travel-logbook .actions>button,.travel-logbook .actions>.button{min-height:42px;font-weight:550;padding:11px 16px}
.travel-logbook .actions>button:not(.secondary):not(.danger){background:var(--accent);color:#fff;border:1px solid var(--accent)}
.travel-logbook .actions>button:not(.secondary):not(.danger):hover{background:#24596d}
.travel-logbook input,.travel-logbook select,.travel-logbook textarea{background:#fff;color:var(--ink);border:1px solid #ccdbe2;border-radius:8px;padding:11px 12px;min-height:44px}
.travel-logbook input::placeholder,.travel-logbook textarea::placeholder{color:#667b87;opacity:1}.travel-logbook input:focus,.travel-logbook select:focus,.travel-logbook textarea:focus{outline:2px solid #2c6b8233;outline-offset:1px;border-color:var(--accent)}
.travel-logbook label{font-size:13px;font-weight:550;color:var(--ink)}
.travel-logbook aside{position:sticky;top:0;z-index:20;width:100%;height:auto;min-height:84px;display:flex;flex-direction:row;align-items:center;gap:24px;padding:18px 32px;background:#fff;border:0;border-bottom:1px solid var(--line);box-shadow:none}
.travel-logbook aside>.tag,.travel-logbook aside>.local{display:none}
.travel-logbook .brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;letter-spacing:-.8px;white-space:nowrap;color:var(--ink)}
.travel-brand-mark{width:40px;height:40px;color:var(--accent)}.travel-brand-mark svg{width:100%;height:100%}.travel-brand-name small{display:block;font-size:10px;letter-spacing:1.3px;font-weight:500;margin-top:3px;text-transform:uppercase;color:var(--muted)}
.travel-logbook .travel-primary-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 0 auto;overflow:visible}
.travel-logbook nav button{background:transparent;color:var(--muted);font-weight:500;font-size:13px;padding:11px 15px;border:1px solid transparent;min-height:42px;white-space:nowrap}
.travel-logbook nav button:hover{background:#f3f6f8;color:var(--ink)}.travel-logbook nav button.active{background:var(--soft);border-color:#d8e5eb;color:var(--accent);font-weight:650;box-shadow:none}
.travel-logbook main{margin:0 auto;padding:36px 32px 32px;max-width:1400px;position:relative}.travel-logbook main:before{display:none}
.travel-logbook header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 26px}.travel-logbook header p{font-size:14px;margin:0}
.travel-logbook #add{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:10px;padding:11px 18px;font-size:13px;font-weight:550;white-space:nowrap;min-height:44px}.travel-logbook #add:hover{background:#24596d}
.travel-logbook .travel-subnav{margin:0 0 26px;display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 16px;overflow:visible}
.travel-logbook .travel-subnav button{font-size:13px;padding:9px 13px;min-height:40px}.travel-logbook .travel-subnav button.active{background:#fff;color:var(--accent);border-color:var(--line);box-shadow:0 2px 6px #243c4905}
.travel-logbook .card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 3px 12px #243c4903}
.travel-logbook .hero{display:none}.travel-logbook .columns{gap:24px}
.travel-logbook .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border:0;background:transparent;border-radius:0;margin-bottom:28px;overflow:visible}
.travel-logbook .metrics>.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:none;border-top:1px solid var(--line)}
.travel-logbook .metrics>.metric:nth-child(n){border-top:1px solid var(--line)}
.travel-logbook .metrics>.metric small,.travel-logbook .metrics>.metric em{color:var(--muted);font-size:12px}.travel-logbook .metrics>.metric strong,.travel-logbook .metrics>.metric>strong{font-family:var(--ui-font);font-size:30px;line-height:1.25;font-weight:650;color:var(--ink);letter-spacing:-1px;font-variant-numeric:tabular-nums}
.travel-logbook .metrics>.metric .flight-count-open,.travel-logbook .metrics>.metric .flight-time-open,.travel-logbook .metrics>.metric .airport-stat-link{color:var(--accent)}
.travel-logbook .flight-count-airlines,.travel-logbook .flight-time-average{border-color:var(--line)}.travel-logbook .metrics .flight-category-item{background:transparent;color:var(--ink);border-radius:0}
.travel-logbook .flight-category-item b,.travel-logbook .distance-card-comparisons b,.travel-logbook .flight-time-conversions b{color:var(--accent)}
.travel-logbook .pill{background:var(--soft);color:var(--accent);font-size:12px;font-weight:500;border-radius:7px}.travel-logbook .bar{background:#edf2f4}.travel-logbook .bar span{background:#709aac}
.travel-logbook .preview-graphics{gap:24px}.travel-logbook .preview-graphics p,.travel-logbook .preview-airline small{color:var(--muted)}.travel-logbook .preview-airline{background:#f4f7f9;border-radius:10px}.travel-logbook .preview-airline strong{color:var(--ink);font-size:26px;font-weight:650}.travel-logbook .year-bar{background:#86a7b6}
/* The home page gives both modules equal visual weight. */
.travel-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.travel-logbook .travel-home-card{position:relative;padding:28px;border:1px solid var(--line);border-top:3px solid #7ea5b7;overflow:hidden}
.travel-logbook .travel-home-card:nth-child(2){border-top-color:#c6b38f}.travel-home-card h2{font-size:23px;margin:0 0 12px}.travel-home-card>p{font-size:14px;margin:0 0 28px;max-width:85%}
.travel-home-icon{position:absolute;right:28px;top:24px;font-size:28px;color:#7296a7}.travel-home-card:nth-child(2) .travel-home-icon{color:#9c835b}
.travel-home-icon svg{width:32px;height:32px;display:block}.travel-logbook .brand>.travel-brand-name{color:var(--ink)}
.travel-home-count{display:flex;align-items:baseline;gap:12px;margin-bottom:26px}.travel-home-count strong{font-family:var(--ui-font);font-size:44px;font-weight:650;letter-spacing:-1.5px;color:var(--ink);font-variant-numeric:tabular-nums}.travel-home-count span{font-size:13px;color:var(--muted)}
.travel-home-last{display:grid;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;min-height:112px}.travel-home-last small{font-size:12px;font-weight:500;color:var(--muted)}.travel-home-last b{font-size:17px;font-weight:600;color:var(--ink)}.travel-home-last>span{font-size:13px;color:var(--muted)}
.travel-home-card .actions{gap:10px;margin-top:24px}.travel-home-card .actions button{font-size:13px}.travel-home-footnote{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:26px;font-size:12px;color:var(--muted)}
.travel-logbook .travel-page-footer{font-size:12px;text-align:center;color:var(--muted);margin-top:40px;border-top:1px solid var(--line);padding-top:20px}
/* Flight tables use white surfaces; fixed-width type is reserved for codes. */
.travel-logbook .terminal-board{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:none}.travel-logbook .terminal-board-heading{background:#f1f6f8;padding:16px 22px}.travel-logbook .terminal-board-heading strong{font:600 11px var(--ui-font);letter-spacing:1px;color:var(--accent)}.travel-logbook .terminal-board-heading>span{font-size:11px;color:var(--muted)}
.travel-logbook .terminal-board-columns{background:#fbfcfd;color:var(--muted);border-color:var(--line);font-size:10px;letter-spacing:1px}.travel-logbook .terminal-board .flight{background:#fff;color:var(--ink);border-color:var(--line);border-radius:0}.travel-logbook .terminal-board .flight:hover{background:#f0f6f8}
.travel-logbook .terminal-board .board-date,.travel-logbook .terminal-board .board-airline-name,.travel-logbook .terminal-board .board-aircraft{font-family:var(--ui-font);color:var(--ink);font-size:12px}.travel-logbook .terminal-board .board-number{color:var(--muted)}.travel-logbook .terminal-board .board-flight-number,.travel-logbook .terminal-board .board-airport-code{color:var(--accent)}
.travel-logbook .terminal-board .flight-airport-name,.travel-logbook .terminal-board .flight-icao,.travel-logbook .terminal-board .board-registration,.travel-logbook .terminal-board .board-airport-caption{color:var(--muted)}
.travel-logbook .terminal-board .board-airport-caption{font-size:10px}.travel-logbook .terminal-board-scroll{scrollbar-color:#9bb2be #f4f7f8}.travel-logbook .terminal-board .board-logo{background:#f4f7f8;border-radius:6px}
.travel-logbook .map-card{background:#fff}.travel-logbook .map-wrap{border:1px solid var(--line);border-radius:10px;background:#c3deea}.travel-logbook #worldMap{background:#c3deea}.travel-logbook .map-controls button{min-height:38px}
/* Dialogs and editing use the same typographic hierarchy as the page. */
.travel-logbook dialog{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 24px 90px #243c4930}.travel-logbook dialog::backdrop{background:#243c4966;backdrop-filter:blur(3px)}.travel-logbook dialog>.row{align-items:center;gap:18px}.travel-logbook dialog>.row h2{margin:0;font-size:21px}
.travel-logbook #editor{padding:0}.travel-logbook #editor>.row{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line);padding:20px 24px}.travel-logbook #editor>#form{padding:24px}
.travel-logbook .aircraft-photo-editor,.travel-logbook .aircraft-detail-photo{background:#f3f7f9;border-color:var(--line)}.travel-logbook #pasteAircraftPhoto{background:var(--soft);border-color:#cddfe7;color:var(--accent)}.travel-logbook #pasteAircraftPhoto small{color:var(--muted)}
.cruise-empty{padding:44px 20px;text-align:center}.cruise-empty svg{width:56px;height:56px;color:#7296a7}.cruise-empty p{max-width:500px;margin:14px auto 24px}
.travel-logbook .cruise-row{display:grid;grid-template-columns:minmax(0,1fr) 170px 100px;align-items:center;gap:18px;width:100%;padding:20px 0;background:transparent;color:var(--ink);text-align:left;border:0;border-top:1px solid var(--line);border-radius:0}.travel-logbook .cruise-row:hover{background:#f2f7f9}.cruise-row strong{font-size:16px;font-weight:600}.cruise-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.cruise-row time{font-size:13px;color:var(--ink)}.cruise-row .pill{justify-self:end}
.cruise-section-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.cruise-section-title p{font-size:13px;margin:0 0 22px}.cruise-wizard{display:flex;gap:8px;padding:12px 0 22px}.cruise-wizard span{font-size:12px;color:var(--muted);padding:8px 12px;background:#f1f5f7;border-radius:8px}.cruise-wizard span.active{color:var(--accent);background:#e5f0f5;font-weight:550}.cruise-review{padding:20px;border:1px solid var(--line);border-radius:10px;background:#f4f8fa;margin-top:20px}.cruise-review p{margin:6px 0}.cruise-delete-confirm{margin-top:20px;padding:18px;border:1px solid #efcec9;border-radius:10px;background:#fff7f5}
.travel-logbook #travelDataDialog{width:min(680px,94vw)}.travel-data-content{line-height:1.7;margin-top:22px!important}.travel-backup{padding:18px 0;margin-bottom:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.travel-backup strong{font-size:13px;color:var(--ink)}.travel-logbook .travel-backup button{min-height:42px;padding:8px 0}.travel-logbook .travel-data-content #demo{display:block;min-height:40px;margin-top:14px}.travel-logbook .travel-data-content>a{display:inline-block;margin:8px 14px 0 0;color:var(--accent)}
/* A deliberate exception: gallery cards are photographic color-film frames. */
body.travel-logbook button.gallery-photo-card{display:block;background:#222326;color:#f4f0e4;border:1px solid #33363a;border-radius:3px;padding:13px 22px 17px;text-align:left;filter:none}.travel-logbook button.gallery-photo-card:hover{background:#292a2d;border-color:#d5ae60;filter:none}.travel-logbook button.gallery-photo-card:focus-visible{outline:2px solid #d5ae60;outline-offset:4px}
.travel-logbook .gallery-film-label,.travel-logbook .gallery-photo-description>small{color:#e0b969;font-family:Consolas,monospace}.travel-logbook .gallery-photo-description>span{color:#c6ccd0}.travel-logbook .gallery-photo-description>b{color:#f6efda}.travel-logbook .gallery-photo-frame{background:#111216}.travel-logbook .gallery-photo-frame img,.travel-logbook .gallery-large-image{filter:none;opacity:1}
@media(max-width:1150px){.travel-logbook .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-logbook aside{padding:16px 24px}.travel-logbook main{padding:28px 24px}}
@media(max-width:800px){.travel-home-grid{grid-template-columns:1fr}.travel-logbook aside{gap:16px;flex-wrap:wrap}.travel-logbook .travel-primary-nav{gap:4px}.travel-logbook nav button{padding:10px 12px}.travel-home-footnote{flex-wrap:wrap}}
@media(max-width:650px){
 .travel-logbook aside{position:static;flex-direction:column;align-items:flex-start;padding:18px 16px;gap:16px}.travel-logbook .brand{font-size:23px}
 body.travel-logbook aside .travel-primary-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;width:100%;max-width:100%;min-width:0;gap:5px;overflow:visible}.travel-logbook .travel-primary-nav button{width:100%;min-width:0;text-align:left;font-size:12px;padding:10px 12px;white-space:normal}
 .travel-logbook main{padding:26px 16px}.travel-logbook h1{font-size:27px;letter-spacing:-.7px}.travel-logbook h2{font-size:19px}.travel-logbook header{align-items:flex-start;gap:12px;margin-bottom:22px}.travel-logbook header p{font-size:13px}.travel-logbook #add{font-size:12px;padding:10px 12px}
 .travel-logbook .travel-subnav{gap:4px;justify-content:flex-start;overflow:visible}.travel-logbook .travel-subnav button{flex:0 0 auto;font-size:12px;padding:9px 11px;min-width:0}
 .travel-logbook .card{padding:20px}.travel-logbook .metrics{gap:12px;margin-bottom:24px}.travel-logbook .metrics>.metric{padding:17px}.travel-logbook .metrics>.metric>strong,.travel-logbook .metrics>.metric strong{font-size:26px}.travel-logbook .metrics>.flight-distance-card>strong{font-size:23px}
 .travel-logbook .travel-home-card{padding:24px}.travel-home-card h2{font-size:22px}.travel-home-icon{right:24px;font-size:26px}.travel-home-card>p{max-width:90%;font-size:13px}.travel-home-count strong{font-size:40px}.travel-home-card .actions{flex-direction:column;align-items:stretch}.travel-home-footnote{font-size:12px}
 .travel-logbook .cruise-row{grid-template-columns:minmax(0,1fr) 112px;gap:12px}.cruise-row .pill{display:none}.cruise-row strong{font-size:15px}.cruise-row time{font-size:12px}.cruise-wizard{gap:5px}.cruise-wizard span{padding:8px;font-size:11px}
 .travel-logbook dialog{padding:20px}.travel-logbook dialog>.row h2{font-size:20px}.travel-logbook #editor>.row{padding:16px 18px}.travel-logbook #editor>#form{padding:18px}.travel-logbook #travelDataDialog .travel-backup{align-items:flex-start;flex-direction:column;gap:5px}
}
/* Keep the chosen illustrated logo inside the original desktop header height. */
body.travel-logbook aside{min-height:84px;padding:9px 32px}
@media(max-width:1150px){body.travel-logbook aside{padding:9px 24px}}
@media(max-width:650px){body.travel-logbook aside{padding:12px 16px;gap:12px}}
/* Map-first personal travel overview. */
.cruise-source-details{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.cruise-source-details figure{margin:0 0 22px}.cruise-source-details img{display:block;max-width:100%;max-height:320px;margin:auto;border-radius:10px;object-fit:contain}.cruise-source-details figcaption{font-size:12px;color:var(--muted);margin-top:9px}.cruise-itinerary-scroll{overflow-x:auto}.cruise-itinerary-scroll table{width:100%;border-collapse:collapse;font-size:13px}.cruise-itinerary-scroll th,.cruise-itinerary-scroll td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}.cruise-itinerary-scroll th{font-weight:600;color:var(--accent)}
.travel-logbook .home-actions{position:absolute;right:32px;top:36px;margin:0;gap:10px}.travel-logbook .home-actions button{font-size:13px}
.home-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#ffffffba;border:1px solid var(--line);border-radius:12px;margin:0 0 24px;overflow:hidden}
.travel-logbook .home-summary>button,.home-summary>div{display:flex;align-items:center;justify-content:center;gap:10px;min-height:68px;padding:16px 20px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink)}.home-summary>div:last-child{border-right:0}.travel-logbook .home-summary>button:hover{background:#edf5fb}.home-summary strong{font-size:25px;font-weight:650;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.home-summary>button>span:last-child,.home-summary>div>span{font-size:12px;color:var(--muted)}.home-summary-icon svg{display:block;width:23px;height:23px;color:#5986a3}
.travel-logbook .home-map-section .map-card{padding:0;overflow:hidden;border-radius:16px;background:#fff}.home-map-section .map-heading{padding:22px 25px;gap:16px}.home-map-section .map-heading h2{font-size:22px}.home-map-section .map-heading .hint{font-size:13px}.home-map-section .map-wrap{margin:0;border:0;border-radius:0;background:#c4dfee;aspect-ratio:1080/500}.home-map-section #worldMap{width:100%;height:100%;min-height:0;aspect-ratio:auto;background:#c4dfee}
.home-map-section .relief-background{display:none}.home-map-section #worldMap>rect{fill:#c4dfee}.travel-logbook .home-map-section #worldMap .country-shape{fill:#f7fbfd;stroke:#a8c6d9;stroke-width:.65;stroke-opacity:.65}.travel-logbook .home-map-section .map-route{stroke:#4b80a1;stroke-width:1.2;opacity:.65}.travel-logbook .home-map-section .map-route:hover,.travel-logbook .home-map-section .map-route:focus{stroke:#cb933b;stroke-width:2.4;opacity:1}.home-map-section .airport-dot{fill:#34688c}.home-map-section .airport-label{fill:#2d5c78;stroke:#f5fbff}.home-map-section .legend-route{background:#4b80a1}.home-map-section .map-card>.hint{padding:10px 24px;margin:0;border-top:1px solid var(--line);font-size:10px}.home-map-section .map-legend{background:#ffffffdc;color:var(--muted)}.home-map-section .notice{margin:16px 24px}
.home-map-note{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;color:var(--muted);font-size:12px}.home-map-note .link{white-space:nowrap}.home-memories{margin-top:36px}.home-memories>.row h2{margin-bottom:7px;font-size:22px}.home-memories>.row p{margin:0 0 22px;font-size:13px}
.home-memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.travel-logbook button.home-memory-card{padding:0;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:13px;overflow:hidden;text-align:left;box-shadow:0 3px 12px #304f6004;min-width:0;display:flex;flex-direction:column}.travel-logbook button.home-memory-card:hover{border-color:#94b4ca;background:#fff;box-shadow:0 5px 18px #304f6010}
.home-memory-visual{height:155px;width:100%;flex:0 0 155px;background:linear-gradient(145deg,#d4e8f3,#eef6fb);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#56809a;overflow:hidden}.home-memory-visual>svg{width:45px;height:45px;opacity:.65}.home-memory-route{font-size:18px;font-weight:600;color:#315c78;letter-spacing:1px;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-memory-route>span{font-weight:400;color:#7798af}.cruise-memory .home-memory-visual{background:linear-gradient(145deg,#efe7d9,#faf7f0);color:#98845f}.cruise-memory .home-memory-route{color:#726344;font-size:15px;letter-spacing:0}
.home-memory-visual img{width:100%;height:100%;object-fit:cover;display:block}.home-memory-info{padding:19px;display:grid;gap:10px;width:100%;flex:1}.home-memory-kind{font-size:10px;color:var(--muted);letter-spacing:.5px;font-weight:500}.home-memory-info>strong{font-size:15px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}.home-memory-info>span:not(.home-memory-kind):not(.home-memory-detail){font-size:12px;color:var(--muted);line-height:1.5}.home-memory-detail{font-size:12px;color:var(--accent);margin-top:4px;font-weight:550}
@media(max-width:1100px){.travel-logbook .home-actions{position:static;justify-content:flex-start;margin:0 0 22px}.home-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-summary>button,.home-summary>div{padding:14px 10px;gap:7px}.home-summary strong{font-size:23px}}
@media(max-width:650px){.travel-logbook .home-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.travel-logbook .home-actions button{font-size:12px;padding:11px 8px}.home-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px}.home-summary>button,.home-summary>div{min-height:58px;padding:12px 8px}.home-summary>button:nth-child(2){border-right:0}.home-summary>button{border-bottom:1px solid var(--line)}.home-summary strong{font-size:23px}.home-summary-icon svg{width:20px;height:20px}.home-map-section .map-heading{padding:18px;flex-wrap:wrap}.home-map-section .map-heading h2{font-size:20px}.home-map-section .map-heading .hint{font-size:12px}.home-map-section .map-wrap{aspect-ratio:1.2;min-height:265px}.home-map-section .map-controls{margin-left:auto}.home-map-note{flex-wrap:wrap;gap:5px;font-size:11px}.home-memory-grid{gap:12px}.home-memory-visual{height:125px;flex-basis:125px}.home-memory-info{padding:14px;gap:8px}.home-memory-kind{font-size:9px}.home-memory-info>strong{font-size:14px}.home-memory-route{font-size:16px}.home-memory-visual>svg{width:35px;height:35px}.home-memories{margin-top:28px}.home-memory-detail{font-size:11px}}

/* Startkarte: Orte ohne Strecken, Hafenpunkte unterscheiden sich von Flughäfen. */
#homeMapSection .map-route{display:none}
#homeMapSection .home-port-marker{fill:#126ba0;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}
#homeMapSection .legend-port{width:6px;height:6px;border-radius:50%;background:#126ba0}


#homeMapSection .airport-label{display:none!important}
#homeMapSection #worldMap .country-shape{fill:#e6e8eb;fill-opacity:1;stroke:#b6bec7;stroke-opacity:.8;stroke-width:.65}
#homeMapSection #worldMap .country-shape.home-country-visited{fill:none;stroke:#66859a;stroke-opacity:.8;stroke-width:.8}
#homeMapSection .legend-visited-country{width:9px;height:9px;border-radius:2px;background:linear-gradient(135deg,#ede5c9,#b6c8ae);border:1px solid #66859a}
#homeMapSection .legend-unvisited-country{width:9px;height:9px;border-radius:2px;background:#e6e8eb;border:1px solid #b6bec7}
@media(max-width:650px){#homeMapSection .map-legend{flex-wrap:wrap}#homeMapSection .map-legend span{white-space:nowrap}}


/* Kleine Orts-Pins bleiben auch beim Zoomen gleich groß. */
#homeMapSection .home-map-pin{cursor:pointer;outline:none}
#homeMapSection .home-pin-hit{fill:transparent;pointer-events:all}
#homeMapSection .home-map-pin-shape{fill:#c64b53;stroke:white;stroke-width:.9;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #17364a50)}
#homeMapSection .home-port-pin .home-map-pin-shape{fill:#267fab}
#homeMapSection .home-pin-center{fill:white;pointer-events:none}
#homeMapSection .home-map-pin.is-active .home-map-pin-shape,#homeMapSection .home-map-pin:focus-visible .home-map-pin-shape{stroke:#17364a;stroke-width:1.5}
#homeMapSection .home-map-tooltip{position:absolute;z-index:4;max-width:min(260px,calc(100% - 16px));padding:10px 13px;background:#fffffffa;border:1px solid #cbd8e2;border-radius:9px;box-shadow:0 4px 18px #17364a24;pointer-events:none;color:#17364a;font-size:12px;line-height:1.4}
#homeMapSection .home-map-tooltip strong{display:block;font-size:13px;font-weight:650}
#homeMapSection .home-map-tooltip span{display:block;margin-top:3px;color:#617587;font-size:11px}
#homeMapSection .home-map-tooltip[hidden]{display:none}


/* Sechs einheitliche Reise-Kennzahlen. */
.travel-logbook .home-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
.travel-logbook .home-summary>button,.travel-logbook .home-summary>div{gap:8px;padding:16px 10px}
.travel-logbook .home-summary>div>span:last-child{font-size:11px;line-height:1.3}
.travel-logbook .home-summary-icon{display:flex;flex-shrink:0;align-items:center}
.travel-logbook .home-summary-icon svg{width:22px;height:22px;color:#5986a3}
@media(max-width:1100px){.travel-logbook .home-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.travel-logbook .home-summary>:nth-child(3n){border-right:0}.travel-logbook .home-summary>:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:650px){.travel-logbook .home-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-logbook .home-summary>button,.travel-logbook .home-summary>div{padding:12px 8px;min-height:60px;border-right:1px solid var(--line)}.travel-logbook .home-summary>:nth-child(2n){border-right:0}.travel-logbook .home-summary>:nth-child(-n+4){border-bottom:1px solid var(--line)}.travel-logbook .home-summary-icon svg{width:20px;height:20px}}


.cruise-sea-summary{display:grid;gap:6px;padding:14px 16px;margin:18px 0;background:#edf5fb;border:1px solid #d7e5ef;border-radius:10px;color:var(--ink)}
.cruise-sea-summary strong{font-size:18px;font-weight:650}.cruise-sea-summary span{font-size:12px;line-height:1.6;color:var(--muted)}
.cruise-itinerary-scroll .cruise-sea-day td{background:#edf5fb;color:#35647f}.cruise-itinerary-scroll .cruise-sea-day td:nth-child(2){font-weight:600}


/* Kreuzfahrtdetails: lesbare Größen und flexible Zeilen statt Überlauf. */
.travel-logbook #cruiseDetail{width:min(920px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);padding:24px;font-size:13px;line-height:1.5;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
#cruiseDetail>.row{align-items:flex-start;gap:14px}#cruiseDetail>.row h2{font-size:22px;line-height:1.3;overflow-wrap:anywhere;min-width:0;flex:1}#cruiseDetail>.row .close{flex-shrink:0;width:40px;height:40px;padding:0}
#cruiseDetail>p{margin:12px 0 16px;font-size:13px;overflow-wrap:anywhere}
#cruiseDetail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px;margin:20px 0}
#cruiseDetail dl>div{min-width:0}#cruiseDetail dt{font-size:11px;line-height:1.4;margin-bottom:5px;color:var(--muted)}#cruiseDetail dd{margin:0;font-size:13px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}
#cruiseDetail [data-cruise-field="ports"],#cruiseDetail [data-cruise-field="notes"]{grid-column:1/-1}
#cruiseDetail [data-cruise-field="ports"] dd{display:flex;flex-wrap:wrap;gap:6px;white-space:normal}.cruise-port-chip{display:inline-block;max-width:100%;background:#f2f6fa;border:1px solid #dce5ed;border-radius:6px;padding:4px 8px;overflow-wrap:anywhere;font-size:12px}
#cruiseDetail .cruise-sea-summary{margin:14px 0;padding:12px 14px}#cruiseDetail .cruise-sea-summary strong{font-size:17px}#cruiseDetail .cruise-sea-summary span{overflow-wrap:anywhere}
#cruiseDetail .cruise-source-details{margin-top:18px;padding-top:18px}#cruiseDetail .cruise-source-details img{max-height:240px}#cruiseDetail .cruise-source-details h3{font-size:16px;line-height:1.4}
#cruiseDetail .cruise-itinerary-scroll{width:100%;overflow-x:visible}#cruiseDetail .cruise-itinerary-scroll table{table-layout:fixed;font-size:12px;line-height:1.45}#cruiseDetail .cruise-itinerary-scroll th,#cruiseDetail .cruise-itinerary-scroll td{padding:9px 8px;overflow-wrap:anywhere;vertical-align:top}#cruiseDetail .cruise-itinerary-scroll th:first-child{width:26%}#cruiseDetail .cruise-itinerary-scroll th:nth-child(2){width:44%}#cruiseDetail .cruise-itinerary-scroll th:last-child{width:30%}
#cruiseDetail .actions{display:flex;flex-wrap:wrap;gap:10px}#cruiseDetail .actions button{font-size:13px;min-height:42px}
@media(max-width:650px){.travel-logbook #cruiseDetail{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 16px;border-radius:12px}#cruiseDetail>.row h2{font-size:20px}#cruiseDetail dl{grid-template-columns:1fr;gap:13px}#cruiseDetail .cruise-source-details img{max-height:180px}#cruiseDetail .cruise-itinerary-scroll td,#cruiseDetail .cruise-itinerary-scroll th{padding:8px 5px}#cruiseDetail .cruise-source-details figcaption{overflow-wrap:anywhere}}


/* Erfassung im gleichen Maßstab wie die Kreuzfahrtdetails. */
.travel-logbook #cruiseEditor{width:min(920px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:calc(100dvh - 40px);padding:24px;font-size:13px;line-height:1.5;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
#cruiseEditor>.row h2{font-size:22px;line-height:1.3;min-width:0;overflow-wrap:anywhere}#cruiseEditor>.row .close{flex-shrink:0}#cruiseEditor>p{font-size:13px;margin:12px 0}
#cruiseEditor .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}#cruiseEditor .formgrid>div{min-width:0}#cruiseEditor label{font-size:12px;display:block;margin-bottom:5px}#cruiseEditor input,#cruiseEditor select,#cruiseEditor textarea{font-size:14px;min-width:0;max-width:100%;padding:10px 11px}#cruiseEditor .hint{font-size:11px;line-height:1.5;margin:6px 0;overflow-wrap:anywhere}
#cruiseDaily{margin:24px 0}#cruiseDaily h3{font-size:17px;margin:0 0 8px}.cruise-day-row{display:grid;grid-template-columns:108px 115px minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;background:#f5f8fb;border:1px solid #dce5ed;border-radius:10px;padding:12px;margin-top:10px}.cruise-day-row>strong{font-size:12px;align-self:center}.cruise-day-row>div{min-width:0}.cruise-day-row button{font-size:12px;padding:10px 8px;min-height:42px}#cruiseEditor input:disabled{background:#edf1f4;color:#8b98a1}
#cruiseEditor .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#cruiseEditor .actions button{font-size:13px;min-height:44px}#cruiseReview{overflow-wrap:anywhere}#cruiseReview table{width:100%;table-layout:fixed;font-size:12px}#cruiseReview td{overflow-wrap:anywhere}
@media(max-width:750px){.cruise-day-row{grid-template-columns:1fr 1fr}.cruise-day-row>strong{grid-column:1/-1}.cruise-day-row>div:first-of-type{grid-column:1/-1}.cruise-day-row>button{grid-column:1/-1;justify-self:start}}
@media(max-width:650px){.travel-logbook #cruiseEditor{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 16px;border-radius:12px}#cruiseEditor>.row h2{font-size:20px}#cruiseEditor .formgrid{grid-template-columns:1fr}#cruiseEditor input,#cruiseEditor select,#cruiseEditor textarea{font-size:16px}#cruiseEditor .cruise-wizard{flex-wrap:wrap;gap:6px;padding-bottom:16px}#cruiseEditor .cruise-wizard span{font-size:11px}.cruise-day-row{padding:12px;gap:10px}.cruise-day-row>div{grid-column:1/-1}}


.city-page{display:grid;gap:22px}.city-page-summary{display:flex;gap:24px;flex-wrap:wrap;padding:14px 20px;border:1px solid var(--line);border-radius:12px;background:white;font-size:13px}.city-page-summary strong{font-size:24px;margin-right:6px}.city-search-controls{display:grid;grid-template-columns:2fr 1fr;gap:16px}.city-page label{display:block;font-size:12px;margin-bottom:6px}.city-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;max-height:320px;overflow:auto}.travel-logbook button.city-search-result{display:grid;gap:4px;background:#f4f8fb;border:1px solid var(--line);color:var(--ink);text-align:left;padding:12px;border-radius:9px;min-width:0}.city-search-result strong{font-size:14px;overflow-wrap:anywhere}.city-search-result span{font-size:11px;color:var(--muted)}.city-visit-row{display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0}.city-visit-row>div{min-width:0}.city-visit-row strong,.city-visit-row span{display:block;overflow-wrap:anywhere}.city-visit-row span{font-size:12px;color:var(--muted);margin-top:4px}.city-visit-row p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.city-visit-row button{font-size:12px;padding:9px 12px}.city-visit-row .actions{display:flex;flex-shrink:0;margin:0;gap:8px}.city-page .actions{display:flex;flex-wrap:wrap;gap:10px}.city-page #cityVisitForm[hidden]{display:none}.city-page #cityVisitForm{margin-top:16px}.city-page .hint{font-size:12px}
.day-place-matches{display:grid;gap:4px;margin-top:6px;max-height:220px;overflow:auto}.day-place-matches:empty{display:none}#cruiseEditor .day-place-matches button{display:grid;gap:3px;text-align:left;font-size:12px;background:white;color:var(--ink);border:1px solid var(--line);padding:8px;white-space:normal}.day-place-matches span{font-size:11px;color:var(--muted)}
@media(max-width:650px){.city-search-controls,.city-search-results{grid-template-columns:1fr}.city-visit-row{align-items:flex-start;flex-direction:column}.city-page input,.city-page select,.city-page textarea{font-size:16px}.city-page .card{padding:18px}}


#homeMapSection .home-city-pin .home-map-pin-shape{fill:#805ab4}
#homeMapSection .legend-city{width:6px;height:6px;border-radius:50%;background:#805ab4}
#homeMapSection .map-legend{flex-wrap:wrap}


.travel-logbook #homeStatsDialog{width:min(920px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-x:hidden;padding:24px}#homeStatsDialog h2{min-width:0;overflow-wrap:anywhere}#homeStatsDialog .close{flex-shrink:0}#homeStatsDialog label{display:block;font-size:12px;margin:20px 0 6px}#homeStatsDialog .hint{font-size:12px;margin:12px 0}.travel-logbook #homeStatsDialog .home-stat-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%;padding:14px 10px;background:white;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left}.home-stat-entry>span:first-child{min-width:0}.home-stat-entry strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere}.home-stat-entry small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:4px;overflow-wrap:anywhere}#homeStatsDialog button.home-stat-entry:hover{background:#f2f7fb}.travel-logbook .home-summary>button{cursor:pointer}.travel-logbook .home-summary>button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:650px){.travel-logbook #homeStatsDialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px 16px}#homeStatsDialog input{font-size:16px}#homeStatsDialog>.row h2{font-size:20px}}


/* Einheitliche, textbegleitende Symbole in der Hauptnavigation. */
.travel-logbook .travel-primary-nav button{display:inline-flex;align-items:center;gap:8px;justify-content:flex-start}
.travel-logbook .travel-primary-nav .menu-icon{display:block;width:19px;height:19px;flex:0 0 19px;pointer-events:none}
.travel-logbook .travel-primary-nav button>span{line-height:1.35}
@media(max-width:650px){.travel-logbook .travel-primary-nav .menu-icon{width:18px;height:18px;flex-basis:18px}.travel-logbook .travel-primary-nav button{gap:8px}}

/* Cruise cards and statistics, shared with the original cruise logbook. */
.travel-logbook .cruise-ship-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.travel-logbook .cruise-ship-card{border:1px solid var(--line);border-radius:22px;background:white;overflow:hidden;min-width:0;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
.travel-logbook .cruise-ship-card>img,.travel-logbook .cruise-photo-placeholder{display:block;width:100%;height:220px;object-fit:cover;background:#eaf0f5}
.travel-logbook .cruise-photo-placeholder{display:grid;place-items:center;font-size:64px;color:#204c70}
.travel-logbook .cruise-ship-content{padding:24px;display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.travel-logbook .cruise-ship-content>div,.travel-logbook .cruise-ship-content>section{min-width:0}
.travel-logbook .cruise-ship-content h2{font:600 28px Georgia,serif;margin:0 0 8px}
.travel-logbook .cruise-ship-content h3{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;border-top:1px solid var(--line);padding-top:22px;margin-top:24px}
.travel-logbook .cruise-ship-content dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin:12px 0;font-size:13px}
.travel-logbook .cruise-ship-content dt{color:var(--muted)}
.travel-logbook .cruise-ship-content dl{display:block;grid-template-columns:none}
.travel-logbook .cruise-stat-metric>span svg{width:23px;height:23px;display:block}
.travel-logbook .cruise-ship-content dd{margin:0;text-align:right;overflow-wrap:anywhere}
.travel-logbook .cruise-trip-link{display:block;width:100%;text-align:left;background:#f2f5f8;color:var(--ink);border:1px solid var(--line);padding:12px;border-radius:10px;margin:8px 0;white-space:normal;line-height:1.5;height:auto}
.travel-logbook .cruise-trip-link strong,.travel-logbook .cruise-trip-link span{display:block;font-size:13px}
.travel-logbook .cruise-trip-link span{font-size:11px;color:var(--muted)}
.travel-logbook .cruise-stat-hero{display:grid;grid-template-columns:2fr 1fr;border-radius:22px;overflow:hidden;background:#153b60;color:white;margin-bottom:24px}
.travel-logbook .cruise-stat-hero>div{padding:32px}.travel-logbook .cruise-stat-hero h2{font:600 clamp(26px,3vw,40px) Georgia,serif;color:white;line-height:1.15;margin:16px 0}
.travel-logbook .cruise-stat-hero p{color:inherit}.travel-logbook .cruise-stat-hero aside{display:block;background:#f3e4cd;color:#183652;padding:32px;min-width:0;width:auto;position:static}
.travel-logbook .cruise-stat-hero aside h3{font:600 28px Georgia,serif;margin:18px 0}.travel-logbook .cruise-stat-hero small{font-size:10px;letter-spacing:1.5px}
.travel-logbook .cruise-stat-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:24px}
.travel-logbook .cruise-stat-metric{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;min-width:0}
.travel-logbook .cruise-stat-metric>span{color:#2c678c;font-size:22px}.travel-logbook .cruise-stat-metric strong{font-size:25px;font-weight:650;line-height:1.2}.travel-logbook .cruise-stat-metric small{color:var(--muted);font-size:12px;line-height:1.4}
.travel-logbook .cruise-stat-averages,.travel-logbook .cruise-discoveries{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.travel-logbook .cruise-stat-averages .card,.travel-logbook .cruise-discoveries .card{display:flex;flex-direction:column;gap:12px;min-width:0;margin:0;padding:22px}
.travel-logbook .cruise-stat-averages strong{font-size:25px}.travel-logbook .cruise-discoveries strong{font-size:18px;overflow-wrap:anywhere}.travel-logbook .cruise-discoveries small,.travel-logbook .cruise-stat-averages small,.travel-logbook .cruise-highlight-grid small{color:var(--muted)}.travel-logbook .cruise-discoveries span,.travel-logbook .cruise-stat-averages span{font-size:12px}
.travel-logbook .cruise-stat-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.travel-logbook .cruise-stat-panel{margin-bottom:24px;min-width:0}
.travel-logbook .cruise-chart-row{display:grid;grid-template-columns:minmax(65px,140px) 1fr 45px;align-items:center;gap:12px;font-size:13px;margin:16px 0}.travel-logbook .cruise-chart-row>div{height:10px;background:#edf1f5;border-radius:8px;overflow:hidden}.travel-logbook .cruise-chart-row i{display:block;height:100%;background:#3779a8;border-radius:8px}.travel-logbook .cruise-chart-row b{text-align:right}
.travel-logbook .cruise-sea-ring{margin:24px auto;border-radius:50%;width:160px;height:160px;background:conic-gradient(#3779a8 var(--sea-share),#eadac3 0);display:grid;place-items:center}.travel-logbook .cruise-sea-ring strong{display:grid;place-content:center;text-align:center;width:124px;height:124px;border-radius:50%;background:white;font-size:27px}.travel-logbook .cruise-sea-ring small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:6px}
.travel-logbook .cruise-table-scroll{overflow-x:auto}.travel-logbook .cruise-table-scroll table{border-collapse:collapse;width:100%;font-size:12px}.travel-logbook .cruise-table-scroll th,.travel-logbook .cruise-table-scroll td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.travel-logbook .cruise-table-scroll th{color:var(--muted)}.travel-logbook .cruise-table-scroll td:first-child{min-width:220px;max-width:320px;white-space:normal}
.travel-logbook .cruise-highlight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.travel-logbook .cruise-highlight-grid>div>strong{display:block;font-size:24px;margin:12px 0}
.travel-logbook .cruise-explorer-controls{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;margin-bottom:22px}.travel-logbook .cruise-explorer-controls label{font-size:12px;color:var(--muted)}.travel-logbook .cruise-explorer-controls input,.travel-logbook .cruise-explorer-controls select{display:block;width:100%;margin-top:7px}
.travel-logbook .cruise-explorer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.travel-logbook .cruise-explorer-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}.travel-logbook .cruise-explorer-card>img{width:100%;height:160px;object-fit:cover;display:block}.travel-logbook .cruise-explorer-card>div{padding:16px}.travel-logbook .cruise-explorer-card p{font-size:12px;margin:8px 0}
.travel-logbook .home-country-progress{display:flex;align-items:center;gap:24px;width:100%;padding:18px 22px;margin:0 0 24px;background:white;border:1px solid var(--line);color:var(--ink);border-radius:14px;height:auto;white-space:normal;text-align:left}.travel-logbook .home-country-progress strong{color:#245c85;font-size:23px;margin-right:8px}.travel-logbook .home-country-progress progress{flex:1;min-width:40px;height:9px;accent-color:#3779a8}.travel-logbook .home-country-progress small{color:var(--muted)}
@media(max-width:1050px){.travel-logbook .cruise-ship-grid,.travel-logbook .cruise-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-logbook .cruise-stat-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.travel-logbook .cruise-stat-averages,.travel-logbook .cruise-discoveries{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.travel-logbook .cruise-ship-grid,.travel-logbook .cruise-explorer-grid,.travel-logbook .cruise-stat-columns,.travel-logbook .cruise-highlight-grid,.travel-logbook .cruise-explorer-controls{grid-template-columns:1fr}.travel-logbook .cruise-stat-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.travel-logbook .cruise-stat-hero{grid-template-columns:1fr}.travel-logbook .cruise-stat-hero>div,.travel-logbook .cruise-stat-hero aside{padding:24px}.travel-logbook .cruise-stat-averages .card,.travel-logbook .cruise-discoveries .card{padding:16px}.travel-logbook .cruise-stat-averages strong{font-size:21px}.travel-logbook .home-country-progress{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px}.travel-logbook .home-country-progress>span{grid-column:1/-1}.travel-logbook .home-country-progress progress{width:100%}.travel-logbook .cruise-chart-row{grid-template-columns:95px 1fr 35px}}
/* Tour list follows the original "Meine Reisen" cards. */
.travel-logbook #cruiseResults{padding:0;background:transparent;border:0;box-shadow:none}
.travel-logbook #cruiseResults>h2{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:22px}
.travel-logbook .cruise-tour-year{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:15px;margin:28px 0 14px}
.travel-logbook .cruise-tour-year::after{content:'';height:1px;background:var(--line);flex:1}
.travel-logbook .cruise-tour-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;width:100%;height:auto;margin:0 0 12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);text-align:left;white-space:normal;line-height:1.5;box-shadow:0 2px 6px #18365204}
.travel-logbook .cruise-tour-card:hover{background:#f8fbfd;border-color:#acc8da;filter:none}
.travel-logbook .cruise-tour-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.travel-logbook .cruise-tour-photo{display:block;position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#eaf0f5;align-self:center;min-height:0}
.travel-logbook .cruise-tour-photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;max-height:none}
.travel-logbook .cruise-tour-photo>.cruise-photo-placeholder{position:absolute;inset:0;height:100%;min-height:0;font-size:44px}
.travel-logbook .cruise-tour-body{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:8px;min-width:0;padding:6px 8px 6px 0}
.travel-logbook .cruise-tour-top{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:32px;margin-bottom:6px}
.travel-logbook .cruise-tour-ship{font-size:14px;color:var(--muted);font-weight:600;overflow-wrap:anywhere}
.travel-logbook .cruise-tour-logo{display:block;width:100px;height:32px;flex:0 0 100px;background:transparent;mix-blend-mode:multiply}
.travel-logbook .cruise-tour-line{color:var(--muted);font-size:12px;text-align:right}
.travel-logbook .cruise-tour-title{font-size:17px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.travel-logbook .cruise-tour-dates,.travel-logbook .cruise-tour-facts{font-size:13px;color:var(--muted);font-weight:400}
@media(max-width:650px){.travel-logbook .cruise-tour-card{grid-template-columns:1fr;gap:12px;padding:10px}.travel-logbook .cruise-tour-body{padding:2px 0;gap:7px}.travel-logbook .cruise-tour-top{flex-wrap:wrap;gap:5px;margin-bottom:2px}.travel-logbook .cruise-tour-ship{font-size:12px}.travel-logbook .cruise-tour-logo{width:80px;height:24px;flex-basis:80px}.travel-logbook .cruise-tour-title{font-size:14px}.travel-logbook .cruise-tour-dates,.travel-logbook .cruise-tour-facts{font-size:11px}}
/* Editing independent ship cards. */
.travel-logbook .ship-card-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.ship-card-toolbar p{margin:0}
.travel-logbook .ship-card-name-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.travel-logbook button.ship-card-edit,.travel-logbook button[data-ship-add]{background:transparent;border-color:transparent;color:var(--accent);box-shadow:none}
.travel-logbook button.ship-card-edit:hover,.travel-logbook button[data-ship-add]:hover{background:transparent;border-color:transparent;color:var(--ink);filter:none;box-shadow:none}
.travel-logbook button.ship-card-edit:focus-visible,.travel-logbook button[data-ship-add]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.travel-logbook button.ship-card-edit{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:10px;flex:0 0 40px}
.travel-logbook .ship-card-edit svg{display:block;width:20px;height:20px;pointer-events:none}
.travel-logbook #shipCardEditor{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px}
.travel-logbook #shipCardEditor label{display:block;font-size:12px;font-weight:600;margin:14px 0 6px}.travel-logbook #shipCardEditor input{width:100%}
.travel-logbook .ship-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.travel-logbook .ship-card-image-preview{width:100%;aspect-ratio:16/9;background:#eaf0f5;border-radius:12px;display:grid;place-items:center;overflow:hidden}.travel-logbook .ship-card-image-preview img{width:100%;height:100%;object-fit:contain}.travel-logbook .ship-card-image-preview span{color:var(--muted);font-size:13px}
.travel-logbook .ship-card-error{color:#a32929;font-size:13px}.travel-logbook #shipCardEditor h3{margin:24px 0 0;font-size:17px}
@media(max-width:650px){.travel-logbook .ship-card-toolbar{align-items:flex-start;flex-direction:column}.travel-logbook #shipCardEditor{padding:18px;width:calc(100vw - 20px)}.travel-logbook .ship-card-fields{grid-template-columns:1fr}.travel-logbook #shipCardEditor input{font-size:16px}}
/* Consistent outline icons in both travel submenus. */
.travel-logbook .travel-subnav button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.travel-logbook .travel-subnav .menu-icon{display:block;width:18px;height:18px;flex:0 0 18px;pointer-events:none}
.travel-logbook .travel-subnav button>span{line-height:1.35}
.travel-logbook .ship-card-extra-section{border-top:1px solid var(--line);margin-top:24px}
.travel-logbook .ship-card-extra-row{display:grid;grid-template-columns:1fr 1fr 38px;gap:12px;align-items:end;margin-bottom:14px}
.travel-logbook .ship-card-extra-row button{width:38px;height:42px;padding:8px;margin-bottom:1px}
@media(max-width:650px){.travel-logbook .ship-card-extra-row{grid-template-columns:minmax(0,1fr) 38px;gap:0 12px}.travel-logbook .ship-card-extra-row>div:first-child{grid-column:1/-1}.travel-logbook .ship-card-extra-row>div:nth-child(2){grid-column:1}}
.travel-logbook .home-overview-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;margin-bottom:24px}
.travel-logbook .home-overview-card .home-summary{border:0;border-radius:0;background:transparent;margin:0}
.travel-logbook .home-overview-card .home-summary>button:last-child{border-right:0}
.travel-logbook .home-overview-card .home-country-progress{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.travel-logbook .home-overview-card .home-country-progress:hover{background:#f3f7fb}
@media(max-width:650px){.travel-logbook .home-overview-card .home-summary>button:nth-last-child(-n+2){border-bottom:0}}

/* Complete images in the cruise statistics explorer. */
.travel-logbook .cruise-explorer-card>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#eaf0f5;display:block}
.travel-logbook .cruise-explorer-card>.cruise-photo-placeholder{height:auto;aspect-ratio:16/9;font-size:44px}

/* Consistent spacing and alignment in both ship forms. */
.travel-logbook #shipCardEditor>.row{align-items:center;gap:16px;margin-bottom:24px}
.travel-logbook #shipCardEditor>.row h2{margin:0;min-width:0}
.travel-logbook #shipCardForm{display:grid;gap:24px}
.travel-logbook #shipCardForm label{margin:0 0 6px}
.travel-logbook #shipCardForm input{min-width:0;min-height:44px;margin:0}
.travel-logbook #shipCardForm h3{margin:0 0 16px;font-size:17px;line-height:1.4}
.travel-logbook #shipCardForm .ship-card-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.travel-logbook #shipCardForm .ship-card-fields>div{min-width:0}
.travel-logbook #shipCardForm .ship-card-image-preview{margin:0 0 12px}
.travel-logbook #shipCardForm .ship-card-image-section>.hint{margin:8px 0 12px;font-size:12px;line-height:1.5}
.travel-logbook #shipCardForm .ship-card-extra-section{margin:0;padding-top:24px}
.travel-logbook #shipCardForm .ship-card-extra-section>h3{margin-bottom:8px}
.travel-logbook #shipCardForm .ship-card-extra-section>.hint{margin:0 0 16px;font-size:12px;line-height:1.5}
.travel-logbook #shipCardForm .ship-card-extra-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:12px;margin:0 0 16px}
.travel-logbook #shipCardForm .ship-card-extra-row>button{width:40px;height:44px;margin:0;align-self:end}
.travel-logbook #shipCardForm .ship-card-error{margin:0;line-height:1.5}
.travel-logbook #shipCardForm .ship-card-error:empty{display:none}
.travel-logbook #shipCardForm .actions{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding-top:20px;border-top:1px solid var(--line)}
.travel-logbook #shipCardForm .actions>button{min-height:44px;margin:0}
@media(max-width:650px){.travel-logbook #shipCardForm .ship-card-fields{grid-template-columns:1fr}.travel-logbook #shipCardForm .ship-card-extra-row{grid-template-columns:minmax(0,1fr) 40px;gap:12px}.travel-logbook #shipCardForm .ship-card-extra-row>div:first-child{grid-column:1/-1}.travel-logbook #shipCardEditor>.row{gap:10px}.travel-logbook #shipCardEditor>.row h2{font-size:20px}}
.travel-logbook .cruise-detail-route-map{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:20px 0;background:#fff}
.travel-logbook .cruise-route-map-heading{padding:18px 18px 0;min-height:64px}
.travel-logbook .cruise-route-map-heading h3{font-size:17px;margin:0;padding-right:145px}
.travel-logbook .cruise-route-map-controls{position:absolute;right:12px;top:12px;display:flex;gap:6px}
.travel-logbook .cruise-route-map-controls button{height:36px;min-height:36px;padding:6px 10px;font-size:12px}
.travel-logbook .cruise-detail-route-map>svg{width:100%;aspect-ratio:16/9;display:block;background:#cce2ef;border-top:1px solid var(--line)}
.travel-logbook .cruise-route-land path{fill:#eef1e7;stroke:#a3b6bd;stroke-width:.7;vector-effect:non-scaling-stroke}
.travel-logbook .cruise-route-map-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:14px 16px;font-size:12px;color:var(--ink)}
.travel-logbook .cruise-route-map-legend b{color:#245d86;margin-right:4px}
.travel-logbook .cruise-detail-route-map>.hint{font-size:11px;margin:0;padding:0 16px 16px;line-height:1.5}
@media(max-width:650px){.travel-logbook .cruise-route-map-heading{padding:16px;min-height:0}.travel-logbook .cruise-route-map-heading h3{padding:0}.travel-logbook .cruise-route-map-controls{position:static;padding:0 16px 12px}.travel-logbook .cruise-detail-route-map>svg{aspect-ratio:4/3}.travel-logbook .cruise-route-map-legend{font-size:11px;gap:8px 12px}}
.travel-logbook .cruise-route-loading{min-height:260px;display:grid;place-content:center;background:#cce2ef;text-align:center}
.travel-logbook .cruise-route-lines>path{stroke-linecap:round;stroke-linejoin:round}
.travel-logbook .cruise-port-map-filters{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0 4px;margin-bottom:16px;border-top:1px solid var(--line)}
.travel-logbook .cruise-port-map-filters>div{display:flex;flex-wrap:wrap;gap:8px}.travel-logbook .cruise-port-map-filters button{border:1px solid var(--line);background:white;color:var(--muted);font-size:12px;border-radius:20px;padding:9px 14px}
.travel-logbook .cruise-port-map-filters button.active{background:#edf5fb;border-color:#9fbed2;color:#245d85}.travel-logbook .cruise-port-map-filters p{font-size:12px;color:var(--muted);margin:0;text-align:right}
.travel-logbook .cruise-port-map-pin{cursor:pointer;outline:none}.travel-logbook .cruise-port-map-pin>path{fill:#267fab;stroke:#155779;stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #193f5c45)}
.travel-logbook .cruise-port-pin-hit{fill:transparent;stroke:none}.travel-logbook .cruise-port-pin-center{fill:white;pointer-events:none}.travel-logbook .cruise-port-map-pin:focus-visible>path,.travel-logbook .cruise-port-map-pin:hover>path{fill:#154e73;stroke:#153e63;stroke-width:1.5}
.travel-logbook .legend-cruise-port{width:8px;height:8px;border-radius:50%;background:#267fab}.travel-logbook .cruise-port-map-hint{font-size:12px;line-height:1.5;margin:16px 0 0}
.travel-logbook .cruise-port-map-popup{position:absolute;left:16px;bottom:54px;width:min(340px,calc(100% - 32px));max-height:280px;overflow:auto;z-index:5;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #173d5a26;padding:16px;color:var(--ink)}
.travel-logbook .cruise-port-map-popup[hidden]{display:none}.travel-logbook .cruise-port-map-popup>.row{gap:12px}.travel-logbook .cruise-port-map-popup>.row>strong{font-size:16px}.travel-logbook .cruise-port-map-popup p{font-size:12px;margin:8px 0 12px}.travel-logbook .cruise-port-map-popup>div:last-child{display:grid;gap:6px}
.travel-logbook .cruise-port-map-popup [data-cruise-id]{display:block;width:100%;text-align:left;white-space:normal;background:#f1f6fa;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;height:auto}.travel-logbook .cruise-port-map-popup [data-cruise-id] strong,.travel-logbook .cruise-port-map-popup [data-cruise-id] span{display:block;font-size:12px;line-height:1.5}.travel-logbook .cruise-port-map-popup [data-cruise-id] span{font-size:11px;color:var(--muted)}
@media(max-width:650px){.travel-logbook .cruise-port-map-filters{align-items:flex-start;flex-direction:column;gap:10px;padding-top:14px}.travel-logbook .cruise-port-map-filters p{text-align:left}.travel-logbook .cruise-ports-atlas .map-wrap{margin-left:0;margin-right:0}.travel-logbook .cruise-port-map-popup{left:10px;bottom:56px;width:calc(100% - 20px);max-height:230px;padding:12px}}
.travel-logbook .cruise-port-map-pin>.cruise-port-anchor-halo{display:none}
.travel-logbook .cruise-port-map-pin>.cruise-port-anchor,.travel-logbook .cruise-port-map-pin>.cruise-port-anchor-ring{fill:none;stroke:#135f8a;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:none}
.travel-logbook .cruise-port-map-pin:hover>.cruise-port-anchor,.travel-logbook .cruise-port-map-pin:focus-visible>.cruise-port-anchor,.travel-logbook .cruise-port-map-pin:hover>.cruise-port-anchor-ring,.travel-logbook .cruise-port-map-pin:focus-visible>.cruise-port-anchor-ring{fill:none;stroke:#153e63;stroke-width:2.5}

/* Light maritime styling follows the original Cruise Logbook. */
body.travel-logbook{--ink:#304f60;--muted:#587789;--accent:#2e6f91;--bg:#f0f9fc;--line:#dbe7ee;--surface:#fff;--soft:#edf5fb;--sand:#eadfcd;--ui-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--heading-font:Georgia,"Palatino Linotype",Palatino,serif;background:linear-gradient(145deg,#f0f9fc 0%,#fafcfd 45%,#fcf9f3 100%) fixed}
body.travel-logbook aside{background:linear-gradient(110deg,#fff 0%,#f5fbfd 65%,#edf8fc 100%);border-bottom:1px solid #dbe7ee;box-shadow:0 3px 14px #304f6005}
.travel-logbook .travel-primary-nav button{color:#587789;border-radius:10px;font-weight:550;font-size:14px}
.travel-logbook .travel-primary-nav button:hover{background:#edf5fb;color:#287899}
.travel-logbook .travel-primary-nav button.active{background:#fff;border-color:#dfedf3;color:#287899;box-shadow:0 2px 8px #304f6006}
.travel-logbook .travel-primary-nav button:focus-visible{outline-color:var(--accent)}
.travel-logbook h1,.travel-logbook h3{font-family:var(--ui-font);font-weight:650;letter-spacing:-.5px;color:#315e73}
.travel-logbook h1{font-size:34px;line-height:1.2}
.travel-logbook h2{font-family:var(--heading-font);color:#28576d;font-weight:500;letter-spacing:0;font-size:21px;line-height:1.3}
.travel-logbook h3{font-size:17px;line-height:1.35}
.travel-logbook .map-eyebrow,.travel-logbook .home-memory-kind{color:#765b35;letter-spacing:1.6px;font-weight:650}
.travel-logbook .travel-subnav{border-bottom-color:#c8d2d9}
.travel-logbook .travel-subnav button:hover{background:#e4ebef}
.travel-logbook .travel-subnav button.active{background:#fff;color:#287899;border-color:#dbe7ee;box-shadow:0 2px 8px #304f6006}
.travel-logbook .card,.travel-logbook .metrics>.metric,.travel-logbook .home-overview-card,.travel-logbook .cruise-stat-metric,.travel-logbook .cruise-tour-card,.travel-logbook .cruise-ship-card,.travel-logbook .cruise-explorer-card,.travel-logbook .home-memory-card{background:var(--surface);border-color:var(--line);box-shadow:0 4px 18px #203b5206}
.travel-logbook .home-map-section .map-card{background:var(--surface)}
.travel-logbook .home-overview-card{border-top:1px solid var(--line)}
.travel-logbook .home-summary strong,.travel-logbook .metrics strong,.travel-logbook .cruise-stat-metric strong{color:#203f58;font-variant-numeric:tabular-nums}
.travel-logbook .home-summary-icon svg,.travel-logbook .cruise-stat-metric>span{color:#3d6a88}
.travel-logbook .home-summary>button:hover,.travel-logbook .home-overview-card .home-country-progress:hover{background:#edf1f2}
.travel-logbook .home-country-progress strong{color:var(--accent)}
.travel-logbook button.secondary,.travel-logbook .button.secondary,.travel-logbook button.close{background:#edf2f5;border-color:#cddbe4;color:#23577a}
.travel-logbook button.secondary:hover,.travel-logbook .button.secondary:hover{background:#e0e9ef}
.travel-logbook #add,.travel-logbook .actions>button:not(.secondary):not(.danger){background:#23577a;border-color:#23577a}
.travel-logbook #add:hover,.travel-logbook .actions>button:not(.secondary):not(.danger):hover{background:#193f5b}
.travel-logbook input,.travel-logbook select,.travel-logbook textarea{border-color:#c7dbe6;background:#fff}
.travel-logbook dialog{background:#fff;border-color:#c7dbe6;box-shadow:0 24px 80px #102a4440}
.travel-logbook dialog::backdrop{background:#132b4266}
.travel-logbook .cruise-tour-year{color:#765b35}
.travel-logbook .cruise-tour-year::after{background:#d9ccb7}
.travel-logbook .cruise-route-land path{fill:#f0ede5;stroke:#9faeb8}
.travel-logbook .cruise-port-map-filters button.active{background:#edf7fb;color:#285b76;border-color:#a9cbdc}
.travel-logbook footer{color:#647282}
.travel-logbook header>div{min-width:0}.travel-logbook header h1{overflow-wrap:anywhere}

/* Ship cards match the reference, with a more distinct blue trip section. */
.travel-logbook .cruise-ship-grid{align-items:stretch}
.travel-logbook .cruise-ship-card{display:flex;flex-direction:column;grid-row:auto;border-radius:20px;box-shadow:0 6px 22px #304f6006}
.travel-logbook .cruise-ship-card>img,.travel-logbook .cruise-ship-card>.cruise-photo-placeholder{height:auto;aspect-ratio:16/9;object-fit:contain;background:#eaf1f5}
.travel-logbook .cruise-ship-content{display:flex;flex-direction:column;flex:1;grid-row:auto;padding:0}
.travel-logbook .cruise-ship-heading,.travel-logbook .cruise-ship-specs{flex-shrink:0}
.travel-logbook .cruise-ship-heading{padding:20px 22px 0}
.travel-logbook .cruise-ship-heading h2{font:500 28px/1.25 Georgia,"Palatino Linotype",Palatino,serif;color:#28576d;margin:0}
.travel-logbook .cruise-ship-heading p{font-size:12px;color:#648398;margin:8px 0 0}
.travel-logbook .cruise-ship-specs{display:flow-root;padding:0 22px 20px}
.travel-logbook .cruise-ship-specs h3{font:500 11px/1.5 var(--ui-font);letter-spacing:1.1px;border-top:1px solid #dfebf1;padding-top:16px;margin:16px 0 14px;color:#527a96}
.travel-logbook .cruise-ship-specs dl{margin:0}
.travel-logbook .cruise-ship-specs dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);gap:14px;font-size:12px;line-height:1.6;margin:12px 0}
.travel-logbook .cruise-ship-specs dt{color:#648398}
.travel-logbook .cruise-ship-specs dd{color:#28576d}
.travel-logbook .cruise-ship-trips{flex:1;background:#f7fafc;border-top:1px solid #e3edf2;padding:20px 22px 20px;min-height:0}
.travel-logbook .cruise-ship-trips h3{font:550 11px/1.5 var(--ui-font);letter-spacing:1.1px;text-transform:uppercase;color:#426e8c;border:0;padding:0;margin:0 0 16px}
.travel-logbook .cruise-ship-trips .cruise-trip-link{background:transparent;border:0;border-bottom:1px solid #e3edf2;border-radius:0;padding:6px 0 14px;margin:0 0 12px;min-height:44px;color:#28576d}
.travel-logbook .cruise-ship-trips .cruise-trip-link:last-child{border-bottom:0;margin-bottom:0;padding-bottom:6px}
.travel-logbook .cruise-ship-trips .cruise-trip-link strong{font-size:13px;line-height:1.55;font-weight:500}
.travel-logbook .cruise-ship-trips .cruise-trip-link span{font-size:12px;line-height:1.55;color:#56778e;margin-top:4px;font-variant-numeric:tabular-nums}
.travel-logbook .cruise-ship-trips .cruise-trip-link:hover{background:#d9eaf5}
.travel-logbook .cruise-ship-trips .hint{color:#56778e}
@media(max-width:650px){.travel-logbook .cruise-ship-heading{padding:18px 20px 0}.travel-logbook .cruise-ship-specs{padding:0 20px 18px}.travel-logbook .cruise-ship-trips{padding:18px 20px 24px}.travel-logbook .cruise-ship-heading h2{font-size:26px}}

/* Cruise overview shares the flight overview's charts and travel memories. */
.travel-logbook .cruise-dashboard .cruise-stat-metrics{gap:12px;margin-bottom:24px}
.travel-logbook .cruise-dashboard .cruise-stat-metric{position:relative;align-items:flex-start;text-align:left;padding:20px 16px;border-top:3px solid #bdd9e4;min-height:92px}
.travel-logbook .cruise-dashboard .cruise-stat-metric>span{position:absolute;top:14px;right:14px;width:17px;height:17px;color:#7294a5}
.travel-logbook .cruise-dashboard .cruise-stat-metric>span svg{width:17px;height:17px}
.travel-logbook .cruise-dashboard .cruise-stat-metric strong{color:#287899;padding-right:18px}
.travel-logbook .cruise-dashboard .cruise-stat-metric small{font-size:11px;color:#648398}
.travel-logbook .cruise-dashboard-charts{margin:0 0 32px;gap:24px}
.travel-logbook .cruise-dashboard-charts>.card{min-width:0}
.travel-logbook .cruise-dashboard-charts h2{font:500 22px/1.3 var(--heading-font);color:#28576d}
.travel-logbook .cruise-dashboard-charts .year-bar{background:linear-gradient(#80b5ce,#377b9d)}
.travel-logbook .cruise-dashboard-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px}
.travel-logbook .cruise-dashboard-lines>div{display:flex;flex-direction:column;align-items:center;gap:12px;padding:18px 8px;background:#f3f8fb;border:1px solid #e3edf2;border-radius:12px;min-width:0;text-align:center}
.travel-logbook .cruise-dashboard-lines .cruise-tour-logo{width:84px;height:46px;max-width:100%;flex:none}
.travel-logbook .cruise-dashboard-lines>div>strong{font-size:12px;line-height:1.4;min-height:34px;display:flex;align-items:center}
.travel-logbook .cruise-dashboard-lines b{font-size:26px;color:#287899;line-height:1.2}
.travel-logbook .cruise-dashboard-lines small{font-size:11px;color:#648398}
.travel-logbook .cruise-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.travel-logbook .cruise-dashboard-heading h2{font-size:24px;margin:0 0 6px}
.travel-logbook .cruise-dashboard-heading p{font-size:13px;margin:0}
.travel-logbook .cruise-dashboard-heading button{padding:10px 16px;min-height:44px;font-size:13px}
.travel-logbook .cruise-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.travel-logbook .cruise-dashboard-trip{display:flex;flex-direction:column;min-width:0;width:100%;border:1px solid #dbe7ee;background:#fff;border-radius:16px;overflow:hidden;padding:0;text-align:left;color:#28576d;white-space:normal}
.travel-logbook .cruise-dashboard-trip:hover{border-color:#a9cbdc;background:#fcfeff;box-shadow:0 5px 20px #315e730a}
.travel-logbook .cruise-dashboard-photo{display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:#eaf2f7;width:100%}
.travel-logbook .cruise-dashboard-photo img{width:100%;height:100%;object-fit:contain;display:block}
.travel-logbook .cruise-dashboard-photo .cruise-photo-placeholder{height:auto;font-size:42px;text-align:center;background:transparent}
.travel-logbook .cruise-dashboard-copy{display:flex;flex-direction:column;gap:12px;flex:1;padding:20px;width:100%;min-width:0}
.travel-logbook .cruise-dashboard-ship{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#648398;font-size:12px;min-height:30px}
.travel-logbook .cruise-dashboard-ship .cruise-tour-logo{width:70px;height:28px;flex-basis:70px}
.travel-logbook .cruise-dashboard-copy>strong{font:500 21px/1.3 var(--heading-font);overflow-wrap:anywhere}
.travel-logbook .cruise-dashboard-dates{font-size:12px;line-height:1.6;color:#52758b;font-variant-numeric:tabular-nums}
.travel-logbook .cruise-dashboard-dates time{white-space:nowrap}
.travel-logbook .cruise-dashboard-facts{font-size:12px;line-height:1.6;color:#648398}
.travel-logbook .cruise-dashboard-open{margin-top:auto;padding-top:12px;border-top:1px solid #e3edf2;font-size:13px;color:#2e6f91}
.travel-logbook .cruise-dashboard-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px;font-size:12px;color:#648398}
.travel-logbook .cruise-dashboard-footer>div{display:flex;gap:16px;flex-wrap:wrap}
.travel-logbook .cruise-dashboard-footer button{min-height:40px;padding:8px 0}
@media(max-width:1050px){.travel-logbook .cruise-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.travel-logbook .cruise-dashboard-grid{grid-template-columns:1fr;gap:16px}.travel-logbook .cruise-dashboard-heading{align-items:flex-start;flex-direction:column}.travel-logbook .cruise-dashboard-copy{padding:18px}.travel-logbook .cruise-dashboard-lines{gap:8px}.travel-logbook .cruise-dashboard-lines>div{padding:14px 6px}.travel-logbook .cruise-dashboard-lines>div>strong{font-size:11px}.travel-logbook .cruise-dashboard .cruise-stat-metric{padding:18px 12px}.travel-logbook .cruise-dashboard-charts .year-chart{overflow-x:auto}.travel-logbook .cruise-dashboard-charts .year-column{min-width:25px}}
@media(max-width:650px){.travel-logbook h1{font-size:28px}.travel-logbook h2{font-size:20px}.travel-logbook h3{font-size:17px}}
