﻿@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');
@import "tailwindcss";

.countdown em{display:block;font-style:normal;font-size:7px;letter-spacing:.6px;color:var(--muted);margin-top:5px;white-space:nowrap}

.activity-entry{background:#fff;border:1px solid var(--line);padding:24px;display:flex;align-items:end;gap:14px}.entry-fields{display:grid;grid-template-columns:150px 115px 1fr 1.2fr;gap:12px;flex:1}.activity-entry label{font-size:8px;font-weight:700;color:var(--muted)}.activity-entry input,.activity-table input,.schedule-list input{display:block;width:100%;height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 10px;margin-top:6px;font:10px Montserrat}.activity-entry input:focus,.activity-table input:focus,.schedule-list input:focus{outline:2px solid #d198ad55;border-color:var(--rose)}.activity-entry>.primary{white-space:nowrap;height:42px}.record-count{font-size:9px;color:var(--muted)}.activity-table{background:#fff;border:1px solid var(--line)}.activity-table header,.activity-table article{display:grid;grid-template-columns:150px 115px 1fr 1.3fr 30px;gap:9px;align-items:center;padding:10px 16px}.activity-table header{background:var(--paper);font-size:7px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.activity-table article{border-top:1px solid var(--line)}.activity-table article input{margin:0;height:37px}.activity-table article input:nth-of-type(3){font-weight:700}.planner-empty{background:#fff;border:1px solid var(--line);padding:45px;text-align:center}.planner-empty b,.planner-empty span{display:block}.planner-empty span{font-size:9px;color:var(--muted);margin-top:6px}
.itinerary-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:13px;margin-top:6px}.day-board,.itinerary-map{background:#fff;border:1px solid var(--line);min-height:480px}.day-board>header,.map-title{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}.day-board>header h2,.map-title h3{font:600 23px Montserrat;margin:3px 0;text-transform:capitalize}.day-board>header>span,.map-title small{font-size:8px;color:var(--muted)}.schedule-list{padding:8px 24px}.schedule-list article{display:grid;grid-template-columns:60px 30px 1fr 30px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.schedule-time b{display:block;font:600 14px Montserrat}.schedule-time i{display:block;width:20px;height:2px;background:var(--rose);margin-top:5px}.schedule-number{width:26px;height:26px;border-radius:50%;background:var(--wine);color:#fff;display:grid;place-items:center;font-size:8px}.schedule-list input{height:32px;margin:0}.schedule-list input:first-child{font-weight:700;border-bottom:0}.schedule-list input:last-child{font-size:8px;color:var(--muted)}.schedule-list article>button{border:1px solid var(--line);background:#fff;color:var(--wine);width:28px;height:28px}.route-map{height:300px;position:relative;overflow:hidden;background-color:#e8e5df;background-image:linear-gradient(29deg,transparent 47%,#fff 48%,#fff 51%,transparent 52%),linear-gradient(112deg,transparent 46%,#fff 47%,#fff 50%,transparent 51%)}.activity-pin{position:absolute;border:0;background:transparent;color:var(--ink);text-align:left}.activity-pin b{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--wine);color:#fff;font-size:9px}.activity-pin b::first-letter{transform:rotate(45deg)}.activity-pin span{display:block;background:#fff;padding:4px 6px;margin:3px 0 0 12px;font-size:7px;box-shadow:0 2px 8px #0001;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin-0{left:12%;top:18%}.pin-1{left:48%;top:12%}.pin-2{left:72%;top:40%}.pin-3{left:35%;top:55%}.pin-4{left:14%;top:70%}.pin-5{left:68%;top:75%}.map-legend{display:grid;gap:7px;padding:15px 20px;max-height:150px;overflow:auto}.map-legend span{display:flex;align-items:center;gap:7px;font-size:8px;color:var(--muted)}.map-legend b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#f5e9ee;color:var(--wine);font-size:7px;flex:0 0 auto}
.comparison-board{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 18px;scroll-snap-type:x proximity}.comparison-day{flex:0 0 265px;background:#fff;border:1px solid var(--line);min-height:430px;scroll-snap-align:start}.comparison-day>header{padding:20px;background:linear-gradient(135deg,#f5e9ee,#fff);border-bottom:1px solid var(--line)}.comparison-day>header small,.comparison-day>header b,.comparison-day>header span,.comparison-day>header em{display:block}.comparison-day>header small{font-size:7px;letter-spacing:1.2px;color:var(--wine);font-weight:700}.comparison-day>header b{font:600 20px Montserrat;text-transform:capitalize;margin:9px 0 2px}.comparison-day>header span{font-size:8px;color:var(--muted)}.comparison-day>header em{font-style:normal;font-size:7px;color:var(--wine);margin-top:13px}.comparison-day>div{padding:8px 16px}.comparison-day section{display:grid;grid-template-columns:38px 22px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.comparison-day time{font-size:9px;font-weight:700}.comparison-day section>i{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-style:normal;font-size:7px}.comparison-day section b,.comparison-day section small{display:block}.comparison-day section b{font-size:9px}.comparison-day section small{font-size:7px;color:var(--muted);line-height:1.5;margin-top:4px}.comparison-day>div>p{text-align:center;color:var(--muted);font-size:9px;padding:35px 0}
@media(max-width:1050px){.entry-fields{grid-template-columns:1fr 1fr}.activity-entry{align-items:stretch;flex-direction:column}.activity-entry>.primary{align-self:flex-end}.itinerary-layout{grid-template-columns:1fr}.activity-table header,.activity-table article{grid-template-columns:130px 100px 1fr 1.2fr 30px}}
@media(max-width:700px){.entry-fields{grid-template-columns:1fr}.activity-entry>.primary{width:100%}.activity-table header{display:none}.activity-table article{grid-template-columns:1fr 1fr 30px}.activity-table article input:nth-of-type(3),.activity-table article input:nth-of-type(4){grid-column:1/3}.activity-table article .delete-button{grid-column:3;grid-row:1}.day-board>header{align-items:flex-start;gap:10px}.day-board>header h2{font-size:19px}.schedule-list{padding:8px 14px}.schedule-list article{grid-template-columns:51px 26px 1fr 28px}}

.wishlist-head>.button-row{align-items:center}.wishlist-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);padding:13px 18px;margin-bottom:13px}.wishlist-toolbar>div{display:flex;align-items:baseline;gap:7px}.wishlist-toolbar>div b{font:600 22px Montserrat;color:var(--wine)}.wishlist-toolbar>div span{font-size:8px;color:var(--muted)}.wishlist-filter{display:flex;align-items:center;gap:10px;font-size:8px;font-weight:700;color:var(--muted)}.wishlist-filter select{height:36px;min-width:185px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 10px;font:9px Montserrat}.wishlist-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wishlist-categories>button{min-height:145px;border:1px solid var(--line);background:#fff;padding:22px;text-align:left;display:flex;align-items:center;gap:14px;color:var(--ink);transition:.15s}.wishlist-categories>button:hover{border-color:var(--rose);transform:translateY(-2px);box-shadow:0 8px 25px #4617290c}.wishlist-categories>button>span{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f5e9ee;color:var(--wine);font:600 17px Montserrat}.wishlist-categories>button>div{flex:1}.wishlist-categories small,.wishlist-categories b,.wishlist-categories em{display:block}.wishlist-categories small{font-size:7px;letter-spacing:1px;color:var(--wine)}.wishlist-categories b{font:600 18px Montserrat;margin:7px 0;text-transform:capitalize}.wishlist-categories em{font-style:normal;font-size:8px;color:var(--muted)}.wishlist-categories>button>strong{color:var(--wine)}.wishlist-products{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.wishlist-product{background:#fff;border:1px solid var(--line);overflow:hidden}.product-image{height:220px;position:relative;background:#f4f1ef}.product-image img{width:100%;height:100%;object-fit:cover;display:block}.product-image>span{position:absolute;left:12px;top:12px;background:#fff;color:var(--wine);padding:6px 8px;font-size:7px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.product-copy{padding:18px}.product-copy>small{font-size:7px;color:var(--wine);text-transform:uppercase;letter-spacing:1px}.product-copy h2{font:600 19px Montserrat;margin:8px 0 12px}.product-copy p{font-size:8px;color:var(--muted);margin:0}.product-copy p b{color:var(--ink);margin-left:4px}.product-copy>strong{display:block;font:600 25px Montserrat;color:var(--wine);margin:18px 0 13px}.product-copy>button{border:0;background:none;color:var(--muted);font-size:7px;padding:0}.product-copy>button:hover{color:var(--wine)}.wishlist-empty{grid-column:1/-1;background:#fff;border:1px solid var(--line);padding:55px 20px;text-align:center}.wishlist-empty b,.wishlist-empty span{display:block}.wishlist-empty b{font:600 18px Montserrat}.wishlist-empty span{font-size:8px;color:var(--muted);margin-top:6px}.wishlist-form{max-width:570px}.image-upload{position:relative}.image-upload>input{position:absolute;opacity:0;width:1px!important;height:1px!important}.image-upload>span{display:flex;align-items:center;height:48px;border:1px dashed var(--rose);background:#fdf9fa;color:var(--wine);padding:0 13px;margin-top:7px;font-size:9px;font-weight:600;cursor:pointer}.wishlist-form button:disabled{opacity:.5}
@media(max-width:1000px){.wishlist-categories,.wishlist-products{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.wishlist-head{display:block}.wishlist-head>.button-row{margin-top:18px}.wishlist-toolbar{align-items:flex-start;gap:12px}.wishlist-filter{display:block}.wishlist-filter select{display:block;margin-top:6px;min-width:150px}.wishlist-categories,.wishlist-products{grid-template-columns:1fr}.product-image{height:260px}.wishlist-form .form-row{grid-template-columns:1fr}}

/* Identidade visual arredondada */
:root{--radius-lg:18px;--radius-md:12px;--radius-sm:9px}
.trip-hero,.metric,.panel,.today-card,.next-stop,.route-summary,.route-list,.map-panel,.stop-card,.expense-period,.timing-summary>div,.flight-editor,.chat-privacy,.chat-panel,.calendar-overview,.calendar-days button,.day-planner,.activity-entry,.activity-table,.planner-empty,.day-board,.itinerary-map,.comparison-day,.wishlist-toolbar,.wishlist-categories>button,.wishlist-product,.wishlist-empty,.module-card,.save-status,.quick-menu,.exchange-strip{border-radius:var(--radius-lg)}
.trip-hero,.next-stop,.day-planner,.itinerary-map,.comparison-day,.wishlist-product,.chat-panel,.expense-period{overflow:hidden}
.primary,.secondary,.iconbtn,.mode,.search,.edit-trip-button,.route-summary button,.day-nav button,.chat-suggestions button,.chat-compose button,.period-empty button,.wishlist-filter select,.delete-button,.stop-actions button,.map-toolbar,.map-toolbar button,.activity-table article>button{border-radius:var(--radius-sm)}
input,select,textarea,.image-upload>span{border-radius:var(--radius-sm)}
.form-modal,.compare-modal,.search-modal,.notice-modal{border-radius:22px;overflow:hidden}
.pill,.direction-tag,.status-ready,.status-pending,.currency-label,.live,.event>span{border-radius:999px}
.module-grid,.metric-grid,.dashboard-grid,.finance-grid,.flights-grid,.wishlist-categories,.wishlist-products{gap:14px}
.sidebar nav button,.trip-mini,.editable-trip{border-radius:var(--radius-md)}
@media(max-width:900px){.bottom-nav{border-radius:18px 18px 0 0}.trip-hero{border-radius:16px}}
:root{--wine:#89235b;--rose:#d198ad;--ink:#262326;--muted:#777277;--paper:#faf8f7;--line:#e9e3e5;--soft:#f2eff0;--white:#fff;--green:#446f5a}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;background:var(--paper);font-size:14px}button,input{font:inherit}button{cursor:pointer}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:238px;background:#fff;border-right:1px solid var(--line);padding:24px 16px 16px;display:flex;flex-direction:column;z-index:20}.brand{border:0;background:none;display:flex;align-items:center;gap:11px;text-align:left;color:var(--ink);padding:0 8px 22px}.brandmark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--wine);color:#fff;font:600 14px Montserrat;letter-spacing:1px}.brand strong,.brand em{display:block}.brand strong{font:600 22px/17px Montserrat}.brand em{font-style:normal;color:var(--wine);font-size:10px;letter-spacing:2.2px;text-transform:uppercase;margin-top:6px}.trip-mini{display:flex;align-items:center;gap:10px;padding:12px;background:var(--paper);border:1px solid var(--line);margin-bottom:15px}.cover-letter{background:linear-gradient(145deg,#b86282,var(--wine));color:#fff;width:32px;height:38px;display:grid;place-items:center;font:600 20px Montserrat}.trip-mini div,.profile div{min-width:0}.trip-mini b,.trip-mini small,.profile b,.profile small{display:block}.trip-mini b{font-size:11px}.trip-mini small,.profile small{font-size:9px;color:var(--muted);margin-top:3px;white-space:nowrap}.sidebar nav{overflow:auto;flex:1;padding-right:3px}.sidebar nav button{width:100%;border:0;background:transparent;padding:8px 10px;display:flex;gap:11px;align-items:center;color:#676167;font-size:11px;text-align:left;border-radius:4px;margin:1px 0}.sidebar nav button:hover{background:var(--paper);color:var(--wine)}.sidebar nav button.active{background:#f5eaf0;color:var(--wine);font-weight:600}.navicon{font-size:15px;width:18px;text-align:center}.profile{border-top:1px solid var(--line);padding:14px 5px 0;display:flex;align-items:center;gap:9px}.profile>span,.avatar{width:30px;height:30px;border-radius:50%;background:#ead6de;color:var(--wine);display:grid;place-items:center;font-size:10px;font-weight:700}.profile b{font-size:10px}.profile button{margin-left:auto;border:0;background:none}.content{margin-left:238px}.topbar{height:68px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:15;padding:0 38px}.search{width:310px;height:36px;border:1px solid var(--line);background:var(--paper);color:#928d91;text-align:left;padding:0 12px;display:flex;align-items:center;gap:10px}.search kbd{margin-left:auto;font-size:9px;background:white;border:1px solid var(--line);padding:3px 5px}.top-actions{position:absolute;right:38px;display:flex;gap:9px;align-items:center}.mode{border:1px solid var(--line);background:white;padding:8px 12px;color:var(--muted);font-size:10px}.mode.on{background:var(--wine);color:#fff}.iconbtn{width:34px;height:34px;border:1px solid var(--line);background:#fff;position:relative}.iconbtn i{width:5px;height:5px;border-radius:50%;background:var(--wine);position:absolute;right:6px;top:6px}.avatar{border:0}.mobile-brand{display:none}.page{max-width:1280px;margin:auto;padding:45px 4.5% 90px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--wine);font-weight:700;margin:0 0 9px}.hero-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:30px}.hero-row h1{font:600 42px/1 Montserrat;margin:0 0 10px;color:#34272d}.lead{color:var(--muted);margin:0;font-size:12px}.primary,.secondary{border:0;padding:12px 18px;font-weight:600;font-size:11px}.primary{background:var(--wine);color:#fff}.primary:hover{background:#711947}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.trip-hero{min-height:205px;background:linear-gradient(110deg,#f2e4e9 0%,#f8f3f2 58%,#e9ced8 100%);padding:35px 42px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.trip-hero:after{content:"";width:310px;height:310px;border:1px solid rgba(137,35,91,.12);border-radius:50%;position:absolute;right:-60px;top:-140px;box-shadow:0 0 0 42px rgba(255,255,255,.18),0 0 0 86px rgba(255,255,255,.12)}.pill{display:inline-block;background:#fff9;color:var(--wine);border:1px solid #dec3ce;padding:6px 9px;font-size:8px;letter-spacing:1.4px;font-weight:700}.trip-hero h2,.next-copy h2{font:600 35px Montserrat;margin:16px 0 5px}.trip-hero p{color:var(--muted);font-size:11px}.trip-hero p i{margin:0 8px}.progress-line{display:flex;align-items:center;gap:12px;margin-top:22px}.progress-line>span{display:block;width:230px;height:4px;background:#ddcbd2}.progress-line i{display:block;height:100%;background:var(--wine)}.progress-line b{font-size:9px;color:var(--wine)}.countdown{position:relative;z-index:1;text-align:center;margin-right:55px;color:var(--wine)}.countdown small,.countdown span{display:block;font-size:9px;letter-spacing:2px}.countdown b{display:block;font:600 66px/60px Montserrat}.section-title{display:flex;justify-content:space-between;align-items:end;margin:36px 0 16px}.section-title h2{font:600 28px Montserrat;margin:0}.section-title button,.panel-head button,.compact button{border:0;background:none;color:var(--wine);font-size:10px;font-weight:600}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{background:#fff;border:1px solid var(--line);padding:19px;min-height:145px;position:relative}.metric-icon{position:absolute;right:17px;top:15px;width:28px;height:28px;background:#f7eff2;color:var(--wine);display:grid;place-items:center}.metric>small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.9px;margin-top:5px}.metric>b{font:600 26px Montserrat;display:block;margin:10px 0 3px}.metric p{font-size:8px;color:var(--muted);margin:0}.metric.accent{background:var(--wine);color:#fff}.metric.accent .metric-icon{background:#ffffff1f;color:#fff}.metric.accent small,.metric.accent p{color:#f0dfe6}.mini-progress{height:3px;background:var(--soft);display:block;margin-top:14px}.mini-progress em{height:100%;display:block;background:var(--rose)}.dashboard-grid,.today-grid,.finance-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:13px;margin-top:14px}.panel{background:#fff;border:1px solid var(--line);padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-head h3{font:600 22px Montserrat;margin:0}.panel-head>b{font:600 25px Montserrat;color:var(--wine)}.event{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}.date{text-align:center;border-right:1px solid var(--line)}.date b,.date small{display:block}.date b{font:600 20px Montserrat;color:var(--wine)}.date small{font-size:7px;color:var(--muted)}.event>div b,.event>div small{display:block}.event>div>b{font-size:10px}.event>div>small{font-size:8px;color:var(--muted);margin-top:4px}.event>span{font-size:7px;padding:4px 7px;background:var(--paper);color:var(--wine)}.progress-item{margin:13px 0}.progress-item span{display:flex;justify-content:space-between;font-size:9px}.progress-item small{color:var(--muted)}.progress-item>i{display:block;height:4px;background:var(--soft);margin-top:7px}.progress-item em{display:block;height:100%;background:var(--rose)}.today-card{margin-top:14px;background:#362b30;color:#fff;padding:24px 28px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:25px}.today-card h2{font:600 25px Montserrat;margin:0}.today-card p{font-size:9px;color:#d6ced1;margin:5px 0}.today-card .eyebrow{color:#e3b5c6}.attention{display:flex;gap:12px;align-items:center;border-left:1px solid #61555a;padding-left:24px}.attention>span{width:28px;height:28px;border-radius:50%;background:#603b4b;display:grid;place-items:center}.attention b,.attention small{display:block}.attention b{font-size:9px}.attention small{font-size:8px;color:#cfc5c9;margin-top:4px}.save-status{position:fixed;right:30px;bottom:22px;background:#fff;border:1px solid var(--line);padding:8px 12px;font-size:8px;z-index:30;box-shadow:0 4px 20px #3d183117;display:flex;align-items:center;gap:7px}.save-status span{width:6px;height:6px;border-radius:50%;background:#63a57d}.fab,.bottom-nav{display:none}.weather{text-align:right}.weather b{font:600 40px Montserrat;display:block}.weather span{font-size:9px;color:var(--muted)}.next-stop{background:#efe3e7;display:grid;grid-template-columns:1fr 1.1fr;min-height:280px}.next-copy{padding:34px 40px}.next-copy>p{font-size:9px;color:var(--wine);font-weight:600;margin:15px 0 0}.next-copy>span:not(.pill){font-size:9px;color:var(--muted)}.journey{border-left:2px solid var(--wine);padding-left:12px;margin:20px 0}.journey b,.journey small{display:block}.journey b{font:600 20px Montserrat}.journey small{font-size:8px;color:var(--muted)}.button-row{display:flex;gap:8px}.mini-map,.map-canvas{position:relative;overflow:hidden;background-color:#e8e5df;background-image:linear-gradient(30deg,#d5d1c9 1px,transparent 1px),linear-gradient(120deg,#d8d5cf 1px,transparent 1px);background-size:70px 70px}.road{position:absolute;background:#fff;border:1px solid #d9d5cd;height:13px;width:120%;transform:rotate(-16deg);top:45%;left:-10%}.road.r2{transform:rotate(52deg);top:30%}.pin,.map-pin{position:absolute;width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--wine);color:#fff;display:grid;place-items:center;font-style:normal;font-size:9px;transform:rotate(-45deg)}.pin{left:30%;top:58%}.pin.p2{left:66%;top:32%;background:#fff;color:var(--wine)}.pin::first-letter,.map-pin::first-letter{transform:rotate(45deg)}.mini-map>span{position:absolute;top:49%;left:48%;font-size:8px;color:#777;transform:rotate(-16deg)}.timeline-row{display:grid;grid-template-columns:45px 12px 1fr auto;gap:10px;align-items:start;min-height:72px}.timeline-row time{font:600 15px Montserrat}.timeline-row>i{width:8px;height:8px;border:2px solid var(--wine);border-radius:50%;position:relative}.timeline-row>i:after{content:"";position:absolute;width:1px;height:60px;background:var(--line);left:2px;top:7px}.timeline-row div b,.timeline-row div small{display:block}.timeline-row div b{font-size:10px}.timeline-row div small{font-size:8px;color:var(--muted);margin-top:4px}.live{font-size:7px;color:var(--wine);background:#f6e9ee;padding:4px}.side-stack{display:grid;gap:13px}.compact b,.compact small{display:block}.big-money{font:600 30px Montserrat!important}.compact>small{font-size:8px;color:var(--muted);margin:4px 0 14px}.compact button{margin-top:17px;padding:0}.route-summary{background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr) auto;padding:16px 22px;gap:20px;align-items:center;margin-bottom:13px}.route-summary div{border-right:1px solid var(--line)}.route-summary small,.route-summary b{display:block}.route-summary small{font-size:7px;color:var(--muted);letter-spacing:1px}.route-summary b{font:600 20px Montserrat;margin-top:4px}.route-summary button{border:0;background:#f5e9ee;color:var(--wine);padding:11px;font-size:9px;font-weight:600}.route-layout{display:grid;grid-template-columns:1fr .95fr;gap:13px}.route-list,.map-panel{background:#fff;border:1px solid var(--line);padding:22px}.stop-card{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:13px 12px}.handle{color:#aaa}.stop-number{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-size:9px}.stop-info{flex:1}.stop-info small,.stop-info b,.stop-info span{display:block}.stop-info small{font-size:7px;color:var(--wine);text-transform:uppercase}.stop-info b{font-size:10px;margin:4px 0}.stop-info span{font-size:8px;color:var(--muted)}.stop-actions{display:flex;align-items:center;gap:4px}.stop-actions button{border:1px solid var(--line);background:#fff;width:25px;height:25px}.stop-actions button:disabled{opacity:.25}.stop-actions span{font-size:7px;color:var(--muted);margin-left:5px}.leg{height:35px;margin-left:48px;border-left:1px dashed var(--rose);display:flex;align-items:center}.leg span{font-size:8px;color:var(--muted);background:#fff;padding:4px 8px;margin-left:10px}.map-panel{display:flex;flex-direction:column}.map-toolbar{position:absolute;z-index:2;margin:12px;background:#fff;padding:3px}.map-toolbar button{border:0;background:#fff;font-size:8px;padding:7px 12px}.map-toolbar button.active{background:var(--wine);color:#fff}.map-canvas{min-height:510px;flex:1}.map-canvas .a{top:26%;transform:rotate(14deg)}.map-canvas .b{top:57%;transform:rotate(-22deg)}.map-canvas .c{top:64%;transform:rotate(66deg)}.lake{position:absolute;width:110px;height:75px;border-radius:50%;background:#d5e1df;right:10%;top:12%}.map-label{position:absolute;font-size:8px;color:#777}.l1{left:43%;top:35%;transform:rotate(14deg)}.l2{left:15%;top:70%;transform:rotate(-22deg)}.map-pin{z-index:2}.mp0{left:20%;top:75%}.mp1{left:38%;top:20%}.mp2{left:65%;top:50%}.mp3{left:73%;top:69%}.mp4{left:27%;top:82%}.route-alert{display:flex;align-items:center;gap:10px;background:#f5e9ee;padding:13px;margin-top:12px}.route-alert>span{color:var(--wine)}.route-alert div{flex:1}.route-alert b,.route-alert small{display:block}.route-alert b{font-size:9px}.route-alert small{font-size:7px;color:var(--muted);margin-top:3px}.route-alert button{border:0;background:none;color:var(--wine);font-weight:700;font-size:8px}.finance-grid{grid-template-columns:1fr 1fr}.bar-row{display:grid;grid-template-columns:90px 1fr 95px;align-items:center;gap:10px;margin:18px 0;font-size:9px}.bar-row>i{height:7px;background:var(--soft)}.bar-row em{display:block;height:100%;background:var(--rose)}.bar-row b{text-align:right}.expense{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.expense>span{width:28px;height:28px;background:#f5e9ee;color:var(--wine);display:grid;place-items:center}.expense div b,.expense div small{display:block}.expense div b{font-size:9px}.expense div small{font-size:7px;color:var(--muted);margin-top:3px}.expense strong{font-size:9px}.modal-backdrop{position:fixed;inset:0;background:#22151dbd;z-index:100;display:grid;place-items:center;padding:20px}.compare-modal,.form-modal{background:#fff;max-width:650px;width:100%;padding:34px;position:relative}.compare-modal h2,.form-modal h2{font:600 31px Montserrat;margin:0}.sub{font-size:10px;color:var(--muted)}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:25px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.compare-grid>div{border:1px solid var(--line);padding:18px}.compare-grid .suggested{border:2px solid var(--rose);background:#fdf9fa}.compare-grid small,.compare-grid b,.compare-grid span{display:block}.compare-grid small{font-size:7px;color:var(--wine);letter-spacing:1px}.compare-grid b{font:600 27px Montserrat;margin:8px 0 1px}.compare-grid span{font-size:8px;color:var(--muted)}.compare-grid ol{padding-left:18px;font-size:9px;line-height:2}.saving{background:#f5e9ee;text-align:center;padding:12px;margin-top:10px}.saving b{font:600 24px Montserrat;color:var(--wine);margin-right:8px}.saving span{font-size:9px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.form-modal{max-width:410px}.form-modal label{display:block;font-size:9px;font-weight:600;margin-top:18px}.form-modal input{display:block;width:100%;height:44px;border:1px solid var(--line);padding:0 12px;margin-top:7px;font-size:16px}.quick-menu{position:fixed;right:28px;bottom:72px;background:#fff;border:1px solid var(--line);padding:14px;z-index:45;width:180px;box-shadow:0 10px 35px #3215222d}.quick-menu b{display:block;font:600 18px Montserrat;padding:3px 8px 8px}.quick-menu button{display:block;width:100%;text-align:left;border:0;background:#fff;padding:9px 8px;font-size:9px}.quick-menu button:hover{background:var(--paper);color:var(--wine)}

@media(max-width:900px){body{font-size:13px}.sidebar{display:none}.content{margin-left:0}.topbar{height:58px;padding:0 16px;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0}.mobile-brand .brandmark{width:29px;height:29px}.mobile-brand b{font:600 16px Montserrat}.search,.mode,.top-actions .avatar{display:none}.top-actions{position:static}.page{padding:26px 16px 110px}.hero-row h1{font-size:34px}.hero-row>.primary{padding:11px;font-size:0}.hero-row>.primary:after{content:"ï¼‹";font-size:18px}.trip-hero{min-height:230px;padding:28px 24px}.trip-hero h2{font-size:31px;max-width:230px}.countdown{margin:0 0 0 10px}.countdown b{font-size:48px}.progress-line>span{width:140px}.metric-grid{grid-template-columns:1fr 1fr}.metric{min-height:130px}.metric>b{font-size:22px}.dashboard-grid,.today-grid,.finance-grid,.route-layout{grid-template-columns:1fr}.today-card{grid-template-columns:1fr;padding:24px}.attention{border-left:0;padding-left:0}.save-status{bottom:76px;right:14px}.fab{display:block;position:fixed;right:18px;bottom:88px;z-index:44;width:48px;height:48px;border-radius:50%;border:0;background:var(--wine);color:#fff;font-size:25px;box-shadow:0 8px 22px #6a20434f}.bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;height:66px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around}.bottom-nav button{border:0;background:#fff;color:#8d888c;font-size:8px;width:20%;padding:7px 2px 5px}.bottom-nav button span{display:block;font-size:18px;margin-bottom:3px}.bottom-nav button.active{color:var(--wine);font-weight:700}.next-stop{grid-template-columns:1fr}.next-copy{padding:28px 24px}.mini-map{min-height:210px;grid-row:1}.route-summary{grid-template-columns:1fr 1fr;padding:14px}.route-summary div:nth-child(2){border-right:0}.route-summary button{grid-column:1/-1}.route-head{display:block}.route-head .button-row{margin-top:18px}.map-panel{padding:12px}.map-canvas{min-height:400px}.finance-metrics{grid-template-columns:1fr 1fr}.compare-modal,.form-modal{max-height:90vh;overflow:auto;padding:26px 20px}.compare-grid{grid-template-columns:1fr}.modal-actions{position:sticky;bottom:-26px;background:#fff;padding:12px 0 6px}.quick-menu{right:17px;bottom:145px}.trip-mode .topbar{background:var(--wine);color:#fff}.trip-mode .mobile-brand b{color:#fff}.trip-mode .brandmark{background:#fff;color:var(--wine)}}
@media(max-width:430px){.hero-row{margin-bottom:23px}.lead{font-size:10px}.trip-hero{display:block}.countdown{position:absolute;right:22px;top:25px}.trip-hero h2{max-width:220px;margin-top:45px}.metric-grid{gap:8px}.metric{padding:15px}.metric-icon{right:12px}.section-title{margin-top:28px}.dashboard-grid{gap:8px}.panel{padding:17px}.event{grid-template-columns:37px 1fr}.event>span{display:none}.today-card{gap:16px}.next-copy h2{font-size:30px}.route-summary{gap:11px}.stop-actions span{display:none}.stop-card{padding:11px 8px}.route-list{padding:13px}.bar-row{grid-template-columns:78px 1fr 80px}.finance-metrics .metric>b{font-size:19px}}
.search-modal{background:#fff;max-width:560px;width:100%;padding:32px;position:relative}.search-modal h2,.notice-modal h2{font-size:26px;margin:0 0 18px}.search-modal>input{width:100%;height:50px;border:1px solid var(--line);padding:0 15px;font-size:16px}.search-results{display:grid;gap:7px;margin-top:14px}.search-results button{border:1px solid var(--line);background:#fff;text-align:left;padding:13px;display:flex;justify-content:space-between}.search-results button:hover{border-color:var(--rose);background:var(--paper)}.search-results b{font-size:10px}.search-results span{font-size:8px;color:var(--muted)}.notice-modal{background:#fff;max-width:390px;width:100%;padding:34px;text-align:center;position:relative}.notice-modal p{font-size:10px;color:var(--muted);line-height:1.7}.notice-icon{width:42px;height:42px;border-radius:50%;background:#f1e5ea;color:var(--wine);display:grid;place-items:center;margin:0 auto 15px;font-weight:700}.notice-modal .primary{margin-top:10px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.module-card{border:1px solid var(--line);background:#fff;padding:18px;text-align:left;display:flex;align-items:center;gap:12px}.module-card:hover{border-color:var(--rose);transform:translateY(-1px)}.module-card>span{font-size:9px;color:var(--wine);font-weight:700}.module-card div{flex:1}.module-card b,.module-card small{display:block}.module-card b{font-size:10px}.module-card small{font-size:8px;color:var(--muted);margin-top:4px}.module-card em{font-style:normal;color:var(--wine)}.module-empty{margin-top:12px;background:#fff;border:1px solid var(--line);padding:45px;text-align:center}.module-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--wine);color:#fff;margin:auto;font-weight:700}.module-empty h2{font-size:24px;margin:18px 0 7px}.module-empty p{font-size:10px;color:var(--muted);max-width:480px;margin:0 auto 20px;line-height:1.7}.module-empty .button-row{justify-content:center}@media(max-width:900px){.module-grid{grid-template-columns:1fr}.module-empty{padding:30px 20px}}
.currency-label{font-size:8px;color:var(--muted);font-weight:600;background:var(--paper);padding:6px 8px}.editable-trip{width:100%;text-align:left;color:var(--ink);cursor:pointer}.editable-trip em{margin-left:auto;color:var(--wine);font-style:normal}.edit-trip-button{position:relative;z-index:2;margin-top:15px;border:0;background:transparent;color:var(--wine);font-size:9px;font-weight:700;padding:0}.trip-form{max-width:540px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editable-stop input,.editable-expense input,.editable-module-card input{border:1px solid transparent;background:transparent;color:var(--ink);min-width:0}.editable-stop input:hover,.editable-stop input:focus,.editable-expense input:hover,.editable-expense input:focus,.editable-module-card input:hover,.editable-module-card input:focus{border-color:var(--rose);background:#fff;outline:none}.editable-stop>div{display:flex;gap:6px}.editable-stop .stop-kind{width:110px;color:var(--wine);font-size:8px;text-transform:uppercase}.editable-stop .stop-time{width:92px;font-size:9px}.editable-stop .stop-name{display:block;width:100%;font-size:11px;font-weight:700;margin:3px 0;padding:3px}.editable-stop .stop-note{display:block;width:100%;font-size:8px;color:var(--muted);padding:3px}.delete-button{border:1px solid #ead5dd!important;background:#fff!important;color:var(--wine)!important;width:27px!important;height:27px!important;display:grid;place-items:center;padding:0!important}.editable-expense{grid-template-columns:31px 1fr 112px 28px}.editable-expense div input{display:block;width:100%;padding:3px}.editable-expense div input:first-child{font-weight:700;font-size:10px}.editable-expense div input:last-child{font-size:8px;color:var(--muted)}.editable-expense>label{display:flex;align-items:center;border:1px solid var(--line);padding:0 7px}.editable-expense>label small{font-size:8px;color:var(--muted)}.editable-expense>label input{width:100%;font-size:10px;text-align:right;padding:6px 2px}.editable-module-card{cursor:default}.editable-module-card>div input{width:100%;font-size:10px;font-weight:700;padding:5px}.editable-module-card .delete-button{margin-left:auto}.editable-module-card:hover{transform:none}.flights-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.flight-editor{background:#fff;border:1px solid var(--line);padding:24px}.flight-editor-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.direction-tag{display:inline-block;background:#f5e9ee;color:var(--wine);font-size:8px;font-weight:700;letter-spacing:1px;padding:5px 8px;text-transform:uppercase}.flight-editor h2{font-size:20px;margin:10px 0 0}.status-ready,.status-pending{font-size:8px;font-weight:700;padding:6px 8px}.status-ready{background:#e8f2ec;color:#39634d}.status-pending{background:#fff2dc;color:#8a5d18}.flight-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.flight-fields label{font-size:8px;font-weight:600;color:var(--muted)}.flight-fields input{display:block;width:100%;height:42px;border:1px solid var(--line);padding:0 10px;margin-top:6px;font-size:16px;color:var(--ink)}.flight-fields input:focus{outline:2px solid #d198ad55;border-color:var(--rose)}.validation-message{background:#fff4e4;color:#7b5216;border-left:3px solid #d69a43;padding:9px 11px;font-size:9px;line-height:1.5;margin:14px 0}.autosave-note{display:block;color:var(--muted);font-size:8px;margin-top:14px}.date-badge{width:58px;height:64px;background:var(--wine);color:#fff;display:grid;place-items:center;padding:8px}.date-badge b{font-size:23px;line-height:1}.date-badge span{font-size:8px;letter-spacing:1px}.pretrip-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:13px}.flight-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:var(--paper);padding:18px}.flight-route>div:last-child{text-align:right}.flight-route small,.flight-route b,.flight-route span{display:block}.flight-route small{font-size:7px;color:var(--muted);letter-spacing:1px}.flight-route b{font-size:16px;margin:7px 0}.flight-route span{font-size:10px;color:var(--wine)}.flight-route>strong{color:var(--rose)}.flight-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.flight-meta span{background:#fff;border:1px solid var(--line);padding:10px;font-size:8px;color:var(--muted)}.flight-meta b{display:block;color:var(--ink);margin-top:4px}@media(max-width:900px){.flights-grid,.pretrip-grid{grid-template-columns:1fr}.flight-editor{padding:18px}}@media(max-width:600px){.form-row,.flight-fields{grid-template-columns:1fr}.editable-expense{grid-template-columns:28px 1fr 96px 28px}.editable-stop .stop-kind{width:90px}.editable-stop .stop-time{width:85px}.flight-meta{grid-template-columns:1fr}.flight-editor-head{gap:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

.assistant-status{display:flex;align-items:center;gap:7px;background:#e8f2ec;color:#39634d;padding:8px 11px;font-size:8px;font-weight:700}.assistant-status i{width:7px;height:7px;border-radius:50%;background:#4d9368}.chat-shell{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}.chat-privacy,.chat-panel{background:#fff;border:1px solid var(--line)}.chat-privacy{padding:24px;position:sticky;top:80px}.chat-privacy>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;margin-bottom:20px}.chat-privacy h2{font-size:22px;margin:5px 0 10px}.chat-privacy>p:not(.eyebrow){font-size:9px;line-height:1.7;color:var(--muted)}.chat-privacy>small{display:block;background:var(--paper);padding:11px;margin-top:18px;font-size:7px;line-height:1.6;color:var(--muted)}.chat-panel{min-height:580px;display:flex;flex-direction:column}.chat-messages{padding:24px;display:flex;flex-direction:column;gap:15px;min-height:360px;max-height:520px;overflow:auto}.chat-message{display:flex;gap:10px;align-items:flex-start;max-width:82%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message>span{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-size:8px;font-weight:700}.chat-message.user>span{background:#ddd3d7;color:var(--ink)}.chat-message p{margin:0;background:var(--paper);padding:12px 14px;font-size:10px;line-height:1.65;white-space:pre-wrap}.chat-message.user p{background:var(--wine);color:#fff}.chat-message.loading p{color:var(--muted)}.typing{letter-spacing:2px;margin-left:4px}.chat-error{margin:0 24px 10px;background:#fff4e4;color:#7b5216;border-left:3px solid #d69a43;padding:10px;font-size:9px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:0 24px 15px}.chat-suggestions button{border:1px solid var(--line);background:#fff;color:var(--wine);padding:8px 10px;font-size:8px}.chat-suggestions button:hover{border-color:var(--rose);background:var(--paper)}.chat-compose{border-top:1px solid var(--line);padding:18px 24px;margin-top:auto}.chat-compose>label{display:block;font-size:8px;font-weight:700;margin-bottom:7px}.chat-compose>div{display:flex;gap:8px;align-items:stretch}.chat-compose textarea{flex:1;resize:none;border:1px solid var(--line);padding:11px;font:10px/1.5 Montserrat;color:var(--ink)}.chat-compose textarea:focus{outline:2px solid #d198ad55;border-color:var(--rose)}.chat-compose button{min-width:100px}.chat-compose>small{display:block;color:var(--muted);font-size:7px;margin-top:7px}.chat-compose button:disabled,.chat-suggestions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.chat-shell{grid-template-columns:1fr}.chat-privacy{position:static}.chat-panel{min-height:540px}.assistant-head{align-items:flex-start}}@media(max-width:560px){.assistant-status{display:none}.chat-messages{padding:16px}.chat-message{max-width:95%}.chat-suggestions{padding:0 16px 13px}.chat-compose{padding:14px 16px}.chat-compose>div{display:block}.chat-compose button{width:100%;margin-top:8px}.chat-panel{min-height:500px}}

.finance-head>.button-row{align-items:center}.exchange-strip{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:11px 16px;margin-bottom:12px}.exchange-strip>span{font-size:7px;letter-spacing:1px;color:var(--wine);font-weight:700}.exchange-strip>b{font-size:10px}.exchange-strip>small{font-size:8px;color:var(--muted);margin-left:auto}.finance-grid{grid-template-columns:.8fr 1.2fr}.expense-panel{overflow:hidden}.expense-labels{display:grid;grid-template-columns:1.4fr 112px 85px 145px 27px;gap:8px;padding:0 0 7px 39px;color:var(--muted);font-size:7px}.expense-editor{display:grid;grid-template-columns:31px minmax(135px,1.4fr) 112px 85px 145px 27px;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.expense-icon{width:28px;height:28px;background:#f5e9ee;color:var(--wine);display:grid;place-items:center}.expense-editor input,.expense-editor select,.finance-entry select{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);height:34px;padding:0 7px;font:8px Montserrat}.expense-editor input:focus,.expense-editor select:focus,.finance-entry select:focus{outline:2px solid #d198ad55;border-color:var(--rose)}.expense-main{min-width:0}.expense-main input{font-weight:700}.expense-main select{height:26px;border-top:0;color:var(--muted)}.expense-editor>.paid-select{color:#39634d;background:#eef7f1}.expense-editor>.pending-select{color:#8a5d18;background:#fff5e5}.expense-value{display:grid;grid-template-columns:47px 1fr}.expense-value select{border-right:0}.expense-value small{grid-column:1/-1;font-size:7px;color:var(--muted);margin-top:3px;text-align:right}.empty-finance{font-size:9px;color:var(--muted);padding:25px 0}.finance-entry,.finance-settings{max-width:560px}.finance-entry select{display:block;margin-top:7px;height:44px;font-size:10px}.conversion-preview{background:var(--paper);color:var(--wine);padding:10px 12px;font-size:9px;margin:14px 0}.finance-settings label{font-size:9px;font-weight:600}.finance-settings input{font-size:16px}@media(max-width:1150px){.finance-grid{grid-template-columns:1fr}.expense-labels{grid-template-columns:1.4fr 112px 85px 145px 27px}.expense-editor{grid-template-columns:31px minmax(135px,1.4fr) 112px 85px 145px 27px}}@media(max-width:720px){.finance-head>.button-row{display:grid}.exchange-strip{align-items:flex-start;flex-wrap:wrap}.exchange-strip>small{width:100%;margin-left:0}.expense-labels{display:none}.expense-editor{grid-template-columns:31px 1fr 27px}.expense-editor>select,.expense-value{grid-column:2}.expense-editor>.delete-button{grid-column:3;grid-row:1}.expense-value{grid-template-columns:58px 1fr}.finance-entry .form-row{grid-template-columns:1fr}.finance-metrics{grid-template-columns:1fr 1fr}}@media(max-width:430px){.finance-metrics{grid-template-columns:1fr}.finance-head>.button-row button{width:100%}}

.calendar-overview{display:grid;grid-template-columns:2fr repeat(3,1fr);background:#fff;border:1px solid var(--line);margin-bottom:12px}.calendar-overview>div{padding:15px 18px;border-right:1px solid var(--line)}.calendar-overview>div:last-child{border-right:0}.calendar-overview small,.calendar-overview b{display:block}.calendar-overview small{font-size:7px;letter-spacing:1px;color:var(--muted)}.calendar-overview b{font:600 15px Montserrat;margin-top:5px}.calendar-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.calendar-days button{flex:0 0 110px;border:1px solid var(--line);background:#fff;padding:13px;text-align:left;color:var(--ink)}.calendar-days button:hover,.calendar-days button.active{border-color:var(--rose);background:#fdf9fa}.calendar-days button.active{box-shadow:inset 0 3px 0 var(--wine)}.calendar-days small,.calendar-days b,.calendar-days span,.calendar-days em{display:block}.calendar-days small{font-size:7px;color:var(--wine);font-weight:700;letter-spacing:1px}.calendar-days b{font:600 26px Montserrat;margin:8px 0 2px}.calendar-days span{font-size:8px;color:var(--muted);text-transform:capitalize}.calendar-days em{font-style:normal;font-size:7px;color:var(--wine);margin-top:9px}.day-planner{background:#fff;border:1px solid var(--line);margin-top:6px;min-height:380px}.day-planner-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line)}.day-planner-head h2{font:600 25px Montserrat;margin:3px 0;text-transform:capitalize}.day-planner-head>div>span{font-size:8px;color:var(--muted)}.day-nav{display:flex;gap:6px}.day-nav button{border:1px solid var(--line);background:#fff;padding:9px 11px;color:var(--wine);font-size:8px}.day-nav button:disabled{opacity:.35}.daily-list{padding:6px 26px 24px}.daily-activity{display:grid;grid-template-columns:34px 82px 1fr 130px 27px;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.activity-check{width:30px;height:30px;border-radius:50%;border:1px solid var(--rose);background:#fff;color:var(--wine);font-size:9px;font-weight:700}.daily-activity.done{opacity:.58}.daily-activity.done .activity-check{background:var(--wine);color:#fff}.daily-activity.done .activity-copy input:first-child{text-decoration:line-through}.daily-activity label{font-size:7px;color:var(--muted)}.daily-activity input,.daily-activity select,.activity-modal select{display:block;width:100%;height:36px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 8px;margin-top:4px;font:9px Montserrat}.daily-activity input:focus,.daily-activity select:focus,.activity-modal select:focus{outline:2px solid #d198ad55;border-color:var(--rose)}.activity-copy input:first-child{font-weight:700;border-bottom:0}.activity-copy input:last-child{font-size:8px;color:var(--muted)}.empty-day{text-align:center;padding:55px 20px}.empty-day>span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;margin:auto;font-weight:700}.empty-day h3{font:600 24px Montserrat;margin:16px 0 5px}.empty-day p{font-size:9px;color:var(--muted);margin:0 auto 18px;max-width:420px}.activity-modal{max-width:560px}.activity-modal select{margin-top:7px;height:44px}@media(max-width:760px){.calendar-overview{grid-template-columns:1fr 1fr}.calendar-overview>div:nth-child(2){border-right:0}.calendar-overview>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.day-planner-head{display:block;padding:20px}.day-nav{margin-top:14px}.daily-list{padding:5px 16px 20px}.daily-activity{grid-template-columns:34px 1fr 27px}.daily-activity>label,.daily-activity>.activity-copy{grid-column:2}.daily-activity>.delete-button{grid-column:3;grid-row:1}.calendar-head>.primary{white-space:nowrap}}@media(max-width:480px){.calendar-overview{grid-template-columns:1fr}.calendar-overview>div{border-right:0;border-bottom:1px solid var(--line)}.calendar-overview>div:last-child{border-bottom:0}.day-nav{display:grid;grid-template-columns:1fr 1fr}.activity-modal .form-row{grid-template-columns:1fr}}

.timing-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}.timing-summary>div{background:#fff;border:1px solid var(--line);border-left:4px solid var(--wine);padding:18px 20px}.timing-summary>div.during{border-left-color:#c98da5;background:#fdf9fa}.timing-summary>div.forecast-summary{border-left-color:#43865a}.timing-summary span,.timing-summary h3,.timing-summary b,.timing-summary small{display:block}.timing-summary span{font-size:7px;color:var(--wine);font-weight:700;letter-spacing:1px}.timing-summary h3{font:600 18px Montserrat;margin:5px 0 12px}.timing-summary b{font:600 25px Montserrat}.timing-summary small{font-size:8px;color:var(--muted);margin-top:5px}.expense-groups{display:grid;gap:13px}.expense-period{padding:0}.period-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;background:var(--paper);border-bottom:1px solid var(--line)}.period-head h3{font:600 20px Montserrat;margin:3px 0 0}.period-head>div:last-child{text-align:right}.period-head>div:last-child b,.period-head>div:last-child span{display:block}.period-head>div:last-child b{font:600 16px Montserrat}.period-head>div:last-child span{font-size:7px;color:var(--muted);margin-top:3px}.expense-period .expense-labels{padding:12px 22px 7px 61px}.expense-period .expense-editor{margin:0 22px}.period-empty{text-align:center;padding:28px 20px}.period-empty p{font-size:9px;color:var(--muted)}.period-empty button{border:0;background:none;color:var(--wine);font-size:8px;font-weight:700}@media(max-width:900px){.timing-summary{grid-template-columns:1fr}}@media(max-width:720px){.period-head{padding:16px}.expense-period .expense-editor{margin:0 14px}.expense-period .expense-labels{display:none}}

.drag-help{display:block;color:var(--muted);font-size:7px;margin-top:4px;font-weight:400}.stop-card>.handle{border:0;background:transparent;color:#aaa;width:23px;height:34px;padding:0;cursor:grab;font-size:16px;line-height:1;touch-action:none}.stop-card>.handle:hover,.stop-card>.handle:focus{color:var(--wine);background:#f5e9ee;outline:1px solid var(--rose)}.stop-card>.handle:active{cursor:grabbing}.stop-card>.handle:disabled{cursor:not-allowed;opacity:.35;background:transparent;outline:0}.stop-wrap.dragging{opacity:.52}.stop-wrap.drag-over>.stop-card{border:2px solid var(--wine);background:#fdf9fa;transform:translateY(2px)}.stop-wrap.drag-over>.stop-card:before{content:"Solte aqui";position:absolute;right:12px;top:-9px;background:var(--wine);color:#fff;padding:3px 7px;font-size:7px}.stop-card{position:relative;transition:border-color .15s,background .15s,transform .15s}@media(max-width:600px){.stop-card>.handle{width:30px;height:42px;font-size:19px}.drag-help{font-size:8px}}

/* Modo escuro com transição de página inteira */
.theme-toggle{height:34px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 11px;display:flex;align-items:center;gap:7px;font-size:9px;font-weight:600;border-radius:var(--radius-sm)}.theme-toggle span{font-size:15px;color:var(--wine)}
.app,.app .sidebar,.app .topbar,.app .page,.app .panel,.app input,.app select,.app textarea{transition:background-color .55s ease,color .55s ease,border-color .55s ease}
.app.theme-animating::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:radial-gradient(circle at calc(100% - 95px) 34px,rgba(216,106,159,.44),rgba(62,28,46,.18) 48%,transparent 72%);animation:themeSweep .72s ease-out both}
@keyframes themeSweep{0%{clip-path:circle(0 at calc(100% - 95px) 34px);opacity:1}72%{clip-path:circle(145vmax at calc(100% - 95px) 34px);opacity:.75}100%{clip-path:circle(145vmax at calc(100% - 95px) 34px);opacity:0}}
.app.dark{--wine:#e073a8;--rose:#b95887;--ink:#f7eef2;--muted:#b8aab1;--paper:#121012;--line:#3b3036;--soft:#282126;--white:#1d191c;--green:#7fb596;background:var(--paper);color:var(--ink);color-scheme:dark}
.dark .content,.dark .page{background:var(--paper)}.dark .sidebar,.dark .topbar,.dark .bottom-nav{background:#181417;border-color:var(--line)}.dark .hero-row h1,.dark h1,.dark h2,.dark h3{color:var(--ink)}
.dark :is(.metric,.panel,.route-summary,.route-list,.map-panel,.stop-card,.flight-editor,.chat-privacy,.chat-panel,.calendar-overview,.calendar-days button,.day-planner,.activity-entry,.activity-table,.planner-empty,.day-board,.itinerary-map,.comparison-day,.wishlist-toolbar,.wishlist-categories>button,.wishlist-product,.wishlist-empty,.module-card,.save-status,.quick-menu,.exchange-strip,.expense-period,.timing-summary>div,.form-modal,.compare-modal,.search-modal,.notice-modal){background:#1d191c;color:var(--ink);border-color:var(--line)}
.dark :is(input,select,textarea,.secondary,.search,.mode,.iconbtn,.theme-toggle,.stop-actions button,.map-toolbar,.map-toolbar button,.day-nav button,.chat-suggestions button,.activity-check){background:#171417;color:var(--ink);border-color:var(--line)}
.dark .trip-hero{background:linear-gradient(120deg,#321b28 0%,#21191e 58%,#3b1e2e 100%)}.dark .today-card{background:#21191e}.dark .next-stop{background:#2a1d24}.dark .comparison-day>header{background:linear-gradient(135deg,#321b28,#1d191c)}.dark :is(.period-head,.activity-table header,.conversion-preview,.image-upload>span){background:#262025;color:var(--ink)}
.dark :is(.quick-menu button,.bottom-nav button){background:#181417;color:var(--muted)}.dark .sidebar nav button.active{background:#3a2030;color:#f0a5c9}.dark .sidebar nav button:hover{background:#282126}.dark .product-image{background:#2a2528}.dark .metric.accent{background:#8d2c60}.dark .route-map,.dark .map-canvas,.dark .mini-map{filter:brightness(.72) saturate(.8)}.dark .modal-backdrop{background:#080608dd}.dark .search kbd{background:#272126;border-color:var(--line)}
@media(max-width:900px){.theme-toggle{width:36px;padding:0;justify-content:center}.theme-toggle span{font-size:17px}.theme-toggle{font-size:0}.top-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){.app.theme-animating::after{animation:none}.app,.app *{transition:none!important}}

.lodging-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lodging-form-card,.lodging-map-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.lodging-form-card{padding:26px}.lodging-card-title{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:4px}.lodging-card-title>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--wine);color:#fff;font-weight:700}.lodging-card-title small{font-size:7px;color:var(--wine);letter-spacing:1px}.lodging-card-title h2{font:600 21px Montserrat;margin:5px 0 0}.lodging-form-card>label,.lodging-form-card .form-row label{display:block;font-size:8px;font-weight:700;color:var(--muted);margin-top:17px}.lodging-form-card input{display:block;width:100%;height:43px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:0 11px;margin-top:6px}.lodging-map-card{display:flex;flex-direction:column}.lodging-map{height:285px;position:relative;overflow:hidden;background-color:#e7e3dd;background-image:linear-gradient(30deg,#d2cdc5 1px,transparent 1px),linear-gradient(120deg,#d6d1ca 1px,transparent 1px);background-size:65px 65px}.lodging-map .road.a{top:42%;transform:rotate(-13deg)}.lodging-map .road.b{top:28%;transform:rotate(56deg)}.lodging-pin{position:absolute;left:52%;top:42%;width:42px;height:42px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--wine);color:#fff;display:grid;place-items:center;font-weight:700;box-shadow:0 8px 20px #4d18334a}.lodging-map>em{position:absolute;left:calc(52% + 31px);top:calc(42% + 45px);background:#fff;color:var(--wine);padding:5px 8px;border-radius:999px;font-style:normal;font-size:7px;font-weight:700}.lodging-base-copy{padding:24px}.lodging-base-copy h3{font:600 22px Montserrat;margin:0 0 7px}.lodging-base-copy>p:not(.eyebrow){font-size:9px;color:var(--muted);line-height:1.6;margin:0}.lodging-actions{display:flex;gap:8px;margin-top:20px}.lodging-head .primary:disabled,.lodging-actions button:disabled{opacity:.45;cursor:not-allowed}.dark .lodging-form-card,.dark .lodging-map-card{background:#1d191c;border-color:var(--line)}.dark .lodging-form-card input{background:#171417;color:var(--ink);border-color:var(--line)}.dark .lodging-map{filter:brightness(.72) saturate(.8)}
@media(max-width:850px){.lodging-layout{grid-template-columns:1fr}.lodging-head{display:block}.lodging-head>.primary{margin-top:18px}.lodging-map{height:240px}}

/* Responsive system — iPhone first */
:root{--sidebar-fluid:clamp(13.5rem,18vw,15rem);--mobile-gutter:clamp(1rem,4vw,1.5rem)}
html,body,.app{width:100%;max-width:100%;overflow-x:hidden}.sidebar{width:var(--sidebar-fluid)}.content{margin-left:var(--sidebar-fluid)}.search{width:min(30vw,19.5rem)}
img,video,canvas{max-width:100%;height:auto}.page>*{min-width:0}.hero-row>div,.panel>div,.metric,.module-card>div,.stop-info,.product-copy,.chat-message p{min-width:0;overflow-wrap:anywhere}.metric,.panel,.module-card,.wishlist-product,.comparison-day,.flight-editor,.expense-period{height:auto}
h1{font-size:clamp(2rem,4vw,2.625rem)}h2{font-size:clamp(1.4rem,3vw,2.2rem)}h3{font-size:clamp(1.05rem,2vw,1.45rem)}.metric>b,.big-money,.product-copy>strong{font-size:clamp(1.25rem,3vw,1.875rem)}
@media(max-width:900px){
  html{font-size:16px}.content{margin-left:0;width:100%}.page{width:100%;max-width:none;padding:clamp(1.25rem,5vw,2rem) var(--mobile-gutter) calc(6rem + env(safe-area-inset-bottom));overflow:hidden}.topbar{width:100%;height:auto;min-height:3.75rem;padding:.65rem var(--mobile-gutter);gap:.75rem}.mobile-brand{min-width:0;flex:1}.mobile-brand b{font-size:clamp(.82rem,3.7vw,1rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{flex:0 0 auto}.top-actions .iconbtn{display:none}
  .hero-row,.section-title,.panel-head,.period-head,.flight-editor-head{gap:1rem}.hero-row{flex-direction:column;margin-bottom:1.4rem}.hero-row>div{width:100%}.hero-row h1{font-size:clamp(1.9rem,8.5vw,2.5rem);line-height:1.08}.lead{font-size:clamp(.78rem,3vw,.9rem);line-height:1.55}.eyebrow{font-size:.62rem;line-height:1.4;letter-spacing:.12rem}.hero-row>.primary,.hero-row>.secondary,.hero-row>.button-row{width:100%}.hero-row>.primary{font-size:.75rem}.hero-row>.button-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.button-row>button{min-width:0}
  button,.primary,.secondary{min-height:2.75rem;white-space:normal;line-height:1.25}.primary,.secondary{padding:.75rem 1rem;font-size:.72rem}input,select,textarea{max-width:100%;min-width:0;font-size:1rem!important}
  .trip-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;min-height:0;padding:1.5rem}.trip-hero>div:first-child{min-width:0}.trip-hero h2{max-width:none;font-size:clamp(1.6rem,7vw,2rem);line-height:1.15}.trip-hero p{font-size:.72rem;line-height:1.5}.countdown{position:static!important;margin:0!important;text-align:left;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:.65rem;width:100%}.countdown small{grid-column:1/-1}.countdown b{font-size:clamp(2.8rem,13vw,4rem);line-height:1}.countdown span{padding-bottom:.45rem}.countdown em{grid-column:1/-1}.progress-line{align-items:flex-start;flex-direction:column}.progress-line>span{width:100%}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.metric{min-height:0;padding:1rem}.metric>b{font-size:clamp(1.15rem,5.5vw,1.55rem);overflow-wrap:anywhere}.metric-icon{position:static;margin-left:auto}.dashboard-grid,.today-grid,.finance-grid,.route-layout,.flights-grid,.pretrip-grid,.chat-shell,.itinerary-layout,.lodging-layout{grid-template-columns:minmax(0,1fr)}.panel{padding:1rem}.panel-head h3{font-size:clamp(1.15rem,5vw,1.45rem)}
  .today-card{grid-template-columns:minmax(0,1fr);padding:1.2rem;gap:1rem}.attention{padding-left:0;border-left:0}.today-card .primary{width:100%}.next-stop{grid-template-columns:1fr}.next-copy{padding:1.3rem}.next-copy h2{font-size:clamp(1.55rem,7vw,2rem)}
  .route-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem}.route-summary>div{min-width:0}.route-summary b{font-size:clamp(1rem,5vw,1.25rem)}.route-summary button{grid-column:1/-1;width:100%;min-height:2.75rem}.route-list,.map-panel{padding:.8rem}.map-canvas{min-height:55vh}.stop-card{display:grid;grid-template-columns:2rem 2rem minmax(0,1fr);gap:.55rem;align-items:start;padding:.75rem}.stop-card>.handle,.stop-number{width:2rem}.stop-actions{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;max-width:none}.editable-stop>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(5.5rem,.7fr)}.editable-stop .stop-kind,.editable-stop .stop-time{width:100%}
  .finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exchange-strip{display:grid;grid-template-columns:1fr auto;gap:.4rem .8rem}.exchange-strip>small{grid-column:1/-1;margin:0}.timing-summary{grid-template-columns:1fr}.expense-period .expense-editor{margin:0 .75rem}.expense-editor{grid-template-columns:2rem minmax(0,1fr) 2rem}.expense-editor>select,.expense-value{grid-column:2}.expense-editor>.delete-button{grid-column:3;grid-row:1}.expense-value{grid-template-columns:minmax(3.5rem,.6fr) minmax(0,1fr)}.period-head{align-items:flex-start}.period-head>div:last-child{max-width:45%}
  .module-grid,.wishlist-categories,.wishlist-products{grid-template-columns:minmax(0,1fr)}.module-card{width:100%;padding:1rem}.wishlist-toolbar{flex-direction:column;align-items:stretch;gap:.8rem}.wishlist-filter{display:grid;grid-template-columns:1fr}.wishlist-filter select{width:100%;min-width:0}.product-image{height:auto;aspect-ratio:4/3}.product-copy{padding:1rem}.wishlist-categories>button{width:100%;min-height:0;padding:1rem}
  .calendar-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-overview>div{padding:.9rem}.calendar-days{width:100%;max-width:100%;overscroll-behavior-x:contain}.calendar-days button{flex:0 0 clamp(6.5rem,30vw,8rem)}.day-board>header,.day-planner-head,.map-title{padding:1rem;align-items:flex-start}.schedule-list{padding:.35rem .75rem}.schedule-list article{grid-template-columns:3rem 1.7rem minmax(0,1fr) 1.8rem;gap:.45rem}.comparison-board{width:100%;max-width:100%;overscroll-behavior-x:contain}.comparison-day{flex-basis:min(82vw,19rem);min-height:0}
  .activity-entry{padding:1rem}.entry-fields{grid-template-columns:1fr}.activity-entry>.primary{width:100%}.activity-table header{display:none}.activity-table article{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 2rem;padding:.75rem}.activity-table article input:nth-of-type(3),.activity-table article input:nth-of-type(4){grid-column:1/3}.activity-table article .delete-button{grid-column:3;grid-row:1}
  .flight-editor{padding:1rem}.flight-fields,.form-row{grid-template-columns:1fr}.flight-route{gap:.6rem;padding:1rem}.flight-route b{font-size:.88rem;overflow-wrap:anywhere}.flight-meta{grid-template-columns:1fr}.chat-panel{min-height:0}.chat-messages{min-height:40vh;max-height:52vh;padding:1rem}.chat-message{max-width:95%}.chat-compose,.chat-suggestions{padding-left:1rem;padding-right:1rem}.chat-compose>div{display:grid}.chat-compose button{width:100%;min-width:0}
  .lodging-form-card{padding:1rem}.lodging-map{height:auto;min-height:15rem}.lodging-actions{display:grid;grid-template-columns:1fr}.lodging-actions button{width:100%}
  .modal-backdrop{padding:var(--mobile-gutter);align-items:center}.form-modal,.compare-modal,.search-modal,.notice-modal,.place-modal{width:100%;max-width:100%;max-height:calc(100dvh - 2rem);padding:1.25rem;overflow:auto}.modal-actions{display:grid;grid-template-columns:1fr;position:static;padding:.5rem 0 0}.modal-actions button{width:100%}.compare-grid{grid-template-columns:1fr}
  .save-status{left:auto;right:var(--mobile-gutter);bottom:calc(4.7rem + env(safe-area-inset-bottom));max-width:calc(100vw - 2 * var(--mobile-gutter));white-space:normal}.bottom-nav{height:calc(4.25rem + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav button{width:100%;min-width:0;height:4.25rem;font-size:.62rem;overflow:hidden}.bottom-nav button span{font-size:1.1rem}.fab{right:var(--mobile-gutter);bottom:calc(5.25rem + env(safe-area-inset-bottom))}
}
@media(max-width:430px){.metric-grid,.finance-metrics{grid-template-columns:1fr}.calendar-overview{grid-template-columns:1fr}.calendar-overview>div{border-right:0}.route-summary{grid-template-columns:1fr 1fr}.period-head{display:grid}.period-head>div:last-child{max-width:none;text-align:left}.comparison-day{flex-basis:88vw}}
@media(max-width:380px){.page{padding-left:.85rem;padding-right:.85rem}.mobile-brand b{max-width:9rem}.trip-hero{padding:1.1rem}.route-summary{grid-template-columns:1fr}.calendar-days button{flex-basis:6.25rem}.stop-card{grid-template-columns:1.75rem 1.75rem minmax(0,1fr)}.bottom-nav button{font-size:.55rem}.bottom-nav button span{font-size:1rem}.hero-row h1{font-size:1.8rem}}
.mobile-more-backdrop{display:none}@media(max-width:900px){.mobile-more-backdrop{display:flex;position:fixed;inset:0;z-index:120;background:#21151db8;align-items:flex-end;padding:0}.mobile-more-sheet{width:100%;max-height:min(82dvh,46rem);overflow:auto;background:#fff;border-radius:1.5rem 1.5rem 0 0;padding:1.25rem var(--mobile-gutter) calc(1.5rem + env(safe-area-inset-bottom));box-shadow:0 -1rem 3rem #3315242b}.mobile-more-sheet>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.mobile-more-sheet h2{font:600 clamp(1.35rem,6vw,1.7rem) Montserrat;margin:0}.mobile-more-sheet>header>button{width:2.75rem;height:2.75rem;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;font-size:1.4rem}.mobile-more-sheet>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.mobile-more-sheet>div>button{min-width:0;min-height:3.5rem;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:.85rem;padding:.75rem;display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.45rem;text-align:left}.mobile-more-sheet>div>button span{color:var(--wine);font-size:1rem}.mobile-more-sheet>div>button b{font-size:.72rem;overflow-wrap:anywhere}.mobile-more-sheet>div>button em{font-style:normal;color:var(--wine)}.mobile-more-sheet>div>button.active{border-color:var(--rose);background:#f9edf3}.dark .mobile-more-sheet{background:#1d191c}.dark .mobile-more-sheet>div>button,.dark .mobile-more-sheet>header>button{background:#171417;color:var(--ink);border-color:var(--line)}.dark .mobile-more-sheet>div>button.active{background:#3a2030}}@media(max-width:360px){.mobile-more-sheet>div{grid-template-columns:1fr}}

.progress-line i,.mini-progress em,.progress-item em{transition:width .55s cubic-bezier(.22,1,.36,1)}
.dashboard-grid{grid-template-columns:minmax(0,1fr)}

.editable-forecast{cursor:text}.editable-forecast .metric-icon{border:0;cursor:pointer}.forecast-value-button{display:block;width:calc(100% - 2.5rem);border:0;background:transparent;color:inherit;padding:0;margin:10px 0 3px;text-align:left;font:600 26px Montserrat;cursor:text;white-space:nowrap}.forecast-value-editor{display:flex;align-items:center;gap:.35rem;margin:10px 0 3px;width:calc(100% - 2.5rem);height:2rem;border-bottom:2px solid var(--wine)}.forecast-value-editor>span{font:600 .78rem Montserrat;color:var(--wine)}.forecast-value-editor>input{min-width:0;width:100%;height:100%;border:0;background:transparent;color:inherit;font:600 1.25rem Montserrat;outline:0;padding:0}.editable-forecast.editing{border-color:var(--rose);box-shadow:0 0 0 3px #c98da51f}.dark .forecast-value-button,.dark .forecast-value-editor>input{color:var(--ink)}
@media(max-width:430px){.forecast-value-button{font-size:1.35rem}.forecast-value-editor>input{font-size:1.15rem}}

.dashboard-metrics,.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.dashboard-metrics,.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics>.metric:last-child,.finance-metrics>.metric:last-child{grid-column:1/-1}}
@media(max-width:600px){.dashboard-metrics,.finance-metrics{grid-template-columns:minmax(0,1fr)}.dashboard-metrics>.metric:last-child,.finance-metrics>.metric:last-child{grid-column:auto}}

.smart-agenda{min-width:0}.smart-agenda .panel-head{margin-bottom:.75rem}.agenda-total{min-width:2.15rem;height:2.15rem;border-radius:50%;display:grid;place-items:center;background:#f5e9ee;color:var(--wine);font:700 .8rem Montserrat}.agenda-tabs{display:flex;gap:.4rem;margin-bottom:.8rem;border-bottom:1px solid var(--line)}.agenda-tabs button{border:0;background:transparent;color:var(--muted);padding:.55rem .7rem;border-bottom:2px solid transparent;font-size:.65rem}.agenda-tabs button b{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;margin-left:.25rem;border-radius:1rem;background:var(--soft);font-size:.58rem}.agenda-tabs button.active{color:var(--wine);border-bottom-color:var(--wine);font-weight:700}.agenda-list{display:grid;gap:.65rem;max-height:36rem;overflow:auto;padding-right:.2rem;scrollbar-width:thin}.agenda-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;border:1px solid var(--line);border-left:4px solid var(--rose);border-radius:.85rem;padding:.85rem;background:var(--paper);transition:opacity .25s ease,transform .25s ease}.agenda-task.priority-alta{border-left-color:#b64755}.agenda-task.priority-media{border-left-color:#c88a3d}.agenda-task.priority-baixa{border-left-color:#6d9279}.agenda-task-main{min-width:0}.agenda-task-main>div{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.agenda-category,.agenda-priority{display:inline-flex;border-radius:1rem;padding:.22rem .45rem;font-size:.52rem;font-weight:700;letter-spacing:.04em}.agenda-category{background:#f5e9ee;color:var(--wine)}.agenda-priority{background:var(--soft);color:var(--muted)}.agenda-priority.alta{background:#f9e6e8;color:#a52e3d}.agenda-priority.media{background:#fff1dc;color:#98611f}.agenda-priority.baixa{background:#eaf4ed;color:#477056}.agenda-task h4{font:600 .82rem Montserrat;margin:.45rem 0 .22rem}.agenda-task p{font-size:.62rem;line-height:1.45;color:var(--muted);margin:0}.agenda-task-meta{display:grid;grid-template-columns:auto auto;align-content:center;gap:.55rem .8rem;min-width:10.5rem}.agenda-task-meta>span small,.agenda-task-meta>span b{display:block}.agenda-task-meta>span small{font-size:.47rem;letter-spacing:.08em;color:var(--muted)}.agenda-task-meta>span b{font-size:.62rem;margin-top:.18rem}.agenda-task-meta>button{grid-column:1/-1;border:0;border-radius:.55rem;background:var(--wine);color:#fff;padding:.55rem;font-size:.62rem;font-weight:700}.agenda-empty{min-height:12rem;display:grid;place-items:center;align-content:center;text-align:center;gap:.35rem;color:var(--muted)}.agenda-empty>span{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:#eaf4ed;color:#43865a;font-size:1.2rem}.agenda-empty>b{font:600 .9rem Montserrat;color:var(--ink)}.agenda-empty>small{font-size:.62rem;max-width:18rem}.dark .agenda-task{background:#171417}.dark .agenda-category{background:#3a2030}.dark .agenda-priority.alta{background:#492128;color:#ef9da8}.dark .agenda-priority.media{background:#49351d;color:#f1c17e}.dark .agenda-priority.baixa{background:#1d3927;color:#8cc99f}
@media(max-width:700px){.agenda-task{grid-template-columns:minmax(0,1fr)}.agenda-task-meta{grid-template-columns:1fr 1fr;min-width:0}.agenda-task-meta>button{min-height:2.75rem}.agenda-list{max-height:none}}

.notification-button.has-reminder{border-color:var(--rose);color:var(--wine);background:#fff7fa}.notifications-modal{position:relative;width:min(34rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;background:#fff;border-radius:1.4rem;padding:1.8rem;box-shadow:0 1.5rem 4rem #32152238}.notifications-modal h2{font:600 clamp(1.6rem,5vw,2rem) Montserrat;margin:0}.notification-intro{font-size:.72rem;line-height:1.5;color:var(--muted);margin:.55rem 0 1rem}.active-reminder{display:flex;align-items:center;gap:.85rem;border-radius:1rem;padding:1rem;background:linear-gradient(135deg,#89235b,#b75e83);color:#fff;margin-bottom:1rem}.active-reminder>span{flex:0 0 auto;width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:#ffffff22;font-size:.62rem;font-weight:800;letter-spacing:.08em}.active-reminder h3{font:600 1.1rem Montserrat;margin:0}.active-reminder p{font-size:.68rem;line-height:1.45;margin:.25rem 0 0;color:#f8eaf0}.notification-list{border:1px solid var(--line);border-radius:1rem;overflow:hidden}.notification-list>header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--paper)}.notification-list>header b{font-size:.72rem}.notification-list>header span{min-width:1.55rem;height:1.55rem;border-radius:50%;display:grid;place-items:center;background:#f2e3e9;color:var(--wine);font-size:.62rem;font-weight:700}.notification-list article{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.8rem;padding:.85rem 1rem;border-top:1px solid var(--line)}.notification-list article.current{background:#fff6fa}.notification-list time{font-size:.63rem;font-weight:700;color:var(--wine)}.notification-list article b{font-size:.72rem}.notification-list article p{font-size:.62rem;line-height:1.4;color:var(--muted);margin:.2rem 0}.notification-list article small{font-size:.56rem;color:var(--muted);text-transform:capitalize}.notification-empty{display:grid;place-items:center;text-align:center;padding:2rem 1rem}.notification-empty>span{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:#eaf4ed;color:#43865a}.notification-empty>b{font-size:.78rem;margin-top:.55rem}.notification-empty p{font-size:.62rem;color:var(--muted);max-width:20rem}.notification-close{width:100%;margin-top:1rem;border-radius:.7rem}.dark .notifications-modal{background:#1d191c;color:var(--ink)}.dark .notification-list{border-color:var(--line)}.dark .notification-list>header,.dark .notification-list article.current{background:#171417}.dark .notification-button.has-reminder{background:#3a2030;color:#efb6ce}
@media(max-width:900px){.top-actions .iconbtn.notification-button{display:grid}.notifications-modal{padding:1.25rem}.notification-list article{grid-template-columns:4rem minmax(0,1fr);padding:.8rem}.active-reminder{align-items:flex-start}}

.checklist-overview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem 1.5rem;background:linear-gradient(135deg,#f6e8ee,#fff);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.25rem;margin-bottom:.8rem}.checklist-overview>div{display:grid;grid-template-columns:auto auto;align-items:end;gap:.1rem .6rem}.checklist-overview span{grid-column:1/-1;font-size:.55rem;letter-spacing:.12em;color:var(--wine);font-weight:700}.checklist-overview b{font:600 1.65rem Montserrat}.checklist-overview small{font-size:.62rem;color:var(--muted);padding-bottom:.2rem}.checklist-overview>i{height:.55rem;border-radius:1rem;background:#eadce2;overflow:hidden}.checklist-overview>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--wine),#c56c91);transition:width .55s cubic-bezier(.22,1,.36,1)}.smart-checklist-layout{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.checklist-count{min-width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#f4e8ed;color:var(--wine);font-size:.7rem;font-weight:700}.checklist-count.done{background:#e7f3ea;color:#43865a}.smart-check-list{display:grid;gap:.55rem}.smart-check-item{display:grid;grid-template-columns:2rem minmax(0,1fr) 8.5rem 2rem;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:.8rem;padding:.65rem;background:var(--paper);transition:background-color .3s ease,border-color .3s ease,transform .3s ease,opacity .3s ease}.smart-check-item.status-em-andamento{border-color:#ddbd8f;background:#fffaf2}.smart-check-item.completed-item{border-color:#c8dfcf;background:#f4faf5;animation:checklistMove .48s cubic-bezier(.22,1,.36,1)}@keyframes checklistMove{0%{opacity:0;transform:translateY(-.8rem) scale(.97)}100%{opacity:1;transform:none}}.check-indicator{width:1.8rem;height:1.8rem;border-radius:.5rem;border:2px solid #c9bcc2;background:#fff;color:#fff;font-weight:800}.completed-item .check-indicator{border-color:#43865a;background:#43865a}.smart-check-item>input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:.72rem;font-weight:600;outline:0}.completed-item>input{text-decoration:line-through;color:var(--muted)}.smart-check-item>select{min-width:0;width:100%;height:2rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--ink);padding:0 .45rem;font-size:.6rem}.smart-check-item>.delete-button{width:1.8rem;height:1.8rem;border-radius:.5rem}.checklist-success,.checklist-empty{min-height:11rem;display:grid;place-items:center;align-content:center;text-align:center;gap:.3rem;color:var(--muted)}.checklist-success>span{width:2.8rem;height:2.8rem;border-radius:50%;display:grid;place-items:center;background:#43865a;color:#fff;font-size:1.3rem;animation:checklistPulse .55s ease}@keyframes checklistPulse{50%{transform:scale(1.12)}}.checklist-success h3{font:600 1.1rem Montserrat;margin:.2rem 0 0;color:var(--ink)}.checklist-success p{font-size:.65rem;margin:0}.checklist-empty>span{font-size:1.8rem}.checklist-empty>b{font-size:.75rem;color:var(--ink)}.checklist-empty>small{font-size:.6rem}.dark .checklist-overview{background:linear-gradient(135deg,#351e2b,#1d191c)}.dark .smart-check-item{background:#171417}.dark .smart-check-item.status-em-andamento{background:#362817}.dark .smart-check-item.completed-item{background:#173020}.dark .smart-check-item>select,.dark .check-indicator{background:#211d20;color:var(--ink)}
@media(max-width:900px){.smart-checklist-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.checklist-overview{grid-template-columns:1fr}.smart-check-item{grid-template-columns:2rem minmax(0,1fr) 2rem}.smart-check-item>select{grid-column:2}.smart-check-item>.delete-button{grid-column:3;grid-row:1}.checklist-head{display:grid}.checklist-head>.primary{width:100%;font-size:.7rem}.checklist-head>.primary:after{content:none}}

.interactive-mini-map{isolation:isolate;min-height:17.5rem}.mini-map-heading{position:absolute;z-index:4;top:1rem;left:1rem;display:flex;flex-direction:column;gap:.15rem;background:#fffffff0;border:1px solid var(--line);border-radius:.7rem;padding:.55rem .7rem;box-shadow:0 .3rem 1.2rem #35182716}.mini-map-heading span{font-size:.58rem;letter-spacing:.12rem;font-weight:700;color:var(--wine)}.mini-map-heading small{font-size:.56rem;color:var(--muted)}.daily-map-pin{position:absolute;z-index:3;width:2rem;height:2rem;border:2px solid #fff;border-radius:50% 50% 50% 0;background:var(--wine);color:#fff;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 .2rem .8rem #3518273d;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.daily-map-pin b{font-size:.65rem;transform:rotate(45deg)}.daily-map-pin:hover,.daily-map-pin:focus-visible{transform:translate(-50%,-50%) rotate(-45deg) scale(1.12);outline:none;box-shadow:0 0 0 .25rem #fff9,0 .3rem 1rem #35182755}.daily-map-pin.active{background:#fff;color:var(--wine);border-color:var(--wine);transform:translate(-50%,-50%) rotate(-45deg) scale(1.15)}.mini-map-popover{position:absolute;z-index:5;left:1rem;right:1rem;bottom:1rem;max-width:20rem;background:#fffffff2;border:1px solid var(--line);border-radius:.85rem;padding:.75rem .85rem;box-shadow:0 .45rem 1.4rem #35182720;backdrop-filter:blur(.35rem)}.mini-map-popover>span,.mini-map-popover>b,.mini-map-popover>small{display:block}.mini-map-popover>span{font-size:.56rem;color:var(--wine);text-transform:uppercase;letter-spacing:.06rem;font-weight:700}.mini-map-popover>b{font-size:.78rem;margin:.2rem 0}.mini-map-popover>small{font-size:.6rem;color:var(--muted);overflow-wrap:anywhere}.mini-map-popover>button{border:0;background:none;color:var(--wine);font-size:.6rem;font-weight:700;padding:.45rem 0 0}.dark .mini-map-heading,.dark .mini-map-popover{background:#1d191ced}.dark .daily-map-pin.active{background:#f3dce7}.dark .interactive-mini-map{filter:none}.dark .interactive-mini-map:before{content:"";position:absolute;inset:0;background:#12101270;z-index:0;pointer-events:none}
@media(max-width:480px){.interactive-mini-map{min-height:18.5rem}.mini-map-popover{max-width:none}.daily-map-pin{width:2.15rem;height:2.15rem}}

.document-security{display:flex;align-items:center;gap:.8rem;border:1px solid #cfe0d4;border-radius:1rem;background:#f4faf6;padding:.85rem 1rem;margin-bottom:1rem}.document-security>span{flex:0 0 auto;width:2.3rem;height:2.3rem;border-radius:.7rem;background:#dceee2;color:#37704d;display:grid;place-items:center}.document-security>div{flex:1;min-width:0}.document-security b,.document-security small,.document-security em{display:block}.document-security b{font-size:.72rem}.document-security small{font-size:.6rem;color:var(--muted);margin-top:.15rem}.document-security em{font-size:.58rem;color:#37704d;margin-top:.25rem;font-style:normal}.document-security>button{border:0;border-radius:.6rem;background:#fff;color:#37704d;padding:.65rem .8rem;font-size:.62rem;font-weight:700}.document-tools{display:grid;grid-template-columns:minmax(0,1fr) 13rem;gap:.75rem;align-items:end;margin-bottom:.8rem}.document-tools label{font-size:.58rem;font-weight:700;color:var(--muted)}.document-tools select,.document-search{height:2.75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.document-tools select{display:block;width:100%;margin-top:.3rem;color:var(--ink);padding:0 .7rem}.document-search{display:flex;align-items:center;gap:.55rem;padding:0 .8rem;color:var(--wine)}.document-search input{min-width:0;flex:1;border:0;background:transparent;color:var(--ink);outline:0;font-size:.72rem}.document-filters{display:flex;gap:.4rem;overflow:auto;padding:.1rem 0 .7rem;scrollbar-width:none}.document-filters::-webkit-scrollbar{display:none}.document-filters button{flex:0 0 auto;border:1px solid var(--line);border-radius:2rem;background:#fff;color:var(--muted);padding:.55rem .8rem;font-size:.6rem}.document-filters button.active{background:var(--wine);border-color:var(--wine);color:#fff}.document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.document-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:1rem;background:#fff;overflow:visible;box-shadow:0 .3rem 1.1rem #3518270a}.document-card-main{display:block;width:100%;border:0;border-radius:inherit;background:transparent;color:var(--ink);padding:.8rem;text-align:left}.document-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;min-height:2.7rem}.document-card h3{font:600 .72rem/1.25 Montserrat;margin:0;overflow-wrap:anywhere}.document-card header p{font-size:.54rem;color:var(--muted);margin:.2rem 0 0}.document-status{flex:0 0 auto;border-radius:2rem;padding:.25rem .42rem;background:#edf1ee;color:#53705d;font-size:.48rem;font-weight:700}.document-status.status-vencendo{background:#fff0d8;color:#99631f}.document-status.status-vencido{background:#f9e5e7;color:#a63240}.document-status.status-pendente,.document-status.status-incompleto,.document-status.status-sem-arquivo{background:#f0ecee;color:#766a70}.document-thumbnail{height:10rem;margin:.65rem 0;border:1px solid var(--line);border-radius:.75rem;background:#f2f0ef;overflow:hidden;display:grid;place-items:center}.document-thumbnail img,.document-thumbnail iframe{width:100%;height:100%;border:0;object-fit:cover;pointer-events:none}.document-placeholder{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:.3rem;background:linear-gradient(145deg,#f4f0f1,#ebe6e8);text-align:center}.document-placeholder b{font-size:.65rem;color:var(--muted)}.document-placeholder span{font-size:.52rem;color:#999}.document-card footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem}.document-card footer span{font-size:.52rem;color:var(--wine);font-weight:700}.document-card footer b{font-size:.52rem;color:var(--muted);text-align:right}.document-actions{position:absolute;right:.45rem;bottom:.35rem;z-index:8}.document-actions summary{list-style:none;width:1.8rem;height:1.8rem;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--wine);font-size:.62rem;cursor:pointer}.document-actions summary::-webkit-details-marker{display:none}.document-actions>div{position:absolute;right:0;bottom:2.1rem;width:11.5rem;display:grid;padding:.45rem;background:#fff;border:1px solid var(--line);border-radius:.8rem;box-shadow:0 .8rem 2rem #3518272a}.document-actions button,.document-actions label{border:0;background:transparent;color:var(--ink);padding:.5rem;text-align:left;font-size:.6rem}.document-actions button:hover{background:var(--paper);color:var(--wine)}.document-actions button:disabled{opacity:.4}.document-actions .danger{color:#a63240}.document-actions label select{display:block;width:100%;margin-top:.25rem;border:1px solid var(--line);border-radius:.4rem;background:#fff;color:var(--ink);font-size:.58rem;padding:.35rem}.document-empty,.document-loading{min-height:20rem;border:1px dashed var(--line);border-radius:1rem;display:grid;place-items:center;align-content:center;text-align:center;padding:2rem}.document-empty>span{width:3.5rem;height:3.5rem;border-radius:1rem;background:#f2e5eb;color:var(--wine);display:grid;place-items:center;font-size:1.4rem}.document-empty h2{max-width:32rem;font:600 clamp(1.3rem,3vw,1.8rem) Montserrat;margin:1rem 0 .35rem}.document-empty p{max-width:34rem;color:var(--muted);font-size:.7rem;line-height:1.5;margin:0 0 1.2rem}.document-loading{font-size:.72rem;color:var(--muted)}.document-form{max-width:47rem}.document-form textarea,.document-form select{display:block;width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.7rem;margin-top:.4rem}.document-upload-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0}.document-upload-options label{display:grid;place-items:center;min-height:4.5rem;border:1px dashed var(--rose);border-radius:.8rem;background:#fff7fa;color:var(--wine);font-size:.68rem;font-weight:700;cursor:pointer}.document-upload-options input{position:absolute;width:1px;height:1px;opacity:0}.selected-file{border-radius:.6rem;background:#f4faf6;color:#37704d;padding:.6rem;font-size:.62rem}.document-viewer{position:fixed;z-index:160;inset:1rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#181518;color:#fff;border-radius:1.2rem;overflow:hidden;box-shadow:0 2rem 6rem #0008}.document-viewer>header,.document-viewer>footer{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;background:#211d20}.document-viewer>header{justify-content:space-between}.document-viewer header small{font-size:.56rem;color:#c9bdc3}.document-viewer header h2{font:600 1rem Montserrat;margin:.15rem 0 0}.document-viewer header>button{width:2.4rem;height:2.4rem;border:0;border-radius:50%;background:#ffffff14;color:#fff;font-size:1.5rem}.document-viewer-file{min-height:0;overflow:auto;display:grid;place-items:center;touch-action:pan-x pan-y pinch-zoom}.document-viewer-file img{max-width:100%;max-height:100%;transform-origin:center;transition:transform .18s ease}.document-viewer-file iframe{width:100%;height:100%;border:0;background:#fff}.document-viewer-file .document-placeholder{color:var(--ink);max-width:24rem;max-height:18rem}.document-viewer>footer{justify-content:center;flex-wrap:wrap}.document-viewer footer>button,.viewer-zoom button{border:1px solid #ffffff28;border-radius:.55rem;background:#ffffff12;color:#fff;padding:.55rem .75rem;font-size:.62rem}.document-viewer footer>button:disabled{opacity:.35}.viewer-zoom{display:flex;align-items:center;gap:.35rem}.viewer-zoom span{min-width:3rem;text-align:center;font-size:.6rem}.document-lock-screen{min-height:65vh;display:grid;place-items:center;align-content:center;text-align:center}.document-lock-screen>span{width:4rem;height:4rem;border-radius:1.2rem;background:#f2e5eb;color:var(--wine);display:grid;place-items:center;font-size:1.7rem}.document-lock-screen h1{font:600 clamp(2rem,6vw,3rem) Montserrat;margin:.3rem 0}.document-lock-screen p{color:var(--muted);font-size:.72rem}.document-lock-screen small{margin-top:.8rem;color:#a63240}.dark .document-security{background:#173020;border-color:#315d40}.dark :is(.document-security>button,.document-tools select,.document-search,.document-filters button,.document-card,.document-actions summary,.document-actions>div,.document-actions label select,.document-form textarea,.document-form select){background:#211d20}.dark .document-placeholder{background:linear-gradient(145deg,#292326,#1b181a)}.dark .document-upload-options label{background:#351e2b}.dark .document-status{background:#27352c}.dark .document-status.status-vencendo{background:#49351d}.dark .document-status.status-vencido{background:#492128}.dark .document-status.status-pendente,.dark .document-status.status-incompleto,.dark .document-status.status-sem-arquivo{background:#342d31}
@media(max-width:1050px){.document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.document-head{display:grid}.document-head>.primary{width:100%;font-size:.68rem}.document-head>.primary:after{content:none}.document-tools{grid-template-columns:1fr}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.document-card-main{padding:.65rem}.document-thumbnail{height:9.2rem}.document-security{align-items:flex-start;flex-wrap:wrap}.document-security>div{flex-basis:calc(100% - 3.2rem)}.document-security>button{width:100%}.document-form{padding:1rem}.document-upload-options{grid-template-columns:1fr 1fr}.document-viewer{inset:0;border-radius:0}.document-viewer>footer{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}}@media(max-width:340px){.document-grid{grid-template-columns:minmax(0,1fr)}.document-thumbnail{height:12rem}.document-upload-options{grid-template-columns:1fr}}

.compact-card-list{display:grid;gap:.65rem}.compact-summary-card{width:100%;display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto 1rem;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:1rem;background:#fff;color:var(--ink);padding:.8rem;text-align:left;transition:border-color .2s ease,transform .2s ease}.compact-summary-card:hover{border-color:var(--rose);transform:translateY(-1px)}.summary-icon{width:2.5rem;height:2.5rem;border-radius:.8rem;background:#f3e4ea;color:var(--wine);display:grid;place-items:center;font-weight:800}.summary-main{min-width:0}.summary-main>span{display:block;color:var(--wine);font-size:.52rem;font-weight:700;text-transform:uppercase}.summary-main h2{font:600 .82rem Montserrat;margin:.2rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-main p{font-size:.6rem;color:var(--muted);margin:0}.summary-facts{display:grid;justify-items:end;gap:.2rem}.summary-facts>b{font-size:.72rem}.summary-facts>small{font-size:.58rem;color:#b17b20}.summary-status{display:inline-flex;border-radius:1rem;background:#edf3ef;color:#477056;padding:.25rem .45rem;font-size:.5rem;font-weight:700}.summary-status.pendente,.summary-status.solicitada{background:#fff0d8;color:#99631f}.summary-status.cancelada{background:#f9e5e7;color:#a63240}.compact-empty{min-height:12rem;border:1px dashed var(--line);border-radius:1rem;display:grid;place-items:center;align-content:center;gap:.7rem;color:var(--muted)}.compact-empty button{border:0;background:none;color:var(--wine);font-weight:700}.compact-edit-modal{max-width:44rem}.compact-edit-modal textarea,.compact-edit-modal select{display:block;width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.7rem;margin-top:.4rem}.danger-action{border:1px solid #ecc7cc;background:#fff;color:#a63240;padding:.7rem;font-weight:700}.compact-route-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:.8rem}.map-summary{grid-template-columns:2rem minmax(0,1fr) auto}.map-summary .summary-grip{width:2rem;height:2.5rem;border:0;background:transparent;color:#aaa}.map-summary .summary-card-open{min-width:0;grid-column:2/-1;display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto 1rem;align-items:center;gap:.8rem;border:0;background:transparent;color:var(--ink);text-align:left}.map-summary .summary-card-open>i{font-style:normal;color:var(--wine)}.compact-map-preview{position:sticky;top:5rem;height:30rem;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#fff}.compact-map-preview .map-canvas{height:100%;min-height:0}.compact-map-preview .map-pin{border:0}.compact-filters{display:flex;gap:.6rem;margin-bottom:.8rem}.compact-filters label{font-size:.55rem;font-weight:700;color:var(--muted)}.compact-filters select{display:block;min-width:10rem;height:2.5rem;margin-top:.25rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--ink);padding:0 .65rem}.compact-wishlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.wishlist-summary-card{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:.75rem;border:1px solid var(--line);border-radius:1rem;background:#fff;color:var(--ink);padding:.65rem;text-align:left}.wishlist-summary-card>img{width:6.2rem;height:6.2rem;border-radius:.75rem;object-fit:cover;background:var(--soft)}.wishlist-summary-card>div{min-width:0}.wishlist-summary-card span{font-size:.52rem;color:var(--wine);font-weight:700;text-transform:uppercase}.wishlist-summary-card h2{font:600 .76rem/1.3 Montserrat;margin:.25rem 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wishlist-summary-card strong{display:block;font:600 .95rem Montserrat;margin:.35rem 0}.wishlist-summary-card footer{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.wishlist-summary-card footer small,.wishlist-summary-card footer b{border-radius:1rem;padding:.2rem .4rem;font-size:.48rem}.wishlist-summary-card footer small{background:#fff0d8;color:#99631f}.wishlist-summary-card footer small.priority-alta{background:#f9e5e7;color:#a63240}.wishlist-summary-card footer small.priority-baixa{background:#edf3ef;color:#477056}.wishlist-summary-card footer b{background:#f1ebee;color:var(--muted)}.open-product-link{margin-top:.7rem}.dark :is(.compact-summary-card,.compact-edit-modal select,.compact-edit-modal textarea,.compact-map-preview,.compact-filters select,.wishlist-summary-card){background:#211d20}.dark .summary-icon{background:#3a2030}.dark .danger-action{background:#211d20;border-color:#62313a}
@media(max-width:900px){.compact-route-layout{grid-template-columns:minmax(0,1fr)}.compact-map-preview{position:relative;top:auto;height:22rem;grid-row:1}.compact-wishlist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.compact-form-head{display:grid}.compact-form-head>.primary{width:100%;font-size:.68rem}.compact-form-head>.primary:after{content:none}.compact-summary-card{grid-template-columns:2.3rem minmax(0,1fr) auto .7rem;gap:.55rem;padding:.65rem}.summary-icon{width:2.3rem;height:2.3rem}.summary-main h2{font-size:.72rem}.summary-facts>b{font-size:.64rem}.compact-edit-modal{padding:1rem}.compact-wishlist-grid{grid-template-columns:minmax(0,1fr)}.wishlist-summary-card{grid-template-columns:5.5rem minmax(0,1fr)}.wishlist-summary-card>img{width:5.5rem;height:5.5rem}.compact-filters{overflow:auto}.compact-filters label{flex:0 0 10rem}.map-summary .summary-card-open{grid-template-columns:2.2rem minmax(0,1fr) auto .7rem;gap:.5rem}.map-summary .summary-facts{display:none}}

.home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.home-shortcuts button{display:grid;grid-template-columns:2.7rem 1fr;gap:.15rem .8rem;text-align:left;align-items:center;border:1px solid var(--line);border-radius:1rem;background:#fff;color:var(--ink);padding:1rem}.home-shortcuts span{grid-row:1/3;width:2.7rem;height:2.7rem;display:grid;place-items:center;border-radius:.8rem;background:#f3e4ea;color:var(--wine);font-weight:800}.home-shortcuts b{font:.75rem Montserrat}.home-shortcuts small{color:var(--muted);font-size:.58rem}.google-map-frame{display:block;width:100%;height:100%;min-height:24rem;border:0}.itinerary-map .google-map-frame{min-height:25rem;border-radius:.9rem}.park-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.park-card{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.9rem;border:1px solid var(--line);border-radius:1rem;background:#fff;color:var(--ink);padding:1rem;text-align:left}.park-card>span{width:3rem;height:3rem;border-radius:.9rem;background:#f3e4ea;color:var(--wine);display:grid;place-items:center;font-weight:800}.park-card small{color:var(--wine);font-weight:700}.park-card h2{font:600 .9rem Montserrat;margin:.25rem 0}.park-card p{font-size:.58rem;color:var(--muted);margin:0}.park-modal{max-width:48rem}.attraction-checklist{display:grid;gap:.45rem;margin:1rem 0}.attraction-checklist header{display:flex;justify-content:space-between}.attraction-checklist label{display:flex;align-items:center;gap:.7rem;border:1px solid var(--line);border-radius:.75rem;padding:.65rem}.attraction-checklist input{width:1.1rem;height:1.1rem;accent-color:var(--wine)}.attraction-checklist span{display:grid}.attraction-checklist small,.restaurant-web-search small{font-size:.55rem;color:var(--muted)}.custom-attraction{display:grid;grid-template-columns:1fr 2.8rem;gap:.5rem}.custom-attraction input{border:1px solid var(--line);padding:.7rem}.custom-attraction button{border:0;background:var(--wine);color:#fff}.restaurant-web-search{display:grid;gap:.35rem;margin:.7rem 0 1rem}.dark :is(.home-shortcuts button,.park-card,.attraction-checklist label){background:#211d20}@media(max-width:700px){.home-shortcuts,.park-grid{grid-template-columns:1fr}.google-map-frame,.itinerary-map .google-map-frame{min-height:20rem}}
.access-banner{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.6rem;border:1px solid var(--line);border-radius:.8rem;padding:.65rem .8rem;margin-bottom:1.2rem;font-size:.58rem}.access-banner>span{width:1.7rem;height:1.7rem;border-radius:.55rem;display:grid;place-items:center}.access-banner.private{background:#f8f4f6}.access-banner.private>span{background:#eadde3;color:var(--wine)}.access-banner.shared{background:#f2f7f4}.access-banner.shared>span{background:#dceadf;color:#477056}.access-banner small{color:var(--muted)}.access-banner button{border:0;background:transparent;color:var(--wine);font-weight:700}.sharing-modal{max-width:46rem}.sharing-intro{color:var(--muted);font-size:.66rem}.permission-map{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:1rem 0}.permission-map>div{display:flex;gap:.7rem;border:1px solid var(--line);border-radius:.8rem;padding:.8rem}.permission-map span{width:2.2rem;height:2.2rem;border-radius:.65rem;display:grid;place-items:center;background:#f3e4ea;color:var(--wine)}.permission-map p{margin:.2rem 0 0;color:var(--muted);font-size:.56rem}.invite-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.35rem}.invite-row input{border:1px solid var(--line);padding:.7rem}.sharing-message{font-size:.6rem;color:#477056}.collaborator-list{margin-top:1rem;border-top:1px solid var(--line)}.collaborator-list header,.collaborator-list article{display:flex;align-items:center;gap:.7rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.collaborator-list header{justify-content:space-between}.collaborator-list article>span{width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:#f3e4ea;color:var(--wine);font-weight:700}.collaborator-list article>div{display:grid;flex:1}.collaborator-list small{color:var(--muted);font-size:.54rem}.collaborator-list article>button{border:0;background:transparent;color:#a63240}.dark :is(.access-banner.private,.access-banner.shared,.permission-map>div){background:#211d20}@media(max-width:700px){.access-banner{grid-template-columns:auto 1fr}.access-banner small,.access-banner button{grid-column:2}.permission-map{grid-template-columns:1fr}.invite-row{grid-template-columns:1fr}.invite-row button{width:100%}}
.route-order-controls{display:grid;gap:.15rem}.route-order-controls button{width:2rem;height:1.2rem;border:0;border-radius:.3rem;background:#f3e4ea;color:var(--wine);font-weight:800}.route-order-controls button:disabled{opacity:.25}.route-map-sequential{display:flex;flex-direction:column}.route-map-sequential .google-map-frame{flex:1;min-height:0}.route-order-note{display:flex;justify-content:space-between;align-items:center;padding:.65rem .8rem;background:#fff;border-bottom:1px solid var(--line);font-size:.58rem}.route-order-note b{color:var(--wine)}.route-order-note span{color:var(--muted)}.dark .route-order-note{background:#211d20}
.route-head .button-row{flex-wrap:wrap}.route-head .button-row button{white-space:nowrap;min-width:max-content}
.route-drag-handle{width:2rem;height:2.8rem;border:0;background:transparent;color:#aaa;font-size:1.1rem;cursor:grab;touch-action:none}.route-drag-handle:active{cursor:grabbing;color:var(--wine)}.route-drag-handle:disabled{cursor:default;opacity:.22}.map-summary.dragging{opacity:.5;transform:scale(.985)}.map-summary.drag-over{border-color:var(--wine);box-shadow:0 0 0 2px #89235b20}.map-summary[draggable="true"]{cursor:grab}.map-summary[draggable="true"]:active{cursor:grabbing}
.map-stop-index{position:absolute;z-index:3;top:3.2rem;left:.65rem;width:min(14rem,calc(100% - 1.3rem));max-height:calc(100% - 4rem);overflow:auto;display:grid;gap:.3rem;padding:.4rem;border-radius:.8rem;background:#fffdfbf2;box-shadow:0 .5rem 1.5rem #39242d24;backdrop-filter:blur(8px)}.map-stop-index button{display:grid;grid-template-columns:1.7rem minmax(0,1fr);align-items:center;gap:.5rem;border:0;border-radius:.55rem;background:#fff;color:var(--ink);padding:.38rem;text-align:left}.map-stop-index button:hover{background:#f7edf1}.map-stop-index button>b{width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:50%;background:var(--wine);color:#fff;font-size:.62rem}.map-stop-index button>span{min-width:0;font-size:.58rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-stop-index small{display:block;color:var(--muted);font-size:.47rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .map-stop-index{background:#211d20ed}.dark .map-stop-index button{background:#2a2427}@media(max-width:600px){.map-stop-index{top:auto;bottom:.55rem;max-height:9.5rem;width:calc(100% - 1.1rem);left:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}}
.ordered-stops-map{position:relative;flex:1;min-height:0}.ordered-stops-map>div:first-child{width:100%;height:100%;min-height:26rem}.ordered-stops-map>span{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);max-width:16rem;border-radius:.7rem;background:#fff;padding:.75rem 1rem;box-shadow:0 .5rem 1.5rem #39242d24;color:var(--muted);font-size:.58rem;text-align:center}.numbered-map-marker{background:transparent!important;border:0!important}.numbered-map-marker span{display:grid;place-items:center;width:2rem;height:2rem;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--wine);color:#fff;font:bold .7rem Montserrat;box-shadow:0 .2rem .6rem #32152255}.numbered-map-marker span::first-letter{transform:rotate(45deg)}.numbered-map-marker span{line-height:1}.numbered-map-marker span{font-variant-numeric:tabular-nums}.numbered-map-marker span{--marker-rotation:45deg}.numbered-map-marker span{writing-mode:horizontal-tb}.numbered-map-marker span{clip-path:none}.numbered-map-marker span{padding:0}.numbered-map-marker span{letter-spacing:0}.numbered-map-marker span{font-style:normal}.numbered-map-marker span{color:#fff}.numbered-map-marker span{display:flex;align-items:center;justify-content:center}.numbered-map-marker span{transform:rotate(-45deg)}.numbered-map-marker span::after{content:attr(data-label)}.leaflet-popup-content{font:600 .68rem Montserrat;line-height:1.5}.dark .ordered-stops-map>span{background:#211d20}@media(max-width:900px){.ordered-stops-map>div:first-child{min-height:21rem}}
.numbered-map-marker span{transform:none;border-radius:50%}
.numbered-map-marker.base-marker span,.summary-icon.base{background:#5b173c;color:#fff;box-shadow:0 0 0 4px #f0dce6}.route-order-note b::after{content:" · retorna ao ponto 1";font-weight:400;color:var(--muted)}
.calendar-interactive-map{display:flex;flex-direction:column;overflow:hidden}.calendar-interactive-map .ordered-stops-map{min-height:25rem}.calendar-interactive-map .ordered-stops-map>div:first-child{min-height:25rem}.calendar-interactive-map .leaflet-container{border-radius:0 0 .9rem .9rem}
.park-web-actions{display:flex;gap:.5rem;margin:.85rem 0}.park-web-actions button{flex:1}.park-sync-note{margin:.8rem 0;padding:.7rem .8rem;border-radius:.7rem;background:#edf6f0;color:var(--green);font-size:.62rem;font-weight:700}.park-modal .attraction-checklist{max-height:22rem;overflow:auto;padding-right:.25rem}.dark .park-sync-note{background:#203329}@media(max-width:700px){.park-web-actions{display:grid}.park-modal .attraction-checklist{max-height:18rem}}
