@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#faf9f6;--surface:#fffefa;--white:#fff;--text:#11243a;--muted:#758294;--line:#e8e8e1;--primary:#416653;--primary-hover:#325340;--primary-soft:#eaf0e8;--secondary:#dce6da;--orange:#f2a322;--red:#e34b54;--shadow:0 8px 35px #17352b08;--radius:18px;--nav-width:232px;--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
body.dark{--bg:#101816;--surface:#15201b;--white:#19251f;--text:#f0f3ea;--muted:#9eafa4;--line:#2a3931;--primary:#86a58b;--primary-hover:#a0b7a0;--primary-soft:#233c2b;--secondary:#304b36;--shadow:0 8px 35px #00000015;color-scheme:dark}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button{border:0;background:none}
button:disabled{cursor:wait;opacity:.55}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{line-height:1.15}
h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:-.8px}
h1{font-size:38px}
h2{font-size:28px}
h3{font-size:24px}
img{max-width:100%;display:block;object-fit:cover}
svg{display:block}
button:focus-visible,a:focus-visible{outline:3px solid #9cbea0;outline-offset:4px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #41665312}
input,select,textarea{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:48px;padding:12px 14px;width:100%;transition:border-color .2s,box-shadow .2s}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.9}
input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--primary)}
textarea{min-height:100px;resize:vertical}
label{font-weight:500;font-size:13px;display:block}
label>input,label>select,label>textarea{margin-top:7px}
small{font-size:12px}
::selection{background:var(--secondary)}
.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}
.icon-sm .icon{width:17px;height:17px}
.brand{display:inline-flex;align-items:center;gap:8px}
.brand-mark{width:37px;display:block}
.brand-word{font:700 32px/1 Georgia,serif;letter-spacing:-1.1px}
.brand-mark svg{width:100%}
.muted{color:var(--muted)}
.text-primary{color:var(--primary)}
.text-danger{color:var(--red)}
.text-small{font-size:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--muted)}
.loading-mark{font-size:60px;color:var(--primary);animation:breathe 1.4s infinite}
.app-shell{min-height:100vh}
.sidebar{width:var(--nav-width);position:fixed;inset:0 auto 0 0;padding:39px 25px 25px;border-right:1px solid var(--line);background:var(--surface);z-index:50;display:flex;flex-direction:column}
.sidebar .brand{margin:0 9px 52px}
.sidebar .brand-word{font-size:29px}
.sidebar .brand-mark{width:32px}
.side-nav{display:flex;flex-direction:column;gap:9px}
.side-nav button{display:flex;align-items:center;gap:14px;border-radius:11px;padding:13px 16px;text-align:left;color:var(--muted);font-size:14px;font-weight:500;transition:all .2s}
.side-nav button:hover{background:var(--primary-soft);color:var(--primary)}
.side-nav button.active{color:var(--primary);background:var(--primary-soft);font-weight:650}
.side-nav .active .icon{stroke-width:2}
.sidebar-footer{margin-top:auto}
.side-note{padding:22px 15px;border-radius:14px;background:var(--primary-soft);margin-bottom:22px}
.side-note .icon{color:var(--primary);width:24px;height:24px;margin-bottom:11px}
.side-note strong{font-family:Georgia,serif;display:block;font-size:18px;line-height:1.3;margin-bottom:8px}
.side-note p{font-size:11px;color:var(--muted);line-height:1.65}
.sidebar-user{display:flex;align-items:center;gap:10px;width:100%;padding:10px 1px}
.sidebar-user strong{font-size:12px;display:block;text-align:left}
.sidebar-user small{display:block;color:var(--muted);font-size:10px;text-align:left;margin-top:1px}
.sidebar-user>.icon{margin-left:auto;width:17px}
.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--secondary);color:var(--primary);font-weight:600;flex-shrink:0;width:38px;height:38px;object-fit:cover}
.avatar .icon{width:19px;height:19px}
.app-main{margin-left:var(--nav-width)}
.topbar{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:var(--bg)}
.topbar-path{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}
.topbar-path span:last-child{color:var(--text)}
.topbar-path .icon{width:13px;height:13px}
.topbar-right{display:flex;align-items:center;gap:20px}
.topbar-date{font-size:12px;color:var(--muted)}
.icon-button{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.icon-button:hover{background:var(--primary-soft)}
.icon-button.frosted{background:#fffef9eb;color:#11243a;box-shadow:0 2px 8px #1625360a}
.icon-button.small{width:30px;height:30px}
.icon-button.small .icon{width:17px;height:17px}
.icon-button.heart.active{color:var(--red)}
.icon-button.heart.active .icon{fill:currentColor}
.mobile-topbar,.bottom-nav{display:none}
.page{padding:39px 44px 60px;max-width:1480px;margin:auto;animation:enter .25s ease}
.page.narrow{max-width:920px}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}
.page-heading p{margin-top:10px;color:var(--muted);font-size:14px}
.heading-actions{display:flex;gap:10px;align-items:center;padding-top:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:45px;padding:12px 21px;border-radius:10px;font-weight:550;font-size:13px;line-height:1.35;transition:background .2s,transform .2s;white-space:nowrap}
.button:hover{transform:translateY(-1px)}
.button.primary{background:var(--primary);color:var(--surface);border:1px solid var(--primary)}
body.dark .button.primary{color:#102215}
.button.primary:hover{background:var(--primary-hover)}
.button.outline{border:1px solid var(--line);background:var(--surface)}
.button.outline:hover{border-color:var(--primary)}
.button.soft{background:var(--primary-soft);color:var(--primary)}
.button.danger{background:#fce8e8;color:#b82d3c}
.button.full{width:100%}
.button.small{min-height:35px;padding:8px 12px;font-size:12px}
.button .icon{width:18px;height:18px}
.text-button{padding:5px 0;display:inline-flex;align-items:center;gap:7px;color:var(--primary);font-size:12px;font-weight:550}
.text-button .icon{width:16px;height:16px}
.search-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.search-field{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:0 15px;min-height:49px;flex:1;color:var(--muted)}
.search-field input{min-height:47px;border:0;padding:10px 0;background:transparent;box-shadow:none;font-size:13px}
.search-field:focus-within{border-color:var(--primary)}
.search-field .icon{width:19px;height:19px}
.search-field.soft{background:var(--line);border:0}
.search-field.soft input{min-height:40px}
.location-select{display:flex;align-items:center;gap:8px;min-height:49px;padding:0 17px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-size:13px}
.location-select .icon:last-child{width:15px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(240px,1fr);gap:22px}
.destination-feature{position:relative;border-radius:20px;overflow:hidden;min-height:360px;background:var(--secondary);isolation:isolate}
.destination-feature>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;transition:transform .6s}
.destination-feature:hover>img{transform:scale(1.035)}
.destination-feature:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07190d08 20%,#0b1f176e 65%,#0a1a15bf 100%);z-index:-1}
.feature-top{display:flex;justify-content:space-between;align-items:center;padding:22px;color:#fff}
.feature-top .photo-chip{display:flex;align-items:center;gap:6px;font-size:11px;background:#fffc;padding:7px 10px;border-radius:25px;color:#183a2b}
.photo-chip .icon{width:14px;height:14px}
.feature-bottom{position:absolute;bottom:26px;left:28px;right:28px;color:#fff}
.feature-bottom .location{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.feature-bottom .location .icon{width:14px;height:14px}
.feature-bottom h2{font-size:43px;font-weight:500;letter-spacing:-1px}
.feature-bottom p{max-width:380px;font-size:12px;color:#fffd;margin-top:10px;line-height:1.6}
.feature-bottom .feature-cta{position:absolute;bottom:3px;right:0;background:#fff;min-height:41px;color:#244d38}
.journey-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}
.journey-cover{height:130px;position:relative;background:var(--secondary);overflow:hidden}
.journey-cover>img{width:100%;height:100%;object-position:center 44%}
.journey-cover .journey-label{position:absolute;top:15px;left:17px;border-radius:5px;background:#fffefae6;color:#173b2a;padding:5px 8px;font-size:10px;font-weight:550}
.journey-body{padding:21px 22px;flex:1;display:flex;flex-direction:column}
.journey-body h3{font-size:26px;letter-spacing:-.8px}
.journey-location{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin-top:7px}
.journey-location .icon{width:14px;height:14px}
.journey-divider{height:1px;background:var(--line);margin:18px 0}
.journey-meta{display:flex;gap:20px;margin-bottom:19px}
.journey-meta span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}
.journey-meta .icon{width:15px;height:15px;color:var(--primary)}
.journey-body .button{margin-top:auto}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:34px 0 20px}
.section-heading h2{font-size:26px}
.section-heading p{margin-top:5px;font-size:12px;color:var(--muted)}
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0;white-space:nowrap}
.tabs::-webkit-scrollbar{display:none}
.tab{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:10px 17px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;min-height:39px;transition:all .2s}
.tab .icon{width:16px;height:16px}
.tab.active{border-color:var(--primary);background:var(--primary);color:var(--surface)}
body.dark .tab.active{color:#13251a}
.category-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.category-row .tabs{flex:1}
.tiny-note{color:var(--muted);font-size:10px;white-space:nowrap}
.place-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px}
.place-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0}
.place-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #17352b12}
.place-card .card-photo{height:175px;position:relative;overflow:hidden;background:var(--secondary)}
.card-photo>img{width:100%;height:100%;transition:transform .4s}
.place-card:hover .card-photo>img{transform:scale(1.04)}
.card-photo .icon-button{position:absolute;right:11px;top:11px;width:31px;height:31px}
.card-photo .icon-button .icon{width:17px;height:17px}
.card-content{padding:16px 15px 15px;display:block;text-align:left;width:100%}
.card-topline{font-size:10px;color:var(--muted);margin-bottom:6px}
.card-content h3{font-family:var(--font);font-size:14px;font-weight:650;letter-spacing:-.3px;line-height:1.35}
.rating-row{display:flex;align-items:center;gap:5px;font-size:11px;margin-top:8px}
.rating-row .icon{width:13px;height:13px;fill:var(--orange);color:var(--orange)}
.rating-row .muted{font-size:10px}
.card-meta{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:11px;font-size:10px;color:var(--muted)}
.card-meta span{display:flex;align-items:center;gap:5px}
.card-meta .icon{width:13px;height:13px}
.inspiration-band{display:flex;align-items:center;gap:22px;margin-top:33px;border-top:1px solid var(--line);padding-top:25px}
.inspiration-icon{width:46px;height:46px;display:flex;justify-content:center;align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary);flex-shrink:0}
.inspiration-band strong{font:600 20px Georgia,serif}
.inspiration-band p{font-size:12px;color:var(--muted);margin-top:5px}
.inspiration-band .text-button{margin-left:auto;white-space:nowrap}
.demo-indicator{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;line-height:1.5}
.demo-indicator:before{content:'';width:5px;height:5px;background:var(--primary);border-radius:50%;flex-shrink:0}
.page>.demo-indicator{margin-top:26px}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:26px 0 10px}
.list-location{display:flex;align-items:center;gap:11px}
.list-location>.icon{width:22px;height:22px;color:var(--primary)}
.list-location strong{display:block;font-weight:650}
.list-location small{display:block;margin-top:3px;color:var(--muted)}
.sort-select{border:0;background:none;min-height:35px;width:auto;font-size:12px;padding:5px 22px 5px 5px;box-shadow:none}
.saved-list{border-top:1px solid var(--line)}
.saved-row{display:flex;align-items:center;gap:17px;border-bottom:1px solid var(--line);padding:17px 0;position:relative}
.saved-photo{width:103px;height:100px;flex-shrink:0;border-radius:11px;overflow:hidden;padding:0;background:var(--secondary)}
.saved-photo img{width:100%;height:100%}
.saved-info{flex:1;min-width:0;text-align:left;padding:0}
.saved-info h3{font-family:var(--font);font-weight:650;font-size:16px;letter-spacing:-.3px}
.saved-info>p{font-size:12px;color:var(--muted);margin-top:4px}
.saved-info .rating-row{margin-top:5px;font-size:12px}
.saved-info .rating-row .muted{font-size:11px}
.saved-subrow{display:flex;gap:17px;align-items:center;font-size:11px;color:var(--muted);margin-top:6px}
.saved-subrow>span{display:flex;align-items:center;gap:5px}
.saved-subrow .icon{width:14px;height:14px}
.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;background:var(--primary-soft);color:var(--primary);font-size:10px;padding:4px 9px;white-space:nowrap}
.saved-actions{display:flex;gap:11px;align-items:center}
.saved-actions .grip{color:var(--muted);cursor:grab}
.saved-row.dragging,.activity-row.dragging{opacity:.45}
.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:65px 25px;min-height:260px}
.empty-icon{width:72px;height:72px;background:var(--primary-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:20px}
.empty-icon .icon{width:30px;height:30px}
.empty-state h2{font-size:25px}
.empty-state p{color:var(--muted);font-size:13px;max-width:340px;margin:12px 0 21px}
.detail-page{max-width:1180px}
.back-heading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:22px}
.back-heading .icon{width:15px;height:15px}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:37px}
.detail-visual{position:relative;height:590px;border-radius:20px;overflow:hidden;background:var(--secondary);position:sticky;top:25px}
.detail-visual>img{width:100%;height:100%}
.detail-visual .image-tools{position:absolute;top:20px;right:20px;display:flex;gap:10px}
.detail-visual .image-credit{position:absolute;bottom:16px;left:17px;background:#fffefae8;color:#30483b;padding:4px 9px;font-size:10px;border-radius:5px}
.detail-copy{padding:6px 0}
.detail-title{display:flex;justify-content:space-between;align-items:center;gap:15px}
.detail-title h1{font-size:39px}
.detail-title .badge{font-size:11px;padding:7px 12px}
.detail-location{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin-top:13px}
.detail-location .icon{width:17px;height:17px}
.detail-copy>.rating-row{font-size:13px;margin-top:13px}
.detail-copy>.rating-row .muted{font-size:12px}
.detail-copy>.rating-row .icon{width:17px;height:17px}
.detail-metrics{display:flex;gap:18px;margin:21px 0;font-size:12px;color:var(--muted);flex-wrap:wrap}
.detail-metrics>span{display:flex;align-items:center;gap:6px}
.detail-metrics .icon{width:18px;height:18px;color:var(--text)}
.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:23px}
.tag-row>span{padding:8px 12px;border-radius:20px;background:var(--line);font-size:11px}
.detail-description{font-size:14px;line-height:1.75;color:var(--muted)}
.tip-box{background:var(--primary-soft);border-radius:13px;padding:17px;display:flex;align-items:flex-start;gap:12px;margin:23px 0}
.tip-icon{width:35px;height:35px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}
.tip-box strong{font-size:12px;color:var(--primary)}
.tip-box p{font-size:12px;margin-top:4px;color:var(--muted);line-height:1.6}
.useful-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 15px}
.useful-heading h3{font-family:var(--font);font-size:16px;letter-spacing:-.3px}
.useful-info{display:grid;gap:16px}
.info-row{display:flex;align-items:flex-start;gap:12px}
.info-row>.icon{color:var(--primary);width:19px;height:19px;margin-top:2px}
.info-row strong{display:block;font-size:12px;font-weight:550}
.info-row p{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.6}
.detail-actions{display:flex;gap:10px;margin-top:27px;padding-top:22px;border-top:1px solid var(--line)}
.detail-actions .button{flex:1;font-size:12px;padding:12px}
.section-back{display:flex;align-items:center;gap:14px;margin-bottom:29px}
.section-back h1{font-size:31px}
.section-back .icon-button{border:1px solid var(--line);background:var(--surface);width:35px;height:35px}
.form-surface{max-width:620px;margin:auto}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.form-stack{display:flex;flex-direction:column;gap:20px}
.form-section{margin-bottom:31px}
.form-section h3{font-family:var(--font);font-size:14px;font-weight:650;letter-spacing:-.1px;margin-bottom:4px}
.form-section>p{color:var(--muted);font-size:12px;margin-bottom:14px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.choice{border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:12px 10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;min-height:43px}
.choice .icon{width:17px;height:17px}
.choice.active{background:var(--primary);border-color:var(--primary);color:var(--surface)}
body.dark .choice.active{color:#16291b}
.helper{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.6}
.profile-page{max-width:1000px}
.profile-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:32px}
.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;align-self:start;text-align:center}
.profile-cover{height:150px;width:100%;object-position:center}
.profile-identity{padding:0 23px 27px}
.profile-avatar{width:86px;height:86px;border:4px solid var(--surface);margin:-43px auto 15px;font-size:29px;position:relative}
.profile-identity h2{font-size:25px}
.profile-identity>p{color:var(--muted);font-size:12px;margin-top:8px}
.profile-identity>.badge{margin-top:16px}
.profile-stat{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:21px 15px}
.profile-stat strong{font-size:21px;font-family:Georgia,serif;display:block}
.profile-stat small{font-size:10px;color:var(--muted);display:block;margin-top:2px}
.settings-list{border-top:1px solid var(--line)}
.settings-row{width:100%;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:17px 4px;text-align:left}
.settings-row>.icon:first-child{width:21px;height:21px}
.settings-row>div{flex:1}
.settings-row strong{display:block;font-weight:550;font-size:12px}
.settings-row p{font-size:11px;color:var(--muted);margin-top:3px}
.settings-row>.icon:last-child{width:15px;height:15px;color:var(--muted)}
.settings-row:hover{background:var(--primary-soft)}
.account-callout{margin-top:24px;padding:20px;background:var(--primary-soft);border-radius:12px}
.account-callout strong{font-family:Georgia,serif;font-size:19px}
.account-callout p{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.65}
.account-callout .button{margin-top:15px}
.profile-form-avatar{text-align:center;margin-bottom:30px}
.profile-form-avatar .avatar{width:85px;height:85px;font-size:27px;margin:0 auto 12px}
.profile-form-avatar .text-button{font-size:11px}
.settings-description{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:26px}
.toggle-row{display:flex;gap:17px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--line)}
.toggle-row:first-child{padding-top:3px}
.toggle-row>.icon{width:23px;height:23px;margin-top:2px}
.toggle-row>div{flex:1}
.toggle-row strong{font-size:13px;font-weight:550}
.toggle-row p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:7px;max-width:350px}
.toggle{width:37px;height:22px;border-radius:15px;background:#c2c8c1;position:relative;flex-shrink:0;margin-top:1px;padding:0;transition:background .2s}
.toggle:after{content:'';width:16px;height:16px;border-radius:50%;position:absolute;left:3px;top:3px;background:#fff;box-shadow:0 1px 4px #0001;transition:left .2s}
.toggle[aria-checked=true]{background:var(--primary)}
.toggle[aria-checked=true]:after{left:18px}
.settings-actions{margin-top:35px}
.option-list{margin-top:18px}
.option-row{display:flex;align-items:center;gap:12px;width:100%;min-height:53px;border-bottom:1px solid var(--line);text-align:left}
.option-row .flag{font-size:24px;line-height:1;width:33px;flex-shrink:0}
.option-row strong{font-size:12px;font-weight:450;flex:1}
.option-row .currency-symbol{font-size:11px;color:var(--muted)}
.radio{border:1px solid #aac1b0;width:16px;height:16px;border-radius:50%;margin-left:12px;flex-shrink:0;position:relative}
.selected .radio{background:var(--primary);border-color:var(--primary)}
.selected .radio:after{content:'';position:absolute;width:4px;height:4px;background:var(--surface);left:5px;top:5px;border-radius:50%}
.info-banner{display:flex;align-items:flex-start;gap:13px;background:var(--primary-soft);padding:17px;border-radius:11px;margin-bottom:22px}
.info-banner .icon{color:var(--primary)}
.info-banner strong{font-size:12px}
.info-banner p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}
.theme-preview{border-radius:16px;background:linear-gradient(165deg,#284854,#101f30);height:195px;overflow:hidden;position:relative;margin-bottom:24px}
.theme-preview:before{content:'';position:absolute;width:65px;height:65px;top:38px;left:calc(50% - 32px);border-radius:50%;background:#f4eddb;box-shadow:0 0 80px #f2e9d140}
.theme-preview:after{content:'';position:absolute;width:220%;height:200px;background:#132c37;bottom:-70px;left:-50%;clip-path:polygon(0 80%,13% 41%,22% 64%,34% 14%,43% 51%,54% 9%,66% 61%,78% 32%,100% 75%,100% 100%,0 100%)}
.theme-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.theme-choice{border:1px solid var(--line);border-radius:10px;padding:15px;display:flex;align-items:center;justify-content:center;gap:11px}
.theme-choice.active{background:var(--primary);color:var(--surface);border-color:var(--primary)}
.wizard-page{max-width:1000px}
.wizard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.step-progress{display:flex;align-items:center;gap:7px}
.step-progress span{width:35px;height:4px;background:var(--line);border-radius:5px}
.step-progress span.done{background:var(--primary)}
.step-label{color:var(--muted);font-size:10px}
.wizard-content{max-width:680px;margin:auto}
.wizard-content>.section-back{margin-bottom:12px}
.wizard-description{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:25px;max-width:480px}
.destination-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0 26px}
.destination-tile{height:155px;position:relative;overflow:hidden;border-radius:12px;background:var(--secondary);padding:0;text-align:left}
.destination-tile:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#102819b8)}
.destination-tile img{width:100%;height:100%;transition:transform .4s}
.destination-tile:hover img{transform:scale(1.06)}
.destination-tile strong{position:absolute;bottom:13px;left:13px;font-size:13px;color:#fff;z-index:1}
.subheading{font-weight:600;font-size:13px;margin-bottom:10px}
.country-row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 4px;border-bottom:1px solid var(--line);font-size:13px}
.country-row>.flag{font-size:26px;line-height:1}
.country-row>.icon{margin-left:auto;width:16px;height:16px}
.country-row:hover{color:var(--primary)}
.country-selected{display:flex;align-items:center;gap:12px;margin:24px 0 27px;font-size:18px;font-weight:600}
.country-selected .flag{font-size:31px}
.country-selected .text-button{margin-left:auto}
.chip-grid{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:37px;border:1px solid var(--line);border-radius:20px;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}
.chip.active{background:var(--primary);border-color:var(--primary);color:var(--surface)}
.chip .icon{width:13px;height:13px}
.wizard-footer{margin-top:30px;display:flex;gap:12px}
.wizard-footer .button{flex:1}
.lodging-row{padding:15px;display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
.lodging-row img{width:73px;height:75px;border-radius:8px;background:var(--secondary)}
.lodging-row>div{flex:1}
.lodging-row strong{font-size:13px}
.lodging-row p{font-size:11px;color:var(--muted);margin-top:4px}
.lodging-row .icon-button{width:31px}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}
.number-control{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:10px 16px;max-width:280px;background:var(--surface)}
.number-control button{width:35px;height:35px;border-radius:50%;background:var(--primary-soft);display:flex;justify-content:center;align-items:center;color:var(--primary)}
.number-control strong{font-size:20px;font-weight:500}
.traveler-control{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}
.traveler-control>div:first-child strong{font-size:13px}
.traveler-control>div:first-child p{font-size:11px;color:var(--muted);margin-top:4px}
.traveler-control .number-control{width:140px}
.discovery-wrap{max-width:460px;margin:auto}
.discovery-card{border:1px solid var(--line);border-radius:19px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);animation:enter .3s ease}
.discovery-photo{height:320px;width:100%;position:relative}
.discovery-photo img{width:100%;height:100%}
.discovery-photo .badge{position:absolute;left:15px;bottom:15px;background:#fffefae8;color:#234a33}
.discovery-copy{padding:23px}
.discovery-copy h2{font-size:31px}
.discovery-copy .detail-location{font-size:12px;margin-top:10px}
.discovery-copy .detail-metrics{margin:17px 0}
.discovery-copy .tag-row{margin-bottom:0}
.swipe-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin:25px 0 10px}
.swipe-button{width:61px;height:61px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 15px #153a2310}
.swipe-button .icon{width:27px;height:27px}
.swipe-button.reject{color:var(--red)}
.swipe-button.accept{color:var(--primary)}
.swipe-button.accept .icon{fill:currentColor}
.swipe-button.info{width:43px;height:43px;color:var(--muted)}
.swipe-button.info .icon{width:21px;height:21px}
.discovery-counter{text-align:center;font-size:11px;color:var(--muted);margin-top:15px}
.config-numbers{display:flex;gap:9px;margin:15px 0 25px}
.config-numbers .choice{flex:1;font-size:15px}
.config-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.config-types .choice{flex-direction:column;gap:9px;padding:15px 7px;font-size:11px}
.config-types .choice .icon{width:23px;height:23px}
.config-toggles{margin-top:27px}
.config-toggles .toggle-row{padding:12px 0;border:0;align-items:center}
.config-toggles .toggle-row strong{font-size:12px;font-weight:450}
.config-toggles .toggle{margin:0}
.trip-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.trip-header p{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:7px;margin-top:11px}
.trip-header p .icon{width:14px;height:14px}
.trip-picker{margin-top:21px;max-width:320px;font-size:12px;min-height:39px;padding:8px 12px}
.day-tabs{display:flex;gap:10px;margin:26px 0;overflow:auto;padding-bottom:2px;scrollbar-width:none}
.day-tab{border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:94px;padding:13px 15px;text-align:left}
.day-tab strong{font-size:12px;font-weight:600;display:block}
.day-tab small{font-size:10px;color:var(--muted);margin-top:5px;display:block}
.day-tab.active{background:var(--primary);color:var(--surface);border-color:var(--primary)}
.day-tab.active small{color:inherit;opacity:.8}
.itinerary-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:32px}
.day-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:5px 0 23px}
.day-heading h2{font-size:25px}
.day-heading p{font-size:11px;color:var(--muted);margin-top:8px}
.activity-list{position:relative;padding-left:34px}
.activity-list:before{content:'';position:absolute;left:10px;top:30px;bottom:44px;width:1px;border-left:1px dashed #b6c5b6}
.activity-row{position:relative;border:1px solid var(--line);border-radius:13px;padding:16px;background:var(--surface);margin-bottom:22px}
.activity-number{width:23px;height:23px;border-radius:50%;background:var(--primary);color:var(--surface);display:flex;align-items:center;justify-content:center;font-size:10px;position:absolute;left:-35px;top:30px}
.activity-main{display:flex;gap:13px;align-items:center}
.activity-main img{width:77px;height:82px;border-radius:8px;background:var(--secondary)}
.activity-info{flex:1;text-align:left;padding:0}
.activity-info h3{font-family:var(--font);font-size:13px;font-weight:650;letter-spacing:-.2px;line-height:1.4}
.activity-info .time{font-size:11px;color:var(--primary);margin-top:7px}
.activity-info .duration{font-size:10px;color:var(--muted);margin-top:3px}
.activity-main>.icon-button{width:26px;height:26px}
.activity-main>.icon-button .icon{width:17px;height:17px}
.walk-divider{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin:-9px 0 15px 12px}
.walk-divider .icon{width:15px;height:15px}
.activity-expanded{margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}
.activity-expanded .helper{margin-top:0}
.activity-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.activity-tools>div{display:flex;gap:5px}
.activity-tools .text-button{font-size:10px}
.free-time{display:flex;gap:13px;align-items:center;padding:15px;margin-left:0;color:var(--muted)}
.free-time>span{width:46px;height:46px;background:var(--line);display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}
.free-time strong{color:var(--text);font-size:12px;font-weight:550}
.free-time p{font-size:10px;margin-top:5px}
.add-activity{width:calc(100% - 34px);margin-left:34px;margin-top:12px}
.trip-aside{align-self:start;position:sticky;top:25px}
.trip-overview{border:1px solid var(--line);border-radius:15px;padding:23px;background:var(--surface)}
.trip-overview h3{font-size:21px;margin-bottom:18px}
.trip-fact{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.trip-fact .icon{color:var(--primary);width:18px;height:18px}
.trip-fact:last-of-type{border:0}
.trip-overview>.button{margin-top:18px}
.trip-tip{padding:21px 0;color:var(--muted);display:flex;gap:10px;font-size:11px;line-height:1.7}
.trip-tip .icon{color:var(--primary);margin-top:2px;width:18px}
.trip-list-switch{display:flex;background:var(--line);border-radius:10px;padding:3px;gap:3px;margin-bottom:22px}
.trip-list-switch button{padding:8px 16px;border-radius:8px;font-size:11px;flex:1;display:flex;align-items:center;justify-content:center;gap:7px}
.trip-list-switch button.active{background:var(--surface);box-shadow:0 1px 6px #00000008}
.trip-list-switch .icon{width:15px;height:15px}
.map-preview{border-radius:15px;overflow:hidden;background:var(--primary-soft);padding:38px 25px;text-align:center;border:1px solid var(--line);margin-bottom:23px}
.map-preview>.icon{width:50px;height:50px;margin:0 auto 15px;color:var(--primary)}
.map-preview h3{font-size:23px}
.map-preview p{font-size:12px;color:var(--muted);margin:12px auto 20px;max-width:310px;line-height:1.7}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--surface)}
.auth-scene{background:var(--secondary);position:relative;min-height:100vh;isolation:isolate;display:flex;align-items:flex-start;justify-content:center;padding-top:110px;text-align:center}
.auth-scene>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-position:center}
.auth-scene:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#fff9ebd9 0,#fff9eb50 35%,transparent 70%)}
.auth-scene .brand{color:#11243a}
.auth-scene .brand-word{font-size:49px}
.auth-scene .brand-mark{width:49px}
.auth-scene p{font-size:14px;margin-top:16px;color:#11243a}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:60px 45px}
.auth-form{width:100%;max-width:360px}
.auth-form>.brand{margin-bottom:42px}
.auth-form>.brand .brand-word{font-size:28px}
.auth-form h1{font-size:32px}
.auth-form>.muted{font-size:12px;margin:12px 0 27px;line-height:1.7}
.auth-form .form-stack{gap:17px}
.auth-form label{font-size:11px}
.auth-form input{min-height:44px;font-size:12px}
.password-field{position:relative}
.password-field input{padding-right:43px}
.password-field .icon-button{position:absolute;right:4px;top:10px;width:34px;height:34px}
.password-field .icon{width:17px;height:17px}
.auth-form .button{min-height:45px}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:10px;margin:21px 0}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}
.google-mark{font:700 19px Arial,sans-serif;color:#4285f4;letter-spacing:-1px}
.auth-footer{text-align:center;font-size:11px;color:var(--muted);margin-top:24px}
.auth-footer button{color:var(--primary);font-weight:550;padding:0 3px;font-size:11px}
.auth-demo{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;text-align:center}
.auth-demo .text-button{font-size:11px}
.auth-message{font-size:12px;padding:13px;border-radius:9px;background:var(--primary-soft);color:var(--primary);margin-bottom:18px;line-height:1.6}
.auth-message.error{background:#faebea;color:#a73540}
.auth-legal{font-size:10px;line-height:1.7;color:var(--muted);margin-top:22px;text-align:center}
.modal-overlay{position:fixed;inset:0;background:#0c211950;backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;animation:fade .2s ease}
.modal{width:100%;max-width:470px;max-height:calc(100dvh - 50px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 20px 100px #05120a30;position:relative;animation:enter .2s ease}
.modal.large{max-width:650px}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.modal-header h2{font-size:27px}
.modal-header .icon-button{width:31px;height:31px}
.modal>p{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:23px}
.modal .form-stack{gap:16px}
.modal .form-grid{gap:14px}
.modal-actions{display:flex;gap:10px;margin-top:25px}
.modal-actions .button{flex:1}
.modal-place{display:flex;align-items:center;gap:13px;background:var(--primary-soft);border-radius:10px;padding:12px;margin-bottom:20px}
.modal-place img{width:55px;height:55px;border-radius:7px}
.modal-place strong{font-size:13px}
.modal-place p{font-size:11px;color:var(--muted);margin-top:4px}
.modal-note{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.65}
.modal-list{max-height:350px;overflow:auto}
.modal-list .saved-row{padding:12px 0;gap:13px}
.modal-list .saved-photo{width:58px;height:59px}
.modal-list .saved-info h3{font-size:13px}
.modal-list .saved-info>p{font-size:11px}
.share-options{display:grid;gap:22px}
.share-option{display:flex;gap:15px;align-items:flex-start}
.share-option>.share-icon{width:40px;height:40px;background:var(--primary-soft);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}
.share-option>div{flex:1}
.share-option strong{font-size:12px}
.share-option p{font-size:11px;color:var(--muted);margin:5px 0 11px}
.share-option .button{font-size:11px}
.toast{position:fixed;bottom:25px;left:calc(50% + var(--nav-width)/2);transform:translateX(-50%);max-width:calc(100% - 30px);z-index:200;background:#1f3f2f;color:#fffdf7;border:1px solid #fff2;border-radius:11px;padding:13px 19px;font-size:12px;box-shadow:0 7px 30px #17352b25;display:flex;align-items:center;gap:10px;animation:toast-in .25s ease;line-height:1.5}
.toast .icon{width:17px;height:17px;flex-shrink:0}
.form-error{font-size:12px;color:var(--red);background:#eb4d5710;border-radius:8px;padding:10px 12px;margin-top:12px;display:none}
.form-error.visible{display:block}
.offline-banner{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:10px 14px;border-radius:9px;margin-bottom:20px;display:flex;gap:8px;align-items:center}
.offline-banner .icon{width:15px;height:15px;flex-shrink:0}
.trip-saved-confirm{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:18px;margin:20px 0}
.trip-saved-confirm>.icon{color:var(--primary);width:25px;height:25px}
.trip-saved-confirm strong{font-size:13px}
.trip-saved-confirm p{font-size:11px;color:var(--muted);margin-top:4px}
.print-only{display:none}
.legal-content{font-size:13px;color:var(--muted);line-height:1.9}
.legal-content h2{font-size:22px;color:var(--text);margin:27px 0 10px}
.legal-content ul{padding-left:18px}
.legal-content p{margin-bottom:14px}
@keyframes enter{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:none}
}
@keyframes fade{
  from{opacity:0}
  to{opacity:1}
}
@keyframes breathe{
  50%{opacity:.4;transform:scale(.94)}
}
@keyframes toast-in{
  from{opacity:0;translate:0 10px}
  to{opacity:1;translate:0 0}
}
.provider-credit{display:block;font-size:8px;font-family:Arial,sans-serif;line-height:1.4;color:var(--muted);margin-top:4px}
.provider-word{font-weight:600;letter-spacing:-.3px}
.provider-credit a{text-decoration:underline}
.card-photo>.provider-credit{position:absolute;bottom:6px;left:7px;right:7px;background:#12291dbd;color:#fff;padding:3px 5px;border-radius:4px;margin:0;font-size:8px;pointer-events:auto}
.image-credit .provider-credit{margin:0;color:inherit;font-size:inherit}
.detail-visual .provider-word{font-size:12px}
.saved-info>.provider-credit{font-size:8px}
@media(min-width:1600px){
  .page{padding-top:45px}
  .destination-feature{min-height:395px}
  .place-card .card-photo{height:205px}
}
@media(max-width:1200px){
  :root{--nav-width:200px}
  .sidebar{padding:32px 17px 22px}
  .sidebar .brand{margin-left:6px}
  .sidebar .brand-word{font-size:27px}
  .sidebar .brand-mark{width:29px}
  .topbar{padding:0 30px}
  .page{padding:31px 30px 45px}
  .hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:18px}
  .destination-feature{min-height:340px}
  .feature-bottom{left:23px;right:23px}
  .feature-bottom h2{font-size:36px}
  .feature-bottom p{max-width:250px;font-size:11px}
  .feature-bottom .feature-cta{position:static;margin-top:16px;min-height:35px;padding:9px 12px;font-size:11px}
  .journey-cover{height:120px}
  .journey-body{padding:20px 17px}
  .journey-meta{gap:12px}
  .place-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .place-card .card-photo{height:165px}
  .detail-grid{gap:26px}
  .detail-visual{height:540px}
  .detail-title h1{font-size:32px}
  .detail-title .badge{font-size:9px;padding:5px 8px}
  .detail-metrics{gap:13px}
  .detail-actions{flex-direction:column}
  .profile-grid{grid-template-columns:1fr 1.4fr;gap:26px}
  .itinerary-grid{gap:22px;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr)}
  .trip-overview{padding:18px}
  .trip-fact{font-size:11px}
  .trip-header h1{font-size:33px}
}
@media(max-width:980px){
  :root{--nav-width:84px}
  .sidebar{padding:34px 14px 24px;align-items:center}
  .sidebar .brand{margin:0 0 53px}
  .sidebar .brand-mark{width:36px}
  .sidebar .brand-word,.side-nav button span,.side-note,.sidebar-user>div,.sidebar-user>.icon{display:none}
  .side-nav{gap:16px}
  .side-nav button{padding:14px}
  .side-nav button .icon{width:23px;height:23px}
  .sidebar-footer{width:100%}
  .sidebar-user{justify-content:center}
  .topbar{height:78px}
  .page{padding:31px 28px 45px}
  .hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr)}
  .feature-bottom h2{font-size:33px}
  .topbar-date{display:none}
  .detail-grid{grid-template-columns:1fr 1.1fr;gap:24px}
  .detail-visual{height:510px}
  .detail-title{align-items:flex-start;flex-direction:column;gap:12px}
  .detail-title h1{font-size:34px}
  .detail-title .badge{display:none}
  .detail-copy{padding-top:0}
  .detail-description{font-size:13px}
  .tip-box{padding:14px;gap:10px}
  .detail-actions{margin-top:18px;padding-top:18px}
  .itinerary-grid{grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr)}
  .activity-main img{width:63px;height:72px}
  .activity-row{padding:13px}
  .activity-info h3{font-size:12px}
  .trip-header h1{font-size:31px}
  .heading-actions .button{padding:11px 14px;font-size:11px}
  .auth-scene{padding-top:100px}
  .auth-scene .brand-word{font-size:40px}
  .auth-scene .brand-mark{width:42px}
  .auth-scene p{font-size:12px}
  .auth-form-side{padding:45px 30px}
}
@media(max-width:760px){
  :root{--nav-width:0px}
  .sidebar,.topbar{display:none}
  .app-main{margin:0}
  .mobile-topbar{height:80px;padding:19px 23px 13px;display:flex;align-items:center;justify-content:space-between;background:var(--bg)}
  .mobile-topbar .brand-mark{width:33px}
  .mobile-topbar .brand-word{font-size:29px}
  .mobile-topbar .mobile-tools{display:flex;gap:10px;align-items:center}
  .mobile-topbar .avatar{width:30px;height:30px;font-size:11px}
  .mobile-topbar .icon-button{width:30px;height:30px}
  .mobile-topbar .icon{width:22px;height:22px}
  .bottom-nav{position:fixed;bottom:0;left:0;right:0;min-height:70px;padding:9px 12px max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);z-index:60}
  .bottom-nav button{display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;min-width:65px;min-height:46px;color:var(--muted);font-size:9px;padding:2px}
  .bottom-nav button .icon{width:21px;height:21px}
  .bottom-nav button.active{color:var(--primary);font-weight:650}
  .bottom-nav button.active[data-route=saved] .icon{fill:var(--primary)}
  .bottom-nav button.active[data-route=profile] .icon{fill:var(--primary);stroke-width:1.3}
  .page{padding:20px 23px 110px}
  .page-heading{margin-bottom:22px;gap:15px}
  .page-heading h1{font-size:33px;line-height:1.08;max-width:280px}
  .page-heading p{font-size:12px;line-height:1.65;margin-top:9px}
  .heading-actions{padding-top:1px}
  .heading-actions .button .button-label{display:none}
  .heading-actions .button{padding:10px;min-height:37px;border-radius:9px}
  .heading-actions .button .icon{width:19px;height:19px}
  .heading-actions .button.soft{display:none}
  .search-row{gap:9px;margin-bottom:21px}
  .search-field{min-height:44px;padding:0 12px}
  .search-field input{font-size:11px;min-height:42px}
  .search-field .icon{width:17px;height:17px}
  .location-select{min-height:44px;padding:0 11px;font-size:10px;gap:5px}
  .location-select .icon{width:16px;height:16px}
  .location-select .icon:last-child{width:12px;height:12px}
  .hero-grid{grid-template-columns:1fr;gap:17px}
  .destination-feature{min-height:330px;border-radius:15px}
  .feature-top{padding:17px}
  .feature-top .photo-chip{font-size:9px;padding:5px 8px}
  .feature-top .icon-button{width:32px;height:32px}
  .feature-top .icon-button .icon{width:17px;height:17px}
  .feature-bottom{bottom:22px;left:22px;right:22px}
  .feature-bottom .location{font-size:9px;letter-spacing:1.2px}
  .feature-bottom h2{font-size:34px}
  .feature-bottom p{max-width:220px;font-size:11px;margin-top:8px}
  .feature-bottom .feature-cta{position:absolute;bottom:1px;right:0;font-size:0;padding:0;width:36px;height:36px;min-height:36px;border-radius:50%;margin-top:0}
  .feature-bottom .feature-cta .icon{width:19px;height:19px}
  .journey-card{flex-direction:row;border-radius:12px;min-height:117px}
  .journey-cover{height:auto;width:106px;flex-shrink:0}
  .journey-cover .journey-label{display:none}
  .journey-body{padding:14px 15px;position:relative}
  .journey-body:before{content:'Seu roteiro';font-size:9px;color:var(--muted);margin-bottom:4px}
  .journey-body h3{font-size:22px}
  .journey-location{font-size:9px;margin-top:5px}
  .journey-location .icon{width:12px;height:12px}
  .journey-divider,.journey-meta{display:none}
  .journey-body .button{position:absolute;right:10px;top:40px;min-height:30px;padding:6px;border:0;background:none;color:var(--primary);font-size:0}
  .journey-body .button .icon{width:19px;height:19px}
  .section-heading{margin:28px 0 18px;gap:12px}
  .section-heading h2{font-size:24px;letter-spacing:-.8px}
  .section-heading p{font-size:11px;line-height:1.6}
  .section-heading .text-button{font-size:10px;white-space:nowrap}
  .category-row{margin-bottom:17px;display:block}
  .tabs{gap:7px;margin-right:-23px;padding-right:23px}
  .tab{padding:9px 12px;font-size:10px;min-height:35px;border-radius:8px;gap:5px}
  .tab .icon{width:14px;height:14px}
  .tiny-note{display:none}
  .place-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}
  .place-card{border-radius:11px}
  .place-card .card-photo{height:155px}
  .card-content{padding:12px 11px}
  .card-topline{font-size:8px;margin-bottom:5px}
  .card-content h3{font-size:12px;line-height:1.4;letter-spacing:-.25px}
  .rating-row{font-size:10px;gap:4px;margin-top:6px}
  .rating-row .muted{font-size:8px}
  .rating-row .icon{width:12px;height:12px}
  .card-meta{font-size:9px;margin-top:10px;padding-top:9px}
  .card-meta .icon{width:12px;height:12px}
  .card-photo .icon-button{right:8px;top:8px;width:28px;height:28px}
  .card-photo .icon-button .icon{width:16px;height:16px}
  .inspiration-band{gap:13px;margin-top:27px;padding-top:22px;align-items:flex-start}
  .inspiration-icon{width:36px;height:36px}
  .inspiration-icon .icon{width:19px;height:19px}
  .inspiration-band strong{font-size:17px}
  .inspiration-band p{font-size:10px;margin-top:6px;line-height:1.65}
  .inspiration-band .text-button{display:none}
  .page>.demo-indicator{font-size:9px;line-height:1.6;margin-top:23px;align-items:flex-start}
  .page>.demo-indicator:before{margin-top:5px}
  .list-toolbar{margin-top:21px}
  .list-location{gap:9px}
  .list-location strong{font-size:14px}
  .list-location small{font-size:10px;margin-top:2px}
  .list-location>.icon{width:19px;height:19px}
  .sort-select{font-size:10px;max-width:125px}
  .saved-row{gap:13px;padding:14px 0}
  .saved-photo{width:81px;height:89px;border-radius:9px}
  .saved-info h3{font-size:13px;line-height:1.35}
  .saved-info>p{font-size:11px;margin-top:3px}
  .saved-info .rating-row{font-size:11px;gap:4px}
  .saved-info .rating-row .muted{font-size:9px}
  .saved-subrow{font-size:10px;gap:9px;margin-top:6px;flex-wrap:wrap}
  .saved-subrow .badge{font-size:8px;padding:3px 7px}
  .saved-subrow .icon{width:13px;height:13px}
  .saved-actions{gap:1px;align-self:flex-start;margin-top:7px}
  .saved-actions .icon-button{width:25px;height:27px}
  .saved-actions .icon{width:17px;height:17px}
  .saved-actions .grip{display:none}
  .detail-page{padding:0 0 107px}
  .detail-page>.back-heading{display:none}
  .detail-grid{display:flex;flex-direction:column;gap:0}
  .detail-visual{position:relative;top:0;height:345px;border-radius:0;margin-top:-80px;z-index:65}
  .detail-visual .image-tools{inset:22px 21px auto 21px;justify-content:flex-end;gap:9px}
  .detail-visual .image-tools .detail-back{margin-right:auto;display:inline-flex!important}
  .detail-visual .image-credit{bottom:29px;font-size:8px;left:20px;opacity:.9}
  .detail-copy{border-radius:22px 22px 0 0;margin-top:-19px;position:relative;background:var(--bg);z-index:66;padding:27px 23px 0}
  .detail-title{flex-direction:row;align-items:center;gap:10px}
  .detail-title h1{font-size:33px;line-height:1.15}
  .detail-title .badge{display:inline-flex;font-size:9px;padding:6px 9px}
  .detail-location{font-size:13px;margin-top:12px}
  .detail-copy>.rating-row{font-size:13px}
  .detail-copy>.rating-row .muted{font-size:11px}
  .detail-metrics{gap:17px;margin:19px 0;font-size:11px}
  .detail-metrics .icon{width:17px;height:17px}
  .tag-row{gap:7px;margin-bottom:21px}
  .tag-row>span{font-size:10px;padding:7px 11px}
  .detail-description{font-size:13px;line-height:1.8}
  .tip-box{margin:22px 0;padding:15px;gap:11px}
  .tip-box strong{font-size:12px}
  .tip-box p{font-size:11px}
  .useful-heading{margin-top:25px}
  .useful-heading h3{font-size:16px}
  .useful-heading .text-button{font-size:11px}
  .info-row strong{font-size:12px}
  .info-row p{font-size:11px}
  .detail-actions{flex-direction:row;position:fixed;left:0;right:0;bottom:0;margin:0;background:var(--surface);border-top:1px solid var(--line);padding:13px 15px max(14px,env(safe-area-inset-bottom));z-index:80}
  .detail-actions .button{font-size:10px;padding:13px 9px;min-height:48px;border-radius:11px}
  .detail-actions .button .icon{width:17px;height:17px}
  .section-back{gap:10px;margin-bottom:25px}
  .section-back h1{font-size:26px}
  .section-back .icon-button{width:28px;height:28px;background:none;border:0;margin-left:-7px}
  .section-back .icon-button .icon{width:20px;height:20px}
  .form-grid{gap:15px;grid-template-columns:1fr}
  .form-stack{gap:19px}
  .form-section{margin-bottom:28px}
  .form-section h3{font-size:13px}
  .form-section>p{font-size:11px;margin-bottom:12px}
  .choice-grid{grid-template-columns:1fr 1fr;gap:9px}
  .choice{font-size:11px;padding:10px;min-height:40px;gap:9px}
  .choice .icon{width:17px;height:17px}
  .form-section input{min-height:44px;font-size:13px}
  .helper{font-size:10px}
  .profile-page{padding-top:0}
  .profile-page>.page-heading{display:none}
  .profile-grid{display:flex;flex-direction:column;gap:22px}
  .profile-card{width:100%;border:0;border-radius:0;background:var(--bg);text-align:left;overflow:visible;margin-bottom:0}
  .profile-cover{height:147px;width:calc(100% + 46px);max-width:none;margin-left:-23px;border-radius:0}
  .profile-identity{padding:0;position:relative}
  .profile-avatar{width:77px;height:77px;margin:-38px 0 12px;border-width:3px;font-size:25px}
  .profile-identity h2{font-size:24px}
  .profile-identity>p{font-size:11px;margin-top:6px}
  .profile-identity>.badge{position:absolute;right:0;top:57px;font-size:9px;margin:0}
  .profile-stat{display:none}
  .settings-list{width:100%}
  .settings-row{padding:14px 1px;gap:14px}
  .settings-row strong{font-size:12px}
  .settings-row p{font-size:10px;margin-top:3px}
  .settings-row>.icon:first-child{width:19px;height:19px}
  .settings-row>.icon:last-child{width:14px;height:14px}
  .profile-grid>div:last-child{width:100%}
  .account-callout{margin-top:25px;padding:17px}
  .account-callout strong{font-size:19px}
  .account-callout p{font-size:10px}
  .account-callout .button{font-size:11px;min-height:39px;padding:10px 14px}
  .profile-form-avatar{margin-bottom:28px}
  .profile-form-avatar .avatar{width:84px;height:84px}
  .form-surface>.form-stack label{font-size:11px}
  .form-surface>.form-stack input{min-height:44px;font-size:12px}
  .settings-description{font-size:12px}
  .toggle-row{gap:14px;padding:22px 0}
  .toggle-row strong{font-size:12px}
  .toggle-row p{font-size:11px;margin-top:8px;line-height:1.8}
  .toggle-row>.icon{width:21px;height:21px}
  .toggle{width:35px;height:20px}
  .toggle:after{width:15px;height:15px;left:2.5px;top:2.5px}
  .toggle[aria-checked=true]:after{left:17.5px}
  .settings-actions{margin-top:32px}
  .settings-actions .button{min-height:45px}
  .option-row{min-height:52px}
  .option-row .flag{font-size:23px;width:30px}
  .option-row strong{font-size:11px}
  .option-row .currency-symbol{font-size:10px}
  .radio{width:14px;height:14px;margin-left:9px}
  .selected .radio:after{left:4px;top:4px}
  .info-banner{padding:14px;gap:11px}
  .info-banner strong{font-size:11px}
  .info-banner p{font-size:10px}
  .wizard-top{margin-bottom:25px}
  .wizard-top>.text-button{font-size:11px}
  .step-progress{gap:5px}
  .step-progress span{width:23px;height:3px}
  .step-label{font-size:9px}
  .wizard-content>.section-back h1{font-size:29px;line-height:1.08;max-width:270px}
  .wizard-content>.section-back .icon-button{display:none}
  .wizard-description{font-size:11px;margin-bottom:24px;line-height:1.75}
  .destination-cards{gap:10px;margin-bottom:24px}
  .destination-tile{height:136px;border-radius:10px}
  .destination-tile strong{font-size:11px;left:11px;bottom:12px}
  .subheading{font-size:12px}
  .country-row{padding:10px 1px;font-size:12px;gap:11px}
  .country-row .flag{font-size:25px}
  .country-selected{margin-top:21px;font-size:16px}
  .chip{font-size:10px;padding:8px 13px;min-height:34px}
  .chip-grid{gap:8px}
  .wizard-footer{margin-top:27px}
  .wizard-footer .button{min-height:45px;font-size:12px}
  .lodging-row{padding:11px;gap:12px}
  .lodging-row img{width:63px;height:67px}
  .lodging-row strong{font-size:12px}
  .lodging-row p{font-size:10px}
  .date-pair{gap:12px;margin-top:18px}
  .date-pair label{font-size:11px}
  .date-pair input{font-size:11px;padding:10px;min-height:43px}
  .traveler-control{gap:15px}
  .traveler-control>div:first-child strong{font-size:12px}
  .traveler-control>div:first-child p{font-size:10px}
  .traveler-control .number-control{width:135px;padding:8px 10px}
  .number-control button{width:30px;height:30px}
  .number-control strong{font-size:19px}
  .discovery-photo{height:318px}
  .discovery-copy{padding:20px}
  .discovery-copy h2{font-size:29px}
  .discovery-copy .detail-location{font-size:11px}
  .discovery-copy .detail-metrics{gap:16px;font-size:10px}
  .discovery-copy .tag-row>span{font-size:9px;padding:6px 11px}
  .swipe-actions{gap:27px;margin:23px 0 10px}
  .swipe-button{width:58px;height:58px}
  .discovery-counter{font-size:10px}
  .config-numbers{gap:8px;margin-bottom:25px}
  .config-numbers .choice{font-size:13px;min-height:39px;padding:10px 5px}
  .config-types{gap:8px}
  .config-types .choice{font-size:10px}
  .config-types .choice .icon{width:20px;height:20px}
  .config-toggles .toggle-row strong{font-size:11px}
  .trip-header{gap:12px}
  .trip-header h1{font-size:29px;max-width:235px}
  .trip-header p{font-size:10px;margin-top:9px;gap:5px;flex-wrap:wrap}
  .trip-header p .icon{width:12px;height:12px}
  .trip-header>.heading-actions{gap:7px}
  .trip-header>.heading-actions .button{width:32px;height:32px;min-height:32px;padding:7px}
  .trip-header>.heading-actions .button .icon{width:16px;height:16px}
  .trip-picker{font-size:11px;margin-top:17px;max-width:100%;min-height:37px}
  .day-tabs{gap:8px;margin:21px -23px 24px 0;padding-right:23px}
  .day-tab{min-width:74px;padding:12px 12px;border-radius:9px}
  .day-tab strong{font-size:11px}
  .day-tab small{font-size:9px;margin-top:4px}
  .itinerary-grid{display:flex;flex-direction:column;gap:25px}
  .itinerary-grid>div:first-child{width:100%}
  .day-heading{margin:0 0 22px}
  .day-heading h2{font-size:23px}
  .day-heading p{font-size:10px;margin-top:7px}
  .day-heading .badge{font-size:9px;padding:5px 8px}
  .activity-list{padding-left:27px}
  .activity-list:before{left:8px}
  .activity-row{padding:13px;margin-bottom:21px;border-radius:11px}
  .activity-number{left:-29px;width:20px;height:20px;font-size:9px;top:31px}
  .activity-main{gap:11px}
  .activity-main img{width:64px;height:72px;border-radius:8px}
  .activity-info h3{font-size:12px}
  .activity-info .time{font-size:10px;margin-top:6px}
  .activity-info .duration{font-size:9px;margin-top:3px}
  .activity-main>.icon-button{width:22px;height:22px}
  .activity-main>.icon-button .icon{width:16px;height:16px}
  .walk-divider{margin-top:-8px;margin-bottom:14px;font-size:9px;gap:6px}
  .walk-divider .icon{width:14px;height:14px}
  .activity-expanded{margin-top:13px;padding-top:12px}
  .activity-tools{gap:6px;margin-top:10px}
  .activity-tools .text-button{font-size:9px}
  .activity-tools .icon-button{width:26px;height:26px}
  .activity-tools .icon-button .icon{width:15px;height:15px}
  .free-time{padding:10px 7px;gap:12px}
  .free-time>span{width:40px;height:42px;border-radius:8px}
  .free-time strong{font-size:11px}
  .free-time p{font-size:9px;line-height:1.6}
  .add-activity{width:calc(100% - 27px);margin-left:27px;font-size:11px;min-height:42px}
  .trip-aside{width:100%;position:static;display:none}
  .trip-overview{padding:19px}
  .trip-tip{padding-bottom:0}
  .trip-list-switch{margin-bottom:21px}
  .trip-list-switch button{font-size:10px}
  .map-preview{padding:30px 18px;margin-bottom:20px}
  .map-preview h3{font-size:23px}
  .map-preview p{font-size:11px}
  .auth-page{display:block;position:relative;min-height:100dvh}
  .auth-scene{position:fixed;inset:0;min-height:100%;padding-top:104px;align-items:flex-start}
  .auth-scene .brand-mark{width:39px}
  .auth-scene .brand-word{font-size:37px}
  .auth-scene p{font-size:11px;margin-top:13px}
  .auth-form-side{position:relative;display:flex;align-items:flex-end;min-height:100dvh;padding:0;z-index:1}
  .auth-form{max-width:none;border-radius:25px 25px 0 0;background:var(--surface);padding:27px 27px 23px;box-shadow:0 -4px 35px #00000006;margin-top:285px}
  .auth-form>.brand{display:none}
  .auth-form.landing{padding-top:18px;padding-bottom:max(24px,env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--surface) 60%,#fffefae8)}
  .auth-form.landing h1,.auth-form.landing>.muted{display:none}
  .auth-form:not(.landing){margin-top:125px;min-height:calc(100dvh - 125px)}
  .auth-form:not(.landing)>.brand{display:flex;justify-content:center;margin:12px 0 31px}
  .auth-form:not(.landing)>.brand .brand-word{font-size:28px}
  .auth-form:not(.landing)>.brand .brand-mark{width:30px}
  .auth-form h1{font-size:27px}
  .auth-form>.muted{font-size:11px;margin:10px 0 24px}
  .auth-form .form-stack{gap:16px}
  .auth-form .button{font-size:12px}
  .auth-demo{margin-top:21px;padding-top:18px}
  .auth-legal{font-size:9px;margin-top:20px}
  .auth-footer{font-size:10px}
  .auth-footer button{font-size:10px}
  .auth-message{font-size:11px}
  .modal-overlay{padding:18px;align-items:center}
  .modal{max-height:calc(100dvh - 36px);padding:23px;border-radius:17px}
  .modal-header h2{font-size:25px}
  .modal>p{font-size:11px}
  .modal .form-grid{grid-template-columns:1fr 1fr;gap:11px}
  .modal label{font-size:11px}
  .modal input,.modal select{font-size:12px;min-height:43px;padding:10px}
  .modal-actions{gap:9px;margin-top:22px}
  .modal-actions .button{font-size:11px;padding:12px;white-space:normal}
  .modal-note{font-size:10px}
  .share-option p{font-size:10px}
  .toast{left:50%;bottom:86px;font-size:11px;padding:12px 15px;width:max-content;max-width:calc(100% - 35px)}
  .toast .icon{width:15px;height:15px}
  .offline-banner{font-size:10px;align-items:flex-start}
  .offline-banner .icon{margin-top:2px}
  .empty-state{padding:45px 18px}
  .empty-state h2{font-size:24px}
  .empty-state p{font-size:11px}
  .print-only{display:none}
}
@media(max-width:370px){
  .page{padding-left:18px;padding-right:18px}
  .mobile-topbar{padding-left:18px;padding-right:18px}
  .page-heading h1{font-size:30px}
  .location-select{padding:0 8px;font-size:9px}
  .search-field input{font-size:10px}
  .destination-feature{min-height:305px}
  .place-grid{gap:12px 10px}
  .place-card .card-photo{height:133px}
  .card-content{padding:11px 9px}
  .card-content h3{font-size:11px}
  .rating-row .muted{font-size:7px}
  .saved-photo{width:70px;height:84px}
  .saved-row{gap:11px}
  .saved-info h3{font-size:12px}
  .saved-info>p{font-size:10px}
  .saved-info .rating-row .muted{font-size:8px}
  .saved-actions{gap:0}
  .saved-subrow .badge{font-size:7px}
  .detail-copy{padding-left:20px;padding-right:20px}
  .detail-title h1{font-size:29px}
  .detail-metrics{gap:13px;font-size:10px}
  .discovery-photo{height:285px}
  .activity-main img{width:55px;height:67px}
  .activity-main{gap:9px}
  .activity-info h3{font-size:11px}
  .profile-cover{width:calc(100% + 36px);margin-left:-18px}
  .day-tabs,.tabs{margin-right:-18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media print{
  body{background:#fff;color:#11243a}
  .sidebar,.topbar,.mobile-topbar,.bottom-nav,.heading-actions,.trip-aside,.trip-picker,.trip-list-switch,.text-button,.activity-tools,.add-activity,.demo-indicator,.toast,.modal-overlay{display:none!important}
  .app-main{margin:0}
  .page{padding:10mm;max-width:none}
  .day-tabs{display:none}
  .itinerary-grid{display:block}
  .activity-row{break-inside:avoid}
  .activity-main>.icon-button{display:none}
  .print-only{display:block}
  .print-day{page-break-before:always}
  .print-day:first-child{page-break-before:auto}
  .activity-list:before{border-color:#ccc}
  .print-only h2{margin:25px 0 20px}
  .trip-header{margin-bottom:25px}
}

.avatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.profile-photo-picker{position:relative;display:block;margin:0 auto 12px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.profile-photo-picker .avatar{margin:0}
.profile-photo-picker:focus-visible{outline:3px solid var(--primary);outline-offset:5px}
.profile-photo-badge{position:absolute;right:-2px;bottom:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid var(--surface);border-radius:50%;background:var(--primary);color:white}
.profile-photo-badge .icon{width:14px;height:14px}
.profile-photo-actions{display:flex;justify-content:center;gap:16px;margin:10px 0}
.profile-form-avatar>.helper{margin-top:8px}

.city-options{max-height:320px;overflow-y:auto;margin-top:12px}.city-option[aria-pressed="true"]{background:var(--secondary);color:var(--primary)}

.lodging-results{max-height:300px;overflow-y:auto}.lodging-result{display:flex;gap:12px;align-items:center;width:100%;padding:12px 0;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.lodging-result>span:not(.lodging-photo-empty){flex:1;min-width:0}.lodging-result strong,.lodging-result small{display:block}.lodging-result small{font-size:11px;color:var(--muted);margin-top:4px}.lodging-result[aria-pressed=true]{color:var(--primary)}.lodging-result figure{margin:0;width:76px;flex-shrink:0}.lodging-result figure img{width:76px;height:60px;object-fit:cover;border-radius:8px}.lodging-result figcaption{font-size:8px;line-height:1.3;color:var(--muted)}.lodging-photo-empty,.lodging-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:76px;min-height:60px;background:var(--secondary);border-radius:8px;color:var(--primary);flex-shrink:0}.lodging-photo-empty small{font-size:8px}.lodging-thumb{height:64px}.lodging-gallery{display:flex;gap:8px;overflow-x:auto;margin-top:12px}.lodging-gallery figure{margin:0;min-width:120px;max-width:160px;flex:1}.lodging-gallery img{display:block;width:100%;height:100px;object-fit:cover;border-radius:10px}.lodging-gallery figcaption{font-size:9px;color:var(--muted);line-height:1.4}.lodging-selected:empty{display:none}.lodging-selected{padding:12px;background:var(--bg);border-radius:12px}

.review-swipe-card{touch-action:pan-y;cursor:grab;user-select:none;will-change:transform}.review-swipe-card:active{cursor:grabbing}.review-swipe-card:focus-visible{outline:3px solid var(--primary);outline-offset:4px}.review-photo-empty{height:260px;background:var(--secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--primary)}.review-progress{text-align:center;color:var(--muted);font-size:12px;margin-bottom:18px}.review-all{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:12px}.review-all summary{cursor:pointer;font-weight:600}.review-all ol{padding:0;list-style:none;max-height:280px;overflow:auto}.review-all li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.review-all li small{color:var(--muted);white-space:nowrap}.place-review .discovery-wrap{max-width:420px;margin:auto}.place-review .discovery-photo{height:260px}.place-review .discovery-copy{padding:18px}.place-review .discovery-copy h2{font-size:23px}.place-review .helper{text-align:center}

.mobile-nav button.active{background:var(--primary);color:var(--surface);border-radius:14px}.mobile-nav button.active .icon{color:var(--surface);stroke-width:2.4}.bottom-nav button.active{background:var(--primary);color:var(--surface);border-radius:14px}.side-nav button.active{background:var(--primary);color:var(--surface)}.geo-results:empty{display:none}.geo-results{margin:8px 0 24px}.geo-result>span:nth-child(2){flex:1;min-width:0}.geo-result strong,.geo-result small{display:block}.geo-result small{color:var(--muted);font-size:11px}.geo-result .flag .icon{width:22px;height:22px}#country-options{max-height:350px;overflow:auto;margin-bottom:24px}.search-row .search-field{width:100%}.meal-label{display:inline-block;font-size:11px;font-weight:600;color:var(--primary);background:var(--secondary);padding:3px 9px;border-radius:20px;margin-bottom:5px}.meal-issue{padding:14px;background:var(--secondary);border-radius:12px;margin:16px 0}.activity-row{position:relative}.activity-drag-handle{position:absolute;left:0;top:40px;width:32px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--muted);touch-action:none;cursor:grab;border:0;background:transparent}.activity-drag-handle:active{cursor:grabbing}.activity-drop-target{outline:2px solid var(--primary);outline-offset:3px}.manual-route-controls{margin:16px 0}.manual-route-controls .helper{font-size:11px;margin-top:8px}.config-types button:disabled{cursor:default;opacity:1}#locale-options>.helper{margin:12px 0}.option-row strong{overflow-wrap:anywhere}

.activity-drag-handle{left:auto;top:auto;right:8px;bottom:7px;z-index:2;width:30px;height:28px;background:var(--surface);border-radius:6px}.activity-drag-handle:hover{color:var(--primary);background:var(--secondary)}
