:root{--bg:#121212;--surface:#1b1b1d;--surface2:#242426;--surface3:#2d2d30;--line:#38383d;--shadow:0 12px 30px rgba(0,0,0,.32);--radius:24px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--rh-font-family)}
button,input{font:inherit}
.app{max-width:var(--rh-page-width);margin:auto;min-height:100vh;padding:var(--rh-space-5) var(--rh-space-4) var(--rh-scroll-reserve-100)}
.screen{max-width:var(--rh-page-width);margin:auto;min-height:100vh;padding:var(--rh-space-5) var(--rh-space-4) var(--rh-scroll-reserve-100)}
.top{display:flex;align-items:center;justify-content:space-between;margin:var(--rh-space-2) var(--rh-space-1) var(--rh-space-5)}
h1{margin:0;font-size:var(--rh-text-section);letter-spacing:-.04em}
h2{font-size:var(--rh-text-subsection);margin:0 0 var(--rh-space-3)}
.sub{color:var(--muted);font-size:var(--rh-text-md)}
.trip-card{background:linear-gradient(145deg,#232326,#1a1a1c);border:1px solid var(--line);border-radius:var(--rh-radius-dialog);padding:var(--rh-space-5);box-shadow:var(--shadow);margin-bottom:var(--rh-space-3);cursor:pointer}
.trip-header{display:flex;align-items:flex-start;gap:var(--rh-space-3)}
.trip-icon{width:54px;height:54px;border-radius:var(--rh-radius-card);background:var(--accentSoft);display:grid;place-items:center}
.trip-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:var(--accent);}
.trip-title{font-size:var(--rh-text-subsection);font-weight:var(--rh-font-bold);line-height:1.15}
.trip-info{margin-top:var(--rh-space-1);color:var(--muted);font-size:var(--rh-text-md)}
.date-pill{display:inline-flex;align-items:center;gap:var(--rh-space-2);margin-top:var(--rh-space-4);padding:var(--rh-space-2) var(--rh-space-3);border-radius:var(--rh-radius-dialog);background:#2a2a2d;color:var(--text);font-size:var(--rh-text-xs)}
.add{width:100%;margin-top:var(--rh-space-2);border:1.5px dashed #55515f;background:transparent;color:var(--accent);border-radius:var(--rh-radius-card);padding:var(--rh-space-4);font-weight:var(--rh-font-bold);cursor:pointer}
.back{border:0;background:transparent;color:var(--text);font-size:var(--rh-text-section);padding:0 var(--rh-space-2) 0 0;cursor:pointer}
.trip-edit-button{border:0;background:transparent;color:var(--muted);padding:var(--rh-space-1);cursor:pointer;display:grid;place-items:center}
.trip-edit-button svg{width:var(--rh-icon-small);height:var(--rh-icon-small);fill:none;stroke:currentColor;stroke-width:var(--rh-icon-stroke);stroke-linecap:round;stroke-linejoin:round;}
.trip-icon-choice{flex-wrap:wrap;margin-top:var(--rh-space-1)}
.trip-icon-choice button{width:var(--rh-icon-column);font-size:var(--rh-text-page);cursor:pointer}
.trip-icon-emoji{font-size:var(--rh-text-page);line-height:1}
.location-row{display:grid;grid-template-columns:1fr 1fr 1fr 36px;gap:var(--rh-space-2);align-items:center;margin:var(--rh-space-2) 0}
.location-row input{min-width:0}
.location-remove{width:36px;height:36px;border:0;border-radius:var(--rh-radius-control);background:#2a2a2d;color:var(--muted);font-size:var(--rh-text-subsection)}
.location-add{margin-top:var(--rh-space-1);border:1px solid var(--line);background:transparent;color:var(--accent);border-radius:var(--rh-radius-control);padding:var(--rh-space-2) var(--rh-space-3);font-weight:var(--rh-font-bold)}
.booking-file-actions{display:flex;gap:var(--rh-space-2);flex-wrap:wrap}
.booking-file-info{margin-top:var(--rh-space-2);color:var(--muted);font-size:var(--rh-text-sm);line-height:1.4}
.booking-doc{display:inline-flex;align-items:center;gap:var(--rh-space-1);margin-top:var(--rh-space-2);padding:var(--rh-space-2) var(--rh-space-2);border-radius:var(--rh-radius-control);background:#29292e;color:var(--accent);font-size:var(--rh-text-xs);font-weight:var(--rh-font-bold)}
.booking-start-actions{display:grid;gap:var(--rh-space-2);margin-top:var(--rh-space-4)}
.booking-start-card{width:100%;display:flex;align-items:center;gap:var(--rh-space-3);text-align:left;background:#202024;border:1px solid #34343a;color:var(--text);border-radius:var(--rh-radius-card);padding:var(--rh-space-3);cursor:pointer}
.booking-start-card:active{transform:scale(.995)}
.booking-start-card b{display:block;font-size:var(--rh-text-md)}
.booking-start-card small{display:block;color:var(--muted);font-size:var(--rh-text-xs);margin-top:var(--rh-space-1);line-height:1.35}
.booking-start-icon{width:var(--rh-icon-column);height:var(--rh-icon-column);flex:0 0 42px;border-radius:var(--rh-radius-control);background:#2b2730;color:var(--accent);display:grid;place-items:center}
.booking-start-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);}
.booking-reading-box{margin-top:var(--rh-space-3);border:1px solid #34343a;background:#1b1b1e;border-radius:var(--rh-radius-card);padding:var(--rh-space-5) var(--rh-space-4);text-align:center}
.booking-reading-icon{width:50px;height:50px;margin:0 auto var(--rh-space-3);border-radius:var(--rh-radius-control);background:#2b2730;color:var(--accent);display:grid;place-items:center}
.booking-reading-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);}
.booking-reading-box .sub{margin-top:var(--rh-space-2);line-height:1.45}
.booking-detail-head{display:flex;align-items:center;gap:var(--rh-space-2);margin-bottom:var(--rh-space-3)}
.booking-inline-back{width:36px;height:36px;border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#202024;color:var(--text);font-size:var(--rh-text-page);line-height:1}
.booking-selected-document{margin-top:var(--rh-space-3);padding:var(--rh-space-3) var(--rh-space-3);border:1px solid #3a3a40;background:#202024;border-radius:var(--rh-radius-control);color:var(--accent);font-size:var(--rh-text-sm);overflow-wrap:anywhere}
#bookingFormModal select,#bookingFormModal textarea{width:100%;background:#252528;border:1px solid #3a3a40;color:var(--text);border-radius:var(--rh-radius-control);padding:var(--rh-space-3) var(--rh-space-3);outline:none;color-scheme:dark}
@media (max-width:520px){.location-row{grid-template-columns:1fr 1fr 36px}
.location-row .location-name{grid-column:1/-1}}
.weather-card{background:var(--surface2);border:1px solid var(--line);border-radius:var(--rh-radius-control);padding:var(--rh-space-4);margin-bottom:var(--rh-space-3)}
.weather-card h3{margin:0 0 var(--rh-space-1)}
.weather-note{color:var(--muted);font-size:var(--rh-text-md);line-height:1.45}
.weather-link{display:inline-flex;align-items:center;gap:var(--rh-space-2);margin-top:var(--rh-space-3);color:var(--accent);text-decoration:none;font-weight:var(--rh-font-semibold)}
.weather-loading{color:var(--muted);padding:var(--rh-space-1) 0}
.weather-day{display:grid;grid-template-columns:56px 34px 1fr auto;gap:var(--rh-space-2);align-items:center;padding:var(--rh-space-3) 0;border-top:1px solid var(--line)}
.weather-card h3+.weather-day{margin-top:var(--rh-space-2)}
.weather-day-date{font-size:var(--rh-text-sm);color:var(--muted)}
.weather-symbol{font-size:var(--rh-text-page);text-align:center}
.weather-day-main{display:flex;flex-direction:column;gap:var(--rh-space-1);font-size:var(--rh-text-md)}
.weather-day-main span{color:var(--muted)}
.weather-day-extra{display:flex;flex-direction:column;align-items:flex-end;gap:var(--rh-space-1);font-size:var(--rh-text-xs);color:var(--muted)}
@media (max-width:390px){.weather-day{grid-template-columns:52px 30px 1fr}
.weather-day-extra{grid-column:3;align-items:flex-start;flex-direction:row;gap:var(--rh-space-3)}}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--rh-space-3)}
.tile{background:#202024;border:1px solid #34343a;border-radius:var(--rh-radius-card);padding:var(--rh-space-4);min-height:118px;cursor:pointer}
.tile-icon{width:38px;height:38px;border-radius:var(--rh-radius-control);background:#2b2730;display:grid;place-items:center;margin-bottom:var(--rh-space-4)}
.tile-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:var(--accent);}
.tile b{display:block;font-size:var(--rh-text-md)}
.tile span{display:block;color:var(--muted);font-size:var(--rh-text-xs);margin-top:var(--rh-space-1)}
.section{margin-top:var(--rh-space-6)}
.source{display:flex;align-items:center;gap:var(--rh-space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--rh-radius-card);padding:var(--rh-space-3);margin-top:var(--rh-space-2)}
.source-logo{width:var(--rh-icon-column);height:var(--rh-icon-column);border-radius:var(--rh-radius-control);background:#2b2730;display:grid;place-items:center;color:var(--accent)}
.source-logo svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:var(--accent);}
.grow{flex:1}
.source b{font-size:var(--rh-text-md)}
.source small{display:block;color:var(--muted);font-size:var(--rh-text-xs);margin-top:var(--rh-space-1)}
.check{color:var(--accent);font-size:var(--rh-text-page)}
.fab{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);width:calc(100% - 32px);max-width:528px;display:flex;justify-content:flex-end;pointer-events:none}
.fab button{pointer-events:auto;width:58px;height:58px;border:0;border-radius:50%;background:var(--accent);color:#1a1023;box-shadow:0 10px 28px rgba(155,107,232,.28);cursor:pointer;display:grid;place-items:center;padding:0}
.fab button svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);display:block;fill:none;stroke:currentColor;stroke-width:var(--rh-icon-stroke);stroke-linecap:round;}
.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.62);display:none;padding:var(--rh-space-4)}
.modal{width:min(var(--rh-page-width),100%);background:#1c1c1f;border:1px solid var(--line);border-radius:var(--rh-radius-dialog);padding:var(--rh-space-5);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal h3{margin:0 0 var(--rh-space-3);font-size:var(--rh-text-subsection)}
.field{margin-top:var(--rh-space-3)}
.field label{display:block;font-size:var(--rh-text-xs);color:var(--muted);margin:0 0 var(--rh-space-1) var(--rh-space-1)}
.field input{width:100%;background:#252528;border:1px solid #3a3a40;color:var(--text);border-radius:var(--rh-radius-control);padding:var(--rh-space-3) var(--rh-space-3);outline:none;color-scheme:dark}
.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}
.date-wrap{width:100%;overflow:hidden;border-radius:var(--rh-radius-control)}
.date-wrap input[type="date"]{min-height:var(--rh-input-height);font-size:var(--rh-text-card)}
.date-error{min-height:18px;margin-top:var(--rh-space-2);color:#f0a7a7;font-size:var(--rh-text-xs);padding-left:var(--rh-space-1)}
.actions{display:flex;gap:var(--rh-space-2);margin-top:var(--rh-space-4)}
.actions button{flex:1;border:0;border-radius:var(--rh-radius-control);padding:var(--rh-space-3);font-weight:var(--rh-font-bold);cursor:pointer}
.ghost{background:#2a2a2e;color:var(--muted)}
.primary{background:var(--accent);color:#24152f}
.map-choice{display:flex;align-items:center;gap:var(--rh-space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--rh-radius-control);padding:var(--rh-space-3) var(--rh-space-3);margin-top:var(--rh-space-2);cursor:pointer}
.map-choice input{width:20px;height:20px;accent-color:var(--accent);flex:0 0 auto}
.choice-icon{width:38px;height:38px;border-radius:var(--rh-radius-control);background:var(--surface3);display:grid;place-items:center;flex:0 0 auto}
.choice-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:var(--accent);}
.map-choice span:last-child{min-width:0;flex:1}
.map-choice b{display:block;font-size:var(--rh-text-md)}
.map-choice small{display:block;color:var(--muted);font-size:var(--rh-text-xs);margin-top:var(--rh-space-1)}
.connection-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--rh-radius-control);padding:var(--rh-space-3);margin-top:var(--rh-space-3)}
.connection-box b{font-size:var(--rh-text-sm)}
.connection-box .hint{color:var(--muted);font-size:var(--rh-text-xs);line-height:1.45;margin-top:var(--rh-space-1)}
.hidden{display:none!important}
.empty{border:1px dashed var(--line);border-radius:var(--rh-radius-card);padding:var(--rh-space-4);text-align:center;color:var(--muted)}
.source button{border:0;background:var(--accentSoft);color:var(--accent);border-radius:var(--rh-radius-control);padding:var(--rh-space-2) var(--rh-space-2);font-weight:var(--rh-font-bold);cursor:pointer}
.remove-source{width:38px;height:38px;padding:0!important;border-radius:var(--rh-radius-control)!important;background:#30262a!important;color:#f5b8c4!important;display:grid;place-items:center;flex:0 0 auto}
.remove-source svg{width:var(--rh-icon-small);height:var(--rh-icon-small);stroke:currentColor;}
.place-list{display:grid;gap:var(--rh-space-2);margin-top:var(--rh-space-3)}
.place-card{display:flex;align-items:center;justify-content:space-between;gap:var(--rh-space-3);padding:var(--rh-space-3) var(--rh-space-3);border:1px solid #2b2b2b;border-radius:var(--rh-radius-control);background:#1a1a1a}
.place-main{min-width:0}
.place-name{font-weight:var(--rh-font-bold);font-size:var(--rh-text-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.place-meta{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-1)}
.place-actions{display:flex;gap:var(--rh-space-2);flex:0 0 auto}
.icon-btn{width:36px;height:36px;border-radius:var(--rh-radius-control);border:1px solid #343434;background:#242424;color:var(--muted);display:grid;place-items:center;padding:0}
.filter-row{display:flex;gap:var(--rh-space-2);overflow-x:auto;padding-bottom:var(--rh-space-1);margin-top:var(--rh-space-3)}
.filter-chip{flex:0 0 auto;padding:var(--rh-space-2) var(--rh-space-2);border-radius:var(--rh-radius-dialog);border:1px solid #343434;background:#1e1e1e;color:var(--muted);font-size:var(--rh-text-xs)}
.filter-chip.active{background:var(--accentSoft);color:#f3e8ff;border-color:#6b3fa0}
.empty-state{padding:var(--rh-space-6) var(--rh-space-3);text-align:center;color:var(--muted);font-size:var(--rh-text-sm)}
.plan-section{margin-top:var(--rh-space-6)}
.plan-booked-section{margin-top:0}
.plan-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--rh-space-3);padding:0}
.plan-heading h3{margin:0;font-size:var(--rh-text-subsection);letter-spacing:-.02em}
.plan-count{font-size:var(--rh-text-xs);color:var(--muted)}
.plan-list{display:block}
.plan-day{margin-top:var(--rh-space-6)}
.plan-day:first-child{margin-top:0}
.plan-day-title{font-size:var(--rh-text-subsection);font-weight:var(--rh-font-bold);letter-spacing:-.02em;margin:0 0 var(--rh-space-4)}
.timeline{position:relative}
.timeline-item{--event:var(--accent);--rh-document-date-column:34px;display:grid;grid-template-columns:var(--rh-document-date-column) 32px minmax(0,1fr);gap:var(--rh-space-1);position:relative;min-height:104px}
.timeline-item.type-air{--event:#2f80ed}
.timeline-item.type-car{--event:#31b96b}
.timeline-item.type-lodging{--event:var(--accent)}
.timeline-item.type-generic{--event:#a06af1}
.timeline-date{padding-top:var(--rh-space-2);text-align:right;font-size:var(--rh-text-xs);font-weight:var(--rh-font-bold);line-height:1.05;color:var(--text)}
.timeline-date:empty{visibility:hidden}
.timeline-track{position:relative;display:flex;justify-content:center;align-items:center;align-self:stretch;padding-bottom:var(--rh-space-3);transform:translateX(calc(var(--rh-document-date-column) / -2))}
.timeline-track::after{content:"";position:absolute;top:calc(50% + 17px);bottom:-4px;width:3px;border-radius:var(--rh-radius-control);background:var(--event);opacity:.92}
.timeline-item:last-child .timeline-track::after{display:none}
.timeline-icon{position:relative;z-index:2;width:34px;height:34px;border-radius:var(--rh-radius-dialog);background:var(--event);display:grid;place-items:center;box-shadow:0 0 0 3px var(--bg)}
.timeline-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:var(--text);}
.timeline-card{position:relative;margin-bottom:var(--rh-space-3);padding:var(--rh-space-3) var(--rh-space-3);border:1px solid #2d2d33;border-radius:var(--rh-radius-card);background:linear-gradient(145deg,#202023,#19191c);box-shadow:0 8px 22px rgba(0,0,0,.12);min-width:0}
.timeline-type{display:none}
.timeline-title{font-size:var(--rh-text-card);font-weight:var(--rh-font-bold);line-height:1.25;letter-spacing:-.01em;padding-right:var(--rh-space-10)}
.timeline-action{margin-top:var(--rh-space-1);font-size:var(--rh-text-xs);font-weight:var(--rh-font-semibold);color:var(--muted)}
.timeline-meta{margin-top:var(--rh-space-1);color:var(--muted);font-size:var(--rh-text-xs);line-height:1.5}
.timeline-note{margin-top:var(--rh-space-1);color:var(--muted);font-size:var(--rh-text-xs);line-height:1.5}
.flight-details-inline{margin-top:var(--rh-space-1)}
.flight-arrival{margin-top:var(--rh-space-1)}
.plan-actions{position:absolute;right:8px;top:8px;display:flex;gap:var(--rh-space-1)}
.plan-icon-btn{width:30px;height:30px;border:0;border-radius:var(--rh-radius-control);background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;padding:0}
.plan-icon-btn:hover,.plan-icon-btn:focus-visible{background:#2a2a2f;color:var(--muted);outline:none}
.plan-icon-btn svg{width:var(--rh-icon-small);height:var(--rh-icon-small);stroke:currentColor;}
.plan-empty{padding:var(--rh-space-5) var(--rh-space-3);text-align:center;color:var(--muted);font-size:var(--rh-text-sm);border:1px dashed #303034;border-radius:var(--rh-radius-card);background:#171719}
.idea-list{display:grid;gap:var(--rh-space-2)}
.idea-card{position:relative;padding:var(--rh-space-4) var(--rh-scroll-reserve-72) var(--rh-space-4) var(--rh-space-4);border:1px solid var(--line);border-radius:var(--rh-radius-card);background:#1a1a1d}
.idea-title{font-size:var(--rh-text-md);font-weight:var(--rh-font-bold)}
.idea-meta{margin-top:var(--rh-space-1);color:var(--muted);font-size:var(--rh-text-xs);line-height:1.5}
@media (max-width:420px){.timeline-item{--rh-document-date-column:30px;grid-template-columns:var(--rh-document-date-column) 30px minmax(0,1fr);gap:var(--rh-space-1)}
.timeline-date{font-size:var(--rh-text-xs)}
.timeline-icon{width:30px;height:30px}
.timeline-track::after{top:calc(50% + 15px);width:3px}
.timeline-card{padding-right:var(--rh-space-3)}
.timeline-title{padding-right:var(--rh-space-10)}}
.trip-detail-screen{max-width:var(--rh-page-width);margin:auto;min-height:100vh;padding:var(--rh-space-5) var(--rh-space-4) var(--rh-scroll-reserve-100)}
.trip-detail-hero{position:relative;margin-top:var(--rh-space-4);padding:0 var(--rh-space-9) 0 0}
.trip-detail-edit{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;border-radius:var(--rh-radius-control)}
.trip-detail-edit:active{background:rgba(255,255,255,.06)}
.trip-detail-edit svg{width:var(--rh-icon-small)!important;height:var(--rh-icon-small)!important;stroke:currentColor!important;}
.trip-detail-icon{width:var(--rh-icon-column);height:var(--rh-icon-column);display:grid;place-items:center;margin-bottom:var(--rh-space-3)}
.trip-detail-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);max-width:var(--rh-category-icon-size);max-height:var(--rh-category-icon-size);}
.trip-detail-hero.type-air .trip-detail-icon svg{stroke:#2f80ed;}
.trip-detail-hero.type-car .trip-detail-icon svg{stroke:#42b883;}
.trip-detail-hero.type-lodging .trip-detail-icon svg{stroke:var(--accent);}
.trip-detail-title{font-size:var(--rh-text-subsection);font-weight:var(--rh-font-bold);line-height:1.2;letter-spacing:-.02em}
.trip-detail-action{margin-top:var(--rh-space-2);font-size:var(--rh-text-sm);font-weight:var(--rh-font-bold);color:var(--muted)}
.trip-detail-section{margin-top:var(--rh-space-4)}
.trip-detail-section h3{margin:0 0 var(--rh-space-2);font-size:var(--rh-text-sm);color:var(--muted);font-weight:var(--rh-font-bold);text-transform:uppercase;letter-spacing:.06em}
.trip-detail-box{border:1px solid #2d2d33;border-radius:var(--rh-radius-card);background:#19191c;overflow:hidden}
.trip-detail-row{padding:var(--rh-space-3) var(--rh-space-3);border-bottom:1px solid #29292e}
.trip-detail-row:last-child{border-bottom:0}
.trip-detail-label{font-size:var(--rh-text-xs);color:var(--muted);margin-bottom:var(--rh-space-1)}
.trip-detail-value{font-size:var(--rh-text-md);line-height:1.45;color:var(--text);overflow-wrap:anywhere}
.tripit-edit-field{margin-top:var(--rh-space-3)}
.tripit-edit-field:first-child{margin-top:var(--rh-space-4)}
.tripit-edit-field label{display:block;font-size:var(--rh-text-xs);color:var(--muted);margin-bottom:var(--rh-space-1)}
.tripit-edit-field input,.tripit-edit-field textarea{width:100%;box-sizing:border-box;background:#252528;border:1px solid #3a3a40;color:var(--text);border-radius:var(--rh-radius-control);padding:var(--rh-space-3) var(--rh-space-3);outline:none;color-scheme:dark;font:inherit}
.tripit-edit-field input:focus,.tripit-edit-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}
.tripit-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--rh-space-3)}
.tripit-edit-section{margin:var(--rh-space-4) calc(-1 * var(--rh-space-4)) var(--rh-space-1);padding:var(--rh-space-2) var(--rh-space-4);background:#252d45;color:var(--text);font-size:var(--rh-text-xs);font-weight:var(--rh-font-bold);letter-spacing:.03em}
@media (max-width:380px){.tripit-edit-grid{gap:var(--rh-space-2)}}
.timeline-card.trip-clickable{cursor:pointer}
.timeline-card.trip-clickable:active{transform:scale(.995)}
.travel-calendar-screen{max-width:var(--rh-page-width);margin:auto;min-height:100vh;padding:var(--rh-space-5) var(--rh-space-4) var(--rh-scroll-reserve-100)}
.travel-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--rh-space-1);margin-top:0;padding:var(--rh-space-3);border:1px solid #2d2d33;border-radius:var(--rh-radius-card);background:#19191c}
.travel-calendar-cell{aspect-ratio:1;min-width:0;border:1px solid #303037;border-radius:var(--rh-radius-control);background:#202024;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--rh-space-1);cursor:pointer;padding:var(--rh-space-1)}
.travel-calendar-cell.has-items::after{content:"";width:5px;height:5px;border-radius:50%;margin-top:var(--rh-space-1)}
.travel-calendar-weekday{font-size:var(--rh-text-xs);color:var(--muted);text-transform:uppercase}
.travel-calendar-number{font-size:var(--rh-text-md);font-weight:var(--rh-font-bold)}
.travel-calendar-day{margin-top:var(--rh-space-4)}
.travel-day-head{display:flex;align-items:center;justify-content:space-between;gap:var(--rh-space-3);margin-bottom:var(--rh-space-2)}
.travel-day-head h2{margin:var(--rh-space-1) 0 0;font-size:var(--rh-text-subsection)}
.travel-day-kicker{font-size:var(--rh-text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.calendar-add-btn{width:38px;height:38px;border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#222226;color:var(--accent);font-size:var(--rh-text-page);cursor:pointer}
.calendar-item{display:flex;align-items:center;gap:var(--rh-space-3);padding:var(--rh-space-3) var(--rh-space-3);margin-top:var(--rh-space-2);border:1px solid #2d2d33;border-radius:var(--rh-radius-control);background:#19191c}
.calendar-item-main{flex:1;min-width:0}
.calendar-item-name{font-weight:var(--rh-font-bold);font-size:var(--rh-text-md)}
.calendar-item-source{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-1)}
.calendar-item-hours{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-1);line-height:1.35}
.calendar-region{margin:var(--rh-space-4) 0 var(--rh-space-2);color:var(--accent);font-size:var(--rh-text-xs);font-weight:var(--rh-font-bold);letter-spacing:.02em}
.calendar-region:first-child{margin-top:var(--rh-space-2)}
.calendar-item-open,.calendar-item-remove{border:0;background:transparent;color:var(--muted);padding:var(--rh-space-1);cursor:pointer;font-size:var(--rh-text-card)}
.calendar-item-used{width:var(--rh-icon-navigation);height:var(--rh-icon-navigation);flex:0 0 24px;border:1px solid #3a3a40;border-radius:var(--rh-radius-control);background:transparent;color:var(--muted);display:grid;place-items:center;padding:0;cursor:pointer}
.calendar-item-used svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:currentColor;fill:none;stroke-width:var(--rh-icon-stroke);stroke-linecap:round;stroke-linejoin:round;}
.calendar-item-used.active{border-color:var(--accent);color:var(--accent);background:rgba(155,107,232,.10)}
.calendar-item-used-card{border-color:#3d3447;background:#1e1a22}
.calendar-empty{padding:var(--rh-space-4) var(--rh-space-1);color:var(--muted);font-size:var(--rh-text-sm)}
.calendar-single-hint{margin-top:var(--rh-space-3);padding:var(--rh-space-2) var(--rh-space-3);border:1px solid #303036;border-radius:var(--rh-radius-control);background:#19191c;color:var(--muted);font-size:var(--rh-text-xs);line-height:1.45}
.calendar-choice-box{margin-top:var(--rh-space-2);padding:var(--rh-space-3);border:1px solid #303036;border-radius:var(--rh-radius-control);background:#19191c;display:grid;grid-template-columns:1fr 1fr;gap:var(--rh-space-2)}
.calendar-choice-box label{display:flex;gap:var(--rh-space-2);align-items:center;font-size:var(--rh-text-sm)}
.calendar-choice-box input{width:auto}
.calendar-date-choice{display:flex!important}
@media (max-width:390px){.travel-calendar-grid{gap:var(--rh-space-1);padding:var(--rh-space-2)}
.travel-calendar-cell{border-radius:var(--rh-radius-control)}
.travel-calendar-number{font-size:var(--rh-text-md)}}
.maps-list-manager{margin-top:var(--rh-space-4);padding:var(--rh-space-4);border:1px solid var(--line,#2b2b2b);border-radius:var(--rh-radius-card);background:var(--surface,#1b1b1b)}
.maps-list-manager h3{margin:0 0 var(--rh-space-1);font-size:var(--rh-text-card)}
.maps-list-manager p{margin:0 0 var(--rh-space-3);color:var(--muted,#a7a7a7);font-size:var(--rh-text-sm);line-height:1.45}
.maps-link-row{display:grid;grid-template-columns:1fr auto;gap:var(--rh-space-2);align-items:center;margin-top:var(--rh-space-2)}
.maps-link-row input{min-width:0}
.maps-saved-list{display:flex;flex-direction:column;gap:var(--rh-space-2);margin-top:var(--rh-space-3)}
.maps-saved-item{display:flex;align-items:center;gap:var(--rh-space-2);padding:var(--rh-space-3) var(--rh-space-3);border:1px solid var(--line,#2b2b2b);border-radius:var(--rh-radius-control);background:rgba(255,255,255,.02)}
.maps-saved-main{flex:1;min-width:0}
.maps-saved-name{font-size:var(--rh-text-md);font-weight:var(--rh-font-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.maps-saved-url{font-size:var(--rh-text-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.maps-icon-btn{border:0;background:transparent;color:var(--muted);font-size:var(--rh-text-subsection);cursor:pointer;padding:var(--rh-space-1)}
.maps-choice-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.62);display:flex;align-items:flex-start;justify-content:center;padding:var(--rh-scroll-reserve-76) var(--rh-space-4) var(--rh-space-5)}
.maps-choice-overlay .modal-card{width:min(460px,100%);background:#1c1c1f;border:1px solid #34343a;border-radius:var(--rh-radius-dialog);padding:var(--rh-space-4);box-shadow:0 18px 60px rgba(0,0,0,.5)}
.maps-choice-overlay .modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--rh-space-3)}
.maps-choice-overlay .eyebrow{color:var(--muted)}
.maps-choice-overlay h2{color:var(--text)}
.maps-choice-list{display:flex;flex-direction:column;gap:var(--rh-space-2);margin-top:var(--rh-space-3)}
.maps-choice{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--rh-space-3);padding:var(--rh-space-3);border:1px solid var(--line,#2b2b2b);border-radius:var(--rh-radius-control);background:var(--surface,#1b1b1b);color:var(--text);cursor:pointer;text-align:left}
.maps-choice-title{font-weight:var(--rh-font-bold);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maps-choice-arrow{color:var(--accent);font-size:var(--rh-text-page);line-height:1}
.maps-choice-sub{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-1)}
.gyg-list-manager{margin-top:var(--rh-space-4);padding:var(--rh-space-4);border:1px solid var(--line,#2b2b2b);border-radius:var(--rh-radius-card);background:var(--surface,#1b1b1b)}
.gyg-list-manager h3{margin:0 0 var(--rh-space-1);font-size:var(--rh-text-card)}
.gyg-list-manager p{margin:0 0 var(--rh-space-3);color:var(--muted,#a7a7a7);font-size:var(--rh-text-sm);line-height:1.45}
.gyg-link-row{display:grid;grid-template-columns:1fr auto;gap:var(--rh-space-2);align-items:center;margin-top:var(--rh-space-2)}
.gyg-link-row input{min-width:0}
.gyg-saved-list{display:flex;flex-direction:column;gap:var(--rh-space-2);margin-top:var(--rh-space-3)}
.gyg-saved-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--rh-space-3);padding:var(--rh-space-3);border:1px solid var(--line,#2b2b2b);border-radius:var(--rh-radius-control);background:rgba(255,255,255,.02)}
.gyg-saved-main{grid-column:1/-1;min-width:0}
.gyg-saved-name{font-size:var(--rh-text-md);font-weight:var(--rh-font-bold);overflow-wrap:anywhere}
.gyg-saved-url{font-size:var(--rh-text-xs);color:var(--muted);line-height:1.4;overflow-wrap:anywhere;margin-top:var(--rh-space-1)}
.gyg-update-btn{grid-column:1;justify-self:start;width:auto!important;padding:var(--rh-space-2) var(--rh-space-3)!important}
.gyg-icon-btn{grid-column:2;justify-self:end;border:0;background:transparent;color:var(--muted);font-size:var(--rh-text-subsection);cursor:pointer;padding:var(--rh-space-1)}
.gyg-choice-list{display:flex;flex-direction:column;gap:var(--rh-space-2);margin-top:var(--rh-space-3)}
.gyg-choice{display:flex;justify-content:space-between;align-items:center;gap:var(--rh-space-3);padding:var(--rh-space-3);border:1px solid var(--line,#2b2b2b);border-radius:var(--rh-radius-control);background:var(--surface,#1b1b1b);cursor:pointer}
.gyg-choice-title{font-weight:var(--rh-font-bold)}
.gyg-choice-sub{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-1)}
.share-type-list{display:flex;flex-direction:column;gap:var(--rh-space-2);margin-top:var(--rh-space-4)}
.share-type-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--rh-space-3);border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#202024;color:var(--text);padding:var(--rh-space-3);text-align:left;cursor:pointer}
.share-type-choice strong{display:block;font-size:var(--rh-text-md)}
.share-type-choice small{display:block;color:var(--muted);margin-top:var(--rh-space-1)}
.share-type-choice .arrow{color:var(--accent);font-size:var(--rh-text-page)}
.share-trip-list{display:flex;flex-direction:column;gap:var(--rh-space-2);margin-top:var(--rh-space-4)}
.share-trip-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--rh-space-3);border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#202024;color:var(--text);padding:var(--rh-space-3);text-align:left;font-weight:var(--rh-font-bold);cursor:pointer}
.share-trip-choice span:last-child{color:var(--accent);font-size:var(--rh-text-subsection)}
.takeout-import-box{margin:var(--rh-space-3) 0 var(--rh-space-4)}
.takeout-modal{max-height:82vh;overflow:auto}
.takeout-list-choices{display:flex;flex-direction:column;gap:var(--rh-space-2);margin:var(--rh-space-4) 0}
.takeout-list-choice{display:flex;align-items:center;gap:var(--rh-space-2);padding:var(--rh-space-3) var(--rh-space-3);border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#202024;color:var(--text)}
.takeout-list-choice input{accent-color:var(--accent);width:var(--rh-icon-small);height:var(--rh-icon-small)}
.takeout-list-block{border-radius:var(--rh-radius-control)}
.takeout-list-dates{padding:var(--rh-space-1) var(--rh-space-1) var(--rh-space-3) var(--rh-space-1)}
.takeout-date-title{font-size:var(--rh-text-xs);color:var(--muted);margin:var(--rh-space-1) 0 var(--rh-space-2) var(--rh-space-1)}
.takeout-date-chips{display:flex;flex-wrap:wrap;gap:var(--rh-space-1)}
.takeout-date-chips label{cursor:pointer}
.takeout-date-chips input{position:absolute;opacity:0;pointer-events:none}
.takeout-date-chips span{display:block;padding:var(--rh-space-2) var(--rh-space-2);border:1px solid #3a3a40;border-radius:var(--rh-radius-dialog);background:#1b1b1f;color:var(--muted);font-size:var(--rh-text-xs)}
.takeout-date-chips input:checked + span{border-color:var(--accent);background:#33223f;color:#f3ddff}
.takeout-date-actions{display:flex;gap:var(--rh-space-2);margin-top:var(--rh-space-2)}
.takeout-date-actions button{border:0;background:transparent;color:var(--accent);padding:var(--rh-space-1) var(--rh-space-1);font-size:var(--rh-text-xs)}
.calendar-item-edit{border:0;background:transparent;color:var(--accent);font-size:var(--rh-text-subsection);padding:var(--rh-space-2);cursor:pointer}
.calendar-item-tripit{border-color:#3d3447;background:#1e1a22}
.calendar-item-tripit .calendar-item-source{color:var(--accent)}
.calendar-item-details{margin-top:var(--rh-space-1);font-size:var(--rh-text-xs);line-height:1.35;color:var(--muted)}
.takeout-list-choice .grow{min-width:0}
.takeout-list-choice b{display:block}
.takeout-list-choice small{display:block;color:var(--muted);margin-top:var(--rh-space-1)}
.takeout-diff{margin-top:var(--rh-space-3);padding:var(--rh-space-3);border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#18181b}
.takeout-diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rh-space-2);margin:var(--rh-space-2) 0 var(--rh-space-1)}
.takeout-stat{text-align:center;padding:var(--rh-space-2) var(--rh-space-1);border-radius:var(--rh-radius-control);background:#222226}
.takeout-stat b{display:block;font-size:var(--rh-text-subsection)}
.takeout-stat span{font-size:var(--rh-text-xs);color:var(--muted)}
.takeout-note{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-2);line-height:1.4}
.pwa-install{display:none;margin-top:var(--rh-space-2);width:100%;border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#202024;color:var(--text);padding:var(--rh-space-3);font-weight:var(--rh-font-bold);cursor:pointer}
.pwa-install.show{display:block}
.import-source-block{margin-top:var(--rh-space-3);padding:var(--rh-space-3);border:1px solid #34343a;border-radius:var(--rh-radius-card);background:#202024}
.import-source-head{display:flex;align-items:center;gap:var(--rh-space-2);margin-bottom:var(--rh-space-3)}
.import-source-head h3{margin:0;font-size:var(--rh-text-md)}
.import-source-head .source-logo{width:var(--rh-icon-column);height:var(--rh-icon-column);flex:0 0 42px;border-radius:var(--rh-radius-control);background:#2b2730}
.import-source-head .source-logo svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:var(--accent);}
.import-status{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-2);line-height:1.4}
.import-status strong{color:var(--text);font-weight:var(--rh-font-semibold)}
.import-status span{color:var(--muted)}
.data-tools{margin-top:var(--rh-space-3);padding:var(--rh-space-3);border:1px solid #2d2d33;border-radius:var(--rh-radius-card);background:#19191c}
.data-tools-head{display:flex;align-items:center;gap:var(--rh-space-2);margin-bottom:var(--rh-space-2)}
.data-tools-icon{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);display:grid;place-items:center}
.data-tools-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);stroke:currentColor;}
.data-tools h3{margin:0;font-size:var(--rh-text-md)}
.data-tools p{margin:0 0 var(--rh-space-3);color:var(--muted);font-size:var(--rh-text-xs);line-height:1.4}
.data-actions{display:flex;gap:var(--rh-space-2);flex-wrap:wrap}
.data-status{font-size:var(--rh-text-xs);color:var(--muted);margin-top:var(--rh-space-2);line-height:1.4}
.data-status strong{color:var(--text);font-weight:var(--rh-font-semibold)}
.btn,
label.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:var(--rh-control-height);border:1px solid #3a3a40;border-radius:var(--rh-radius-control);background:#29292e;color:var(--text);padding:var(--rh-space-3) var(--rh-space-3);font:inherit;font-weight:var(--rh-font-bold);cursor:pointer;appearance:none;-webkit-appearance:none}
.btn:active,
label.btn:active{background:#29292e;border-color:#4a4052}
.btn:focus-visible,
label.btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accentSoft)}
.import-source-block input[type="text"],
.import-source-block input[type="url"]{background:#29292e;border-color:#3a3a40;color:var(--text)}
.source,.import-source-block,.calendar-item,.trip-card,.panel,.card{border-color:#34343a}
.source-logo,.source-icon,.trip-detail-icon,.import-source-icon,.source-icon-box{background:#2b2730;border:1px solid #3a3a40;color:var(--accent)}
.source-logo svg,.source-icon svg,.trip-detail-icon svg,.import-source-icon svg,.source-icon-box svg{stroke:var(--accent);}
input:focus,select:focus,textarea:focus{outline:none}
:root{--accent:#9b6be8;--accentSoft:rgba(155,107,232,.15)}
svg{--rh-accent:var(--accent);}
.source-logo svg,.source-icon svg,.trip-detail-icon svg,.import-source-icon svg,
.source-icon-box svg,.feature-icon svg,.tile-icon svg,.trip-area-icon svg,
.menu-icon svg,.action-icon svg{stroke:var(--accent)!important;}
.source-logo,.source-icon,.trip-detail-icon,.import-source-icon,.source-icon-box,
.feature-icon,.tile-icon,.trip-area-icon,.menu-icon,.action-icon{color:var(--accent)!important;background:#252528!important;border-color:#3a3a40!important}
.travel-calendar-cell.active{color:var(--text)!important;border-color:var(--accent)!important;background:var(--accentSoft)!important;box-shadow:none!important}
.travel-calendar-cell.has-items::after{background:var(--accent)!important}
.calendar-add-btn,.back,.icon-btn,a.accent{color:var(--accent)!important}
button.primary,.btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--text)!important}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accentSoft)!important}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,textarea{width:100%!important;background:#252528!important;border:1px solid #3a3a40!important;color:var(--text)!important;border-radius:var(--rh-radius-control)!important;padding:var(--rh-space-3) var(--rh-space-3)!important;outline:none!important;color-scheme:dark!important}
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
select:focus,textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accentSoft)!important}
input::placeholder,textarea::placeholder{color:var(--muted)!important;opacity:1}
.booking-start-icon,.booking-reading-icon{color:var(--accent)!important}
.booking-start-icon svg,.booking-reading-icon svg{stroke:var(--accent)!important;}
.booking-doc,.booking-selected-document{color:var(--accent)!important}
.trip-delete-btn{width:100%;margin-top:var(--rh-space-4);padding:var(--rh-space-3) var(--rh-space-3);border-radius:var(--rh-radius-control);border:1px solid #713f46;background:#251b1d;color:#f0a7a7;font-weight:var(--rh-font-bold);cursor:pointer}
.trip-delete-btn:active{background:#302023}
.trip-color-choice{display:flex;flex-wrap:wrap;gap:var(--rh-space-3);margin-top:var(--rh-space-1)}
.trip-color-choice button{width:38px;height:38px;border-radius:50%;padding:0;border:2px solid transparent;cursor:pointer}
.trip-color-choice button.selected{border-color:var(--text);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.trip-icon-choice{display:grid!important;grid-template-columns:repeat(4,1fr);gap:var(--rh-space-2)}
.trip-icon-choice button{height:58px!important;border-radius:var(--rh-radius-control)!important;background:#1d1d21!important;border:1px solid #34343a!important;color:var(--muted)!important;display:grid;place-items:center;padding:0!important}
.trip-icon-choice button .ti{font-size:var(--rh-text-section);line-height:1;color:currentColor}
.trip-card .trip-icon{display:grid;place-items:center}
.trip-card .trip-icon .ti{font-size:var(--rh-text-section);line-height:1;color:currentColor}
.trip-tabs{display:flex;gap:var(--rh-space-4);overflow-x:auto;border-bottom:1px solid var(--line);margin:var(--rh-space-1) 0 var(--rh-space-4);padding:0 var(--rh-space-1);scrollbar-width:none}
.trip-tabs::-webkit-scrollbar{display:none}
.trip-tab{flex:0 0 auto;border:0;background:transparent;color:var(--muted);padding:var(--rh-space-2) 0 var(--rh-space-3);font-size:var(--rh-text-sm);position:relative}
.trip-tab.active{color:var(--accent);font-weight:var(--rh-font-bold)}
.trip-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:var(--rh-radius-control);background:var(--accent)}
.trip-overview-cards{display:grid;gap:var(--rh-space-2);margin:0 0 var(--rh-space-5)}
.overview-row{width:100%;display:flex;align-items:center;gap:var(--rh-space-3);text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--rh-radius-card);padding:var(--rh-space-3) var(--rh-space-3);color:var(--text)}
.overview-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;color:var(--accent)}
.overview-icon svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);fill:none;stroke:currentColor;stroke-width:var(--rh-icon-stroke);stroke-linecap:round;stroke-linejoin:round;}
.overview-copy{min-width:0;flex:1}
.overview-copy b{display:block}
.overview-copy small{display:block;color:var(--muted);font-size:var(--rh-text-xs);margin-top:var(--rh-space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-chevron{font-size:var(--rh-text-section);color:var(--accent)}
#tripView .trip-tab.active,
:is(#tripView, #discoverScreen) .overview-icon,
:is(#tripView, #discoverScreen) .overview-chevron{color:var(--accent)!important}
#tripView .trip-tab.active::after{background:var(--accent)!important}
.trip-card .trip-icon{background:transparent!important;border:0!important}
.trip-icon-choice button.selected{color:var(--accent)!important;border-color:var(--accent)!important;background:#1d1d21!important;box-shadow:0 0 0 2px var(--accentSoft)!important}
.trip-icon-choice .ti,.trip-card .trip-icon .ti{color:inherit!important}
#travelCalendarScreen .back,#travelCalendarScreen .icon-btn,#travelCalendarScreen .calendar-add-btn,
#travelCalendarScreen .travel-calendar-item-icon,#travelCalendarScreen .travel-calendar-section-icon,
#planScreen .back,#planScreen .icon-btn,#planScreen .plan-icon,#planScreen .plan-card-icon,
#planScreen .document-icon,#planScreen .trip-detail-icon,#planScreen .source-icon,#planScreen .add-btn,#planScreen a.accent{color:var(--accent)!important;border-color:var(--accent)!important}
#travelCalendarScreen .travel-calendar-cell.active{color:var(--accent)!important;border-color:var(--accent)!important;background:var(--accentSoft)!important}
#travelCalendarScreen .travel-calendar-cell.has-items::after{background:var(--accent)!important}
#planScreen .plan-icon svg,#planScreen .plan-card-icon svg,#planScreen .document-icon svg,#planScreen .trip-detail-icon svg,#travelCalendarScreen svg{stroke:currentColor!important;}
#travelCalendarScreen .travel-calendar-cell.active,
#travelCalendarScreen .calendar-day.active,
#travelCalendarScreen .day.active,
#travelCalendarScreen [aria-selected="true"]{background:var(--accentSoft)!important;border-color:var(--accent)!important;box-shadow:none!important}
#travelCalendarScreen .travel-calendar-cell.has-items::after,
#travelCalendarScreen .calendar-day.has-items::after{background:var(--accent)!important}
#planScreen .plan-icon,#planScreen .plan-card-icon,#planScreen .document-icon,
#planScreen .trip-detail-icon,#planScreen .source-icon,#planScreen .add-btn{background:#252528!important;color:var(--accent)!important;border-color:#3a3a40!important;box-shadow:none!important}
#planScreen .selected,#planScreen [aria-selected="true"]{border-color:var(--accent)!important}
#planScreen button.primary,#planScreen .btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--text)!important}
#home .add-trip-card,
#home .add-trip-card .trip-icon,
#home .add-trip-card .add-trip-icon,
#home .add-trip-card svg,
#home .add-trip-card .ti{color:var(--muted)!important;stroke:var(--muted)!important;}
#home .add-trip-card{border-color:#34343a!important}
#homeFab button{background:#303034!important;color:var(--muted)!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
#homeFab button svg{stroke:var(--muted)!important;}
#newTripModal input:focus,#newTripModal select:focus,#newTripModal textarea:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accentSoft)!important}
#newTripModal .trip-icon-choice button.selected{color:var(--accent)!important;border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accentSoft)!important}
#newTripModal button.primary,#newTripModal .btn.primary{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--text)!important}
#newTripModal .accent,#newTripModal a.accent{color:var(--accent)!important}
.overview-row.overview-info{cursor:default}
.overview-row.overview-info:active{transform:none}
.trip-bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);box-sizing:content-box;background:rgba(18,18,18,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(6,1fr);z-index:900;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.trip-bottom-nav.hidden{display:none!important}
.trip-bottom-nav button{border:0;background:transparent;color:var(--muted);border-radius:var(--rh-radius-control);display:flex;align-items:center;justify-content:center;font-size:var(--rh-text-page);padding:var(--rh-space-2)}
.trip-bottom-nav button.active{color:var(--accent);background:var(--accentSoft)}
.trip-bottom-nav .ti{font-size:var(--rh-text-page);line-height:1}
.rh-sources-screen{padding-bottom:var(--rh-scroll-reserve-88)}
.rh-sources-screen h1{margin:0}
.rh-sources-content{display:flow-root}
#travelCalendarScreen .calendar-add-btn{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;text-align:center!important}
.modal-wrap{z-index:2000!important}
.modal{max-height:calc(100dvh - 32px)!important;padding-bottom:calc(var(--rh-space-7) + env(safe-area-inset-bottom))!important}
html.rh-modal-open, body.rh-modal-open{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important;touch-action:none}
body.rh-modal-open .modal-wrap{touch-action:auto;overscroll-behavior:contain}
#bookingFormModal{align-items:flex-start!important;padding-top:max(var(--rh-space-4),env(safe-area-inset-top))!important}
#bookingFormModal .modal{margin-top:0!important}
.modal-wrap{align-items:flex-start!important;justify-content:center!important;padding-top:max(var(--rh-space-4),env(safe-area-inset-top))!important;padding-bottom:max(var(--rh-space-4),env(safe-area-inset-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch}
.modal-wrap .modal{margin:0 auto!important;width:min(var(--rh-page-width),100%)!important;max-height:calc(100dvh - max(36px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--rh-space-7) + env(safe-area-inset-bottom))!important}
html.rh-modal-open,body.rh-modal-open{overflow:hidden!important;overscroll-behavior:none!important}
body.rh-modal-open .trip-bottom-nav{display:none!important}
.trip-bottom-nav{min-height:68px!important;height:auto!important;padding:var(--rh-space-2) var(--rh-space-2) max(var(--rh-space-2),env(safe-area-inset-bottom))!important}
.trip-bottom-nav button{min-height:var(--rh-input-height)!important;min-width:var(--rh-control-height)!important;-webkit-tap-highlight-color:transparent}
.actions button,
.import-source-block .btn,
.import-source-block label.btn,
.booking-start-card{min-height:var(--rh-control-height)}
.plan-list,.idea-list,.place-list,.maps-saved-list,.gyg-saved-list,#sourceList{scroll-margin-bottom:110px}
@media (max-width:390px){.modal-wrap{padding-left:var(--rh-space-2)!important;padding-right:var(--rh-space-2)!important}
.trip-bottom-nav{padding-left:var(--rh-space-1)!important;padding-right:var(--rh-space-1)!important}
.trip-bottom-nav button{padding:var(--rh-space-2) var(--rh-space-1)!important}}
.rh-home-button{width:40px!important;height:40px!important;flex:0 0 40px;display:grid!important;place-items:center!important;padding:0!important;border-radius:var(--rh-radius-control)!important;color:var(--accent)!important}
.rh-home-button .ti{font-size:var(--rh-text-page);line-height:1}
.rh-home-button:active{background:var(--accentSoft)!important}
.trip-bottom-nav .rh-tabler-nav-icon{overflow:visible}
.trip-bottom-nav .rh-tabler-nav-icon{width:var(--rh-icon-navigation)!important;height:var(--rh-icon-navigation)!important;display:block!important;flex:0 0 24px;color:inherit!important;stroke:currentColor!important;stroke-width:var(--rh-icon-stroke)!important;opacity:1}
html:has(body.rh-trip-open),
body.rh-trip-open{height:100dvh;overflow:hidden!important}
body.rh-trip-open main.app,
body.rh-trip-open #travelCalendarScreen,
body.rh-trip-open #planScreen,
body.rh-trip-open #sourcesScreen,
body.rh-trip-open .trip-detail-screen,
body.rh-trip-open .rh-sources-screen{height:calc(100dvh - 83px - env(safe-area-inset-bottom));min-height:0!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--rh-space-7)!important;scrollbar-gutter:stable}
body:not(.rh-trip-open){overflow-y:auto}
#tripBottomNav{display:grid!important;grid-template-columns:repeat(5, minmax(0, 1fr))!important;align-items:stretch!important;justify-content:stretch!important;padding-left:var(--rh-space-2)!important;padding-right:var(--rh-space-2)!important}
#tripBottomNav > button{width:100%!important;margin:0!important;padding-left:var(--rh-space-1)!important;padding-right:var(--rh-space-1)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important}
#tripBottomNav > button .rh-tabler-nav-icon{margin-left:auto!important;margin-right:auto!important}
svg[stroke],
svg [stroke]:not([stroke="none"]){stroke-width:var(--rh-icon-stroke)!important;vector-effect:non-scaling-stroke;}
#tripBottomNav svg{width:var(--rh-icon-navigation)!important;height:var(--rh-icon-navigation)!important;}
.rh-discover-card-icon svg{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;}
:is(#tripView, #discoverScreen) .overview-icon svg{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;fill:none!important;stroke:currentColor!important;stroke-width:var(--rh-icon-stroke)!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
#tripBottomNav > button{position:relative}
#tripBottomNav > button::before{content:"";position:absolute;left:50%;width:22px;height:2px;border-radius:var(--rh-radius-dialog);background:transparent;transform:translateX(-50%);transition:background-color .18s ease, width .18s ease}
#tripBottomNav > button.active::before,
#tripBottomNav > button[aria-current="page"]::before{background:var(--accent);width:26px}
#tripBottomNav.hidden{display:none!important}
:root{--rh-text-xs:12px;--rh-text-sm:13px;--rh-text-md:14px;--rh-text-card:16px;--rh-text-section:28px;--rh-text-page:24px}
small,
.overview-copy small{font-size:var(--rh-text-sm)!important;color:var(--muted)!important}
.overview-copy b{font-size:var(--rh-text-card)!important;color:var(--text)!important}
.rh-back-to-trips{font-size:var(--rh-text-sm)!important;color:var(--muted)!important}
#tripBottomNav > button{font-size:var(--rh-text-xs)!important}
:root{--text:#f4f4f6;--muted:#9fa3ad}
body,
button,
input,
select,
textarea{color:var(--text)}
.overview-copy b,
#discoverScreen .rh-discover-card-title{color:var(--text)!important}
small,
.overview-copy small,
.rh-back-to-trips,
.overview-chevron,
:is(#tripView, #discoverScreen) .overview-chevron,
#discoverScreen .rh-discover-chevron{color:var(--muted)!important}
#overviewTripLocations{display:flex!important;flex-direction:column!important;gap:var(--rh-space-1)!important}
.rh-destination-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--rh-space-2)}
.rh-destination-date{color:var(--muted);opacity:.82;white-space:nowrap}
:is(#tripView, #discoverScreen) .overview-grid,
:is(#tripView, #discoverScreen) .overview-list{gap:var(--rh-space-2)!important}
:is(#tripView, #discoverScreen) .overview-row,
:is(#tripView, #discoverScreen) .overview-card{min-height:64px;padding:var(--rh-space-3) var(--rh-space-4)!important;border-radius:var(--rh-radius-card)!important}
:is(#tripView, #discoverScreen) .overview-icon{width:var(--rh-icon-column)!important;height:var(--rh-icon-column)!important;flex:0 0 42px!important;display:flex!important;align-items:center!important;justify-content:center!important}
:is(#tripView, #discoverScreen) .overview-copy{min-width:0}
:is(#tripView, #discoverScreen) .overview-copy b{display:block;margin:0!important;font-size:var(--rh-text-card)!important;line-height:1.2!important}
:is(#tripView, #discoverScreen) .overview-copy small{display:block;margin-top:var(--rh-space-1)!important;font-size:var(--rh-text-sm)!important;line-height:1.3!important;color:var(--muted)!important}
#tripView .rh-destination-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:var(--rh-space-2)!important;width:100%}
#tripView .rh-destination-date{font-size:var(--rh-text-sm)!important;text-align:right}
:is(#tripView, #discoverScreen) .overview-chevron{margin-left:auto!important;color:var(--muted)!important;opacity:.8}
:root{--rh-space-1:4px;--rh-space-2:8px;--rh-space-3:12px;--rh-space-4:16px;--rh-space-5:20px;--rh-page-heading-gap:var(--rh-space-5)}
:is(#tripView, #discoverScreen) .overview-copy > b + small{margin-top:var(--rh-space-2)!important}
#tripView #overviewTripLocations{margin-top:var(--rh-space-2)!important;gap:var(--rh-space-1)!important}
#tripView .rh-destination-line + .rh-destination-line{padding-top:0!important}
:is(#tripView, #discoverScreen) .overview-row[onclick="openWeather()"] .overview-copy > b + small{margin-top:var(--rh-space-2)!important}
.rh-category-title + .sub,
.rh-category-title + .rh-trip-subtitle,
.rh-category-title + .trip-name{margin-top:var(--rh-space-1)!important}
.rh-page-header{margin-bottom:var(--rh-page-heading-gap)!important}
.rh-page-header + *{margin-top:0!important}
#sourcesScreen .rh-sources-content > :first-child,
#gygImportedItems > :first-child,
#tripitDetailContent > :first-child{margin-top:0!important}
#weatherScreen > .section,
#tripitDetailContent{display:flow-root}
.rh-gyg-list-heading{font-size:var(--rh-text-subsection);margin:var(--rh-space-5) 0 var(--rh-space-3)}
:is(#tripView, #discoverScreen) .trip-overview-cards,
:is(#tripView, #discoverScreen) .overview-grid,
:is(#tripView, #discoverScreen) .overview-list{gap:var(--rh-space-3)!important}
#weatherScreen svg{fill:none!important;stroke:currentColor!important;stroke-width:var(--rh-icon-stroke)!important;stroke-linecap:round!important;stroke-linejoin:round!important;vector-effect:non-scaling-stroke;}
#weatherScreen .weather-icon svg,
#weatherScreen .forecast-icon svg{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;}
.trip-card .trip-icon,
.trip-row .trip-icon,
.tripItem .trip-icon{display:flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;margin-top:0!important}
.trip-card .trip-icon svg,
.trip-row .trip-icon svg,
.tripItem .trip-icon svg{display:block!important;}
.trip-card .trip-name,
.trip-row .trip-name,
.tripItem .trip-name{display:flex!important;align-items:center!important;min-height:24px;line-height:1.2!important}
#weatherScreen .weather-symbol svg{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;display:block;color:var(--text);}
#weatherScreen .weather-mini-icon{width:var(--rh-icon-small)!important;height:var(--rh-icon-small)!important;display:inline-block;vertical-align:-2px;margin-right:var(--rh-space-1);}
#home .trip-header{align-items:flex-start!important}
#home .trip-title{margin:0!important;padding:0!important;line-height:1.15!important}
body.rh-trip-open{padding-bottom:calc(var(--rh-space-11) + env(safe-area-inset-bottom))!important}
#tripBottomNav{min-height:0!important;height:56px!important;box-sizing:border-box!important;padding:var(--rh-space-1) var(--rh-space-2) max(var(--rh-space-1),env(safe-area-inset-bottom))!important}
#tripBottomNav > button{min-height:var(--rh-input-height)!important;height:48px!important;min-width:var(--rh-control-height)!important;padding:var(--rh-space-1) var(--rh-space-1)!important;border-radius:var(--rh-radius-control)!important}
#tripBottomNav svg,
#tripBottomNav .rh-tabler-nav-icon{width:var(--rh-icon-navigation)!important;height:var(--rh-icon-navigation)!important;flex:0 0 24px!important;}
#tripBottomNav > button::before{top:2px!important}
body.rh-trip-open .app,
body.rh-trip-open .screen,
body.rh-trip-open .trip-detail-screen,
body.rh-trip-open .travel-calendar-screen,
body.rh-trip-open .rh-sources-screen{padding-bottom:calc(var(--rh-scroll-reserve-76) + env(safe-area-inset-bottom))!important}
:is(#tripView, #discoverScreen) .overview-icon,
#discoverScreen .overview-icon,
#sourcesScreen .source-logo,
#sourcesScreen .source-icon,
#sourcesScreen .source-icon-box,
#sourcesScreen .import-source-icon{width:var(--rh-icon-column)!important;height:var(--rh-icon-column)!important;flex:0 0 42px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--accent)!important}
:is(#tripView, #discoverScreen) .overview-icon svg,
#discoverScreen .overview-icon svg,
#sourcesScreen .source-logo svg,
#sourcesScreen .source-icon svg,
#sourcesScreen .source-icon-box svg,
#sourcesScreen .import-source-icon svg{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:var(--rh-icon-stroke)!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
#travelCalendarScreen .travel-calendar-day{margin-top:var(--rh-space-5)!important}
#travelCalendarScreen .travel-day-head{align-items:center!important;gap:var(--rh-space-3)!important;margin-bottom:var(--rh-space-4)!important}
#travelCalendarScreen .travel-day-head h2{margin:0!important;font-size:var(--rh-text-section)!important;line-height:1.15!important}
#travelCalendarScreen .rh-day-section{margin-top:var(--rh-space-5)!important}
#travelCalendarScreen .rh-day-section:first-child{margin-top:0!important}
#travelCalendarScreen .rh-day-section-title{margin:0 0 var(--rh-space-2)!important;font-size:var(--rh-text-sm)!important;line-height:1.25!important;font-weight:var(--rh-font-bold)!important;color:var(--accent)!important}
#travelCalendarScreen .rh-day-card-list{display:flex;flex-direction:column;gap:var(--rh-space-2)}
#travelCalendarScreen .rh-day-card-list .calendar-item{margin-top:0!important}
#travelCalendarScreen .rh-day-timeline{display:flex;flex-direction:column}
#travelCalendarScreen .rh-timeline-entry{display:grid;grid-template-columns:48px 16px minmax(0,1fr);column-gap:var(--rh-space-2);align-items:stretch;min-height:64px}
#travelCalendarScreen .rh-timeline-time{padding-top:var(--rh-space-3);text-align:right;font-size:var(--rh-text-sm);line-height:1.25;font-weight:var(--rh-font-bold);color:var(--text);font-variant-numeric:tabular-nums}
#travelCalendarScreen .rh-timeline-rail{position:relative;display:flex;justify-content:center}
#travelCalendarScreen .rh-timeline-rail::before{content:"";position:absolute;top:0;bottom:0;width:1px;background:#34343a}
#travelCalendarScreen .rh-timeline-entry:first-child .rh-timeline-rail::before{top:18px}
#travelCalendarScreen .rh-timeline-entry:last-child .rh-timeline-rail::before{bottom:calc(100% - 19px)}
#travelCalendarScreen .rh-timeline-rail span{position:relative;z-index:1;width:7px;height:7px;margin-top:var(--rh-space-4);border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #19191c}
#travelCalendarScreen .rh-timeline-card{margin-bottom:var(--rh-space-2);padding:var(--rh-space-3) var(--rh-space-3);border:1px solid #2d2d33;border-radius:var(--rh-radius-control);background:#19191c;min-width:0}
#travelCalendarScreen .rh-timeline-dot{color:var(--muted)}
#travelCalendarScreen .rh-calendar-search-wrap{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:var(--rh-space-2);margin-bottom:var(--rh-space-3);padding:0 var(--rh-space-3);border-radius:var(--rh-radius-control)}
#travelCalendarScreen .rh-calendar-search-wrap svg{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;fill:none!important;stroke:var(--muted)!important;stroke-width:var(--rh-icon-stroke)!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
#travelCalendarScreen .rh-calendar-search-wrap input{width:100%;min-width:0;padding:var(--rh-space-3) 0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:var(--rh-text-md)}
#travelCalendarScreen .rh-possibility-section .calendar-region{margin-top:var(--rh-space-4)!important}
#travelCalendarScreen .rh-possibility-section .calendar-region:first-of-type{margin-top:var(--rh-space-3)!important}
:root{--rh-text-subsection:18px;--rh-icon-small:18px;--rh-radius-control:14px}
#travelCalendarScreen .travel-day-head h2,
#planScreen .plan-day-title{font-size:var(--rh-text-subsection)!important;line-height:1.25!important;font-weight:var(--rh-font-bold)!important;letter-spacing:-.02em!important}
.rh-category-header .sub,
#travelCalendarScreen .rh-day-section-title,
#travelCalendarScreen .rh-timeline-time,
#discoverScreen .overview-copy small,
:is(#tripView, #discoverScreen) .overview-copy small{font-size:var(--rh-text-sm)!important}
#travelCalendarScreen .calendar-item-name,
#travelCalendarScreen .rh-calendar-search-wrap input,
#planScreen .booking-start-card b{font-size:var(--rh-text-md)!important}
#discoverScreen .overview-copy b,
:is(#tripView, #discoverScreen) .overview-copy b{font-size:var(--rh-text-card)!important}
#planScreen .plan-heading h3{font-size:var(--rh-text-subsection)!important}
#planScreen .plan-count,
#travelCalendarScreen .calendar-item-hours,
#travelCalendarScreen .calendar-item-details,
#travelCalendarScreen .calendar-region{font-size:var(--rh-text-xs)!important}
#travelCalendarScreen .calendar-item-source,
#planScreen .timeline-date{font-size:var(--rh-text-xs)!important}
#travelCalendarScreen .rh-calendar-search-wrap{border:1px solid #34343a!important;background:#202024!important}
#travelCalendarScreen .rh-calendar-search-wrap input,
#travelCalendarScreen .rh-calendar-search-wrap input[type="search"]{appearance:none!important;-webkit-appearance:none!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;margin:0!important}
#travelCalendarScreen .rh-calendar-search-wrap input:focus,
#travelCalendarScreen .rh-calendar-search-wrap input[type="search"]:focus{border:0!important;outline:0!important;box-shadow:none!important}
:root{--rh-page-gutter:16px;--rh-content-edge:0px;--rh-category-icon-size:28px;--rh-category-icon-column:28px}
main.app,
.screen,
.travel-calendar-screen,
.trip-detail-screen,
.rh-sources-screen{box-sizing:border-box!important;width:100%!important;max-width:var(--rh-page-width)!important;margin-left:auto!important;margin-right:auto!important;padding-left:var(--rh-page-gutter)!important;padding-right:var(--rh-page-gutter)!important}
main.app > section,
.screen > *,
.travel-calendar-screen > *,
.trip-detail-screen > *,
.rh-sources-screen > *{box-sizing:border-box!important;max-width:100%!important;margin-left:var(--rh-content-edge)!important;margin-right:var(--rh-content-edge)!important}
.rh-category-header{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:var(--rh-space-2)!important;margin-top:var(--rh-space-2)!important;padding:0!important;width:100%!important;box-sizing:border-box!important}
.rh-category-header .rh-back-to-trips{appearance:none;border:0;background:transparent;color:var(--muted)!important;padding:var(--rh-space-1) var(--rh-space-1) var(--rh-space-1) 0!important;margin:0!important;min-height:28px;display:inline-flex;align-items:center;gap:var(--rh-space-1);font:inherit;font-size:var(--rh-text-sm)!important;font-weight:var(--rh-font-medium);line-height:1!important;cursor:pointer;opacity:.86}
.rh-category-header .rh-back-chevron{font-size:var(--rh-text-page)!important;font-weight:var(--rh-font-regular)!important;line-height:.8!important;transform:translateY(-1px)}
.rh-category-title{display:grid!important;grid-template-columns:var(--rh-category-icon-column) minmax(0,1fr)!important;align-items:start!important;column-gap:var(--rh-space-2)!important;margin:0!important;padding:0!important;min-width:0}
.rh-category-title .rh-category-icon{width:var(--rh-category-icon-size)!important;height:var(--rh-category-icon-size)!important;justify-self:center!important;align-self:start!important;margin:0!important;transform:translateY(calc((var(--rh-text-section,28px) * 1.15 - var(--rh-category-icon-size)) / 2))!important;color:var(--accent)!important;stroke:currentColor!important;stroke-width:var(--rh-icon-stroke)!important;}
.rh-category-title .rh-category-icon .ti{font-size:var(--rh-category-icon-size)!important;line-height:1!important;}
.rh-category-title > h1{margin:0!important;padding:0!important;font-size:var(--rh-text-section)!important;line-height:1.15!important;font-weight:var(--rh-font-bold)!important;color:var(--text)!important}
#weatherScreen{height:auto!important;max-height:none!important;min-height:100vh!important;overflow:visible!important;touch-action:pan-y!important}
body:has(#weatherScreen:not(.hidden)),
html:has(#weatherScreen:not(.hidden)){overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;max-height:none!important;touch-action:pan-y!important}
#googlePortabilityUpdateButton:disabled{opacity:.45;cursor:not-allowed}
.booking-recognition-hint{margin-top:var(--rh-space-2);padding:var(--rh-space-2) var(--rh-space-3);border:1px solid #34343a;border-radius:var(--rh-radius-control);background:#202024;color:var(--muted);font-size:var(--rh-text-sm);line-height:1.4}
:is(h1,h2,h3,.rh-heading,.rh-page-header,.booking-detail-head,.plan-heading,.tripit-edit-section){background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.rh-document-viewer{width:min(var(--rh-page-width),100%);background:var(--bg);border:1px solid var(--line);border-radius:var(--rh-radius-control);padding:var(--rh-space-4);max-height:calc(100dvh - 32px);overflow:auto}
.rh-document-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--rh-space-3);margin-bottom:var(--rh-space-4)}
.rh-document-viewer-body img,.rh-document-viewer-body canvas{display:block;width:100%;height:auto;margin-bottom:var(--rh-space-3)}
.rh-document-viewer-head h2{font-size:var(--rh-text-subsection);overflow-wrap:anywhere;margin:0}
.btn[hidden]{display:none!important}
.btn-compact{min-height:var(--rh-control-height);padding:var(--rh-space-2) var(--rh-space-3);font-size:var(--rh-text-sm);margin-top:var(--rh-space-2)}
#reisehubVersion{max-width:var(--rh-page-width);margin:var(--rh-space-4) auto 0;padding:var(--rh-space-2) 0;text-align:center;color:var(--muted);font-size:var(--rh-text-xs);opacity:.72}
.rh-documents-section{margin-top:var(--rh-space-5)}
.rh-trip-selected-icon{display:inline-grid;place-items:center;color:currentColor}
.rh-trip-selected-icon .ti{font-size:var(--rh-text-page);line-height:1;color:inherit}
.rh-documents-section h2{font-size:var(--rh-text-subsection);line-height:1.25;margin:0 0 var(--rh-space-2);font-weight:var(--rh-font-bold)}
.rh-document-group{margin-top:var(--rh-space-4)}
.rh-document-group-title{color:var(--muted);font-size:var(--rh-text-sm);font-weight:var(--rh-font-semibold);margin:0 0 var(--rh-space-2)}
.rh-document-row{width:100%;display:flex;align-items:center;gap:var(--rh-space-3);text-align:left;background:var(--surface2);border:1px solid var(--line);border-radius:var(--rh-radius-control);color:var(--text);padding:var(--rh-space-3) var(--rh-space-4);margin:0 0 var(--rh-space-2);font:inherit}
.rh-document-row svg{width:var(--rh-category-icon-size);height:var(--rh-category-icon-size);flex:0 0 var(--rh-icon-small);color:var(--accent);stroke:currentColor;}
.rh-document-open{flex:1;min-width:0;display:flex;align-items:center;gap:var(--rh-space-3);border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.rh-document-row span{min-width:0;overflow-wrap:anywhere}
.rh-document-delete{position:static;flex-shrink:0}
