/* Refinamento público: a landing mantém o dark; tokens claros só dentro da demo. */
.models-hero { padding-top:48px; }
.segment-tabs { padding:7px; gap:7px; border-color:#293b56; box-shadow:inset 0 1px 0 #ffffff05,0 14px 35px #0206171a; }
.segment-tabs button { position:relative; display:flex; align-items:center; justify-content:center; gap:12px; padding:15px 28px; min-height:52px; border-radius:10px; transition:transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.segment-tabs svg { width:20px; height:20px; flex:none; transition:transform .2s; }
.segment-tabs button::after { content:''; position:absolute; bottom:5px; left:35%; right:35%; height:2px; background:#65d8f2; border-radius:2px; opacity:0; transform:scaleX(.4); transition:transform .2s,opacity .2s; }
.segment-tabs button[aria-selected=true] { background:linear-gradient(150deg,#173650,#152b46); border-color:#32677f; box-shadow:0 4px 15px #00d4ff0a; }
.segment-tabs button[aria-selected=true]::after { opacity:1; transform:scaleX(1); }
.public-nav a { position:relative; }
.public-nav>a:first-child::after,.text-link::after { content:''; display:block; height:1px; margin-top:3px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .2s; }
.text-link { position:relative; }
.public-nav>a:first-child:hover::after,.text-link:hover::after { transform:scaleX(1); }

/* Moldura da Evolua e iluminação de transição. Sem transformar a área clicável. */
.product-stage { position:relative; isolation:isolate; border:1px solid #3b536b; padding:8px; border-radius:23px; background:linear-gradient(140deg,#33465b99,#21334980 48%,#14334e99); box-shadow:0 30px 65px -35px #000a; }
.product-stage::before { content:''; position:absolute; inset:-25px -10px; z-index:-1; border-radius:40px; background:radial-gradient(ellipse at 20% 0,#2288cf1c,transparent 65%),radial-gradient(ellipse at 85% 100%,#00d4ff10,transparent 60%); pointer-events:none; transform:translate(var(--halo-x,0),var(--halo-y,0)); }
.product-stage::after { content:''; position:absolute; top:0; left:12%; width:38%; height:1px; background:linear-gradient(90deg,transparent,#99eaff99,transparent); opacity:.7; pointer-events:none; }
.demo-shell {
  color-scheme:light;
  --surface:#ffffff; --surface-2:#f5f7fa; --text:#334155; --muted:#64748b;
  --line:#e1e7ee; --field:#f8fafc; --green:#16834c; --blue:#1769e0;
  --accent:#1769e0; --accent-soft:#edf4ff;
  background:#f5f7fa; color:#334155; border:1px solid #c4d0dd; border-radius:16px;
  box-shadow:0 2px 6px #0206170a; font-family:'Poppins',system-ui,sans-serif;
}
.demo-shell[data-segment=reciclagem] { --accent:#237e48; --accent-soft:#edf7ef; --blue:#237e48; }
.demo-shell :is(h3,h4,strong) { color:#182738; }
.demo-topbar { padding:16px 22px; background:#fff; border-color:#e0e7ef; }
.demo-brand>span { color:#64748b; }
.demo-label { color:#52647a; padding:5px 10px; background:#f4f7fb; border:1px solid #e2e8f0; border-radius:6px; }
.demo-layout { grid-template-columns:184px minmax(0,1fr); }
.demo-sidebar { background:#fff; border-color:#e1e7ee; padding:24px 12px 18px; }
.sidebar-label { color:#778598; font-size:12px; letter-spacing:.055em; }
.demo-sidebar button { min-height:43px; border-radius:7px; color:#596779; font-size:13px; gap:9px; padding:10px; }
.demo-sidebar button[aria-selected=true] { color:var(--accent); background:var(--accent-soft); border-color:transparent; box-shadow:inset 3px 0 0 var(--accent); }
.demo-sidebar button:hover { background:#f4f7fb; color:#1f4d82; }
.sidebar-bottom { color:#34445b; font-size:12px; }
.sidebar-bottom small { color:#718095; }
.demo-avatar { color:#2563eb; background:#eaf1fb; }
.demo-main { background:#f5f7fa; padding:26px 24px 16px; }
.screen-heading { margin-bottom:24px; }
.screen-heading h3 { font-size:23px; letter-spacing:-.025em; }
.screen-eyebrow { font-size:12px; color:#748397; letter-spacing:.06em; }
.text-button { color:#52667e; min-height:36px; font-size:12px; }
.demo-shell .text-button:hover { color:var(--accent); }
.demo-panel { padding:18px; border-color:#e2e7ee; background:#fff; box-shadow:0 2px 5px #162b4103; border-radius:11px; }
.demo-panel h4 { font-size:14px; margin-bottom:17px; }
.field-label { color:#52647a; font-size:12px; }
.field { color:#26364a; background:#f8fafc; border:1px solid #d9e1ea; border-radius:8px; min-height:43px; font-size:14px; }
.field::placeholder { color:#75869a; }
.field:disabled { color:#607187; background:#f0f3f7; opacity:1; }
.demo-shell :is(input,select,button,[tabindex]):focus-visible { outline-color:#1769e0; outline-offset:3px; }
.demo-shell .button { color:#235786; background:#f6f9fd; border-color:#d5e2f1; border-radius:8px; min-height:44px; }
.demo-shell .primary { color:#fff; background:var(--accent); border-color:var(--accent); box-shadow:0 4px 9px #1769e013; }
.demo-shell .primary:disabled { color:#657588; background:#e3e9f0; border-color:#e3e9f0; opacity:1; box-shadow:none; }
.demo-shell .primary:hover:not(:disabled) { filter:none; background:color-mix(in srgb,var(--accent),#000 10%); }
.demo-shell button { transition:background .18s,color .18s,transform .18s,border-color .18s,box-shadow .18s; }
.demo-status { color:#276f57; font-size:12px; padding:16px 0 0; min-height:52px; }
.demo-footnote { margin-top:5px; }
.product-row { border-color:#e8edf3; gap:12px; padding:15px 0; }
.product-name { font-size:14px; font-weight:600; color:#243348; }
.product-meta { font-size:12px; color:#6c7d90; margin:8px 0 4px; }
.product-code { display:inline-block; padding:1px 5px; background:#eef3f8; border-radius:4px; color:#435a75; font-size:12px; font-weight:600; margin-right:5px; }
.product-application { display:block; color:#738194; font-size:12px; margin:4px 0; }
.stock-indicator { display:inline-block; background:#edf7f0; color:#287847; font-size:12px; padding:2px 6px; border-radius:5px; }
.product-price { color:#26364a; font-size:15px; }
.add-button { color:#185bc1; background:#edf4ff; border-color:#c8daf6; min-height:37px; font-size:12px; }
.add-button:hover { color:#154b9b; background:#dfebfd; border-color:#9dbbe9; }
.cart-item { border-color:#e7edf3; padding:13px 0; }
.cart-item-top>strong { font-size:13px; font-weight:600; }
.cart-item-bottom { font-size:13px; }
.remove-button { color:#718095; }
.remove-button:hover { color:#a93d4a; }
.quantity { gap:11px; }
.quantity button { width:32px; height:32px; background:#f5f7fa; border-color:#dce3ec; color:#334e72; }
.total-line { color:#52647a; padding:18px 0; }
.total-line strong { color:#152b42; font-size:26px; }
.payment-split { border-color:#e3e9ed; }
.payment-split .field-pair>label,.payment-split .field-pair>div { background:#f4f9f5; padding:9px; border:1px solid #d6e7dc; border-radius:9px; }
.payment-split .field-pair>div { background:#f1f7fc; border-color:#d6e4f0; }
.payment-split .field { background:#fff; }
.badge { color:#235e9d; border-color:#cfdef0; background:#edf4fc; font-size:12px; }
.badge.good { color:#207c4c; border-color:#cbe4d3; background:#eff8f1; }
.badge.low { color:#906021; border-color:#edddc1; background:#fff8ec; }
.receipt { color:#197747; background:#edf8f0; border-color:#c4e2cf; }
.receipt strong { color:#197747; }
.demo-table th { color:#66758a; background:#f7f9fc; font-size:12px; letter-spacing:0; }
.demo-table td { border-color:#e7edf2; font-size:13px; }
.demo-table tbody tr:hover { background:#f7faff; }
.demo-table small { color:#738295; font-size:12px; }
.table-wrap { border-color:#e2e8f0; }
.check-label { color:#56677e; }
.kpi { background:#fff; border-color:#e3e9ef; border-radius:10px; border-top:2px solid #cadcf1; }
.kpi strong { font-size:24px; }
.kpi small { color:#687a90; }
.bar { background:#a8c9ee; transform-origin:bottom; }
.bar-column:last-child .bar { background:var(--accent); }
.goal small { color:#6d7c8e; }
.goal progress { accent-color:var(--accent); }
.rank-row { border-color:#e5ebf1; font-size:13px; }
.rank-row span { color:#6d7c8e; }
.service-row { font-size:13px; border-color:#e6ecf2; }
.service-row small { color:#718095; }
.service-check input { accent-color:var(--accent); }
.service-note { padding:13px; border-radius:8px; background:#f6f8fb; }
.service-note p { font-size:13px; color:#5c6d82; }
.workflow li { border-color:#d9e2ed; color:#718095; }
.workflow li.active { color:#1f62ba; border-color:#4389e4; }
.material-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:18px; }
.material-shortcuts button { padding:9px 4px; min-height:55px; font-size:12px; font-weight:600; background:#f2f8f3; border:1px solid #d3e4d8; border-radius:8px; color:#276c42; }
.material-shortcuts small { display:block; font-size:12px; font-weight:400; margin-top:3px; }
.material-shortcuts button:hover { background:#e6f2e9; border-color:#8ec29e; }

/* Oficina: hierarquia do módulo real, com dados de demonstração. */
.workshop-intro { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:23px; font-size:14px; color:#5b6d83; }
.order-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.order-lane { padding:12px; background:#ecf0f6; border:1px solid #e3e8ef; border-radius:10px; min-height:275px; }
.order-lane>h4 { font-size:12px; display:flex; justify-content:space-between; align-items:center; padding-bottom:12px; margin:0 0 12px; border-bottom:2px solid #9baabc; color:#4a5c71; }
.lane-1>h4 { border-color:#5592e4; }
.lane-2 { background:#eef7f1; border-color:#dcebe1; }
.lane-2>h4 { border-color:#4caa73; }
.lane-count { border-radius:999px; background:#fff; padding:0 7px; color:#64748b; }
.order-card { display:block; width:100%; padding:13px; text-align:left; background:#fff; border:1px solid #e1e7ef; border-left:3px solid #6c8099; border-radius:8px; box-shadow:0 2px 5px #253f6010; }
.order-card-top { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:7px; margin-bottom:14px; font-size:12px; color:#738297; }
.plate-badge { display:inline-block; border:1px solid #d4deea; background:#f5f8fc; color:#344d6b; border-radius:5px; padding:3px 6px; font-size:12px; font-weight:600; }
.order-card>strong { display:block; font-size:14px; line-height:1.4; }
.order-client { display:block; color:#64748b; font-size:12px; margin:7px 0 12px; }
.order-description { display:block; padding:9px; background:#f7f9fc; border-radius:5px; color:#687a91; font-size:12px; }
.order-card-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:15px; }
.order-card-bottom strong { color:#22794c; font-size:14px; }
.order-card-bottom>span { color:#2966ab; font-size:12px; }
.lane-empty { font-size:12px; color:#7b8a9c; line-height:1.7; padding:18px 5px; }
.order-detail-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.vehicle-record { display:flex; gap:18px; align-items:center; margin:20px 0; }
.vehicle-record h4 { margin:10px 0 4px; font-size:20px; }
.vehicle-record p { color:#61738a; font-size:13px; }
.vehicle-mark { width:64px; height:64px; border-radius:12px; background:#edf4fc; color:#3e7bbf; padding:16px; flex:none; }

/* Mouvement ponctuel et feedback. Aucune animation infinie. */
.connected,.benefits,.final-cta { transition:opacity .5s,transform .5s; }
.reveal-pending { opacity:.01; transform:translateY(12px); }
.is-revealed { opacity:1; transform:none; }
.flow { position:relative; gap:24px; }
.flow li { position:relative; }
.flow li::before { content:''; position:absolute; left:0; right:0; top:-1px; height:1px; background:linear-gradient(90deg,#45c7eb,#3169a5); transform:scaleX(0); transform-origin:left; transition:transform .65s; }
.is-revealed .flow li::before { transform:scaleX(1); }
.flow li:nth-child(2)::before { transition-delay:.1s; }
.flow li:nth-child(3)::before { transition-delay:.2s; }
.flow li:nth-child(4)::before { transition-delay:.3s; }
.flow li:not(:last-child)::after { content:'→'; position:absolute; right:-19px; top:-14px; color:#608bb2; font-size:16px; }
.benefit-list article { position:relative; padding:12px 15px 23px; margin-left:-15px; margin-right:-15px; border-radius:8px; transition:background .2s,transform .2s,border-color .2s; }
.benefit-list article:last-child { padding:12px 15px; }
.benefit-list h3::before { content:''; display:inline-block; width:5px; height:5px; border-radius:1px; background:#4aa8d1; margin-right:10px; vertical-align:middle; transition:transform .2s; }
.final-cta .button { transition:transform .2s,box-shadow .2s; }
@media(hover:hover) and (pointer:fine) {
  .segment-tabs button:hover { transform:translateY(-2px); border-color:#426b88; box-shadow:0 6px 18px #02061733; }
  .segment-tabs button:hover svg { transform:translateY(-1px) rotate(-5deg); }
  .demo-shell .button:hover:not(:disabled),.add-button:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 4px 9px #20354d0c; }
  .order-card:hover { transform:translateY(-2px); border-color:#a3bfdf; box-shadow:0 5px 12px #253f6010; }
  .benefit-list article:hover { background:#17284066; transform:translateX(3px); border-color:#375873; }
  .benefit-list article:hover h3::before { transform:rotate(45deg); }
  .final-cta .button:hover { transform:translateY(-2px); box-shadow:0 10px 25px -14px #45bfe5; }
}
@media(min-width:1000px) { #screen { min-height:505px; } }
@media(max-width:1050px) {
  .demo-layout { grid-template-columns:166px minmax(0,1fr); }
  .demo-main { padding:22px 17px 15px; }
  .demo-panel { padding:15px; }
  .order-board { gap:8px; }
  .order-lane { padding:9px; }
  .order-card { padding:10px; }
}
@media(max-width:850px) {
  .demo-layout { grid-template-columns:1fr; }
  .demo-sidebar { padding:10px 12px; }
  .demo-sidebar [role=tablist] { gap:5px; }
  .demo-sidebar button { font-size:12px; min-height:40px; padding:9px 12px; }
  .demo-sidebar button[aria-selected=true] { box-shadow:inset 0 -2px 0 var(--accent); }
  .demo-main { padding:23px 18px 14px; }
  .segment-tabs button { padding:15px 22px; }
}
@media(max-width:600px) {
  .wrap { padding-inline:16px; }
  .models-hero { padding:34px 0; }
  .segment-tabs { gap:3px; padding:5px; }
  .segment-tabs button { flex-direction:column; padding:10px 4px 13px; gap:7px; min-height:70px; font-size:12px; }
  .segment-tabs button svg { width:19px; height:19px; }
  .segment-tabs button::after { bottom:5px; }
  .product-stage { padding:4px; border-radius:17px; }
  .demo-shell { border-radius:12px; }
  .demo-topbar { padding:13px 12px; gap:10px; }
  .demo-brand>span { font-size:12px; }
  .demo-label { font-size:12px; padding:3px 6px; }
  .demo-sidebar { padding:9px; }
  .demo-sidebar [role=tablist] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .demo-sidebar button { padding:9px 6px; justify-content:center; font-size:12px; gap:5px; min-height:44px; }
  .demo-sidebar button svg { width:14px; }
  .demo-shell[data-segment=autocenter] .demo-sidebar [role=tablist] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .demo-main { padding:20px 10px 10px; }
  .screen-heading h3 { font-size:20px; }
  .screen-eyebrow { font-size:12px; }
  .screen-heading { align-items:flex-start; gap:10px; margin-bottom:18px; }
  .text-button { font-size:12px; }
  .demo-panel { padding:15px 12px; }
  .field { font-size:16px; min-height:45px; }
  .product-name { font-size:14px; }
  .product-row { gap:8px; }
  .product-application { font-size:12px; }
  .add-button { min-height:44px; padding:8px; font-size:12px; }
  .quantity button { width:40px; height:40px; }
  .remove-button { min-height:40px; padding-inline:0; }
  .cart-item-top { align-items:center; }
  .cart-item-bottom { font-size:12px; flex-wrap:wrap; }
  .total-line { gap:9px; flex-wrap:wrap; }
  .total-line strong { font-size:25px; }
  .demo-status { font-size:12px; min-height:64px; }
  .payment-split .field-pair { gap:7px; }
  .payment-split .field-pair>label,.payment-split .field-pair>div { padding:6px; }
  .payment-split .field { padding-inline:7px; font-size:14px; }
  .material-shortcuts { gap:5px; }
  .material-shortcuts button { font-size:12px; }
  .workshop-intro { flex-direction:column; align-items:flex-start; font-size:13px; }
  .order-board { grid-template-columns:1fr; gap:12px; }
  .order-lane { min-height:0; padding:13px; }
  .order-lane>h4 { font-size:13px; }
  .order-card { padding:14px; }
  .order-card-top { flex-wrap:nowrap; font-size:12px; }
  .order-card>strong { font-size:16px; }
  .order-card-bottom>span { font-size:12px; }
  .lane-empty { padding:4px 0; }
  .order-detail-head { align-items:flex-start; flex-wrap:wrap; }
  .vehicle-record { gap:12px; }
  .vehicle-record h4 { font-size:18px; }
  .vehicle-mark { width:45px; height:45px; padding:10px; }
  .kpi strong { font-size:24px; }
  .rank-row { flex-wrap:wrap; }
  .flow li:nth-child(2)::after { display:none; }
  .product-stage::before { inset:-15px -4px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .reveal-pending { opacity:1; transform:none; }
  .product-stage::before { transform:none; }
  .flow li::before { transform:scaleX(1); }
  .segment-tabs button:hover,.segment-tabs button:hover svg,.demo-shell .button:hover,.add-button:hover,.order-card:hover,.benefit-list article:hover,.final-cta .button:hover { transform:none; }
}
