:root{color-scheme:dark;--bg:#000;--panel:#0b0b0b;--mark-bg:#0d1108;--mark-fg:var(--accent);--mark-border:rgba(201,255,74,.4);--surface:rgba(16,16,16,.78);--surface-strong:rgba(9,9,9,.92);--surface-muted:rgba(255,255,255,.045);--glass-border:rgba(255,255,255,.11);--glass-highlight:rgba(255,255,255,.07);--shadow:0 18px 55px rgba(0,0,0,.24);--danger:#ff7888;--warning:#ffc65c}
html[data-theme="light"]{color-scheme:light;--mark-bg:var(--accent);--mark-fg:#071006;--mark-border:transparent;--bg:#eef1e9;--panel:#fff;--line:rgba(20,30,18,.12);--text:#11150f;--muted:#687064;--surface:rgba(255,255,255,.68);--surface-strong:rgba(250,252,247,.9);--surface-muted:rgba(14,25,12,.045);--glass-border:rgba(255,255,255,.78);--glass-highlight:rgba(255,255,255,.7);--shadow:0 18px 55px rgba(32,52,25,.1)}
@media(prefers-color-scheme:light){html:not([data-theme]){color-scheme:light;--mark-bg:var(--accent);--mark-fg:#071006;--mark-border:transparent;--bg:#eef1e9;--panel:#fff;--line:rgba(20,30,18,.12);--text:#11150f;--muted:#687064;--surface:rgba(255,255,255,.68);--surface-strong:rgba(250,252,247,.9);--surface-muted:rgba(14,25,12,.045);--glass-border:rgba(255,255,255,.78);--glass-highlight:rgba(255,255,255,.7);--shadow:0 18px 55px rgba(32,52,25,.1)}}
body{background:radial-gradient(900px 600px at 4% -10%,rgba(201,255,74,.12),transparent 62%),radial-gradient(900px 600px at 100% 0,rgba(123,220,255,.09),transparent 58%),var(--bg);transition:background-color .25s,color .25s}
.side,.top,.panel,.stat,.product,.trip,.store,.doc,.box,.account-card,.sheet-panel,.tabbar,.travel-form-grid fieldset{background:linear-gradient(145deg,var(--glass-highlight),transparent 45%),var(--surface)!important;border-color:var(--glass-border)!important;box-shadow:inset 0 1px 0 var(--glass-highlight),var(--shadow);backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%)}
.side{background:linear-gradient(180deg,var(--surface-strong),color-mix(in srgb,var(--surface) 90%,transparent))!important}.top{background:var(--surface)!important}.stat,.panel,.product,.trip,.store,.doc,.account-card,.travel-form-grid fieldset{position:relative;overflow:hidden}
/* Modais precisam rolar quando o conteúdo passa da altura da tela. */
.box{position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.stat:before,.panel:before,.product:before,.trip:before,.store:before,.doc:before,.account-card:before,.box:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);pointer-events:none}
.nav button{display:flex;align-items:center;gap:10px;color:var(--muted);transition:background .2s,color .2s,transform .2s}.nav button:hover{color:var(--text);transform:translateX(2px)}.nav button.active{box-shadow:inset 0 0 0 1px rgba(201,255,74,.1)}
.ui-icon{width:18px;height:18px;display:inline-block;vertical-align:-4px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.product-vector{width:20px;height:20px;color:var(--accent)}.ico .product-vector{width:21px;height:21px}.brand i .ui-icon{width:17px;height:17px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .18s,filter .18s,background .18s;color:var(--text)}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn .ui-icon{width:14px;height:14px}
.toolbar input,.toolbar select,.form input,.form select,.rate input,.chatbar input,.account-form input,.account-form textarea,.danger-zone input,.referral-box input,#faqSearch{background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--glass-border)!important;box-shadow:inset 0 1px 0 var(--glass-highlight)}
.tripselect select,.close,.bell,.cardactions button,.quick button{color:var(--text)}.avatar{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 24px rgba(123,220,255,.18)}
.modal{background:rgba(4,7,10,.55)}.modal.show .box{animation:glassIn .24s ease-out}.theme-control{grid-column:1/-1}.theme-control select{width:100%;margin-top:7px;border:1px solid var(--glass-border);background:var(--surface-muted);color:var(--text);border-radius:11px;padding:10px}.product-icon-preview{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;color:var(--accent);background:rgba(201,255,74,.08);border:1px solid rgba(201,255,74,.16);margin-top:4px}.product-icon-preview .ui-icon{width:22px;height:22px}
.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 15px}.quick-action{min-height:54px;border:1px solid var(--glass-border);border-radius:15px;background:var(--surface);color:var(--text);display:flex;align-items:center;gap:10px;padding:12px 14px;font-weight:800;font-size:10px;cursor:pointer;box-shadow:inset 0 1px 0 var(--glass-highlight);transition:.2s}.quick-action:hover{transform:translateY(-2px);border-color:rgba(201,255,74,.28)}.quick-action .ui-icon{color:var(--accent)}
html[data-theme="light"] .brand,html[data-theme="light"] .spread b{color:var(--text)}
@media(prefers-color-scheme:light){html:not([data-theme]) .brand,html:not([data-theme]) .spread b{color:var(--text)}}
@keyframes glassIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:720px){.quick-actions{grid-template-columns:1fr 1fr}.side{box-shadow:none}.content{padding-top:20px}.box{border-radius:24px 24px 0 0}.tabbar{background:color-mix(in srgb,var(--surface-strong) 88%,transparent)!important}}
/* No celular, as ações rápidas viram uma faixa que a pessoa arrasta para o lado. */
@media(max-width:720px){
.quick-actions{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;margin-inline:-16px;padding:2px 16px 4px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.quick-actions::-webkit-scrollbar{display:none}
.quick-action{flex:0 0 auto;min-width:0;width:max(148px,42vw);scroll-snap-align:start}
.quick-action:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.profile-photo-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--glass-border);border-radius:14px;background:var(--surface-muted)}.profile-photo-preview{width:54px;height:54px;border-radius:17px}.profile-photo-row label{min-width:0}.profile-photo-row input[type=file]{padding:5px 0!important;border:0!important;background:transparent!important;font-size:8px}.profile-photo-row .btn{padding:8px 10px}@media(max-width:480px){.profile-photo-row{grid-template-columns:auto 1fr}.profile-photo-row .btn{grid-column:1/-1}}

/* Marca do app: no escuro fica preta com a seta verde; no claro, verde com a seta escura */
.brand i,.panel-boot-mark{background:var(--mark-bg);color:var(--mark-fg);border:1px solid var(--mark-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
/* Aviso e tela de upgrade quando o plano atinge o limite */
.limit-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px;padding:14px 16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),var(--surface)}
.limit-banner[hidden]{display:none}
.limit-banner b{display:block;font-size:13px}
.limit-banner span{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.limit-banner .btn{flex:0 0 auto;white-space:nowrap}
.upgrade-box{width:min(560px,100%)}
.upgrade-text{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 16px}
.upgrade-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.upgrade-plan{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:18px;border:1px solid var(--glass-border,var(--line));background:linear-gradient(145deg,var(--glass-highlight,rgba(255,255,255,.06)),transparent 45%),var(--surface)}
.upgrade-plan.featured{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.upgrade-plan-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.upgrade-plan-head b{font-size:17px}
.upgrade-plan-head span{font-size:18px;font-weight:800;white-space:nowrap}
.upgrade-plan-head small{font-size:11px;font-weight:600;color:var(--muted)}
.upgrade-gain{margin:0;color:var(--accent);font-weight:800;font-size:13px}
.upgrade-plan ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;color:var(--muted);font-size:12px}
.upgrade-plan li::before{content:"✓ ";color:var(--accent);font-weight:800}
.upgrade-plan .btn{margin-top:auto;width:100%}
.upgrade-message{min-height:18px;margin:12px 0 0;color:var(--muted);font-size:12px}
.upgrade-later{width:100%;margin-top:6px}
@media(max-width:520px){.limit-banner{flex-direction:column;align-items:stretch}.limit-banner .btn{width:100%}}

/* Tablet (701–900px): o menu lateral vira barra no topo, então o conteúdo ocupa a largura toda */
@media(max-width:900px){.shell{grid-template-columns:1fr!important}}
/* Convite para lista compartilhada */
.invite-box{width:min(480px,100%)}
.invite-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),var(--surface)}
.invite-avatar{flex:0 0 auto;width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--accent);color:#11190a;font-weight:900;font-size:20px}
.invite-card small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.invite-card b{display:block;margin-top:2px;font-size:19px;line-height:1.2;overflow-wrap:anywhere}
.invite-card span:last-child{display:block;margin-top:4px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.invite-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.invite-details>div{padding:12px;border-radius:14px;border:1px solid var(--glass-border);background:var(--surface-muted)}
.invite-details small{display:block;color:var(--muted);font-size:11px}
.invite-details b{display:block;margin-top:3px;font-size:13px}
.invite-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.invite-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px}
.invite-created{display:grid;gap:8px;padding:14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:var(--surface-muted);font-size:12px}
.share-app-actions{display:flex;flex-wrap:wrap;gap:8px}
.share-app-actions .btn{flex:1 1 140px}
.share-subtitle{margin:16px 0 6px;font-size:13px;color:var(--muted)}
.invite-row-actions{display:flex;gap:12px;flex:0 0 auto}
.share-app-link{color:var(--accent)!important}
