
:root{--ink:#17182d;--muted:#6f7082;--violet:#5c50c7;--violet2:#8f73e8;--pink:#e88bcb;--sky:#73c8ee;--mint:#69d6b1;--gold:#f0c866;--paper:#fbfbff;--line:#eceaf5;--shadow:0 20px 60px rgba(35,31,84,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#18173a 0%,#242352 12%,#35336d 25%,#5c5f91 38%,#a7b9d6 52%,#dfe7f2 64%,#f5f5fb 76%,#fbfbff 100%);background-attachment:fixed;color:var(--ink);-webkit-font-smoothing:antialiased;padding-bottom:92px}
button{font:inherit}.sky{position:fixed;inset:0 0 auto;height:420px;pointer-events:none;overflow:hidden}.sky:before{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:rgba(129,94,241,.28);filter:blur(70px);top:-150px;left:-180px}.sky:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(87,207,239,.2);filter:blur(80px);top:80px;right:-170px}.sky i{position:absolute;width:3px;height:3px;background:white;border-radius:50%;box-shadow:0 0 14px #fff;opacity:.6}.sky i:nth-child(1){top:90px;left:18%}.sky i:nth-child(2){top:150px;left:73%}.sky i:nth-child(3){top:228px;left:44%}.sky i:nth-child(4){top:52px;left:53%}.sky i:nth-child(5){top:280px;left:86%}
.topbar{height:70px;padding:env(safe-area-inset-top) 18px 0;display:flex;align-items:center;justify-content:space-between;color:#fff;position:relative;z-index:5;max-width:760px;margin:auto}.brand{border:0;background:none;color:#fff;display:flex;align-items:center;gap:10px;padding:0;text-align:left}.brand strong{font-size:12px;letter-spacing:.13em}.brand small{display:block;font-size:8px;letter-spacing:.16em;opacity:.65;margin-top:2px}.spark{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--pink),var(--violet2));box-shadow:0 8px 22px rgba(224,124,211,.25)}.circle{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(14px)}.circle.small{width:36px;height:36px;color:var(--ink);background:#f3f1fb;border-color:#ebe8f7}
main{max-width:760px;margin:auto;padding:0 16px}.hero{min-height:285px;color:white;position:relative;padding:48px 8px 26px}.castle-glow{position:absolute;width:210px;height:210px;right:-30px;top:18px;border-radius:50%;background:radial-gradient(circle,rgba(255,214,243,.28),rgba(255,255,255,0) 67%)}.overline{font-size:10px;letter-spacing:.18em;font-weight:800;color:#d7d1ff}.overline.violet{color:var(--violet)}.hero h1{font-size:42px;line-height:.98;letter-spacing:-.045em;margin:12px 0 16px;max-width:530px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#f4cfea}.hero p{font-size:15px;line-height:1.55;max-width:600px;color:rgba(255,255,255,.78)}.livebar{margin-top:28px;display:flex;justify-content:space-between;align-items:end;gap:12px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.livebar span{display:flex;align-items:center;gap:8px}.livebar b{font-size:11px}.livebar small{font-size:10px;color:rgba(255,255,255,.58)}#liveDot{width:7px;height:7px;border-radius:50%;background:#9090a5}#liveDot.on{background:#75efbd;box-shadow:0 0 12px #75efbd}
.journey-card,.now-card,.progress-card,.location-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.75);border-radius:26px;box-shadow:var(--shadow)}.journey-card{padding:24px;margin-bottom:12px}.journey-copy h2,.route-title h2,.now-card h2{font-size:25px;letter-spacing:-.035em;margin:7px 0 8px}.journey-copy p,.route-title p{color:var(--muted);line-height:1.55;margin:0}.route-strip{display:flex;gap:8px;overflow:auto;padding:20px 1px 2px;scrollbar-width:none}.route-strip::-webkit-scrollbar{display:none}.route-dot{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;color:#5e5e70}.route-dot b{color:var(--violet);margin-right:4px}
.location-card{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;margin:12px 0}.location-card.hidden{display:none}.location-card b,.location-card small{display:block}.location-card small{margin-top:3px;color:var(--muted);font-size:11px}.linkbtn{border:0;background:none;color:var(--violet);font-size:12px;font-weight:700}
.action-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0 18px}.action-card{border:1px solid var(--line);background:#fff;border-radius:20px;display:grid;grid-template-columns:44px 1fr 22px;align-items:center;text-align:left;padding:13px 14px;box-shadow:0 10px 30px rgba(31,26,80,.06);color:var(--ink)}.action-card.action-now{background:linear-gradient(135deg,#4d45ad,#7462dc);color:#fff;border:0}.action-icon{width:37px;height:37px;border-radius:13px;display:grid;place-items:center;background:#f2efff;color:var(--violet);font-weight:900}.action-now .action-icon{background:rgba(255,255,255,.16);color:#fff}.action-card small{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;opacity:.65}.action-card b{display:block;font-size:14px;margin-top:2px}.arrow{text-align:right;font-size:24px;opacity:.5}
.now-card{padding:22px;margin-bottom:12px}.section-label{font-size:9px;letter-spacing:.18em;font-weight:900;color:var(--violet)}.now-head{display:flex;justify-content:space-between;align-items:start}.now-head p{margin:0;color:var(--muted);font-size:12px}.best-now{margin-top:18px;border-radius:20px;background:linear-gradient(135deg,#faf8ff,#f0f7ff);border:1px solid #ebe8fb;padding:17px}.best-now.loading{min-height:130px}.best-top{display:flex;justify-content:space-between;gap:12px}.best-top h3{font-size:20px;margin:3px 0}.best-top small{color:var(--muted)}.queue{flex:0 0 68px;height:68px;border-radius:18px;display:grid;place-items:center;text-align:center;background:#eee}.queue b{font-size:24px;line-height:1}.queue small{font-size:8px;font-weight:900}.queue.low{background:#dff8ee;color:#177b59}.queue.mid{background:#fff1cf;color:#97630f}.queue.high{background:#ffe0e2;color:#ad3740}.queue.closed{background:#eeeeF3;color:#777}.best-now p{font-size:12px;line-height:1.5;color:#5f6073}.best-meta{display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:9px;font-weight:800;border:1px solid #e2dff1;background:white;border-radius:99px;padding:5px 8px}
.progress-card{padding:17px 18px;margin-bottom:32px}.progress-card>div:first-child{display:flex;justify-content:space-between;font-size:11px}.progress-track{height:7px;background:#eeedf5;border-radius:99px;margin-top:10px;overflow:hidden}.progress-track i{height:100%;display:block;width:0;background:linear-gradient(90deg,var(--violet),var(--pink));border-radius:99px;transition:.3s}
.route-title{padding:6px 7px 18px}.route-title h2{font-size:30px;margin-top:7px}.route-title p{font-size:14px}
.step{margin:0 0 18px;background:white;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 14px 45px rgba(43,36,97,.07)}.step-cover{padding:24px 20px 19px;position:relative;background:linear-gradient(140deg,#fcfbff,#f6f3ff)}.step-cover:after{content:"✦";position:absolute;right:21px;top:18px;font-size:18px;color:#c8bff2}.step-no{font-size:9px;font-weight:900;letter-spacing:.18em;color:var(--violet)}.step-cover h2{font-size:29px;margin:4px 0 2px;letter-spacing:-.04em}.step-cover .kicker{font-family:Georgia,serif;color:#8e6a97;font-size:13px}.step-cover p{font-size:13px;line-height:1.55;color:#656578}.step-magic{margin-top:13px;border-left:3px solid #d7b4ea;padding:5px 0 5px 12px;color:#554d71!important}.step-tools{display:flex;gap:8px;margin-top:14px;overflow:auto}.step-tools button{white-space:nowrap;border:1px solid #e5e1f2;background:white;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:800;color:#5c5670}
.attractions{padding:3px 14px 15px}.ride{display:grid;grid-template-columns:1fr 74px;gap:12px;padding:16px 4px;border-top:1px solid #f0eef7}.ride.done{opacity:.48}.ride h3{font-size:17px;margin:4px 0 5px;letter-spacing:-.02em}.ride .desc{font-size:11px;color:#767688;margin:0 0 8px;line-height:1.45}.ride .human{font-family:Georgia,serif;font-size:12px;line-height:1.5;color:#4d4a5f;margin:0}.tag{font-size:8px;font-weight:900;letter-spacing:.08em;color:#7657b6;background:#f1ebff;border-radius:99px;padding:4px 7px;margin-right:4px}.tag.must{color:#9e6512;background:#fff1ce}.ride-side{text-align:center}.ride-side small{display:block;font-size:8px;color:#8b8a99;margin-top:5px}.ride-actions{display:flex;gap:6px;margin-top:11px}.ride-actions button{border:1px solid #e9e6f2;background:#fff;border-radius:10px;padding:7px 9px;font-size:9px;font-weight:800;color:#5f5b72}.ride-actions button.active{background:#ece9f7}.land-end{padding:0 18px 20px}.land-end button{width:100%;border:0;background:#f4f1ff;color:#5e50b1;border-radius:14px;padding:12px;font-weight:900;font-size:11px}
.final-note{text-align:center;padding:38px 20px 24px}.final-note>span{color:var(--violet);font-size:26px}.final-note h2{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:8px}.final-note p{font-size:13px;line-height:1.6;color:var(--muted)}
.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);height:78px;padding:8px 10px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-top:1px solid #ebe9f2}.bottom-nav button{height:54px;border:0;background:none;color:#848391;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bottom-nav span{font-size:19px}.bottom-nav small{font-size:9px;font-weight:700}.bottom-nav .active{color:var(--violet)}.bottom-nav .now-bubble{width:58px;height:58px;justify-self:center;border-radius:22px;background:linear-gradient(145deg,#4b44aa,#8a72e2);color:white;box-shadow:0 10px 25px rgba(79,67,174,.3)}
.sheet-backdrop{position:fixed;inset:0;background:rgba(18,18,43,.35);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:.25s;z-index:30}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{position:fixed;z-index:31;left:50%;bottom:0;width:min(100%,760px);max-height:88vh;overflow:auto;background:#fbfbff;border-radius:28px 28px 0 0;padding:10px 18px calc(26px + env(safe-area-inset-bottom));box-shadow:0 -20px 70px rgba(27,23,71,.24);transform:translate(-50%,105%);transition:.3s cubic-bezier(.2,.7,.2,1)}.sheet.open{transform:translate(-50%,0)}.sheet-grabber{width:44px;height:4px;border-radius:5px;background:#d8d6df;margin:0 auto 16px}.sheet-head{display:flex;justify-content:space-between;align-items:start}.sheet-head h2{font-size:28px;margin:5px 0 18px}.food-filter{display:flex;gap:7px;overflow:auto;margin-bottom:15px}.food-filter button{border:1px solid #e4e1ed;background:white;border-radius:99px;padding:8px 10px;white-space:nowrap;font-size:9px;font-weight:800}.food-filter button.active{background:#5c50c7;color:white;border-color:#5c50c7}.food-card,.tip-card,.detail-card{border:1px solid #ebe8f3;background:white;border-radius:18px;padding:15px;margin-bottom:10px}.food-card .food-top{display:flex;justify-content:space-between;gap:12px}.food-card h3,.tip-card h3{margin:2px 0 6px;font-size:16px}.food-card p,.tip-card p,.detail-card p{margin:0;color:#6d6d7d;font-size:12px;line-height:1.5}.food-type{font-size:8px;background:#f1eeff;color:#5d4eb5;padding:5px 7px;border-radius:99px;height:max-content;font-weight:900;white-space:nowrap}.food-land{font-size:9px;color:#9a98a7;margin-top:9px}.food-tip{font-family:Georgia,serif!important;color:#4e4962!important;margin-top:8px!important}.toast{position:fixed;z-index:50;left:50%;bottom:92px;transform:translate(-50%,20px);opacity:0;background:#19182e;color:white;padding:10px 14px;border-radius:99px;font-size:10px;transition:.2s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:600px){.action-grid{grid-template-columns:repeat(3,1fr)}.action-card{grid-template-columns:40px 1fr}.action-card .arrow{display:none}.hero h1{font-size:52px}}

/* VS3 */
.class-row{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 6px}
.class-chip{font-size:8px;font-weight:900;border-radius:999px;padding:5px 7px;letter-spacing:.05em}
.class-chip.excellent{background:#def7e9;color:#177d55}
.class-chip.fair{background:#ffe5e5;color:#a94047}
.class-chip.time{background:#fff3bf;color:#8b6a00}
.class-chip.child{background:#e9f4ff;color:#34749c}
.class-chip.photo{background:#ececf2;color:#5d5d6d}
.food-menu-grid{display:grid;grid-template-columns:1fr;gap:9px;margin-bottom:16px}
.food-menu-choice{border:1px solid #e7e3f2;background:white;border-radius:18px;padding:15px;text-align:left;color:var(--ink)}
.food-menu-choice b{display:block;font-size:15px;margin-bottom:3px}
.food-menu-choice small{font-size:10px;color:var(--muted);line-height:1.35}
.food-menu-choice.favorite{background:linear-gradient(135deg,#fff8dc,#fffdf3);border-color:#f0df9f}
.food-star{color:#ad7f00}
.sheet-subtle{font-size:11px;line-height:1.5;color:var(--muted);margin:-6px 0 15px}
.now-emergency{background:linear-gradient(135deg,#4d45ad,#7b68dc);color:#fff;border-radius:22px;padding:18px}
.now-emergency h3{font-size:22px;margin:4px 0}
.now-emergency p{color:rgba(255,255,255,.8);font-size:12px;line-height:1.55}
.now-emergency .queue{background:rgba(255,255,255,.14);color:white}
.now-emergency .pill{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18);color:white}
.tip-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:14px}
.tip-tabs button{white-space:nowrap;border:1px solid #e4e1ed;background:white;border-radius:99px;padding:8px 10px;font-size:9px;font-weight:800}
.tip-tabs button.active{background:#5c50c7;color:white;border-color:#5c50c7}

/* =========================
   VS5 — HOME + ROTEIRO VIVO
   ========================= */
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(circle at 18% 8%,rgba(156,107,255,.25),transparent 28%),
    radial-gradient(circle at 84% 20%,rgba(85,198,255,.20),transparent 32%),
    radial-gradient(circle at 50% 56%,rgba(255,255,255,.55),transparent 38%);
}
.home-intro{margin:14px 0 18px;padding:24px 20px;border-radius:28px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow)}
.home-intro-head h2{font-size:30px;line-height:1.02;letter-spacing:-.04em;margin:7px 0 10px}
.home-intro-head p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 18px}
.intro-grid{display:grid;grid-template-columns:1fr;gap:9px}
.intro-item{border-radius:18px;background:linear-gradient(145deg,#fff,#f7f5ff);border:1px solid #ebe7f7;overflow:hidden}
.intro-item button{width:100%;border:0;background:none;text-align:left;padding:15px 16px;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.intro-item button b{font-size:14px}.intro-item button span{font-size:18px;color:var(--violet);transition:.2s}
.intro-item.open button span{transform:rotate(45deg)}
.intro-item .intro-body{display:none;padding:0 16px 16px;color:#69697b;font-size:12px;line-height:1.58}
.intro-item.open .intro-body{display:block}

/* more vibrant controls */
.tip-tabs button,.food-filter button{color:#fff;border:0}
.tip-tabs button:nth-child(1),.food-filter button:nth-child(4n+1){background:linear-gradient(135deg,#6c55e6,#8b6df0)}
.tip-tabs button:nth-child(2),.food-filter button:nth-child(4n+2){background:linear-gradient(135deg,#ee6aad,#f58e74)}
.tip-tabs button:nth-child(3),.food-filter button:nth-child(4n+3){background:linear-gradient(135deg,#20b9b3,#63d39d)}
.food-filter button:nth-child(4n){background:linear-gradient(135deg,#e6aa2f,#f36f64)}
.tip-tabs button.active,.food-filter button.active{box-shadow:0 7px 18px rgba(57,45,137,.22);transform:translateY(-1px);outline:2px solid rgba(255,255,255,.85);outline-offset:-3px}

/* narrative beats between rides */
.route-beat{position:relative;margin:0 0 0 0;padding:15px 14px 15px 34px;border-top:1px dashed #e8e4f3;color:#5a566c;font-family:Georgia,serif;font-size:13px;line-height:1.55;background:linear-gradient(90deg,rgba(244,240,255,.72),rgba(255,255,255,0))}
.route-beat:before{content:"✦";position:absolute;left:11px;top:15px;color:#8a70df;font-size:13px}
.route-beat.strategy{background:linear-gradient(90deg,rgba(255,241,201,.75),rgba(255,255,255,0));color:#6a5332}
.route-beat.strategy:before{content:"⚡";color:#c88720}
.route-beat.choice{background:linear-gradient(90deg,rgba(220,248,238,.85),rgba(255,255,255,0));color:#356958}
.route-beat.choice:before{content:"✓";color:#2aa275}

/* every card can take control of the route */
.ride-actions .do-now{background:linear-gradient(135deg,#6a54df,#9a72ec);color:#fff;border:0}
.ride-actions .do-now.active{background:linear-gradient(135deg,#1fb899,#68d2a8);color:#fff}

/* visual route indicator */
.route-status{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:10px;color:#7b778c}
.route-status i{width:7px;height:7px;border-radius:50%;background:#72dcb2;box-shadow:0 0 10px rgba(114,220,178,.7)}
.route-status b{color:#514c68}

/* bottom nav adapted for true home */
.bottom-nav{grid-template-columns:repeat(5,1fr)}

/* VS6 */
.home-photo-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
.home-photo-grid figure{margin:0;border-radius:20px;overflow:hidden;background:#fff;border:1px solid #e8e4f2;box-shadow:0 12px 30px rgba(39,31,86,.08)}
.home-photo-grid img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}
.home-photo-grid figcaption{padding:10px 12px;font-size:10px;color:#716e82}
#roteiro{scroll-margin-top:82px}
.ride{background:#fff;border:1px solid #d9d4ea;border-radius:20px;margin:12px 0;padding:15px 12px;box-shadow:0 11px 28px rgba(55,44,109,.10)}
.attractions{padding:10px 12px 16px;background:linear-gradient(180deg,#f4f1fb,#fbfbfe)}
.route-beat{margin:6px 5px 6px;padding:14px 15px 14px 36px;border:0;border-radius:14px;background:linear-gradient(90deg,#ede8fa,#f7f4fc);box-shadow:none}
.route-beat.strategy{background:linear-gradient(90deg,#fff0c9,#fff9eb)}
.route-beat.choice{background:linear-gradient(90deg,#dff8ef,#f3fcf8)}

/* =========================
   VS7 — ACTIVE ROUTE ONLY
   ========================= */
.ride{
  background:linear-gradient(145deg,#ffffff 0%,#fbfbff 100%);
  border:1.5px solid #cfc8e8;
  box-shadow:0 14px 34px rgba(47,38,103,.13);
}
.ride h3{color:#19182e}
.ride .desc{color:#626277;font-size:12px}
.ride .human{color:#3f3a52}
.ride-side small{color:#77758b;font-weight:700}
.step-cover{border-bottom:1px solid #e4dff1}
.attractions{background:linear-gradient(180deg,#eeeaf8 0%,#f5f2fa 45%,#f8f7fc 100%)}
.ride.active-ride{
  border:2px solid #7661dc;
  box-shadow:0 18px 42px rgba(84,65,183,.20);
}
.ride.next-ride{
  border-color:#9fd9c3;
  box-shadow:0 14px 34px rgba(70,161,125,.14);
}
.route-beat{display:none}
.route-beat.active-transition{
  display:block;
  margin:9px 5px 13px;
  padding:16px 16px 16px 38px;
  border-radius:16px;
  background:linear-gradient(135deg,#efeafe,#f9f7ff);
  color:#4a455e;
  font-size:13px;
  line-height:1.58;
  border:1px solid #dfd7f4;
}
.route-beat.active-transition.strategy{
  background:linear-gradient(135deg,#fff1cb,#fff9ea);
  border-color:#efd899;
}
.route-beat.active-transition.choice{
  background:linear-gradient(135deg,#dcf7eb,#f2fcf8);
  border-color:#b8e7d2;
}
.route-beat.active-transition:after{
  content:"PRÓXIMO PASSO";
  display:block;
  margin-top:9px;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:8px;
  letter-spacing:.14em;
  font-weight:900;
  color:#7e70bd;
}
.current-ribbon{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#6654d9;
  color:#fff;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.next-ribbon{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#dff6ec;
  color:#27785d;
  padding:5px 8px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:6px;
}
.home-photo-grid img{
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
}
.home-photo-grid figure{
  border:1.5px solid #d9d2ea;
}

/* =========================
   VS8 — LAND HEADER + GUIDANCE
   ========================= */

/* Texto "roteiro é a espinha dorsal" precisa ficar legível */
.route-title{
  margin:18px 0 16px;
  padding:22px 20px;
  border-radius:24px;
  background:rgba(255,255,255,.96);
  border:1px solid #ddd7ee;
  box-shadow:0 14px 36px rgba(46,36,99,.10);
}
.route-title .overline{color:#6853c7}
.route-title h2{color:#1b1930}
.route-title p{color:#57566b;font-size:14px;line-height:1.6}

/* Cabeçalho de cada land claramente separado dos cards */
.step-cover{
  background:
    radial-gradient(circle at 88% 20%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#403a91 0%,#6853c9 52%,#8b6cdd 100%);
  color:#fff;
  border-bottom:0;
  padding:25px 20px 21px;
}
.step-cover:after{color:rgba(255,255,255,.52)}
.step-cover .step-no{color:#dcd5ff}
.step-cover h2{color:#fff}
.step-cover .kicker{color:#f3d7ff}
.step-cover p{color:rgba(255,255,255,.86)}
.step-cover .step-magic{
  color:#fff!important;
  border-left-color:#f1c8ff;
  background:rgba(255,255,255,.08);
  border-radius:0 12px 12px 0;
  padding:10px 12px;
}
.step-cover .route-status{color:rgba(255,255,255,.78)}
.step-cover .route-status b{color:#fff}
.step-cover .route-status i{background:#78efbf;box-shadow:0 0 10px rgba(120,239,191,.8)}

/* Botões do cabeçalho da land: vibrantes + texto branco */
.step-tools{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  overflow:visible;
  margin-top:16px;
}
.step-tools button{
  white-space:normal;
  border:0;
  color:#fff;
  border-radius:13px;
  padding:10px 9px;
  min-height:42px;
  font-size:9px;
  line-height:1.25;
  box-shadow:0 8px 18px rgba(28,20,80,.18);
}
.step-tools button:nth-child(1){background:linear-gradient(135deg,#ee6b9e,#f39468)}
.step-tools button:nth-child(2){background:linear-gradient(135deg,#16b7b0,#55cf99)}
.step-tools button:nth-child(3){
  background:linear-gradient(135deg,#dfaa31,#ee704d);
  grid-column:1 / -1;
}

/* A instrução ativa vem ANTES do card atual */
.active-guidance{
  display:block;
  margin:14px 4px 10px;
  padding:16px 16px 16px 39px;
  border-radius:17px;
  position:relative;
  background:linear-gradient(135deg,#ece7ff,#f9f7ff);
  border:1px solid #d9d0f4;
  color:#443f59;
  font-family:Georgia,serif;
  font-size:13px;
  line-height:1.58;
  box-shadow:0 8px 22px rgba(54,43,111,.07);
}
.active-guidance:before{
  content:"✦";
  position:absolute;
  left:14px;
  top:15px;
  color:#735bd8;
  font-family:Inter,ui-sans-serif,sans-serif;
}
.active-guidance:after{
  content:"SIGA PARA ESTA ATRAÇÃO";
  display:block;
  margin-top:9px;
  color:#6e5bc0;
  font-family:Inter,ui-sans-serif,sans-serif;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
}
.active-guidance.strategy{
  background:linear-gradient(135deg,#fff0c7,#fff9e9);
  border-color:#efd591;
  color:#654f31;
}
.active-guidance.strategy:before{content:"⚡";color:#c8841b}
.active-guidance.choice{
  background:linear-gradient(135deg,#dcf7eb,#f2fcf8);
  border-color:#b7e6d0;
  color:#356452;
}
.active-guidance.choice:before{content:"✓";color:#2aa079}

/* Os antigos blocos pós-card ficam sempre ocultos */
.route-beat{display:none!important}

/* Card atual / próximo com identidade mais clara */
.ride.active-ride{
  border:2px solid #6f59d6;
  background:linear-gradient(145deg,#ffffff,#f7f4ff);
}
.ride.next-ride{
  border:1.5px solid #b4decf;
  background:linear-gradient(145deg,#fff,#f7fcfa);
}

/* =========================
   VS9 — ACTION BUTTONS
   ========================= */

/* Botões coloridos maiores */
.step-tools button{
  font-size:11px;
  font-weight:900;
  line-height:1.25;
  padding:11px 10px;
}

/* Quatro ações por atração */
.ride-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:13px;
}
.ride-actions button{
  width:100%;
  min-height:48px;
  padding:8px 5px;
  font-size:9px;
  font-weight:900;
  line-height:1.15;
  border-radius:12px;
}

/* FEITA */
.ride-actions [data-done]{
  background:#f4f2fb;
  color:#5e5872;
  border:1px solid #ded9eb;
}
.ride-actions [data-done].active{
  background:linear-gradient(135deg,#28b890,#63d0ac);
  color:#fff;
  border:0;
}

/* FAZER AGORA */
.ride-actions .do-now{
  background:linear-gradient(135deg,#6a54df,#956be8);
  color:#fff;
  border:0;
}
.ride-actions .do-now.active{
  background:linear-gradient(135deg,#1fb899,#68d2a8);
}

/* PULAR */
.ride-actions .skip-btn{
  background:linear-gradient(135deg,#f1a735,#ef7357);
  color:#fff;
  border:0;
}

/* DICAS */
.ride-actions [data-detail]{
  background:linear-gradient(135deg,#249fc8,#4f73dc);
  color:#fff;
  border:0;
}

/* Em telas bem estreitas ainda mantém legibilidade */
@media(max-width:390px){
  .ride-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* =========================
   VS10 — DEFERRED QUEUE
   ========================= */
.retry-ribbon{
  background:linear-gradient(135deg,#ee9b38,#ef6e5a)!important;
}
.final-skipped{
  margin:20px 0;
  padding:22px 16px;
  border-radius:26px;
  background:linear-gradient(145deg,#fff,#f7f4ff);
  border:1px solid #dcd5ef;
  box-shadow:0 16px 40px rgba(48,38,103,.11);
}
.final-skipped.hidden{display:none}
.final-skipped-head h2{
  margin:6px 0 8px;
  font-size:27px;
  line-height:1.05;
  letter-spacing:-.035em;
}
.final-skipped-head p{
  margin:0 0 14px;
  color:#656477;
  font-size:12px;
  line-height:1.55;
}
.final-geo-btn{
  border:0;
  border-radius:13px;
  padding:10px 13px;
  background:linear-gradient(135deg,#6a54df,#936de7);
  color:#fff;
  font-size:10px;
  font-weight:900;
}
.final-skipped-list{margin-top:14px;display:grid;gap:9px}
.final-skip-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  background:#fff;
  border:1px solid #ddd8ea;
  border-radius:17px;
}
.final-skip-card h3{
  margin:4px 0 2px;
  font-size:16px;
  color:#1c1a30;
}
.final-skip-card small{font-size:9px;color:#858394}
.final-skip-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.final-skip-actions .queue{
  width:55px;height:55px;border-radius:15px;
}
.final-skip-actions .queue b{font-size:19px}
.final-skip-actions button{
  border:0;
  border-radius:11px;
  padding:10px 8px;
  background:linear-gradient(135deg,#6652d7,#8d69e4);
  color:#fff;
  font-size:8px;
  line-height:1.15;
  font-weight:900;
  max-width:72px;
}

/* VS11 — prioridade MD1 */
.current-ribbon{
  max-width:100%;
  white-space:normal;
  line-height:1.2;
}
.route-status{
  background:rgba(255,255,255,.08);
  padding:8px 10px;
  border-radius:11px;
}

/* VS12 — prioridade absoluta da land */
.current-ribbon{
  background:linear-gradient(135deg,#5f49d8,#8b68e8);
}
.ride.active-ride .class-chip.excellent:first-child{
  box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 0 4px rgba(104,83,199,.18);
}

/* =========================
   VS13 — PRIORIDADE ABSOLUTA
   ========================= */
.ride.priority-card{
  border:2px solid #d8424f !important;
  background:linear-gradient(145deg,#fff8f8 0%,#fff 65%,#fff4f4 100%) !important;
  box-shadow:0 16px 38px rgba(181,46,60,.18) !important;
}
.ride.priority-card .current-ribbon{
  background:linear-gradient(135deg,#c92f3f,#e85a62) !important;
  color:#fff !important;
}
.ride.priority-card .next-ribbon{
  background:linear-gradient(135deg,#f7d6d9,#fde9ea) !important;
  color:#a92f3b !important;
}
.ride.priority-card .class-chip.excellent:first-child{
  background:linear-gradient(135deg,#c92f3f,#e85a62) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* =========================
   VS14 — PRIORIDADE ABSOLUTA COM FUNDO VERMELHO
   ========================= */
.ride.priority-card{
  background:linear-gradient(145deg,#b92535 0%,#d33b48 48%,#e95c63 100%) !important;
  border:2px solid #a91f2e !important;
  box-shadow:0 18px 42px rgba(156,29,44,.28) !important;
  color:#fff !important;
}
.ride.priority-card h3,
.ride.priority-card .desc,
.ride.priority-card .human,
.ride.priority-card .ride-side small{
  color:#fff !important;
}
.ride.priority-card .desc{
  color:rgba(255,255,255,.84) !important;
}
.ride.priority-card .human{
  color:rgba(255,255,255,.95) !important;
}
.ride.priority-card .current-ribbon{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.25);
}
.ride.priority-card .next-ribbon{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.25);
}
.ride.priority-card .class-chip,
.ride.priority-card .tag{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.20);
}
.ride.priority-card .queue{
  background:rgba(255,255,255,.92) !important;
  color:#a52434 !important;
}
.ride.priority-card .ride-actions [data-done]{
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
}
.ride.priority-card .ride-actions .do-now{
  background:#fff !important;
  color:#b22a39 !important;
}
.ride.priority-card .ride-actions .skip-btn{
  background:linear-gradient(135deg,#f6a23a,#e97742) !important;
  color:#fff !important;
}
.ride.priority-card .ride-actions [data-detail]{
  background:rgba(31,49,95,.35) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.20);
}

/* =========================
   VS15 — PRIORITY LABELS + CURRENT ACTIONS
   ========================= */
.ride.priority-card .current-ribbon,
.ride.priority-card .next-ribbon,
.ride.priority-card .class-chip.excellent:first-child{
  background:linear-gradient(135deg,#5f49d8,#8b68e8) !important;
  color:#fff !important;
  border:0 !important;
}

/* Current card does not need FAZER AGORA */
.ride.active-ride .ride-actions .do-now{
  display:none;
}
