:root{
  --bg:#06101d;--bg-soft:#0a1727;--surface:#0d1b2d;--surface-2:#12233a;--surface-3:#172b45;
  --text:#f2f7fd;--muted:#91a5bd;--muted-2:#667b94;--line:#223750;--accent:#68e0bd;--accent-dark:#082c24;
  --danger:#ff7784;--warning:#ffc464;--info:#66a9ff;--success:#68e0bd;--shadow:0 24px 70px rgba(0,0,0,.28);
  --radius:20px;--radius-sm:13px;--sidebar:270px;--topbar:76px
}

/* v1.11.22 — programa de pesquisa por coortes, mobile first */
.research-privacy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

.safe-data-card,
.blocked-data-card {
    position: relative;
    overflow: hidden;
}

.safe-data-card::before,
.blocked-data-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--accent, #5ee6c4);
}

.blocked-data-card::before {
    background: #f08b8b;
}

.check-list {
    display: grid;
    gap: 10px;
    padding: 0;
    margin: 18px 0 0;
    list-style: none;
}

.check-list li {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    color: var(--text-secondary, #aebccb);
}

.check-list li::before {
    content: "✓";
    color: var(--accent, #5ee6c4);
    font-weight: 800;
}

.check-list.blocked li::before {
    content: "×";
    color: #f08b8b;
}

.privacy-threshold {
    display: grid;
    place-items: center;
    min-width: 72px;
    min-height: 72px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--accent, #5ee6c4) 45%, transparent);
    border-radius: 24px;
    background: color-mix(in srgb, var(--accent, #5ee6c4) 12%, transparent);
    color: var(--accent, #5ee6c4);
    font-size: 1.35rem;
    font-weight: 800;
}

.research-consent-form {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.research-consent-form + form {
    margin-top: 12px;
}

.global-assistant-history {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(4, 14, 25, .35);
}

.global-assistant-history-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.global-assistant-history-head .text-link {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.global-assistant-history [data-global-assistant-history] {
    display: grid;
    gap: 9px;
    max-height: 190px;
    overflow: auto;
}

.global-assistant-history article {
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
}

.global-assistant-history article strong,
.global-assistant-history article p {
    display: block;
    margin: 0;
}

.global-assistant-history article p {
    margin-top: 4px;
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .research-privacy-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .research-privacy-grid .card {
        padding: 20px;
    }

    .privacy-threshold {
        min-width: 58px;
        min-height: 58px;
        border-radius: 18px;
        font-size: 1.05rem;
    }

    .research-consent-form .consent-row {
        align-items: flex-start;
    }
}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% -10%,rgba(45,100,147,.28),transparent 34%),radial-gradient(circle at -10% 45%,rgba(29,113,91,.14),transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}a{color:inherit}.hidden{display:none!important}.env-banner{position:fixed;left:0;right:0;top:0;height:25px;display:grid;place-items:center;z-index:90;font-size:.68rem;font-weight:900;letter-spacing:.15em}.env-banner.staging{background:var(--warning);color:#2f1c00}.env-banner.production{background:#d74d5b;color:#fff}.env-banner~.app-shell,.env-banner~.public-shell{padding-top:25px}.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.content-shell{min-width:0}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);z-index:50;display:flex;flex-direction:column;padding:22px 16px 18px;background:rgba(7,18,31,.94);border-right:1px solid var(--line);backdrop-filter:blur(20px)}.env-banner~.app-shell .sidebar{top:25px}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:0 7px 24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,var(--accent),#44a9db);color:#052018;font-weight:950;box-shadow:0 9px 28px rgba(104,224,189,.22)}.brand strong{display:block;font-size:.98rem}.brand small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.side-nav{display:flex;flex-direction:column;gap:18px;overflow:auto;padding:2px 2px 20px}.nav-group{display:grid;gap:5px}.nav-label{padding:0 11px 6px;color:var(--muted-2);font-size:.67rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:11px;min-height:45px;padding:10px 12px;border-radius:13px;color:var(--muted);text-decoration:none;font-weight:660;transition:.18s ease}.nav-item:hover{background:rgba(255,255,255,.045);color:var(--text)}.nav-item.active{background:linear-gradient(135deg,rgba(104,224,189,.16),rgba(102,169,255,.08));color:var(--accent);box-shadow:inset 0 0 0 1px rgba(104,224,189,.12)}.nav-icon{width:24px;text-align:center;font-size:1.05rem}.sidebar-logout{margin-top:auto}.sidebar-logout button{width:100%;padding:12px;border:1px solid var(--line);border-radius:13px;background:transparent;color:var(--muted);cursor:pointer}.sidebar-logout button:hover{color:var(--text);border-color:#36516f}.sidebar-close{display:none}.sidebar-backdrop{display:none}.topbar{height:var(--topbar);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:rgba(6,16,29,.78);border-bottom:1px solid rgba(34,55,80,.75);backdrop-filter:blur(18px)}.env-banner~.app-shell .topbar{top:25px}.topbar-title span{display:block;font-weight:760}.topbar-title small{color:var(--muted)}.user-menu{display:flex;align-items:center;gap:10px}.user-menu strong,.user-menu small{display:block}.user-menu small{color:var(--muted);font-size:.73rem;margin-top:2px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#18314e;border:1px solid #2a4868;color:var(--accent);font-weight:850}.avatar.small{width:34px;height:34px;font-size:.78rem}.icon-button{width:40px;height:40px;border:0;border-radius:12px;background:rgba(255,255,255,.05);color:var(--text);cursor:pointer}.menu-toggle{display:none}.content-shell>main{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:38px 0 72px}.public-shell{min-height:100vh}.public-header{height:74px;display:flex;align-items:center;width:min(1200px,calc(100% - 32px));margin:0 auto}.public-shell main{width:min(1200px,calc(100% - 32px));margin:0 auto;padding:35px 0 65px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading h1,.hero h1{margin:7px 0 8px;font-size:clamp(2rem,4vw,3.7rem);line-height:1.03;letter-spacing:-.045em}.page-heading p,.hero p{margin:0;color:var(--muted);max-width:740px;font-size:1.02rem;line-height:1.65}.hero.compact{margin-bottom:24px}.hero.compact h1{font-size:clamp(2rem,4vw,3.2rem)}.eyebrow{color:var(--accent);font-size:.68rem;letter-spacing:.14em;font-weight:900}.card{background:linear-gradient(145deg,rgba(19,36,59,.96),rgba(10,24,41,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:23px}.card h2,.card h3{margin:0 0 9px;letter-spacing:-.02em}.card p{color:var(--muted);line-height:1.62}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.card-heading p{margin:3px 0 0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric-card{display:flex;align-items:center;gap:15px;min-height:130px}.metric-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(104,224,189,.1);color:var(--accent);font-size:1.35rem}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{color:var(--muted);font-size:.78rem;font-weight:700}.metric-card strong{font-size:1.75rem;margin:4px 0}.metric-card small{color:var(--muted-2)}.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px}.span-2{grid-column:span 2}.roadmap{display:grid;gap:2px}.roadmap-step{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid rgba(34,55,80,.65)}.roadmap-step:last-child{border-bottom:0}.roadmap-step i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#101f33;border:1px solid var(--line);font-style:normal;color:var(--muted)}.roadmap-step.done i{background:rgba(104,224,189,.12);border-color:rgba(104,224,189,.3);color:var(--accent)}.roadmap-step strong,.roadmap-step span{display:block}.roadmap-step span{color:var(--muted);font-size:.8rem;margin-top:3px}.health-chip,.version-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(10,23,39,.8);color:var(--muted);font-size:.8rem;font-weight:700;white-space:nowrap}.health-chip i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(104,224,189,.09)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 16px;border:0;border-radius:12px;text-decoration:none;font-weight:830;cursor:pointer;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,var(--accent),#65cce7);color:#052119;box-shadow:0 12px 28px rgba(104,224,189,.16)}.button.secondary,.button.ghost{background:rgba(255,255,255,.045);border:1px solid var(--line);color:var(--text)}.button.danger{background:rgba(255,119,132,.12);border:1px solid rgba(255,119,132,.34);color:#ffadb5}.button.compact{min-height:34px;padding:7px 11px;font-size:.78rem}.button.full{width:100%}.text-link{color:var(--accent);text-decoration:none;font-weight:760}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:8px;margin-bottom:16px;font-size:.86rem;font-weight:700}label small,.hint{color:var(--muted);font-weight:450}input,select{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#081523;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(104,224,189,.11)}input:disabled{opacity:.65}.form-actions{display:flex;justify-content:flex-end;margin-top:18px}.permission-card{margin-top:18px}.permission-list{display:grid;gap:1px}.permission-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid rgba(34,55,80,.65)}.permission-row:last-child{border-bottom:0}.permission-row strong,.permission-row small{display:block}.permission-row small{color:var(--muted);margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.table-card{padding:0;overflow:hidden}.table-card>h2{padding:22px 22px 0}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid rgba(34,55,80,.72);vertical-align:middle}th{color:var(--muted-2);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}td small{display:block;color:var(--muted);margin-top:4px;max-width:520px}.person{display:flex;align-items:center;gap:10px}.status-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:rgba(102,169,255,.11);color:#9cc6ff;border:1px solid rgba(102,169,255,.18);font-size:.68rem;font-weight:800;text-transform:capitalize}.status-badge.success,.status-badge.completed{background:rgba(104,224,189,.11);color:var(--accent);border-color:rgba(104,224,189,.2)}.status-badge.muted,.status-badge.rolled_back{background:rgba(145,165,189,.09);color:var(--muted)}.status-badge.planned{background:rgba(255,196,100,.1);color:var(--warning);border-color:rgba(255,196,100,.18)}.status-badge.installing{color:var(--warning)}.login-layout{min-height:calc(100vh - 180px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);align-items:center;gap:70px}.login-copy h1{font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:-.065em;margin:12px 0 20px;max-width:760px}.login-copy p{font-size:1.15rem;color:var(--muted);max-width:590px}.feature-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.feature-list span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--muted);font-size:.75rem}.auth-card{max-width:460px;width:100%;justify-self:end;padding:30px}.auth-heading{margin-bottom:22px}.auth-heading h2{font-size:1.9rem}.auth-heading p{margin:0}.installer{max-width:920px}.progress .bar{height:11px;background:#07121f;border-radius:999px;overflow:hidden}.progress .bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),#65cce7);transition:width .25s}.progress ol{padding-left:22px;line-height:2.1}.done{color:var(--accent)}.failed{color:var(--danger)}.alert{padding:13px 15px;border-radius:12px;border:1px solid var(--line);margin-bottom:12px}.alert.success{background:rgba(104,224,189,.09);border-color:rgba(104,224,189,.24);color:#a9f2dc}.alert.error{background:rgba(255,119,132,.1);border-color:rgba(255,119,132,.3);color:#ffc0c6}.alert.warning{background:rgba(255,196,100,.1);border-color:rgba(255,196,100,.3);color:#ffdb9f}.alert.info{background:rgba(102,169,255,.1);border-color:rgba(102,169,255,.25);color:#b7d5ff}.flash-stack:empty{display:none}.session-list{display:grid;gap:13px}.session-card{display:flex;align-items:center;gap:14px;padding:17px}.session-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:rgba(102,169,255,.1);color:#9cc6ff}.session-info{flex:1;min-width:0}.session-info>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.session-info p{margin:5px 0 0;font-size:.8rem}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.check-card{display:flex;align-items:center;gap:13px}.check-icon{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-weight:900}.check-icon.ok{background:rgba(104,224,189,.11);color:var(--accent)}.check-icon.fail{background:rgba(255,119,132,.12);color:var(--danger)}.check-card strong,.check-card small{display:block}.check-card small{color:var(--muted);margin-top:3px}.file-drop{min-height:125px;place-items:center;text-align:center;border:1px dashed #36516e;border-radius:15px;padding:20px;background:rgba(5,15,27,.45);cursor:pointer}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-drop span{color:var(--muted)}.danger-zone{border-color:rgba(255,119,132,.22)}.empty-state{text-align:center;max-width:680px;margin:10vh auto;padding:50px}.empty-code{display:block;font-size:4rem;font-weight:950;color:var(--accent)}.pulse-dot{display:inline-block;width:15px;height:15px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 9px rgba(104,224,189,.1);animation:pulse 1.2s infinite}hr{border:0;border-top:1px solid var(--line);margin:20px 0}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#b7d5ff}footer{text-align:center;color:var(--muted-2);font-size:.72rem;padding:25px}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40;backdrop-filter:blur(3px)}@keyframes pulse{50%{opacity:.45;transform:scale(.82)}}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{gap:35px}.login-copy h1{font-size:4.2rem}}
@media(max-width:860px){.app-shell{display:block}.sidebar{transform:translateX(-105%);transition:transform .22s ease}.menu-open .sidebar{transform:translateX(0)}.menu-open .sidebar-backdrop{display:block}.sidebar-close,.menu-toggle{display:grid;place-items:center}.topbar{padding:0 17px}.topbar-title{display:none}.content-shell>main{width:min(100% - 28px,1320px);padding-top:25px}.content-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.login-layout{grid-template-columns:1fr;max-width:560px;margin:0 auto}.login-copy{display:none}.auth-card{justify-self:stretch;max-width:none}.page-heading{align-items:flex-start}.user-menu>div{display:none}}
@media(max-width:620px){.metric-grid,.check-grid,.form-grid{grid-template-columns:1fr}.page-heading{display:grid}.page-heading .button,.page-heading .health-chip,.page-heading .version-chip{width:100%}.page-heading h1{font-size:2.3rem}.card{padding:18px;border-radius:17px}.metric-card{min-height:105px}.permission-row{grid-template-columns:1fr;gap:9px}.session-card{align-items:flex-start;flex-wrap:wrap}.session-card form,.session-card form button{width:100%}.public-shell main{padding-top:15px}.auth-card{padding:21px}.env-banner{font-size:.58rem}.topbar{height:66px}.feature-list{display:none}}
.production-setup{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;border-color:rgba(255,196,100,.34);background:linear-gradient(135deg,rgba(255,196,100,.11),rgba(15,31,50,.98))}.production-setup h2{margin:6px 0 5px}.production-setup p{margin:0;max-width:780px}.production-setup .button{flex:0 0 auto}
@media(max-width:720px){.production-setup{align-items:stretch;flex-direction:column}.production-setup .button{width:100%}}

/* v0.2.3 — layout fixo e central de ambientes */
.app-shell{display:block;min-height:100vh}
.content-shell{min-width:0;min-height:100vh;margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}
.topbar{gap:18px}
.environment-switcher{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:auto;padding:5px;border:1px solid var(--line);border-radius:15px;background:rgba(5,15,27,.62)}
.environment-option{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px;min-width:118px;padding:8px 11px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:.75rem;font-weight:800}
.environment-option small{color:var(--muted-2);font-size:.65rem;font-weight:700}
.environment-option:hover{color:var(--text);background:rgba(255,255,255,.045)}
.environment-option.active{color:var(--accent);background:rgba(104,224,189,.11);box-shadow:inset 0 0 0 1px rgba(104,224,189,.18)}
.environment-option.active small{color:var(--accent)}
.environment-nav{align-items:flex-start}
.environment-nav .nav-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;font-size:.72rem;font-weight:900}
.nav-copy{display:block;min-width:0}
.nav-copy strong,.nav-copy small{display:block}
.nav-copy strong{font-size:.82rem}
.nav-copy small{margin-top:2px;color:var(--muted-2);font-size:.66rem;font-weight:650}
.environment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.environment-card{position:relative;overflow:hidden}
.environment-card.current{border-color:rgba(104,224,189,.35);box-shadow:0 22px 65px rgba(0,0,0,.25),inset 0 0 0 1px rgba(104,224,189,.08)}
.environment-card.current:before{content:"Ambiente atual";position:absolute;right:18px;bottom:17px;color:var(--muted-2);font-size:.65rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.environment-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.environment-card h2{margin-top:6px}
.release-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.release-card.ready{border-color:rgba(104,224,189,.28);background:linear-gradient(145deg,rgba(19,49,58,.96),rgba(10,24,41,.98))}
.release-meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.release-meta span{padding:9px 11px;border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:.76rem}
.release-meta strong{color:var(--text);margin-left:5px}
.release-control{display:flex;align-items:center;justify-content:space-between;gap:24px}
.release-control h2{margin:6px 0}
.release-control p{margin:0;max-width:760px}

@media(max-width:1100px){
  .environment-switcher{margin-right:0}
  .environment-option{min-width:auto;grid-template-columns:1fr}
  .environment-option small{display:none}
}
@media(max-width:860px){
  .content-shell{margin-left:0;width:100%}
  .environment-switcher{display:none}
  .environment-grid,.release-grid{grid-template-columns:1fr}
  .release-control{align-items:stretch;flex-direction:column}
  .release-control .button{width:100%}
}
@media(max-width:620px){
  .environment-card-head{align-items:flex-start;flex-direction:column}
  .environment-card.current:before{display:none}
}

/* v0.3.0 — garagem, telemetria e integração Leapmotor */
.page-section{margin-top:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{margin:5px 0 0}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.garage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.vehicle-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.vehicle-card{display:block;min-width:0;padding:18px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,rgba(19,42,66,.92),rgba(8,21,36,.98));text-decoration:none;transition:.18s ease;overflow:hidden}.vehicle-card:hover{transform:translateY(-2px);border-color:rgba(104,224,189,.34);box-shadow:0 18px 44px rgba(0,0,0,.22)}.vehicle-card.large{padding:22px;min-height:215px}.vehicle-card-head,.vehicle-card-foot,.account-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.vehicle-model{color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.vehicle-card h3{margin:15px 0 20px;font-size:1.22rem}.vehicle-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vehicle-stats>div{padding:12px;border-radius:13px;background:rgba(3,13,24,.48);border:1px solid rgba(34,55,80,.7)}.vehicle-stats strong,.vehicle-stats span{display:block}.vehicle-stats strong{font-size:1.35rem}.vehicle-stats span{margin-top:3px;color:var(--muted-2);font-size:.68rem}.vehicle-card-foot{margin-top:16px;color:var(--muted);font-size:.72rem}.vehicle-card-foot small{color:var(--muted-2)}.vehicle-empty{display:flex;align-items:center;gap:20px}.vehicle-empty>div:nth-child(2){flex:1}.vehicle-empty h2{margin:5px 0}.vehicle-empty p{margin:0}.vehicle-empty-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:rgba(104,224,189,.1);color:var(--accent);font-size:2rem}.account-list{display:grid;gap:12px}.account-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 19px}.account-row>div{min-width:0}.account-row p{margin:5px 0 0}.danger-text{display:block;margin-top:7px;color:#ffadb5}.bridge-fields{padding-top:4px}.consent-row{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(5,15,27,.46);font-weight:500}.consent-row input{width:18px;min-height:18px;margin:2px 0 0}.consent-row span{color:var(--muted);line-height:1.5}.telemetry-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:32px;margin-bottom:18px;padding:30px}.battery-ring{--soc:0;width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--soc)*1%),rgba(145,165,189,.12) 0);position:relative}.battery-ring:before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--surface)}.battery-ring>div{position:relative;text-align:center}.battery-ring strong,.battery-ring span{display:block}.battery-ring strong{font-size:2.15rem}.battery-ring span{color:var(--muted);font-size:.75rem}.telemetry-summary span,.telemetry-summary strong{display:block}.telemetry-summary span{color:var(--muted);font-size:.8rem}.telemetry-summary strong{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.05em;margin:4px 0}.telemetry-summary p{margin:0}.vehicle-state-list{display:grid;gap:11px;min-width:185px}.vehicle-state-list span{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.8rem}.vehicle-state-list i{width:9px;height:9px;border-radius:50%;background:var(--muted-2)}.vehicle-state-list i.ok{background:var(--accent);box-shadow:0 0 0 5px rgba(104,224,189,.08)}.vehicle-state-list i.warn{background:var(--warning);box-shadow:0 0 0 5px rgba(255,196,100,.08)}.telemetry-grid{margin-top:0}.tire-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tire-item{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(5,15,27,.42)}.tire-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:3px solid var(--muted-2);color:var(--accent)}.tire-item strong,.tire-item small{display:block}.tire-item small{color:var(--muted);margin-top:3px;font-size:.68rem}.connector-health{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.connector-health h2{margin:5px 0}.connector-health p{margin:0}
@media(max-width:1100px){.garage-grid,.vehicle-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tire-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.garage-grid,.vehicle-card-grid{grid-template-columns:1fr}.vehicle-empty,.account-row,.connector-health{align-items:stretch;flex-direction:column}.vehicle-empty .button,.account-row form,.account-row button,.connector-health .button{width:100%}.telemetry-hero{grid-template-columns:1fr;text-align:center}.battery-ring{margin:0 auto}.vehicle-state-list{justify-self:center;text-align:left}.page-actions{width:100%}.page-actions .button,.page-actions form,.page-actions form button{width:100%}}
@media(max-width:520px){.tire-grid{grid-template-columns:1fr}.vehicle-stats{grid-template-columns:1fr}.telemetry-hero{padding:20px}.battery-ring{width:138px;height:138px}}

/* Leap Hub 0.4.0 — conector Python local */
.connector-panel{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(5,15,27,.42)}
.command-field{display:flex;align-items:center;gap:10px;margin-top:8px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#06111e;min-width:0}
.command-field code{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word;font-size:.76rem;line-height:1.5}
.runtime-card{margin-top:18px}
.runtime-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.runtime-check{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(5,15,27,.42);min-width:0}
.runtime-check .check-icon{flex:0 0 auto;width:32px;height:32px}
.runtime-check strong,.runtime-check small{display:block}
.runtime-check strong{font-size:.78rem}
.runtime-check small{color:var(--muted);margin-top:3px;font-size:.67rem}
.runtime-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}
.runtime-meta strong{color:var(--text)}
.real-connector-fields{margin-top:10px}
@media(max-width:1000px){.runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.runtime-grid{grid-template-columns:1fr}.command-field{align-items:stretch;flex-direction:column}.command-field .button{width:100%}}

/* Leap Hub 0.5.0 — certificado global e convites */
.certificate-card{margin:18px 0}.certificate-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:16px 0}.certificate-meta span{display:grid;gap:6px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(5,15,27,.42);color:var(--muted);font-size:.72rem}.certificate-meta strong{color:var(--text);font-size:.78rem;overflow-wrap:anywhere}.certificate-readiness{display:flex;align-items:center;gap:12px;margin:12px 0 14px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(5,15,27,.42)}.certificate-readiness.ready{border-color:rgba(104,224,189,.28)}.certificate-readiness.pending{border-color:rgba(255,196,100,.28)}.certificate-readiness strong,.certificate-readiness small{display:block}.certificate-readiness small{color:var(--muted);margin-top:3px}.invitation-created{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:22px;margin-bottom:18px;border-color:rgba(104,224,189,.3)}.invitation-created h2{margin:5px 0}.invitation-created p{margin:0}.invite-layout .auth-card{max-width:520px}.form-actions{gap:10px;flex-wrap:wrap}.form-actions form{margin:0}.table-card>.card-heading{padding:22px 22px 0}.alert.success{background:rgba(104,224,189,.1);border:1px solid rgba(104,224,189,.25);color:#a9f4dc}
@media(max-width:820px){.certificate-meta{grid-template-columns:1fr}.invitation-created{grid-template-columns:1fr}.invitation-created .command-field{margin-top:0}}

/* Leap Hub 0.6.0 — sincronização automática e ABRP */
.abrp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}
.abrp-vehicle-card{min-width:0}.abrp-vehicle-card .form-actions{justify-content:flex-start}
.privacy-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;border-color:rgba(104,224,189,.22)}
.integration-config-card{min-width:0}.integration-config-card form{min-width:0}
.integrations-grid{align-items:start;margin-top:18px}
.abrp-config-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:20px;align-items:start}
.abrp-planner-panel{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(5,15,27,.44)}
.abrp-planner-panel h3{margin:7px 0 8px}.abrp-planner-panel p{margin-top:0}
.compact-table{margin-top:18px;border:1px solid var(--line);border-radius:14px}.compact-table table{min-width:440px}.compact-table th,.compact-table td{padding:11px 13px}
.status-badge.neutral{background:rgba(145,165,189,.08);color:var(--muted);border-color:rgba(145,165,189,.16)}
@media(max-width:900px){.abrp-grid{grid-template-columns:1fr}.abrp-config-grid{grid-template-columns:1fr}}
@media(max-width:620px){.privacy-callout{align-items:stretch;flex-direction:column}.integration-config-card .form-actions{align-items:stretch;flex-direction:column}.integration-config-card .form-actions form,.integration-config-card .form-actions button,.integration-config-card .form-actions .button{width:100%}}

/* Leap Hub 0.7.0 — controles remotos, capacidades e rotinas */
.remote-settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start;margin-bottom:24px}
.remote-command-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}
.remote-command-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:17px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(17,38,61,.9),rgba(7,19,33,.98))}
.remote-command-card form{display:grid;gap:11px;height:100%}.remote-command-card .button{margin-top:auto;width:100%}
.command-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.command-card-head h3{margin:4px 0 0;font-size:1rem}.command-card-head p{margin:5px 0 0;color:var(--muted);font-size:.73rem;line-height:1.45}
.risk-high,.risk-medium,.risk-low{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:5px 8px;border:1px solid;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.risk-high{color:#ffb0b8;background:rgba(255,119,132,.1);border-color:rgba(255,119,132,.25)}.risk-medium{color:#ffd394;background:rgba(255,196,100,.1);border-color:rgba(255,196,100,.25)}.risk-low{color:#9ff1d6;background:rgba(104,224,189,.09);border-color:rgba(104,224,189,.23)}
.danger-consent{border-color:rgba(255,119,132,.24);background:rgba(255,119,132,.055)}
.capability-list{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}.capability-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(5,15,27,.42);color:var(--muted);font-size:.68rem}.capability-chip.available{border-color:rgba(104,224,189,.22);color:#a9f4dc}.capability-chip.unavailable{border-color:rgba(255,119,132,.18);color:#ffadb5}
.routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.routine-card{display:flex;flex-direction:column;min-width:0}.routine-card .form-actions{margin-top:auto;padding-top:14px}.routine-card .release-meta{margin-top:8px}
.day-selector{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.day-check{position:relative;cursor:pointer}.day-check input{position:absolute;opacity:0;pointer-events:none}.day-check span{display:grid;place-items:center;min-width:43px;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(5,15,27,.42);color:var(--muted);font-size:.72rem;font-weight:780}.day-check input:checked+span{border-color:rgba(104,224,189,.35);background:rgba(104,224,189,.12);color:var(--accent)}
button:disabled,.button.disabled{opacity:.48;cursor:not-allowed;transform:none!important;filter:saturate(.55)}
.remote-warning{margin-bottom:18px;border-color:rgba(255,196,100,.28)}
@media(max-width:1080px){.remote-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.remote-settings-grid{grid-template-columns:1fr}.routine-grid{grid-template-columns:1fr}}
@media(max-width:620px){.remote-command-grid{grid-template-columns:1fr}.remote-command-card{padding:15px}.day-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.day-check span{min-width:0}.remote-settings-grid .button,.remote-settings-grid form button{width:100%}}

.access-separation{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;border-color:rgba(102,169,255,.34);background:linear-gradient(135deg,rgba(102,169,255,.11),rgba(15,31,50,.98))}.access-separation h2{margin:6px 0 5px}.access-separation p{margin:0;max-width:780px}.access-separation .button{flex:0 0 auto}@media(max-width:720px){.access-separation{align-items:stretch;flex-direction:column}.access-separation .button{width:100%}}

/* v0.9.0 — programa beta, reports e planos */
textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#081523;color:var(--text);outline:none;resize:vertical;min-height:110px;font:inherit;line-height:1.5}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(104,224,189,.11)}
.mini-badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:3px 8px;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.08em;border:1px solid var(--line);white-space:nowrap}.mini-badge.beta{background:rgba(255,196,100,.12);border-color:rgba(255,196,100,.3);color:var(--warning)}.mini-badge.plan{background:rgba(102,169,255,.12);border-color:rgba(102,169,255,.25);color:#a9ceff}.user-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px}
.report-fab{position:fixed;right:24px;bottom:24px;z-index:65;display:flex;align-items:center;gap:9px;min-height:48px;padding:0 17px;border:1px solid rgba(104,224,189,.3);border-radius:999px;background:linear-gradient(135deg,var(--accent),#65cce7);color:#052119;font-weight:900;box-shadow:0 16px 44px rgba(0,0,0,.34);cursor:pointer}.report-fab:hover{transform:translateY(-2px)}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(2,8,15,.76);backdrop-filter:blur(9px)}.modal-card{width:min(620px,100%);max-height:min(88vh,820px);overflow:auto;background:linear-gradient(145deg,#13243a,#091725);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.5);padding:22px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:17px}.modal-head h2{margin:0}.modal-head p{margin:5px 0 0;color:var(--muted)}body.modal-open{overflow:hidden}.report-beta-note{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid rgba(255,196,100,.23);border-radius:13px;background:rgba(255,196,100,.07);margin:0 0 16px}.report-beta-note p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}
.report-thread{display:grid;gap:12px;margin:18px 0}.report-message{max-width:850px;padding:15px 17px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.report-message.admin{border-color:rgba(102,169,255,.25);background:rgba(102,169,255,.07)}.report-message.internal{border-color:rgba(255,196,100,.25);background:rgba(255,196,100,.07)}.report-message header{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px}.report-message header small{color:var(--muted)}.report-message p{white-space:pre-wrap;margin:0;color:var(--text)}.safe-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.safe-context-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.safe-context-grid strong,.safe-context-grid span{display:block}.safe-context-grid span{margin-top:4px;color:var(--muted);font-size:.8rem}.filter-card{margin-bottom:18px}.filter-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.filter-row label{margin:0}.actions-cell{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-admin-form{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.inline-admin-form select,.inline-admin-form input{min-height:35px;width:auto;max-width:170px;padding:7px 9px}
.beta-consent-box{padding:18px;border:1px solid rgba(255,196,100,.28);border-radius:16px;background:rgba(255,196,100,.06);margin:18px 0}.beta-consent-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.beta-consent-box ul{margin:10px 0 0;padding-left:20px;color:var(--muted);line-height:1.65}.consent-row{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.consent-row input{width:19px;height:19px;min-height:0;flex:0 0 auto;margin-top:2px}.consent-row span{font-weight:600;line-height:1.5}.required-consent{border-color:rgba(255,196,100,.3)}.danger-consent{border-color:rgba(255,119,132,.3);background:rgba(255,119,132,.06)}.beta-active-card{border-color:rgba(255,196,100,.32);background:linear-gradient(145deg,rgba(255,196,100,.08),rgba(10,24,41,.98))}
.invite-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}.invite-plan{padding:13px;border:1px solid rgba(102,169,255,.22);border-radius:13px;background:rgba(102,169,255,.06);margin-bottom:14px}.beta-invite-fields{padding:16px;border:1px solid rgba(255,196,100,.23);border-radius:15px;background:rgba(255,196,100,.055);margin-bottom:15px}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:20px}.plan-card{display:flex;flex-direction:column;min-height:245px}.plan-card>.button{margin-top:auto;align-self:flex-start}.plan-price{display:block;font-size:1.65rem;margin:8px 0 20px}.plan-hero-badge{display:inline-flex;padding:7px 11px;border-radius:999px;border:1px solid rgba(102,169,255,.26);background:rgba(102,169,255,.09);color:#b6d5ff;font-size:.76rem;font-weight:850}.plan-feature-list{display:grid;gap:9px;margin:14px 0 20px}.plan-feature-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.plan-feature-row>label{display:flex;align-items:center;gap:10px;margin:0}.plan-feature-row input[type=checkbox]{width:18px;height:18px;min-height:0}.plan-feature-row input[type=number]{min-height:38px}.feature-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.feature-access{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--line);border-radius:13px}.feature-access.enabled{border-color:rgba(104,224,189,.23);background:rgba(104,224,189,.055)}.feature-access.disabled{opacity:.62}.feature-access strong,.feature-access span{display:block}.feature-access span{color:var(--muted);font-size:.79rem;margin-top:3px}.feature-list{display:grid;gap:8px}
@media(max-width:1000px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-layout{grid-template-columns:1fr}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.safe-context-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.report-fab{right:14px;bottom:14px;padding:0;width:50px;justify-content:center}.report-fab span:last-child{display:none}.modal-backdrop{padding:10px}.modal-card{padding:17px;border-radius:18px}.plan-grid,.feature-access-grid,.safe-context-grid,.filter-row{grid-template-columns:1fr}.plan-feature-row{grid-template-columns:1fr}.inline-admin-form{align-items:stretch;flex-direction:column}.inline-admin-form select,.inline-admin-form input{max-width:none;width:100%}}

/* v1.0.0 — limites por plano e histórico de viagens */
.quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.quota-card{display:flex;flex-direction:column;gap:8px;min-height:150px}.quota-card h3{margin:0}.quota-card>strong{font-size:1.55rem}.quota-card small{color:var(--muted)}.quota-card.quota-reached{border-color:rgba(255,196,100,.35);background:linear-gradient(145deg,rgba(255,196,100,.08),rgba(10,24,41,.98))}.quota-bar{height:8px;border-radius:999px;background:#07131f;overflow:hidden;border:1px solid rgba(255,255,255,.04)}.quota-bar span{display:block;height:100%;width:calc(var(--quota)*1%);max-width:100%;background:linear-gradient(90deg,var(--accent),#65cce7);border-radius:inherit}.quota-reached .quota-bar span{background:linear-gradient(90deg,var(--warning),#ff9f70)}.quota-inline{display:inline-flex;margin-top:10px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.76rem;font-weight:760}.quota-inline.reached{border-color:rgba(255,196,100,.3);color:var(--warning);background:rgba(255,196,100,.06)}.feature-limit{display:grid!important;gap:5px!important;margin:0!important}.feature-limit span{font-size:.68rem;color:var(--muted-2);font-weight:760}.quota-feature-row{border-color:rgba(102,169,255,.22);background:rgba(102,169,255,.045)}.text-link.strong{font-weight:850}.table-card td:first-child{min-width:170px}
@media(max-width:720px){.quota-grid{grid-template-columns:1fr}.quota-card{min-height:0}}


/* v1.1.0 · classificação BEV/REEV e carregamentos */
.powertrain-choice{border:1px solid var(--line);border-radius:16px;padding:16px;margin:18px 0;display:grid;gap:12px}.powertrain-choice legend{font-weight:800;padding:0 8px}.choice-card{display:flex!important;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;background:var(--surface-soft)}.choice-card input{width:auto;margin-top:4px}.choice-card span{display:grid;gap:3px}.choice-card small{color:var(--muted)}.powertrain-panel{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}.powertrain-panel form{display:flex;align-items:end;gap:10px;min-width:min(100%,360px)}.powertrain-panel form label{flex:1}.powertrain-panel.needs-attention{border-color:rgba(245,158,11,.6);box-shadow:0 0 0 1px rgba(245,158,11,.14)}.powertrain-metrics{margin-top:18px}.table-card td small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){.powertrain-panel,.powertrain-panel form{display:grid;align-items:stretch}.powertrain-panel form{min-width:0}.choice-card{padding:12px}}

/* v1.2.0 · central de configurações e ambiente Beta */
.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.settings-section{display:flex;flex-direction:column;gap:18px;min-width:0}.settings-section-head{display:flex;align-items:flex-start;gap:14px}.settings-section-head>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:rgba(104,224,189,.1);border:1px solid rgba(104,224,189,.2);color:var(--accent);font-weight:900;font-size:.75rem}.settings-section-head h2{margin:0 0 4px}.settings-section-head p{margin:0}.settings-links{display:grid;gap:10px}.settings-link-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);text-decoration:none;transition:.18s ease}.settings-link-card:hover{transform:translateY(-1px);border-color:rgba(104,224,189,.32);background:rgba(104,224,189,.045)}.settings-link-card.admin{border-color:rgba(102,169,255,.28);background:rgba(102,169,255,.055)}.settings-link-card strong,.settings-link-card small{display:block}.settings-link-card small{color:var(--muted);margin-top:4px;line-height:1.35}.settings-link-card>b{color:var(--muted);font-size:1.1rem}.settings-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#0a1727;border:1px solid var(--line);color:var(--accent);font-weight:900}.settings-empty{padding:16px;border:1px dashed var(--line);border-radius:14px}.settings-empty p{margin-top:0}.environment-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.environment-summary{position:relative;overflow:hidden}.environment-summary:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-45px;top:-45px;background:rgba(104,224,189,.07)}.environment-summary.production:after{background:rgba(255,119,132,.08)}.environment-summary .button{position:relative;z-index:1}.routing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.routing-summary span{display:block;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:.76rem;overflow:hidden}.routing-summary strong{display:block;color:var(--text);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-settings-form{display:flex;align-items:end;gap:10px}.inline-settings-form label{flex:1;margin:0}.vehicle-settings .settings-section:first-child{grid-column:span 2}.admin-settings .settings-section:last-child{grid-column:span 2}.page-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.env-banner.staging{background:linear-gradient(90deg,#6c4cff,#a56cff);color:#fff}.environment-option span:first-child{font-weight:850}
@media(max-width:980px){.settings-layout,.environment-summary-grid{grid-template-columns:1fr}.vehicle-settings .settings-section:first-child,.admin-settings .settings-section:last-child{grid-column:auto}.routing-summary{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.settings-link-card{grid-template-columns:38px minmax(0,1fr) auto;padding:11px}.settings-icon{width:38px;height:38px}.routing-summary{grid-template-columns:1fr}.inline-settings-form{display:grid;align-items:stretch}.page-actions{justify-content:stretch}.page-actions .button{flex:1 1 auto}}

/* v1.3.0 · saúde da bateria e manutenção */
.battery-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.battery-health-card{display:flex;flex-direction:column;gap:14px}.battery-health-card .button{margin-top:auto}.document-list{display:grid;gap:10px}.document-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(34,55,80,.65)}.document-row:last-child{border-bottom:0}.document-row strong,.document-row small{display:block}.document-row small{color:var(--muted);margin-top:4px}.maintenance-alert-card{border-color:rgba(255,196,100,.25);background:rgba(255,196,100,.045)}textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#081523;color:var(--text);outline:none;resize:vertical;font:inherit}textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(104,224,189,.11)}
@media(max-width:980px){.battery-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.battery-health-grid{grid-template-columns:1fr}.document-row{align-items:flex-start;flex-direction:column}.document-row .form-actions{width:100%;justify-content:flex-start}}

/* v1.4.0 · conta pessoal separada e relatórios privados */
.user-menu{text-decoration:none;border-radius:14px;padding:6px 8px;transition:.18s ease}.user-menu:hover{background:rgba(255,255,255,.045)}
.account-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:22px}.account-settings-grid>.span-2{grid-column:span 2}.account-profile-card,.account-access-card{min-width:0}.avatar.large{width:54px;height:54px;font-size:1.05rem}.personal-preferences-card{overflow:hidden}.preference-section{padding:20px 0;border-top:1px solid rgba(34,55,80,.7)}.preference-section:first-of-type{border-top:0;padding-top:0}.preference-section h3{margin:0 0 15px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.preference-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.preference-check{display:flex;align-items:flex-start;gap:11px;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.022);cursor:pointer}.preference-check input{width:18px;height:18px;min-height:0;flex:0 0 auto;margin-top:3px}.preference-check strong,.preference-check small{display:block}.preference-check small{margin-top:4px;color:var(--muted);font-weight:450;line-height:1.4}
.analytics-filter-card{margin-bottom:18px}.analytics-filter-grid{display:grid;grid-template-columns:180px 180px minmax(220px,1fr) auto;align-items:end;gap:14px}.analytics-filter-grid label{margin:0}.analytics-filter-grid .button{margin-bottom:0}.analytics-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.analytics-layout{align-items:start}.analytics-months{display:grid;gap:9px}.analytics-month-row{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(140px,.45fr);gap:16px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.02)}.month-label strong,.month-label small{display:block}.month-label small{color:var(--muted);margin-top:4px}.month-bars{display:grid;gap:8px}.month-bars>div{display:grid;grid-template-columns:72px minmax(90px,1fr) 90px;gap:9px;align-items:center}.month-bars span{color:var(--muted);font-size:.72rem}.month-bars i{display:block;height:8px;border-radius:999px;background:#07131f;overflow:hidden;border:1px solid rgba(255,255,255,.04)}.month-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#65cce7)}.month-bars .cost b{background:linear-gradient(90deg,var(--warning),#ff9f70)}.month-bars strong{text-align:right;font-size:.8rem}.month-meta{display:grid;gap:4px;color:var(--muted);font-size:.74rem}.privacy-callout{display:grid;gap:5px;margin-top:18px;padding:14px;border:1px solid rgba(104,224,189,.22);border-radius:14px;background:rgba(104,224,189,.055)}.privacy-callout span{color:var(--muted);line-height:1.45}
body[data-density="compact"]{--topbar:64px}body[data-density="compact"] .card{padding:17px}body[data-density="compact"] .content-shell>main{padding-top:25px}body[data-density="compact"] .nav-item{min-height:39px;padding:7px 10px}body[data-density="compact"] input,body[data-density="compact"] select{min-height:40px;padding:8px 11px}body[data-density="compact"] .settings-link-card{min-height:62px;padding:9px 12px}
body[data-theme="light"]{--bg:#eef3f8;--bg-soft:#f5f8fb;--surface:#fff;--surface-2:#f4f7fa;--surface-3:#e8eef5;--text:#152335;--muted:#53677f;--muted-2:#73859a;--line:#d5dfe9;--accent:#087f68;--accent-dark:#dff5ee;--shadow:0 18px 45px rgba(41,61,82,.12);color-scheme:light;background:radial-gradient(circle at 90% -10%,rgba(68,169,219,.15),transparent 34%),var(--bg)}body[data-theme="light"] .card{background:linear-gradient(145deg,#fff,#f7fafc)}body[data-theme="light"] .sidebar{background:rgba(247,250,252,.96)}body[data-theme="light"] .topbar{background:rgba(238,243,248,.86)}body[data-theme="light"] input,body[data-theme="light"] select,body[data-theme="light"] textarea{background:#fff;color:var(--text)}body[data-theme="light"] .settings-icon,body[data-theme="light"] .month-bars i{background:#edf3f7}body[data-theme="light"] .nav-item:hover,body[data-theme="light"] .user-menu:hover{background:rgba(18,52,77,.055)}body[data-theme="light"] .preference-check,body[data-theme="light"] .analytics-month-row{background:rgba(18,52,77,.02)}
@media(prefers-color-scheme:light){body[data-theme="system"]{--bg:#eef3f8;--bg-soft:#f5f8fb;--surface:#fff;--surface-2:#f4f7fa;--surface-3:#e8eef5;--text:#152335;--muted:#53677f;--muted-2:#73859a;--line:#d5dfe9;--accent:#087f68;--accent-dark:#dff5ee;--shadow:0 18px 45px rgba(41,61,82,.12);color-scheme:light;background:radial-gradient(circle at 90% -10%,rgba(68,169,219,.15),transparent 34%),var(--bg)}body[data-theme="system"] .card{background:linear-gradient(145deg,#fff,#f7fafc)}body[data-theme="system"] .sidebar{background:rgba(247,250,252,.96)}body[data-theme="system"] .topbar{background:rgba(238,243,248,.86)}body[data-theme="system"] input,body[data-theme="system"] select,body[data-theme="system"] textarea{background:#fff;color:var(--text)}body[data-theme="system"] .settings-icon,body[data-theme="system"] .month-bars i{background:#edf3f7}}
@media(max-width:1100px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-filter-grid .button{width:100%}.analytics-month-row{grid-template-columns:80px minmax(0,1fr)}.month-meta{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.account-settings-grid{grid-template-columns:1fr}.account-settings-grid>.span-2{grid-column:auto}.form-grid.three,.preference-check-grid{grid-template-columns:1fr}.analytics-month-row{grid-template-columns:1fr}.month-meta{grid-column:auto}.analytics-filter-grid{grid-template-columns:1fr}.month-bars>div{grid-template-columns:64px minmax(80px,1fr) 82px}}
@media(max-width:560px){.analytics-metrics{grid-template-columns:1fr}.month-meta{grid-template-columns:1fr}.month-bars>div{grid-template-columns:1fr}.month-bars strong{text-align:left}}

/* v1.5.0 — unidades pessoais */
.measurement-preferences{border-top:1px solid var(--border,rgba(148,163,184,.18));padding-top:1.25rem}
.unit-preview{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;padding:.85rem 1rem;border:1px dashed var(--border,rgba(148,163,184,.28));border-radius:14px;background:rgba(56,189,248,.05)}
.unit-preview span{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .65rem;border-radius:999px;background:rgba(15,23,42,.32);font-size:.86rem}
[data-theme="light"] .unit-preview span{background:rgba(226,232,240,.78)}
@media (max-width:720px){.unit-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.unit-preview span:first-child{grid-column:1/-1}}

/* v1.6.0 — contraste do tema claro, layout protegido e fila de versões */
html,body{max-width:100%;overflow-x:hidden}
.content-shell,.content-shell>main,.topbar,.topbar-title,.user-menu,.user-menu>div{min-width:0}
.user-menu{flex:0 1 auto;max-width:320px}
.user-menu strong{max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-title{overflow:hidden}
.topbar-title span,.topbar-title small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.release-queue-card{margin-bottom:18px}
.release-queue{display:grid;gap:12px}
.release-queue-item{padding:18px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}
.release-queue-item.next{border-color:rgba(104,224,189,.38);box-shadow:inset 0 0 0 1px rgba(104,224,189,.08)}
.release-queue-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.release-queue-main h3{margin:5px 0 0;font-size:1.35rem}
.release-queue-item p{margin:10px 0 0}
.release-queue-item form{margin-top:14px}
.beta-update-grid{align-items:stretch}
.beta-flow-card{display:flex;flex-direction:column}
.beta-flow-card .roadmap{margin-top:auto}

/* Componentes que antes mantinham fundo escuro quando o tema era claro. */
body[data-theme="light"] .vehicle-card,
body[data-theme="light"] .release-card.ready,
body[data-theme="light"] .release-queue-item{background:linear-gradient(145deg,#ffffff,#f2f6fa);color:var(--text);box-shadow:0 15px 34px rgba(41,61,82,.09)}
body[data-theme="light"] .vehicle-stats>div,
body[data-theme="light"] .health-chip,
body[data-theme="light"] .version-chip,
body[data-theme="light"] .environment-switcher,
body[data-theme="light"] .consent-row,
body[data-theme="light"] .tire-item,
body[data-theme="light"] .connector-panel,
body[data-theme="light"] .runtime-check,
body[data-theme="light"] .command-field{background:#f2f6fa;border-color:#d5dfe9;color:var(--text)}
body[data-theme="light"] .vehicle-card h3,
body[data-theme="light"] .vehicle-card strong,
body[data-theme="light"] .vehicle-card-foot,
body[data-theme="light"] .environment-option,
body[data-theme="light"] .health-chip,
body[data-theme="light"] .version-chip{color:var(--text)}
body[data-theme="light"] .vehicle-card-foot small,
body[data-theme="light"] .vehicle-stats span{color:var(--muted)}
body[data-theme="light"] .vehicle-card:hover{border-color:rgba(8,127,104,.38);box-shadow:0 19px 42px rgba(41,61,82,.14)}
body[data-theme="light"] .button.secondary,
body[data-theme="light"] .button.ghost,
body[data-theme="light"] .icon-button{background:#f2f6fa;color:var(--text)}
body[data-theme="light"] .avatar{background:#e4edf5;border-color:#c7d5e2;color:var(--accent)}
body[data-theme="light"] .month-bars i{border-color:#d5dfe9}

@media(prefers-color-scheme:light){
  body[data-theme="system"] .vehicle-card,
  body[data-theme="system"] .release-card.ready,
  body[data-theme="system"] .release-queue-item{background:linear-gradient(145deg,#ffffff,#f2f6fa);color:var(--text);box-shadow:0 15px 34px rgba(41,61,82,.09)}
  body[data-theme="system"] .vehicle-stats>div,
  body[data-theme="system"] .health-chip,
  body[data-theme="system"] .version-chip,
  body[data-theme="system"] .environment-switcher,
  body[data-theme="system"] .consent-row,
  body[data-theme="system"] .tire-item,
  body[data-theme="system"] .connector-panel,
  body[data-theme="system"] .runtime-check,
  body[data-theme="system"] .command-field{background:#f2f6fa;border-color:#d5dfe9;color:var(--text)}
  body[data-theme="system"] .vehicle-card h3,
  body[data-theme="system"] .vehicle-card strong,
  body[data-theme="system"] .vehicle-card-foot,
  body[data-theme="system"] .environment-option,
  body[data-theme="system"] .health-chip,
  body[data-theme="system"] .version-chip{color:var(--text)}
  body[data-theme="system"] .vehicle-card-foot small,
  body[data-theme="system"] .vehicle-stats span{color:var(--muted)}
  body[data-theme="system"] .vehicle-card:hover{border-color:rgba(8,127,104,.38);box-shadow:0 19px 42px rgba(41,61,82,.14)}
  body[data-theme="system"] .button.secondary,
  body[data-theme="system"] .button.ghost,
  body[data-theme="system"] .icon-button{background:#f2f6fa;color:var(--text)}
  body[data-theme="system"] .avatar{background:#e4edf5;border-color:#c7d5e2;color:var(--accent)}
}

/* A largura útil é calculada depois do menu fixo, sem conteúdo escondido. */
@media(min-width:861px){
  .content-shell{margin-left:var(--sidebar)!important;width:calc(100vw - var(--sidebar))!important;max-width:calc(100vw - var(--sidebar))}
  .content-shell>main{max-width:100%;overflow:visible}
}
@media(max-width:1280px) and (min-width:861px){
  .topbar-title{display:none}
  .topbar{justify-content:space-between}
  .environment-switcher{margin-left:0;margin-right:auto}
}
@media(max-width:1080px) and (min-width:861px){
  .environment-switcher{display:none}
  .topbar{justify-content:flex-end}
  .user-menu{max-width:100%}
}
@media(max-width:700px){
  .release-queue-main{flex-direction:column}
  .release-queue-item .button{width:100%}
  .user-menu strong{max-width:130px}
}

/* v1.7.0 — central de alertas e geofencing */
.notification-button{position:relative;flex:0 0 auto;width:42px;height:42px;margin-left:auto;margin-right:10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--text);text-decoration:none;font-size:1.2rem;transition:.18s ease}
.notification-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.notification-button strong{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:.66rem;border:2px solid var(--bg)}
.notification-button.has-unread{color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent)}
.alerts-overview{align-items:start}.notification-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:13px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}
.notification-card.unread{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:inset 3px 0 0 var(--accent)}
.notification-card.critical{border-color:color-mix(in srgb,var(--danger) 38%,var(--line))}.notification-card.warning{border-color:color-mix(in srgb,var(--warning) 34%,var(--line))}.notification-card.success{border-color:color-mix(in srgb,var(--success) 32%,var(--line))}
.notification-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--surface-3);font-weight:900}.notification-card.critical .notification-symbol{color:var(--danger)}.notification-card.warning .notification-symbol{color:var(--warning)}.notification-card.success .notification-symbol{color:var(--success)}.notification-card.info .notification-symbol{color:var(--info)}
.notification-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.notification-copy p{margin:5px 0;color:var(--text);line-height:1.45}.notification-copy small{color:var(--muted)}.notification-actions{display:flex;align-items:center;gap:7px}.notification-actions form{margin:0}
.compact-heading{margin-top:30px}.compact-heading h2{margin:5px 0 3px;font-size:clamp(1.45rem,3vw,2.1rem)}
.alert-settings-card{grid-column:span 1}.alert-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.alert-rule{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);cursor:pointer}.alert-rule input{width:18px;height:18px;min-height:0;margin-top:2px}.alert-rule span,.alert-rule strong,.alert-rule small{display:block}.alert-rule small{margin-top:3px;line-height:1.35}.alert-rule.disabled{opacity:.55;cursor:not-allowed}.consent-row.disabled{opacity:.58}.geofence-section{margin-top:24px}.geofence-list{display:grid;gap:10px;margin-bottom:14px}.geofence-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 75%,transparent)}.geofence-card strong,.geofence-card small,.geofence-card span{display:block}.geofence-card small{color:var(--muted);margin-top:3px}.geofence-card span{color:var(--accent);font-size:.75rem;margin-top:5px}.geofence-card form{margin:0}.locked-feature{text-align:center;padding-block:38px}
body[data-theme="light"] .notification-button,body[data-theme="light"] .notification-card,body[data-theme="light"] .alert-rule,body[data-theme="light"] .geofence-card{background:#f4f7fa;color:var(--text)}
@media(prefers-color-scheme:light){body[data-theme="system"] .notification-button,body[data-theme="system"] .notification-card,body[data-theme="system"] .alert-rule,body[data-theme="system"] .geofence-card{background:#f4f7fa;color:var(--text)}}
@media(max-width:900px){.alert-rule-grid{grid-template-columns:1fr}.notification-card{grid-template-columns:36px minmax(0,1fr)}.notification-actions{grid-column:2;justify-content:flex-start}.geofence-card{align-items:flex-start}}
@media(max-width:560px){.notification-button{margin-left:auto;margin-right:5px}.notification-card{padding:12px}.notification-actions{flex-wrap:wrap}.geofence-card{flex-direction:column}.geofence-card form,.geofence-card .button{width:100%}}

/* v1.8.0 — Wallboxes, OCPP e provisionamento Bluetooth */
.wallbox-grid,.driver-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.wallbox-card{display:flex;flex-direction:column;gap:14px;color:inherit;text-decoration:none;min-width:0;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.wallbox-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));box-shadow:0 18px 48px rgba(2,8,23,.2)}.wallbox-card-head,.wallbox-card-foot,.ble-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wallbox-brand{font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.wallbox-card h2{margin:0}.wallbox-card p{margin:0;color:var(--muted)}.wallbox-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wallbox-card-metrics span{display:flex;flex-direction:column;min-width:0;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);border:1px solid var(--line)}.wallbox-card-metrics strong{font-size:1rem}.wallbox-card-metrics small,.wallbox-card-foot{color:var(--muted)}.wallbox-card-foot{padding-top:12px;border-top:1px solid var(--line);font-size:.86rem}.wallbox-card-foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-card{min-width:0}.driver-details{display:grid;gap:9px;margin:18px 0}.driver-details div{display:flex;justify-content:space-between;gap:16px;padding-bottom:9px;border-bottom:1px solid var(--line)}.driver-details dt{color:var(--muted)}.driver-details dd{margin:0;text-align:right;font-weight:750;overflow-wrap:anywhere}.integration-roadmap{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.bluetooth-provisioner{position:relative;overflow:hidden}.bluetooth-provisioner::after{content:"";position:absolute;width:240px;height:240px;right:-120px;top:-130px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--info) 18%,transparent),transparent 68%);pointer-events:none}.provision-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;padding:0;list-style:none}.provision-steps li{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 75%,transparent)}.provision-steps li>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--info) 16%,transparent);color:var(--info);font-weight:900}.provision-steps strong,.provision-steps small{display:block}.provision-steps small{margin-top:4px;color:var(--muted);line-height:1.45}.ble-status{flex:1;min-width:180px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);border:1px solid var(--line);color:var(--muted)}.ble-status.is-working{color:var(--info);border-color:color-mix(in srgb,var(--info) 35%,var(--line))}.ble-status.is-success{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line))}.ble-status.is-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.plan-locked{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;border:1px dashed var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.plan-locked p{margin:0;color:var(--muted)}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.span-full{grid-column:1/-1}
@media(max-width:1100px){.wallbox-grid,.driver-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provision-steps{grid-template-columns:1fr}}
@media(max-width:700px){.wallbox-grid,.driver-grid{grid-template-columns:1fr}.wallbox-card-metrics{grid-template-columns:1fr}.ble-action-row,.integration-roadmap{align-items:stretch;flex-direction:column}.ble-action-row .button{width:100%}.heading-actions{width:100%;justify-content:flex-start}}

/* v1.8.0 — endurecimento do tema claro */
body[data-theme="light"] .abrp-planner-panel,body[data-theme="light"] .file-drop,body[data-theme="light"] .certificate-meta span,body[data-theme="light"] .certificate-readiness,body[data-theme="light"] .progress .bar,body[data-theme="light"] .quota-bar{background:#f2f6fa;border-color:#c9d6e2;color:var(--text)}
body[data-theme="light"] .file-drop span,body[data-theme="light"] .abrp-planner-panel p{color:var(--muted)}
body[data-theme="light"] .alert.success{background:#e8f8f2;border-color:#9fdac8;color:#0b684f}
body[data-theme="light"] .alert.info{background:#edf5ff;border-color:#b8d3f4;color:#234d78}
body[data-theme="light"] .alert.warning{background:#fff7e7;border-color:#ebca85;color:#714d08}
body[data-theme="light"] .alert.error{background:#fff0f2;border-color:#efb5bd;color:#8a2635}
body[data-theme="light"] .wallbox-card,body[data-theme="light"] .driver-card,body[data-theme="light"] .bluetooth-provisioner{color:var(--text)}
@media(prefers-color-scheme:light){body[data-theme="system"] .abrp-planner-panel,body[data-theme="system"] .file-drop,body[data-theme="system"] .certificate-meta span,body[data-theme="system"] .certificate-readiness,body[data-theme="system"] .progress .bar,body[data-theme="system"] .quota-bar{background:#f2f6fa;border-color:#c9d6e2;color:var(--text)}body[data-theme="system"] .file-drop span,body[data-theme="system"] .abrp-planner-panel p{color:var(--muted)}body[data-theme="system"] .alert.success{background:#e8f8f2;border-color:#9fdac8;color:#0b684f}body[data-theme="system"] .alert.info{background:#edf5ff;border-color:#b8d3f4;color:#234d78}body[data-theme="system"] .alert.warning{background:#fff7e7;border-color:#ebca85;color:#714d08}body[data-theme="system"] .alert.error{background:#fff0f2;border-color:#efb5bd;color:#8a2635}}



/* v1.9.0 · núcleo OCPP 1.6 independente de fabricante */
.command-stack{display:grid;gap:14px}.command-stack label{display:grid;gap:6px}.command-stack pre,.code-panel{margin:0;max-width:100%;overflow:auto;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-strong,#07131f);color:var(--text);font-size:.78rem;line-height:1.55;white-space:pre}.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}.credential-grid>div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.credential-grid dt{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.credential-grid dd{margin:5px 0 0;overflow-wrap:anywhere}.credential-grid code{user-select:all}.credential-grid.compact{margin-bottom:16px}.credential-once{display:block}.credential-once strong{display:block;margin-bottom:4px}.connector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.connector-tile{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.connector-tile>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.connector-tile>div span{color:var(--muted);font-size:.76rem;font-weight:800}.connector-tile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.connector-tile dl>div{padding:9px;border-radius:10px;background:rgba(127,154,184,.07)}.connector-tile dt{font-size:.66rem;color:var(--muted);text-transform:uppercase}.connector-tile dd{margin:4px 0 0;font-weight:800}.status-cluster{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.empty-inline{padding:15px;border:1px dashed var(--line);border-radius:13px;color:var(--muted)}
[data-theme="light"] .command-stack pre,[data-theme="light"] .code-panel,[data-theme="light"] .connector-tile,[data-theme="light"] .credential-grid>div{background:#f6f9fc;color:#10223a;border-color:#cfd9e5}[data-theme="light"] .connector-tile dl>div{background:#edf3f8}[data-theme="light"] .credential-once{background:#fff7e4;color:#4d3511;border-color:#e9c46d}
@media(prefers-color-scheme:light){body[data-theme="system"] .command-stack pre,body[data-theme="system"] .code-panel,body[data-theme="system"] .connector-tile,body[data-theme="system"] .credential-grid>div{background:#f6f9fc;color:#10223a;border-color:#cfd9e5}body[data-theme="system"] .connector-tile dl>div{background:#edf3f8}body[data-theme="system"] .credential-once{background:#fff7e4;color:#4d3511;border-color:#e9c46d}}
@media(max-width:720px){.credential-grid,.connector-grid{grid-template-columns:1fr}.status-cluster{justify-content:flex-start}.command-stack pre,.code-panel{font-size:.7rem}}

/* v1.9.4 · configurações OCPP e despareamento Bluetooth */
.ocpp-config-form{display:flex;align-items:center;gap:8px;min-width:260px;margin:0}.ocpp-config-form input{min-width:150px;margin:0}.table-card td>small{display:block;margin-top:5px;color:var(--muted)}.bluetooth-provisioner [data-ble-unpair][hidden]{display:none!important}
@media(max-width:720px){.ocpp-config-form{min-width:0;flex-direction:column;align-items:stretch}.ocpp-config-form input,.ocpp-config-form .button{width:100%}.ble-action-row .heading-actions{width:100%}.ble-action-row .heading-actions .button{flex:1 1 160px}}

/* v1.9.4.2 · notificações globais modernas */
.toast-region{position:fixed;top:88px;right:22px;z-index:150;display:grid;gap:12px;width:min(430px,calc(100vw - 28px));pointer-events:none}.env-banner~.app-shell .toast-region{top:113px}.app-toast{--toast-color:#66a9ff;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:start;gap:12px;overflow:hidden;padding:15px 14px 16px;border:1px solid color-mix(in srgb,var(--toast-color) 35%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 20px 60px rgba(0,0,0,.34);backdrop-filter:blur(22px);pointer-events:auto;animation:toast-in .24s ease-out}.app-toast.success{--toast-color:var(--accent)}.app-toast.error{--toast-color:var(--danger)}.app-toast.warning{--toast-color:var(--warning)}.toast-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--toast-color) 16%,transparent);color:var(--toast-color);font-weight:950;font-size:1.05rem}.toast-copy{min-width:0;padding-top:1px}.toast-copy strong{display:block;font-size:.88rem;color:var(--text)}.toast-copy p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.45;overflow-wrap:anywhere}.toast-close{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.toast-close:hover{background:rgba(255,255,255,.07);color:var(--text)}.toast-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--toast-color);transform-origin:left;animation:toast-progress linear forwards}.app-toast.is-leaving{animation:toast-out .22s ease-in forwards}.toast-region:empty{display:none}@keyframes toast-in{from{opacity:0;transform:translate3d(18px,-8px,0) scale(.97)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate3d(24px,0,0) scale(.96)}}@keyframes toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:640px){.toast-region{top:auto!important;right:14px;left:14px;bottom:max(14px,env(safe-area-inset-bottom));width:auto}.app-toast{grid-template-columns:38px minmax(0,1fr) 30px;padding:13px}.toast-icon{width:34px;height:34px}}

/* v1.9.6 · revisões oficiais da API Leap */
.maintenance-api-panel{border-color:rgba(49,226,167,.28);background:linear-gradient(145deg,rgba(49,226,167,.07),rgba(102,169,255,.035)),var(--surface)}.maintenance-api-panel>.content-grid{margin-top:18px}.maintenance-api-panel h3{margin:0 0 12px}.maintenance-api-card{cursor:default}.maintenance-api-card:hover{transform:none}.maintenance-api-card .mini-badge{align-self:center}.maintenance-api-panel .table-card{padding:0;background:transparent;border:0;box-shadow:none}

/* v1.9.6.1 · plano oficial completo de intervenções */
.maintenance-plan-panel{margin-bottom:18px;border-color:rgba(102,169,255,.25)}.maintenance-plan-panel .table-responsive{margin-top:16px}.maintenance-plan-panel td:first-child{min-width:260px}.maintenance-category{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-size:.76rem;font-weight:750}.maintenance-plan-panel tbody small{display:block;margin-top:5px;color:var(--muted)}

/* v1.9.7 · catálogo de veículos e perfil confirmado */
.vehicle-catalog-card,.vehicle-product-card{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 7%,transparent),color-mix(in srgb,var(--info) 4%,transparent)),var(--surface)}.vehicle-profile-form{align-items:end}.vehicle-profile-form label{min-width:190px}.vehicle-profile-panel form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;gap:12px;align-items:end}.locked-profile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}.locked-profile small{color:var(--muted)}
@media(max-width:760px){.vehicle-profile-panel form{grid-template-columns:1fr}.vehicle-profile-form{align-items:stretch}.vehicle-profile-form label{min-width:0}.vehicle-profile-form .button{width:100%}}

/* v1.9.8 · descoberta em duas etapas e bateria por versão */
.discovery-flow-note{display:grid;gap:5px;margin:4px 0 18px}.discovery-flow-note span{color:var(--muted)}.pending-accounts-stack{display:grid;gap:14px;margin-bottom:20px}.pending-account-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:color-mix(in srgb,var(--warning) 36%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 8%,transparent),transparent),var(--surface)}.pending-account-card h2,.pending-account-card p{margin:5px 0}.pending-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pending-profile-card{display:grid;gap:20px;border-color:color-mix(in srgb,var(--warning) 32%,var(--line))}.pending-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.pending-profile-head h2{margin:5px 0}.pending-profile-head p{margin:0;color:var(--muted)}.complete-profile-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:13px;align-items:end}.complete-profile-form label{min-width:0}.complete-profile-form .profile-variant-field,.complete-profile-form .manual-battery-field{grid-column:1/-1}.complete-profile-form small{display:block;margin-top:6px;color:var(--muted)}.complete-profile-form button{justify-self:start}.manual-battery-field[hidden]{display:none!important}.locked-profile span{color:var(--text);font-weight:750}.battery-capacity-official{padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 7%,transparent)}
@media(max-width:900px){.pending-profile-grid{grid-template-columns:1fr}}@media(max-width:700px){.pending-account-card{align-items:stretch;flex-direction:column}.pending-account-card .button{width:100%}.complete-profile-form{grid-template-columns:1fr}.complete-profile-form .profile-variant-field,.complete-profile-form .manual-battery-field{grid-column:auto}.complete-profile-form button{width:100%}}

/* v1.9.9 · painel do veículo por versão e configurações concentradas */
.settings-anchor{scroll-margin-top:110px}.vehicle-settings .settings-section[id]{border-color:color-mix(in srgb,var(--accent) 18%,var(--line))}.vehicle-settings-panels{margin-top:20px}.vehicle-quick-card{display:grid;gap:17px;margin-top:18px}.vehicle-quick-card>.card-heading{margin-bottom:0}.vehicle-quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.vehicle-quick-actions form{margin:0}.quick-command-button{width:100%;min-height:92px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text);cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,background .18s ease}.quick-command-button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-2))}.quick-command-button span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:1.05rem}.quick-command-button strong{font-size:.84rem;line-height:1.25}.vehicle-product-card .release-meta{margin:16px 0}.vehicle-product-card .driver-details dd{max-width:62%}.quick-auth-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.quick-auth-form label{margin:0}.quick-auth-form .button{min-height:46px}
body[data-theme="light"] .quick-command-button{background:#f3f7fa;color:var(--text)}
@media(prefers-color-scheme:light){body[data-theme="system"] .quick-command-button{background:#f3f7fa;color:var(--text)}}
@media(max-width:1050px){.vehicle-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.vehicle-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-command-button{min-height:84px}.vehicle-product-card .driver-details dd{max-width:58%}}
@media(max-width:620px){.quick-auth-form{grid-template-columns:1fr}.quick-auth-form .button{width:100%}}
@media(max-width:420px){.vehicle-quick-actions{grid-template-columns:1fr}.quick-command-button{min-height:70px;flex-direction:row;align-items:center;justify-content:flex-start}}

/* v1.9.10 · controles remotos compactos e contextuais */
.compact-heading{margin-bottom:14px}
.remote-control-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.remote-status-chip{display:grid;grid-template-columns:9px auto 1fr;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 86%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.remote-status-chip i{width:9px;height:9px;border-radius:999px;background:var(--muted)}
.remote-status-chip.ok i{background:#32c98d;box-shadow:0 0 0 4px rgba(50,201,141,.12)}
.remote-status-chip.warn i{background:#f6b84a;box-shadow:0 0 0 4px rgba(246,184,74,.12)}
.remote-status-chip.danger i{background:#ff6b7a;box-shadow:0 0 0 4px rgba(255,107,122,.12)}
.remote-status-chip b{font-size:.76rem;white-space:nowrap}.remote-status-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--muted);font-size:.7rem}
.remote-auth-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:16px;align-items:end;margin-bottom:14px;padding:16px;border-color:color-mix(in srgb,var(--warning) 34%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 8%,var(--surface)),var(--surface))}
.remote-auth-banner h2{margin:.2rem 0 .25rem;font-size:1.05rem}.remote-auth-banner p{margin:0}.remote-auth-banner form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;align-items:end}.remote-auth-banner label{margin:0}.remote-auth-banner .button{min-height:44px}
.remote-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start;margin-bottom:14px}
.remote-category,.remote-security-panel,.remote-history-panel{padding:0;overflow:hidden;border-radius:16px}
.remote-category summary,.remote-security-panel summary,.remote-history-panel summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:66px;padding:12px 14px;cursor:pointer;user-select:none;border-bottom:1px solid transparent;transition:background .18s ease,border-color .18s ease}
.remote-category summary::-webkit-details-marker,.remote-security-panel summary::-webkit-details-marker,.remote-history-panel summary::-webkit-details-marker{display:none}
.remote-category summary:hover,.remote-security-panel summary:hover,.remote-history-panel summary:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.remote-category[open] summary,.remote-security-panel[open] summary,.remote-history-panel[open] summary{border-bottom-color:var(--line);background:color-mix(in srgb,var(--accent) 4%,transparent)}
.remote-category summary>span:nth-child(2),.remote-security-panel summary>span:nth-child(2),.remote-history-panel summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.remote-category summary strong,.remote-security-panel summary strong,.remote-history-panel summary strong{font-size:.93rem}.remote-category summary small,.remote-security-panel summary small,.remote-history-panel summary small{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.remote-category summary>b,.remote-security-panel summary>b,.remote-history-panel summary>b{min-width:30px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.66rem;text-align:center;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}
.remote-category-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:1rem}
.remote-action-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:12px;min-width:0;overflow:hidden}
.remote-action-tile{display:flex;flex-direction:column;gap:8px;min-width:0;max-width:100%;overflow:hidden;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 76%,transparent);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.remote-action-tile:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}.remote-action-tile.is-disabled{opacity:.72}.remote-action-tile.is-disabled:hover{transform:none;border-color:var(--line)}
.remote-action-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center}.remote-action-head>div{display:grid;gap:1px;min-width:0}.remote-action-head strong{font-size:.82rem;line-height:1.2}.remote-action-head small{color:var(--muted);font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.remote-action-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:.95rem}.remote-action-tile.risk-high .remote-action-icon{background:rgba(255,107,122,.1);color:#ff8792}.remote-action-tile.risk-medium .remote-action-icon{background:rgba(246,184,74,.1);color:#f6c461}
.remote-action-tile>p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.38;min-height:1.95em;white-space:normal;overflow-wrap:anywhere}.remote-action-tile form{display:grid;gap:8px;margin-top:auto;min-width:0}.remote-action-button{width:100%;min-height:38px;padding:8px 11px;font-size:.72rem}.remote-action-reason{display:block;max-width:100%;color:var(--muted);font-size:.64rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere;word-break:normal}.remote-action-head,.remote-action-head>div{min-width:0}.remote-action-head strong,.remote-action-head small{display:block;white-space:normal;overflow-wrap:anywhere}.remote-inline-field{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin:0}.remote-inline-field>span{font-size:.68rem;color:var(--muted)}.remote-inline-field select{min-height:38px;padding:7px 10px}
.remote-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.remote-destination-grid label{margin:0;font-size:.66rem}.remote-destination-grid input{min-height:38px;padding:8px 10px}
.remote-security-panel{margin-bottom:14px}.remote-security-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:14px;padding:14px}.remote-security-content form{display:grid;gap:10px}.remote-security-content .consent-row{margin:0}.remote-security-info{padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.remote-security-info h3{margin:.3rem 0 .4rem}.remote-security-info p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}
.remote-history-panel{margin-bottom:18px}.remote-history-panel .table-responsive{padding:0 12px 12px}.remote-history-panel table{margin:0}
.vehicle-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-command-button{min-height:82px}.quick-command-button small{color:var(--muted);font-size:.64rem;line-height:1.2}.quick-command-button:disabled{cursor:not-allowed;opacity:.55;transform:none!important}
@media(max-width:1050px){.remote-control-status{grid-template-columns:repeat(2,minmax(0,1fr))}.remote-category-grid{grid-template-columns:1fr}.remote-auth-banner{grid-template-columns:1fr}.vehicle-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.remote-action-list{grid-template-columns:1fr}.remote-security-content{grid-template-columns:1fr}.remote-auth-banner form{grid-template-columns:1fr}.remote-status-chip small{text-align:left}.remote-status-chip{grid-template-columns:9px 82px 1fr}.remote-destination-grid{grid-template-columns:1fr}.remote-category summary,.remote-security-panel summary,.remote-history-panel summary{grid-template-columns:36px minmax(0,1fr) auto;padding:11px 12px}.remote-category-icon{width:34px;height:34px}.remote-action-tile>p{min-height:0}}
@media(max-width:460px){.remote-control-status{grid-template-columns:1fr}.remote-status-chip{grid-template-columns:9px 82px 1fr}.vehicle-quick-actions{grid-template-columns:1fr}.quick-command-button{min-height:62px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center}.quick-command-button span{grid-row:1/3}.quick-command-button strong,.quick-command-button small{align-self:center}.remote-category summary small,.remote-security-panel summary small,.remote-history-panel summary small{white-space:normal;line-height:1.25}}

/* v1.10.0 · inteligência veicular, custos avançados e relatórios */
.vehicle-intelligence-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.vehicle-intelligence-grid .card{min-height:0}.battery-usage-metrics{margin-top:12px}.charging-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.charging-breakdown-item{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}.charging-breakdown-item strong{font-size:.83rem}.charging-breakdown-item span{font-size:1rem;font-weight:850}.charging-breakdown-item small{color:var(--muted);font-size:.7rem}.analytics-comparison{align-items:stretch}.analytics-comparison .driver-details{margin-top:14px}.battery-capacity-official{display:grid;gap:4px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));margin:8px 0 14px}.battery-capacity-official strong{font-size:1.2rem}.battery-capacity-official span{font-size:.8rem}.battery-capacity-official small{color:var(--muted)}.table-card td small{line-height:1.35}.form-actions form{margin:0}
@media(max-width:780px){.vehicle-intelligence-grid,.charging-breakdown-grid{grid-template-columns:1fr}.analytics-comparison .span-2{grid-column:auto}}

/* v1.10.2 — custos reais de viagem */
.billing-fieldset{border:1px solid var(--line);border-radius:16px;padding:16px;margin:16px 0;display:grid;gap:12px;background:var(--surface-soft)}.billing-fieldset legend{font-weight:800;padding:0 8px}.billing-fieldset .hint{margin:0}.table-card .form-actions{flex-wrap:nowrap}.table-card td .form-actions form{margin:0}@media(max-width:720px){.billing-fieldset{padding:13px}.table-card .form-actions{flex-wrap:wrap}}

/* v1.10.3 — controles compactos, ABRP, fila beta e comparação REEV */
.abrp-app-key-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr) auto;gap:12px;align-items:end;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}.abrp-app-key-panel h3,.abrp-app-key-panel p{margin:0}.abrp-app-key-panel form{margin:0}.abrp-app-key-panel>.status-badge{align-self:start}.beta-queue-card{margin-top:14px}.beta-queue-card>.card-heading>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.access-link-card .copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.reev-recommendation{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;margin-bottom:16px}.reev-recommendation .empty-code{margin:0}.reev-recommendation h2,.reev-recommendation p{margin:0 0 5px}.reev-recommendation.success{border-color:color-mix(in srgb,var(--success) 45%,var(--line))}.reev-recommendation.warning{border-color:color-mix(in srgb,#f6b84a 45%,var(--line))}.danger-zone{margin-top:18px;border-color:rgba(255,90,108,.35);background:color-mix(in srgb,rgba(255,90,108,.08) 55%,var(--surface))}.danger-zone h2,.danger-zone p{margin-top:0}.remote-category-grid>*{min-width:0}.remote-category[open]{overflow:hidden}.remote-category summary>span:nth-child(2){min-width:0}.remote-category summary strong,.remote-category summary small{white-space:normal;overflow-wrap:anywhere}.remote-action-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center}.remote-action-list>*{min-width:0}.remote-action-tile button{white-space:normal}
@media(max-width:900px){.abrp-app-key-panel{grid-template-columns:1fr}.access-link-card .copy-row{grid-template-columns:1fr}.reev-recommendation{grid-template-columns:1fr}}

/* v1.10.4 — tarifas inteligentes e eficiência de recarga */
.day-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.day-check-grid label{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);cursor:pointer;font-size:.76rem;font-weight:750}.day-check-grid input{width:17px;height:17px;min-height:0;margin:0}.smart-energy-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tariff-period-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);font-size:.68rem}.energy-origin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.efficiency-good{color:var(--success)}.efficiency-warning{color:var(--warning)}.efficiency-bad{color:var(--danger)}
@media(max-width:900px){.day-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.smart-energy-summary,.energy-origin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.day-check-grid,.smart-energy-summary,.energy-origin-grid{grid-template-columns:1fr}}

/* v1.10.6 — trajetos, localização e exportação GPX */
.route-map-card{display:grid;gap:15px;margin:18px 0;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 52%),var(--surface)}
.route-map-card .card-heading{margin-bottom:0}.route-map-card .card-heading p{max-width:760px}.route-map-unavailable{border-style:dashed}.route-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-place-grid>div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.route-place-grid span{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.route-place-grid strong{font-size:.92rem}.route-place-grid small{color:var(--muted)}
.route-map-shell{position:relative;min-height:300px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:18px;background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 30%),linear-gradient(160deg,color-mix(in srgb,var(--surface-2) 92%,transparent),color-mix(in srgb,var(--bg) 74%,var(--surface)));isolation:isolate}.route-map-svg{display:block;width:100%;height:auto;min-height:300px;max-height:480px}.route-map-grid line{stroke:color-mix(in srgb,var(--line) 58%,transparent);stroke-width:1}.route-map-line-shadow{fill:none;stroke:color-mix(in srgb,#000 38%,transparent);stroke-width:13;stroke-linecap:round;stroke-linejoin:round;opacity:.32}.route-map-line{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.route-gradient-start{stop-color:var(--accent)}.route-gradient-end{stop-color:var(--info)}.route-map-point{fill:color-mix(in srgb,var(--info) 88%,#fff);stroke:var(--surface);stroke-width:2;cursor:pointer}.route-marker{cursor:pointer;outline:none}.route-marker-halo{fill:color-mix(in srgb,var(--accent) 20%,transparent);stroke:color-mix(in srgb,var(--accent) 42%,transparent);stroke-width:2}.route-marker-core{fill:var(--accent);stroke:#fff;stroke-width:3}.route-marker.end .route-marker-halo{fill:color-mix(in srgb,var(--info) 22%,transparent);stroke:color-mix(in srgb,var(--info) 48%,transparent)}.route-marker.end .route-marker-core{fill:var(--info)}.route-marker.single .route-marker-core{fill:var(--success)}.route-marker:focus .route-marker-halo,.route-marker:hover .route-marker-halo{stroke-width:5}.route-map-tooltip{position:absolute;left:12px;bottom:12px;z-index:3;max-width:calc(100% - 24px);padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 30px rgba(0,0,0,.18);font-size:.75rem;font-weight:700;line-height:1.4}.route-map-empty{min-height:300px;display:grid;place-items:center;padding:25px;color:var(--muted);text-align:center}.route-map-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.route-map-actions .button{min-height:38px;padding:8px 12px;font-size:.72rem}
.geofence-coordinate-source{display:grid;gap:12px;padding:13px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.geofence-coordinate-source>[hidden]{display:none!important}
body[data-theme="light"] .route-map-shell{background:radial-gradient(circle at 18% 20%,rgba(8,127,104,.11),transparent 30%),linear-gradient(160deg,#f5f8fb,#e8eef4)}body[data-theme="light"] .route-map-line-shadow{stroke:rgba(33,47,61,.18)}body[data-theme="light"] .route-place-grid>div,body[data-theme="light"] .geofence-coordinate-source{background:#f4f7fa}
@media(prefers-color-scheme:light){body[data-theme="system"] .route-map-shell{background:radial-gradient(circle at 18% 20%,rgba(8,127,104,.11),transparent 30%),linear-gradient(160deg,#f5f8fb,#e8eef4)}body[data-theme="system"] .route-map-line-shadow{stroke:rgba(33,47,61,.18)}body[data-theme="system"] .route-place-grid>div,body[data-theme="system"] .geofence-coordinate-source{background:#f4f7fa}}
@media(max-width:720px){.route-place-grid{grid-template-columns:1fr}.route-map-shell,.route-map-svg,.route-map-empty{min-height:240px}.route-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.route-map-actions .button{width:100%}}
@media(max-width:430px){.route-map-actions{grid-template-columns:1fr}.route-map-card{padding:14px}.route-map-shell,.route-map-svg,.route-map-empty{min-height:210px}}

/* v1.10.7 — ABRP nativo, diagnóstico e fila de reenvio */
.abrp-native-diagnostic{display:grid;gap:13px;margin:14px 0 18px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent),var(--surface-soft)}
.abrp-native-diagnostic h3,.abrp-native-diagnostic p{margin:0}.abrp-native-diagnostic h3{margin-top:4px}.abrp-native-diagnostic p{color:var(--muted)}
.abrp-diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.abrp-diagnostic-grid>span{display:grid;gap:5px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.045em}.abrp-diagnostic-grid strong{color:var(--text);font-size:.78rem;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere}
.abrp-queue-state{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warning) 7%,transparent);font-size:.72rem}.abrp-queue-state>span:not(.status-badge){color:var(--muted)}.abrp-queue-state strong{color:var(--text)}
.abrp-credential-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:9px}.abrp-credential-line small{color:var(--muted)}
.status-text.success{color:var(--success)}.status-text.planned{color:var(--warning)}.status-text.warning{color:var(--warning)}.status-text.rolled_back{color:var(--danger)}
body[data-theme="light"] .abrp-native-diagnostic,body[data-theme="light"] .abrp-diagnostic-grid>span{background:#f3f7fa}
@media(prefers-color-scheme:light){body[data-theme="system"] .abrp-native-diagnostic,body[data-theme="system"] .abrp-diagnostic-grid>span{background:#f3f7fa}}
@media(max-width:980px){.abrp-diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.abrp-diagnostic-grid{grid-template-columns:1fr}.abrp-app-key-panel{padding:12px}.abrp-native-diagnostic{padding:12px}.abrp-queue-state{align-items:flex-start;flex-direction:column}}

/* v1.10.8 — hierarquia de usuários e exclusão segura */
.user-role-groups{display:grid;gap:16px}.user-role-section{overflow:hidden}.user-role-section .card-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.user-role-section .card-heading p{max-width:720px}.count-badge{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-size:.78rem;font-weight:850}.role-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;font-size:.68rem;font-weight:850;white-space:nowrap}.role-badge.owner{border-color:color-mix(in srgb,var(--warning) 42%,var(--line));background:color-mix(in srgb,var(--warning) 9%,transparent);color:color-mix(in srgb,var(--warning) 82%,#fff)}.role-badge.admin{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent)}.role-badge.user{background:var(--surface-soft);color:var(--muted)}.mini-badge.neutral{border-color:var(--line);background:var(--surface-soft);color:var(--muted)}
body[data-theme="light"] .role-badge.owner{color:#8a5c00}
@media(prefers-color-scheme:light){body[data-theme="system"] .role-badge.owner{color:#8a5c00}}
@media(max-width:760px){.user-role-section .card-heading{align-items:flex-start}.user-role-section .count-badge{min-width:30px;height:30px}.user-role-section table{min-width:780px}}

/* v1.11.0 — disponibilidade por ambiente, login inteligente e filas beta */
.rollout-feature-row{grid-template-columns:minmax(0,1fr) minmax(220px,.65fr) 100px}.environment-rollout{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:center;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.environment-rollout>span{color:var(--muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.mini-check{display:flex!important;align-items:center!important;justify-content:center;gap:6px!important;min-height:34px;margin:0!important;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);cursor:pointer}.mini-check input{width:16px!important;height:16px!important}.mini-check b{font-size:.7rem}.feature-plan-toggle{min-width:0}.feature-plan-toggle span{min-width:0}.feature-plan-toggle small{display:block;margin-top:3px;color:var(--muted);line-height:1.35}.beta-queue-card .card-heading small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:1080px){.rollout-feature-row{grid-template-columns:1fr minmax(220px,.8fr)}.rollout-feature-row .feature-limit{grid-column:2}}
@media(max-width:720px){.rollout-feature-row{grid-template-columns:1fr}.rollout-feature-row .feature-limit{grid-column:auto}.environment-rollout{grid-template-columns:1fr 1fr}.environment-rollout>span{grid-column:1/-1}.mini-check{justify-content:flex-start}}

/* v1.11.7 · inteligência de viagens e consumo */
.trip-filter-card{margin-bottom:18px}.trip-filter-grid{display:grid;grid-template-columns:150px 150px minmax(180px,1fr) minmax(150px,.8fr) minmax(150px,.8fr) auto;gap:12px;align-items:end}.trip-filter-grid label{margin:0}.trip-filter-grid .button{margin:0;min-height:46px}.trip-intelligence-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.trip-intelligence-layout{align-items:stretch}.trip-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.trip-profile-card{display:grid;gap:12px;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.trip-profile-card>div{display:grid;gap:4px}.trip-profile-card strong{font-size:1.25rem}.trip-profile-card small{color:var(--muted);line-height:1.4}.trip-profile-card i{display:block;height:7px;border-radius:999px;background:color-mix(in srgb,var(--surface-3) 85%,transparent);overflow:hidden}.trip-profile-card i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#67cbe7)}.trip-profile-card.highway i b{background:linear-gradient(90deg,#6aa7ff,#a27cff)}.trip-profile-card.mixed i b{background:linear-gradient(90deg,#f0b65f,#ef7f69)}.trip-profile-label{display:block;margin-top:7px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.trip-profile-label.urban{color:var(--accent)}.trip-profile-label.mixed{color:var(--warning)}.trip-profile-label.highway{color:#87aefc}.trip-daily-chart{display:grid;gap:8px;margin-top:14px}.trip-day-row{display:grid;grid-template-columns:82px minmax(100px,1fr) 118px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.trip-day-row:last-child{border-bottom:0}.trip-day-row>span{display:grid;gap:2px}.trip-day-row small{color:var(--muted);font-size:.7rem}.trip-day-row i{display:block;height:9px;border-radius:999px;background:color-mix(in srgb,var(--surface-3) 84%,transparent);overflow:hidden}.trip-day-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#64cae5)}.trip-day-values{text-align:right}.trip-category-list{display:grid;gap:4px;margin-top:12px}.trip-category-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.trip-category-row:last-child{border-bottom:0}.trip-category-row>span{display:grid;gap:3px}.trip-category-row>span:last-child{text-align:right}.trip-category-row small{color:var(--muted);font-size:.72rem}.trip-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.trip-highlight-card{display:grid;gap:6px;padding:17px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface),var(--surface-2));color:var(--text);text-decoration:none;box-shadow:var(--shadow)}.trip-highlight-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.trip-highlight-card span{font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.trip-highlight-card strong{font-size:1.35rem}.trip-highlight-card small{color:var(--muted);line-height:1.45}.trip-highlight-card.success{border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.trip-highlight-card.warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--line))}
@media(max-width:1180px){.trip-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trip-filter-grid .button{width:100%}.trip-intelligence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.trip-filter-grid,.trip-profile-grid,.trip-highlights-grid{grid-template-columns:1fr}.trip-intelligence-layout>.span-2{grid-column:auto}.trip-day-row{grid-template-columns:70px minmax(80px,1fr) 100px}}
@media(max-width:560px){.trip-intelligence-metrics{grid-template-columns:1fr}.trip-day-row{grid-template-columns:1fr}.trip-day-values{text-align:left}.trip-category-row{align-items:flex-start}.trip-category-row>span:last-child{text-align:right}}

/* v1.11.8 · Pneus e segurança */
.tire-health-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.tire-health-card {
    min-width: 0;
    overflow: hidden;
}
.tire-health-card h2 {
    margin: 4px 0 0;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}
.tire-sparkline {
    margin: 14px 0 8px;
    min-height: 104px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface-2, #162033) 78%, transparent);
    padding: 8px;
}
.tire-sparkline svg {
    display: block;
    width: 100%;
    height: 82px;
    overflow: visible;
}
.tire-sparkline polyline {
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.tire-sparkline .tire-threshold-line {
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-dasharray: 5 5;
    opacity: .35;
}
.tire-sparkline small {
    display: block;
    margin-top: 2px;
    opacity: .68;
}
.tire-sparkline.empty {
    display: grid;
    place-items: center;
    min-height: 104px;
    opacity: .7;
}
.tire-position-checks {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0;
}
.tire-position-checks .inline-check {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--border, rgba(255,255,255,.12));
    border-radius: 12px;
}
@media (max-width: 1100px) {
    .tire-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tire-position-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .tire-health-grid,
    .tire-position-checks { grid-template-columns: 1fr; }
    .tire-health-card { padding: 16px; }
}

/* v1.11.18 · assistente local, acessibilidade e navegação móvel */
.skip-link{position:fixed;z-index:200;top:10px;left:12px;transform:translateY(-150%);padding:11px 15px;border-radius:11px;background:var(--accent);color:#052119;font-weight:850;text-decoration:none;transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,#fff);outline-offset:3px}
.mobile-bottom-nav{display:none}
.smart-assistant-preview{position:relative;overflow:hidden}.smart-assistant-preview:after{content:"✦";position:absolute;right:-12px;top:-34px;font-size:9rem;color:color-mix(in srgb,var(--accent) 7%,transparent);pointer-events:none}.smart-assistant-preview>.card-heading,.smart-insight-list,.smart-privacy{position:relative;z-index:1}.smart-assistant-preview>.card-heading p{max-width:720px}
.smart-insight-list{display:grid;gap:9px}.smart-insight-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);text-decoration:none;transition:transform .16s ease,border-color .16s ease}.smart-insight-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 38%,var(--line))}.smart-insight-row.warning{border-left:3px solid var(--warning)}.smart-insight-row.critical{border-left:3px solid var(--danger)}.smart-insight-row.info{border-left:3px solid var(--info)}.smart-insight-row strong,.smart-insight-row small{display:block}.smart-insight-row small{margin-top:4px;color:var(--muted);line-height:1.4}.smart-insight-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:1.08rem}.smart-privacy{margin:14px 0 0!important;color:var(--muted-2)!important;font-size:.75rem}.smart-empty{display:flex;align-items:center;gap:12px;padding:15px;color:var(--muted)}
.smart-query{margin-bottom:18px}.smart-query label{font-size:1rem}.smart-query-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px}.smart-query-row input{min-height:52px;font-size:1rem}.smart-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.smart-chip{display:inline-flex;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 74%,transparent);color:var(--muted);font-size:.75rem;font-weight:750;text-decoration:none}.smart-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.smart-answer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 38%),linear-gradient(145deg,var(--surface),var(--surface-2))}.smart-answer h2{margin-top:8px;font-size:clamp(1.4rem,3vw,2.15rem)}.smart-answer p{max-width:860px;margin-bottom:0}.smart-orb{display:grid;place-items:center;flex:0 0 auto;width:78px;height:78px;border-radius:24px;background:linear-gradient(145deg,var(--accent),#67b7ff);color:#052119;font-size:2rem;box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 20%,transparent)}
.smart-insight-grid{display:grid;gap:12px}.smart-insight-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface),var(--surface-2))}.smart-insight-card.warning{border-left:4px solid var(--warning)}.smart-insight-card.critical{border-left:4px solid var(--danger)}.smart-insight-card.info{border-left:4px solid var(--info)}.smart-insight-card h3{margin:0 0 4px}.smart-insight-card p{margin:0}.smart-insight-card small{display:block;margin-top:8px;color:var(--muted-2);line-height:1.4}.smart-safety-note{margin-top:18px}.smart-safety-note p{margin:5px 0 0}
.confirm-backdrop{z-index:130}.confirm-dialog{width:min(460px,calc(100% - 28px));display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start}.confirm-dialog .confirm-symbol{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:color-mix(in srgb,var(--warning) 14%,transparent);border:1px solid color-mix(in srgb,var(--warning) 32%,var(--line));color:var(--warning);font-size:1.5rem;font-weight:900}.confirm-dialog h2{margin:7px 0}.confirm-dialog p{margin:0}.confirm-dialog .form-actions{grid-column:1/-1}
body[data-theme="light"] .mobile-bottom-nav{background:rgba(255,255,255,.94)}
@media(prefers-color-scheme:light){body[data-theme="system"] .mobile-bottom-nav{background:rgba(255,255,255,.94)}}
@media(max-width:860px){.mobile-bottom-nav{position:fixed;z-index:38;left:0;right:0;bottom:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;min-height:66px;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(7,18,31,.94);backdrop-filter:blur(20px)}.mobile-nav-item{display:grid;place-items:center;align-content:center;gap:3px;min-width:0;min-height:52px;border-radius:13px;color:var(--muted);text-decoration:none}.mobile-nav-item>span{font-size:1.05rem}.mobile-nav-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.62rem;font-weight:760}.mobile-nav-item.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.content-shell>main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.content-shell>footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.report-fab{bottom:calc(82px + env(safe-area-inset-bottom))}.toast-region{bottom:calc(82px + env(safe-area-inset-bottom))}.smart-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){input,select,textarea{font-size:16px}.button,.icon-button,.mobile-nav-item{min-height:44px}.smart-assistant-preview>.card-heading,.smart-answer{align-items:stretch;flex-direction:column}.smart-assistant-preview>.card-heading .button{width:100%}.smart-query-row{grid-template-columns:1fr}.smart-query-row .button{width:100%}.smart-orb{width:58px;height:58px;border-radius:18px}.smart-insight-card{grid-template-columns:42px minmax(0,1fr)}.smart-insight-card>.button{grid-column:1/-1;width:100%}.smart-metrics{grid-template-columns:1fr}.confirm-dialog{grid-template-columns:48px minmax(0,1fr);padding:18px}.confirm-dialog .confirm-symbol{width:46px;height:46px}.confirm-dialog .form-actions{display:grid;grid-template-columns:1fr 1fr}.smart-chip{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* v1.11.19 · área segura móvel e refinamentos de toque */
@media(max-width:860px){
  :root{--mobile-safe-top:max(env(safe-area-inset-top,0px),28px)}
  .topbar{height:calc(66px + var(--mobile-safe-top));padding:var(--mobile-safe-top) max(17px,env(safe-area-inset-right)) 0 max(17px,env(safe-area-inset-left));align-items:center}
  .menu-toggle{margin-right:auto;flex:0 0 auto}
  .notification-button{margin-left:auto;flex:0 0 auto}
  .user-menu{flex:0 0 auto}
  .sidebar{padding-top:calc(22px + var(--mobile-safe-top));padding-left:max(16px,env(safe-area-inset-left))}
  .public-header{height:calc(74px + var(--mobile-safe-top));padding-top:var(--mobile-safe-top)}
  .skip-link{top:calc(8px + var(--mobile-safe-top))}
  .report-fab{right:max(14px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));width:50px;min-width:50px;height:50px;padding:0;justify-content:center;overflow:hidden}
  .report-fab strong{display:none}
}
@media(max-width:620px){
  .topbar{gap:10px}
  .topbar .icon-button,.topbar .notification-button,.topbar .avatar{width:44px;height:44px;min-width:44px}
  .public-shell main{padding-top:20px}
  .auth-card{margin-bottom:calc(18px + env(safe-area-inset-bottom))}
}

/* v1.11.20 · voz e IA externa opcional */
.smart-query-row{grid-template-columns:minmax(0,1fr) auto auto}.smart-mic-button.is-listening{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.smart-voice-settings{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}.smart-voice-settings summary{width:max-content;color:var(--accent);font-size:.78rem;font-weight:800;cursor:pointer}.smart-voice-settings>.form-grid{margin-top:14px}.smart-voice-settings>small,.smart-recognition-note{display:block;color:var(--muted);line-height:1.5}.smart-recognition-note{margin-top:10px;font-size:.7rem}.smart-voice-status{min-height:20px;margin:9px 0 0!important;color:var(--muted-2)!important;font-size:.75rem}.smart-answer-controls{display:grid;justify-items:center;gap:10px;flex:0 0 auto}.smart-answer-controls .button{white-space:nowrap}.ai-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-privacy-list{display:grid;gap:10px;margin:15px 0 0;padding-left:20px;color:var(--muted);line-height:1.5}.ai-privacy-list li::marker{color:var(--accent)}
body[data-theme="light"] .smart-voice-settings{border-color:var(--line)}
@media(prefers-color-scheme:light){body[data-theme="system"] .smart-voice-settings{border-color:var(--line)}}
@media(max-width:760px){.ai-admin-grid{grid-template-columns:1fr}.ai-admin-grid>.span-2{grid-column:auto}.smart-answer-controls{width:100%;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:stretch}.smart-answer-controls .smart-orb{justify-self:start}.smart-answer-controls .button{width:100%}}
@media(max-width:620px){.smart-query-row{grid-template-columns:1fr 1fr}.smart-query-row input{grid-column:1/-1}.smart-query-row .smart-mic-button,.smart-query-row .button.primary{width:100%}.smart-mic-button span{display:inline}.smart-voice-settings summary{min-height:44px;display:flex;align-items:center}}

/* v1.11.21 · assistente global e correção do topo móvel */
.global-assistant-topbar{margin-left:auto;color:var(--accent)}.global-assistant-backdrop{z-index:125;align-items:end;padding:22px}.global-assistant-sheet{width:min(720px,100%);max-height:min(82dvh,760px);border-radius:26px 26px 20px 20px}.global-assistant-query{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.global-assistant-query input{min-height:52px}.global-assistant-suggestions{margin:13px 0}.global-assistant-suggestions .smart-chip{cursor:pointer}.global-assistant-result{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:15px;min-height:118px;margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:19px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}.global-assistant-result .smart-orb{width:54px;height:54px;border-radius:17px;font-size:1.35rem}.global-assistant-result strong,.global-assistant-result p,.global-assistant-result small{display:block}.global-assistant-result p{margin:5px 0;color:var(--muted)}.global-assistant-result small{color:var(--muted-2);font-size:.72rem}.global-assistant-result.loading .smart-orb{animation:pulse 1s infinite}.global-assistant-result.error{border-color:color-mix(in srgb,var(--danger) 38%,var(--line))}.global-assistant-result.error .smart-orb{background:color-mix(in srgb,var(--danger) 16%,var(--surface));color:var(--danger);box-shadow:none}.global-assistant-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin-top:12px}.global-assistant-actions>span{flex:1;color:var(--muted-2);font-size:.72rem;line-height:1.4}.global-assistant-actions .text-link{white-space:nowrap}.global-assistant-query [data-global-assistant-mic].is-listening{color:var(--accent);border-color:var(--accent);animation:pulse 1s infinite}.mobile-nav-item.assistant-open,.nav-item.assistant-open{color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,transparent)}
body[data-theme="light"] .global-assistant-sheet{background:linear-gradient(145deg,#fff,#f5f8fb)}body[data-theme="light"] .global-assistant-result{background:#f4f7fa}
@media(prefers-color-scheme:light){body[data-theme="system"] .global-assistant-sheet{background:linear-gradient(145deg,#fff,#f5f8fb)}body[data-theme="system"] .global-assistant-result{background:#f4f7fa}}
@media(max-width:860px){.skip-link{display:none!important}.global-assistant-topbar{display:none}.global-assistant-backdrop{padding:0;align-items:end}.global-assistant-sheet{width:100%;max-height:calc(88dvh - env(safe-area-inset-top,0px));border-radius:25px 25px 0 0;padding:20px max(16px,env(safe-area-inset-right,0px)) calc(20px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.global-assistant-actions{padding-bottom:4px}}
@media(max-width:620px){.global-assistant-query{grid-template-columns:52px minmax(0,1fr)}.global-assistant-query input{grid-column:1/-1}.global-assistant-query [data-global-assistant-mic]{grid-column:1}.global-assistant-query button[type="submit"]{grid-column:2}.global-assistant-result{grid-template-columns:44px minmax(0,1fr);padding:15px}.global-assistant-result .smart-orb{width:42px;height:42px;border-radius:14px}.global-assistant-actions{align-items:stretch;flex-direction:column}.global-assistant-actions .button,.global-assistant-actions .text-link{width:100%;text-align:center}.global-assistant-suggestions{display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none}.global-assistant-suggestions::-webkit-scrollbar{display:none}.global-assistant-suggestions .smart-chip{flex:0 0 auto}}

/* v1.11.23 · dados transformados em informações e controle de participação */
.community-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.community-model-card{min-width:0}.community-model-card>small{display:block;margin-top:15px;color:var(--muted-2)}.community-model-metrics{display:grid;gap:9px}.community-model-metrics span{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(5,15,27,.32);color:var(--muted);font-size:.76rem}.community-model-metrics strong{color:var(--text);text-align:right}.confidence-chip{display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.confidence-chip.alta,.confidence-chip.boa{color:var(--accent);border-color:rgba(104,224,189,.3);background:rgba(104,224,189,.08)}.confidence-chip.inicial{color:var(--warning);border-color:rgba(255,196,100,.3);background:rgba(255,196,100,.08)}.settings-privacy-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:14px;border:1px solid rgba(104,224,189,.24);border-radius:14px;background:rgba(104,224,189,.06)}.settings-privacy-action.locked{border-color:rgba(102,169,255,.24);background:rgba(102,169,255,.06)}.settings-privacy-action strong,.settings-privacy-action small{display:block}.settings-privacy-action small{margin-top:4px;color:var(--muted);font-weight:450;line-height:1.45}.settings-privacy-action .button{flex:0 0 auto}.table-card>.card-heading{padding:22px 22px 0}.community-trend-card{margin-top:18px;margin-bottom:18px}
@media(max-width:1040px){.community-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.community-model-grid{grid-template-columns:1fr}.community-model-card{padding:18px}.settings-privacy-action{align-items:stretch;flex-direction:column}.settings-privacy-action .button{width:100%}.community-model-metrics span{align-items:flex-start;flex-direction:column}.community-model-metrics strong{text-align:left}}

/* v1.11.24 · voz natural opcional com fallback local */
.natural-voice-admin{margin:18px 0;padding:18px;border:1px solid rgba(104,224,189,.25);border-radius:18px;background:linear-gradient(145deg,rgba(104,224,189,.07),rgba(102,169,255,.04))}.natural-voice-admin .card-heading{margin-bottom:15px}.natural-voice-admin h3{font-size:1.25rem}.natural-voice-admin p{margin:4px 0 0}.natural-voice-active{display:flex;align-items:center;gap:12px;margin:14px 0;padding:12px;border:1px solid rgba(104,224,189,.24);border-radius:13px;background:rgba(104,224,189,.07)}.natural-voice-active strong,.natural-voice-active small{display:block}.natural-voice-active small{margin-top:3px;color:var(--muted)}.ai-voice-disclosure{display:inline-flex;margin-top:9px;padding:5px 8px;border:1px solid rgba(104,224,189,.24);border-radius:999px;color:var(--accent);font-size:.68rem;font-weight:800}.ai-admin-grid .card form+form{margin-top:10px}
@media(max-width:680px){.natural-voice-admin{padding:15px}.natural-voice-admin .card-heading,.natural-voice-active{align-items:flex-start;flex-direction:column}.natural-voice-admin .form-grid{grid-template-columns:1fr}}

/* v1.11.25 · planejador de rotas por telemetria */

/* v1.11.26 · cotas Beta por modelo e propulsão */
.beta-vehicle-quota {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 18px;
    min-inline-size: 0;
}
.beta-vehicle-quota legend { padding: 0 .45rem; font-weight: 800; }
.vehicle-invite-choice { margin-block: .65rem; }
.vehicle-invite-choice:has(input:checked) {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
}
.beta-quota-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: .7rem;
    margin: 1rem 0;
}
.beta-quota-summary > span {
    display: grid;
    gap: .2rem;
    padding: .8rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface) 86%, transparent);
}
@media (max-width: 640px) {
    .beta-vehicle-quota { padding: .8rem; }
    .beta-quota-summary { grid-template-columns: 1fr 1fr; }
    .beta-queue-card .actions-cell { min-width: 180px; }
}

/* v1.12.90 — Central Operacional administrativa, responsiva e agregada */
.admin-live-center {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: 18px;
    padding: clamp(18px, 2.4vw, 28px);
    overflow: clip;
    border-color: color-mix(in srgb, var(--accent) 18%, var(--line));
    background:
        radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 30%),
        var(--surface);
}

.admin-live-head,
.admin-live-head-actions,
.admin-live-score-row,
.admin-live-panel > header,
.admin-live-panel > footer,
.admin-live-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
}

.admin-live-head {
    align-items: flex-start;
    margin-bottom: 20px;
}

.admin-live-head h2,
.admin-live-panel h3 {
    margin: 4px 0 0;
}

.admin-live-head p {
    max-width: 720px;
    margin: 6px 0 0;
    color: var(--muted);
}

.admin-live-head-actions {
    flex: 0 0 auto;
}

.admin-live-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 11px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    background: color-mix(in srgb, var(--surface-2) 86%, transparent);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.admin-live-status > i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--success, #52d8b5);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--success, #52d8b5) 13%, transparent);
}

.admin-live-status[data-state="loading"] > i {
    background: var(--accent);
    animation: admin-live-pulse 1s ease-in-out infinite;
}

.admin-live-status[data-state="error"] > i {
    background: var(--warning, #f4b95f);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--warning, #f4b95f) 14%, transparent);
}

@keyframes admin-live-pulse {
    50% { opacity: .35; transform: scale(.75); }
}

.admin-live-score-row {
    align-items: stretch;
}

.admin-reliability-card {
    --score: 0;
    display: flex;
    flex: 0 0 min(300px, 28%);
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 240px;
    padding: 20px;
    border: 1px solid color-mix(in srgb, var(--accent) 26%, var(--line));
    border-radius: 18px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 9%, var(--surface-2)), var(--surface-2));
}

.admin-reliability-card small,
.admin-live-panel header small {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.admin-reliability-card strong {
    display: block;
    margin-top: 8px;
    color: var(--text);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: .9;
}

.admin-reliability-card sup {
    margin-left: 4px;
    color: var(--muted);
    font-size: .85rem;
}

.admin-reliability-card p {
    margin: 9px 0 0;
    color: var(--muted);
    font-size: .82rem;
    font-weight: 750;
}

.admin-reliability-ring {
    display: grid;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(var(--success, #52d8b5) calc(var(--score) * 1%), color-mix(in srgb, var(--line) 70%, transparent) 0);
    position: relative;
}

.admin-reliability-ring::before {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: inherit;
    background: var(--surface-2);
}

.admin-reliability-ring span {
    position: relative;
    color: var(--success, #52d8b5);
    font-weight: 950;
}

.admin-reliability-card.is-attention .admin-reliability-ring {
    background: conic-gradient(var(--warning, #f4b95f) calc(var(--score) * 1%), color-mix(in srgb, var(--line) 70%, transparent) 0);
}

.admin-reliability-card.is-attention .admin-reliability-ring span { color: var(--warning, #f4b95f); }
.admin-reliability-card.is-critical .admin-reliability-ring {
    background: conic-gradient(var(--danger, #ff7f8f) calc(var(--score) * 1%), color-mix(in srgb, var(--line) 70%, transparent) 0);
}
.admin-reliability-card.is-critical .admin-reliability-ring span { color: var(--danger, #ff7f8f); }

.admin-live-metrics {
    display: grid;
    flex: 1 1 auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
}

.admin-live-metrics article {
    display: flex;
    min-width: 0;
    min-height: 116px;
    flex-direction: column;
    justify-content: center;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: color-mix(in srgb, var(--surface-2) 92%, transparent);
}

.admin-live-metrics small,
.admin-live-metrics span {
    color: var(--muted);
    font-size: .75rem;
}

.admin-live-metrics strong {
    display: block;
    margin: 5px 0;
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: clamp(1.45rem, 2.4vw, 2.15rem);
    line-height: 1;
}

.admin-live-metrics span b { color: var(--text); }

.admin-live-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
    margin-top: 14px;
}

.admin-live-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: color-mix(in srgb, var(--surface-2) 90%, transparent);
}

.admin-live-panel > header {
    align-items: flex-start;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.admin-live-panel > header > strong {
    color: var(--text);
    font-size: 1.5rem;
}

.admin-live-panel > header > strong small,
.admin-live-panel > header > span,
.admin-live-panel > footer {
    color: var(--muted);
    font-size: .74rem;
}

.admin-live-panel a {
    color: var(--accent);
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
}

.admin-live-timeline {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    min-width: 0;
    height: 160px;
    padding: 20px 0 8px;
    overflow: hidden;
}

.admin-live-timeline > span {
    display: flex;
    min-width: 0;
    height: 100%;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: flex-end;
    gap: 6px;
}

.admin-live-timeline i {
    display: block;
    min-height: 6px;
    border-radius: 6px 6px 2px 2px;
    background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 38%, transparent));
    transition: height .28s ease;
}

.admin-live-timeline small {
    overflow: hidden;
    color: var(--muted);
    font-size: .58rem;
    text-align: center;
    text-overflow: clip;
}

.admin-live-timeline em {
    align-self: center;
    width: 100%;
    color: var(--muted);
    text-align: center;
}

.admin-live-panel > footer {
    align-items: flex-start;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.admin-user-signal-grid,
.admin-test-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0;
}

.admin-user-signal-grid > div,
.admin-test-metrics > div {
    min-width: 0;
    padding: 11px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface) 65%, transparent);
}

.admin-user-signal-grid strong,
.admin-test-metrics strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: 1.1rem;
}

.admin-user-signal-grid span,
.admin-test-metrics span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: .66rem;
    line-height: 1.3;
}

.admin-live-ranked,
.admin-live-feed {
    display: grid;
    gap: 0;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admin-live-ranked li,
.admin-live-event {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 10px 0;
    border-top: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
}

.admin-live-ranked li > span,
.admin-live-event > div {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
}

.admin-live-ranked strong,
.admin-live-event strong {
    overflow: hidden;
    color: var(--text);
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-live-ranked small,
.admin-live-event small,
.admin-live-event time {
    overflow: hidden;
    color: var(--muted);
    font-size: .66rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-live-ranked b {
    display: grid;
    min-width: 34px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, transparent);
    font-size: .75rem;
}

.admin-live-event {
    justify-content: flex-start;
}

.admin-live-event > i {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--muted);
}

.admin-live-event.success > i { background: var(--success, #52d8b5); }
.admin-live-event.warning > i { background: var(--warning, #f4b95f); }
.admin-live-event.info > i { background: var(--accent); }
.admin-live-event time { flex: 0 0 auto; }

.admin-live-empty {
    padding: 16px 0 !important;
    color: var(--muted);
    font-size: .76rem;
}

.admin-privacy-note {
    margin: 12px 0 0;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
    border-radius: 11px;
    color: var(--muted);
    background: color-mix(in srgb, var(--accent) 5%, transparent);
    font-size: .68rem;
}

.admin-live-footer {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
    color: var(--muted);
    font-size: .7rem;
}

.admin-live-center.is-degraded {
    border-color: color-mix(in srgb, var(--warning, #f4b95f) 34%, var(--line));
}

[data-theme="light"] .admin-live-center,
body.theme-light .admin-live-center {
    box-shadow: 0 18px 48px rgba(30, 70, 90, .08);
}

[data-theme="light"] .admin-live-metrics article,
[data-theme="light"] .admin-live-panel,
[data-theme="light"] .admin-reliability-card,
body.theme-light .admin-live-metrics article,
body.theme-light .admin-live-panel,
body.theme-light .admin-reliability-card {
    background-color: color-mix(in srgb, var(--surface) 94%, #edf7f8);
}

@media (max-width: 1180px) {
    .admin-live-score-row { flex-direction: column; }
    .admin-reliability-card { width: 100%; flex-basis: auto; }
}

@media (max-width: 900px) {
    .admin-live-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-live-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .admin-live-center { padding: 16px; overflow: hidden; }
    .admin-live-head,
    .admin-live-head-actions,
    .admin-live-footer { align-items: stretch; flex-direction: column; }
    .admin-live-head-actions { width: 100%; }
    .admin-live-head-actions .button { width: 100%; }
    .admin-live-status { justify-content: center; }
    .admin-reliability-card { min-width: 0; }
    .admin-live-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-user-signal-grid,
    .admin-test-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-live-panel > header,
    .admin-live-panel > footer { align-items: flex-start; flex-direction: column; }
    .admin-live-event time { max-width: 72px; }
}

@media (max-width: 420px) {
    .admin-live-metrics { grid-template-columns: 1fr; }
    .admin-live-metrics article { min-height: 94px; }
    .admin-reliability-ring { width: 62px; height: 62px; flex-basis: 62px; }
    .admin-live-timeline { gap: 3px; }
    .admin-live-timeline small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .admin-live-status[data-state="loading"] > i { animation: none; }
    .admin-live-timeline i { transition: none; }
}

.user-online-now {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    margin-top: 5px;
    color: var(--success, #36b996);
    font-size: .65rem;
    font-weight: 850;
}

.user-online-now i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 12%, transparent);
}

.user-usage-cell {
    display: grid;
    gap: 3px;
    min-width: 118px;
}

.user-usage-cell strong { color: var(--text); font-size: .78rem; }
.user-usage-cell small { color: var(--muted); font-size: .66rem; }

.user-directory-metrics {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
@media (max-width: 420px) {
    .beta-quota-summary { grid-template-columns: 1fr; }
}
.route-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-provider-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.route-provider-cards>section{min-width:0;padding:17px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.route-provider-cards>section>div{margin-bottom:15px}.route-provider-cards strong,.route-provider-cards small{display:block}.route-provider-cards small{margin-top:5px;color:var(--muted);line-height:1.45}.route-planner-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start;margin-bottom:18px}.route-planner-form{min-width:0}.route-profile-card{position:sticky;top:calc(var(--topbar) + 18px)}.route-profile-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.route-profile-values>div{padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.route-profile-values dt{color:var(--muted);font-size:.7rem;font-weight:760}.route-profile-values dd{margin:4px 0 0;font-weight:850}.route-place-grid,.route-energy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.optional-label{color:var(--muted-2);font-size:.68rem;font-weight:500}.route-strategy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:3px 0 16px;padding:0;border:0}.route-strategy legend{grid-column:1/-1;margin-bottom:8px;font-size:.86rem;font-weight:750}.route-strategy label{position:relative;display:block;margin:0}.route-strategy input{position:absolute;opacity:0;pointer-events:none}.route-strategy span{display:block;height:100%;min-height:78px;padding:13px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);cursor:pointer}.route-strategy strong,.route-strategy small{display:block}.route-strategy small{margin-top:5px;color:var(--muted);line-height:1.35}.route-strategy input:checked+span{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.route-strategy input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 70%,#fff);outline-offset:3px}.route-calculate{width:100%;min-height:52px;margin-top:4px}.route-result{margin-top:28px}.route-result-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.route-plan-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}.route-stop-list{display:grid;gap:11px}.route-stop{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 74%,transparent)}.route-stop>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:900}.route-stop strong,.route-stop p,.route-stop small{display:block}.route-stop p{margin:4px 0!important}.route-stop small{margin-top:4px;color:var(--muted-2);line-height:1.4}.route-no-stop{display:flex;align-items:center;gap:13px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,transparent)}.route-no-stop>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:1.2rem;font-weight:900}.route-no-stop p{margin:4px 0 0}.route-method-list{display:grid;gap:9px;padding-left:20px;color:var(--muted);line-height:1.5}.route-method-list li::marker{color:var(--accent)}
@media(max-width:1150px){.route-result-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){.route-planner-layout,.route-plan-layout{grid-template-columns:1fr}.route-profile-card{position:static}.route-provider-grid{grid-template-columns:1fr}.route-provider-grid>.span-2{grid-column:auto}}
@media(max-width:680px){.route-provider-cards,.route-place-grid,.route-energy-grid,.route-strategy,.route-result-metrics{grid-template-columns:1fr}.route-provider-cards>section{padding:14px}.route-strategy legend{grid-column:auto}.route-strategy span{min-height:68px}.route-profile-values{grid-template-columns:1fr}.route-result .section-heading{align-items:stretch;flex-direction:column}.route-result .section-heading .button{width:100%}.route-stop{grid-template-columns:36px minmax(0,1fr);padding:12px}.route-stop>span{width:34px;height:34px}.route-no-stop{align-items:flex-start}}

/* v1.11.27 · busca dinâmica e acessível de endereços */
.route-place-grid>.address-autocomplete{position:relative;display:grid;gap:7px;min-width:0;padding:0;border:0;background:transparent;overflow:visible;z-index:3}.route-place-grid>.address-autocomplete:focus-within{z-index:20}.address-autocomplete>label{margin:0;font-weight:750}.address-autocomplete-control{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:48px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 82%,transparent);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.address-autocomplete-control>span{display:grid;place-items:center;color:var(--accent);font-size:1.05rem}.address-autocomplete-control input{min-width:0;height:46px;margin:0;padding:0 12px 0 0;border:0!important;background:transparent!important;box-shadow:none!important}.address-autocomplete-control:focus-within{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent)}.address-autocomplete.is-loading .address-autocomplete-control>span{animation:address-search-pulse .8s ease-in-out infinite alternate}.address-autocomplete-hint{min-height:1.15em;color:var(--muted);font-size:.72rem;line-height:1.4}.address-suggestion-list{position:absolute;inset-inline:0;top:76px;z-index:40;max-height:min(340px,48vh);padding:7px;overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.28);backdrop-filter:blur(18px)}.address-suggestion-option{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center;width:100%;padding:10px;border:0;border-radius:11px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.route-place-grid .address-suggestion-option span{color:inherit;font-size:inherit;text-transform:none;letter-spacing:normal}.address-suggestion-option:hover,.address-suggestion-option[aria-selected="true"]{background:color-mix(in srgb,var(--accent) 12%,var(--surface-2))}.address-suggestion-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)!important;font-weight:900}.address-suggestion-option>span:last-child{display:grid;gap:3px;min-width:0}.address-suggestion-option strong,.address-suggestion-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-suggestion-option strong{font-size:.84rem}.address-suggestion-option small{color:var(--muted);font-size:.7rem}@keyframes address-search-pulse{from{opacity:.45;transform:scale(.88)}to{opacity:1;transform:scale(1.08)}}
body[data-theme="light"] .address-suggestion-list{background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(28,47,61,.18)}
@media(prefers-color-scheme:light){body[data-theme="system"] .address-suggestion-list{background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(28,47,61,.18)}}
@media(max-width:680px){.address-suggestion-list{position:relative;top:auto;max-height:300px;margin-top:-2px}.address-autocomplete-hint{font-size:.7rem}.address-suggestion-option{min-height:52px}}

/* v1.11.28 · rota visual, carregadores e memória local opcional */
.planned-route-map{margin:18px 0}.route-marker.charger .route-marker-halo{fill:color-mix(in srgb,var(--warning) 23%,transparent);stroke:color-mix(in srgb,var(--warning) 62%,transparent)}.route-marker.charger .route-marker-core{fill:var(--warning);stroke:var(--surface);stroke-width:4}.route-map-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.72rem;font-weight:750}.route-map-legend span{display:inline-flex;gap:6px;align-items:center}.route-map-legend i{display:block;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.route-map-legend i.end{background:var(--info);box-shadow:0 0 0 4px color-mix(in srgb,var(--info) 16%,transparent)}.route-map-legend i.charger{background:var(--warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--warning) 18%,transparent)}.route-address-memory{display:grid;gap:10px;margin:-2px 0 14px;padding:12px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.route-address-memory>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.route-address-memory .inline-check{margin:0}.route-address-memory-list{display:grid;gap:8px}.route-address-memory-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.route-address-memory-item>div:nth-child(2){display:grid;gap:2px;min-width:0}.route-address-memory-item strong,.route-address-memory-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-address-memory-item small{color:var(--muted);font-size:.68rem}.route-address-memory-item>div:last-child{display:flex;gap:6px;align-items:center}.address-favorite-toggle,.address-memory-remove{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--warning);cursor:pointer}.address-memory-remove{color:var(--muted);font-size:1.15rem}.address-favorite-toggle:hover,.address-favorite-toggle:focus-visible,.address-memory-remove:hover,.address-memory-remove:focus-visible{border-color:var(--accent);outline:none;background:color-mix(in srgb,var(--accent) 9%,transparent)}
@media(max-width:680px){.route-address-memory>div:first-child{align-items:stretch;flex-direction:column}.route-address-memory>div:first-child .button{width:100%}.route-address-memory-item{grid-template-columns:34px minmax(0,1fr)}.route-address-memory-item>div:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto}.route-address-memory-item>div:last-child .button{width:100%}.route-map-legend{justify-content:center}}

/* v1.11.29 · login único e contraste consistente nos temas claro/automático */
label,legend{color:var(--text)}
input::placeholder,textarea::placeholder{color:var(--muted-2);opacity:1}
input:disabled,select:disabled,textarea:disabled{opacity:1;color:var(--muted);-webkit-text-fill-color:var(--muted);background:var(--surface-3)}
.preference-check strong,.consent-row strong,.route-strategy strong,.filter-card label,.trip-filter-card label,.analytics-filter-card label{color:var(--text)}
.check-list li{color:var(--muted)}
.login-choice-layout{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:20px 0}.login-choice-card{width:min(680px,100%);max-width:none}.login-choice-card .auth-heading h2{margin:8px 0}.login-environment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0}.login-environment-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;margin:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 76%,transparent)}.login-environment-card>span:nth-child(3){min-width:0}.login-environment-card strong,.login-environment-card small{display:block}.login-environment-card small{margin-top:4px;color:var(--muted);line-height:1.4}.login-environment-card .button{grid-column:1/-1;width:100%}.login-environment-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:1.2rem}
body[data-theme="light"] .status-badge:not(.success):not(.completed):not(.planned):not(.warning):not(.error),body[data-theme="light"] .mini-badge.plan{color:#245a91}body[data-theme="light"] .danger-text,body[data-theme="light"] .capability-chip.unavailable,body[data-theme="light"] .risk-high{color:#9a3040}body[data-theme="light"] .capability-chip.available,body[data-theme="light"] .risk-low{color:#08705c}body[data-theme="light"] .risk-medium{color:#77500a}body[data-theme="light"] .feature-list span,body[data-theme="light"] .login-environment-card{background:#f2f6fa}
@media(prefers-color-scheme:light){body[data-theme="system"] .status-badge:not(.success):not(.completed):not(.planned):not(.warning):not(.error),body[data-theme="system"] .mini-badge.plan{color:#245a91}body[data-theme="system"] .danger-text,body[data-theme="system"] .capability-chip.unavailable,body[data-theme="system"] .risk-high{color:#9a3040}body[data-theme="system"] .capability-chip.available,body[data-theme="system"] .risk-low{color:#08705c}body[data-theme="system"] .risk-medium{color:#77500a}body[data-theme="system"] .feature-list span,body[data-theme="system"] .login-environment-card{background:#f2f6fa}}
@media(max-width:620px){.login-choice-layout{min-height:auto;place-items:stretch;padding:0}.login-environment-grid{grid-template-columns:1fr}.login-choice-card{padding:21px}}


/* v1.11.35 · localização atual e paradas intermediárias */
.route-location-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:-2px 0 12px}.route-location-actions small{color:var(--muted);font-size:.72rem;text-align:right}.route-waypoints{display:grid;gap:10px;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 68%,transparent)}.route-waypoints-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.route-waypoints-heading>div{display:grid;gap:2px}.route-waypoints-heading small{color:var(--muted);font-size:.7rem}.route-waypoint-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:8px;align-items:start}.route-waypoint-row>.address-autocomplete{min-width:0}.route-waypoint-remove{display:grid;place-items:center;width:38px;height:38px;margin-top:27px;border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--muted);font-size:1.25rem;cursor:pointer}.route-waypoint-remove:hover,.route-waypoint-remove:focus-visible{border-color:var(--danger);color:var(--danger);outline:none;background:color-mix(in srgb,var(--danger) 8%,transparent)}.route-marker.waypoint .route-marker-halo{fill:color-mix(in srgb,var(--info) 22%,transparent);stroke:color-mix(in srgb,var(--info) 65%,transparent)}.route-marker.waypoint .route-marker-core{fill:var(--info);stroke:var(--surface);stroke-width:4}.route-map-legend i.waypoint{background:var(--info);box-shadow:0 0 0 4px color-mix(in srgb,var(--info) 16%,transparent)}
@media(max-width:680px){.route-location-actions,.route-waypoints-heading{align-items:stretch;flex-direction:column}.route-location-actions small{text-align:left}.route-location-actions .button,.route-waypoints-heading .button{width:100%}.route-waypoint-row{grid-template-columns:minmax(0,1fr) 40px}.route-waypoint-remove{margin-top:27px}}


/* v1.11.36 · preferências e alternativas de recarga */
.route-charging-preferences{display:grid;gap:12px;margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.route-charging-preferences legend{padding:0 6px;font-weight:800}.route-charging-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-charging-mode>label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.route-charging-mode>label:has(input:checked){border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.route-charging-mode span{display:grid;gap:3px}.route-charging-mode small,.route-charging-preferences>label>small{color:var(--muted);font-size:.7rem}.route-stop-expanded{align-items:flex-start}.route-stop-content{min-width:0;display:grid;gap:10px}.route-stop-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.route-stop-header>div{min-width:0}.route-stop-community{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 76%,transparent)}.route-stop-community>small{grid-column:1/-1;color:var(--muted)}.route-stop-warning{padding:9px 11px;border:1px solid color-mix(in srgb,var(--warning) 40%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--text);font-size:.76rem;line-height:1.45}.route-alternatives{border-top:1px dashed var(--line);padding-top:8px}.route-alternatives summary{cursor:pointer;color:var(--accent);font-weight:800;font-size:.78rem}.route-alternatives>div{display:grid;gap:8px;margin-top:10px}.route-alternative-card{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.route-alternative-card>div:first-child{min-width:0}.route-alternative-card>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.route-alternative-card p{margin:2px 0;color:var(--muted);font-size:.75rem}.route-alternative-card small{color:var(--muted)}
@media(max-width:680px){.route-charging-mode{grid-template-columns:1fr}.route-stop-header,.route-alternative-card{align-items:stretch;flex-direction:column}.route-stop-header .button,.route-alternative-card .button{width:100%}.route-stop-community{grid-template-columns:1fr}.route-stop-community .status-badge{justify-self:start}.route-alternative-card>div:last-child{justify-content:flex-start}}
/* Leap Hub 1.11.37 - mapa geográfico interativo */
.route-geo-map-card{overflow:visible}.route-map-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.route-map-toolbar>label{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 86%,transparent);font-size:.72rem;font-weight:800;cursor:pointer}.route-map-toolbar>label input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.route-map-toolbar>label span{white-space:nowrap}.route-map-toolbar .route-map-power-filter{cursor:default}.route-map-power-filter select{min-height:30px;width:auto;min-width:92px;padding:4px 28px 4px 8px;font-size:.72rem}.route-map-visible-count{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:800}.route-geo-map-stage{position:relative;min-height:520px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:20px;background:radial-gradient(circle at 15% 18%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 28%),linear-gradient(155deg,color-mix(in srgb,var(--surface-2) 94%,transparent),color-mix(in srgb,var(--bg) 74%,var(--surface)));isolation:isolate;touch-action:none;user-select:none;cursor:grab}.route-geo-map-stage.is-dragging{cursor:grabbing}.route-geo-map-stage:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 44%,transparent);outline-offset:3px}.route-geo-map-tiles,.route-geo-map-overlay,.route-geo-map-markers{position:absolute;inset:0}.route-geo-map-tiles{z-index:0;overflow:hidden}.route-geo-map-tile{position:absolute;width:256px;height:256px;max-width:none;border:0;pointer-events:none;filter:brightness(.76) saturate(.82) contrast(1.05)}.route-geo-map-tile.is-error{display:none}.route-geo-map-overlay{z-index:1;width:100%;height:100%;pointer-events:none}.route-geo-map-route-shadow{fill:none;stroke:rgba(3,12,20,.48);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.route-geo-map-route{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 3px rgba(0,0,0,.24))}.route-geo-map-markers{z-index:2;pointer-events:none}.route-geo-marker{position:absolute;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:3px solid #fff;border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.32);font:900 .72rem/1 system-ui,sans-serif;color:#fff;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.route-geo-marker:hover,.route-geo-marker:focus-visible{transform:translate(-50%,-50%) scale(1.14);box-shadow:0 10px 28px rgba(0,0,0,.42);z-index:5;outline:none}.route-geo-marker.start{background:var(--success)}.route-geo-marker.end{background:var(--info)}.route-geo-marker.waypoint{background:#7559d9}.route-geo-marker.charger.recommended{background:#0a8f70}.route-geo-marker.charger.community{background:#d27c16}.route-geo-marker.charger.alternative{background:#4c6fdc}.route-geo-marker.charger.is-offline{background:#a44343}.route-geo-marker.charger.is-unknown{border-style:dashed}.route-geo-marker small{position:absolute;top:100%;left:50%;max-width:92px;margin-top:4px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);font-size:.59rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateX(-50%);box-shadow:0 5px 14px rgba(0,0,0,.18)}.route-geo-map-popup{position:absolute;left:14px;bottom:42px;z-index:6;width:min(390px,calc(100% - 28px));padding:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.34);user-select:text;cursor:auto}.route-geo-map-popup[hidden]{display:none}.route-geo-popup-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.route-geo-popup-head>div{min-width:0}.route-geo-popup-head strong{display:block;font-size:.94rem;line-height:1.25}.route-geo-popup-head small{display:block;margin-top:3px;color:var(--muted);line-height:1.3}.route-geo-popup-close{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:1rem;cursor:pointer}.route-geo-popup-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.route-geo-popup-meta span{padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));font-size:.65rem;font-weight:850}.route-geo-popup-details{margin:0;color:var(--muted);font-size:.74rem;line-height:1.45}.route-geo-popup-connections{display:block;margin-top:6px;color:var(--muted);font-size:.66rem;line-height:1.35}.route-geo-popup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.route-geo-map-controls{position:absolute;top:12px;right:12px;z-index:5;display:grid;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 10px 26px rgba(0,0,0,.2)}.route-geo-map-controls button{display:grid;place-items:center;width:38px;height:38px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);font-size:1.25rem;font-weight:900;cursor:pointer}.route-geo-map-controls button:last-child{border-bottom:0}.route-geo-map-controls button:hover{background:var(--surface-2)}.route-geo-map-attribution{position:absolute;right:8px;bottom:7px;z-index:5;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.9);font-size:.58rem;line-height:1.15}.route-geo-map-attribution a{color:#18334a;text-decoration:none}.route-geo-map-status{position:absolute;top:12px;left:12px;z-index:4;max-width:calc(100% - 90px);padding:6px 9px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--muted);font-size:.66rem;font-weight:750;pointer-events:none}.route-map-legend i.recommended{background:#0a8f70}.route-map-legend i.community{background:#d27c16}.route-map-legend i.alternative{background:#4c6fdc}.route-stop-community-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.route-stop-header>div:last-child,.route-alternative-card>div:last-child{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.route-alternative-card .button,.route-stop-header .button,.route-stop-community-actions .button{white-space:nowrap}
body[data-theme="light"] .route-geo-map-tile{filter:none}body[data-theme="light"] .route-geo-map-stage{background:linear-gradient(155deg,#eef3f6,#dfe8ed)}
@media(prefers-color-scheme:light){body[data-theme="system"] .route-geo-map-tile{filter:none}body[data-theme="system"] .route-geo-map-stage{background:linear-gradient(155deg,#eef3f6,#dfe8ed)}}
@media(max-width:900px){.route-map-visible-count{width:100%;margin-left:0}.route-geo-map-stage{min-height:460px}.route-map-toolbar{align-items:stretch}.route-map-toolbar>label{flex:1 1 auto;justify-content:center}.route-map-power-filter{justify-content:space-between!important}}
@media(max-width:620px){.route-geo-map-card{padding:14px}.route-geo-map-stage{min-height:430px;border-radius:16px}.route-map-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.route-map-toolbar>.button,.route-map-toolbar>label{width:100%;justify-content:center}.route-map-toolbar .route-map-power-filter{grid-column:1/-1}.route-map-visible-count{grid-column:1/-1}.route-geo-map-popup{left:8px;bottom:34px;width:calc(100% - 16px);padding:12px}.route-geo-marker small{display:none}.route-geo-map-controls{top:8px;right:8px}.route-geo-map-status{top:8px;left:8px}.route-stop-community-actions{justify-content:flex-start}}
@media(max-width:390px){.route-map-toolbar{grid-template-columns:1fr}.route-map-toolbar .route-map-power-filter,.route-map-visible-count{grid-column:auto}.route-geo-map-stage{min-height:390px}.route-geo-popup-actions{display:grid;grid-template-columns:1fr}.route-geo-popup-actions .button{width:100%}}


/* Leap Hub 1.11.38 - plano inteligente de energia e recarga */
.route-stop-energy-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 8px;
}
.route-stop-energy-grid > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .22));
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface, #fff) 88%, var(--primary, #2563eb) 12%);
}
.route-stop-energy-grid dt {
    margin: 0 0 4px;
    color: var(--text-muted, #64748b);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.route-stop-energy-grid dd {
    margin: 0;
    color: var(--text-strong, #0f172a);
    font-size: 1.05rem;
    font-weight: 800;
}
.route-stop-energy-grid small,
.route-stop-source {
    display: block;
    margin-top: 4px;
    color: var(--text-muted, #64748b);
    font-size: .75rem;
    line-height: 1.35;
}
.route-stop-source { margin: 0 0 10px; }
.route-result-metrics { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.route-profile-values { grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); }
@media (max-width: 860px) {
    .route-stop-energy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .route-stop-energy-grid { grid-template-columns: 1fr; }
    .route-stop-energy-grid > div { padding: 10px 12px; }
}

/* v1.11.39 — mapa de carregadores */
.charger-map-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start;margin-bottom:20px}.charger-map-form{min-width:0}.charger-map-help{position:sticky;top:calc(var(--topbar) + 18px)}.charger-reference-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.charger-reference-mode span{min-height:74px}.charger-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.charger-map-results{display:grid;gap:18px;margin-top:22px}.charger-explorer-map{min-height:600px}.charger-station-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.charger-station-card{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-soft)}.charger-station-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.charger-station-head>div{min-width:0}.charger-station-head h3{margin:3px 0 4px;font-size:1rem}.charger-station-head p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.4}.charger-station-meta{display:flex;gap:8px 14px;flex-wrap:wrap;align-items:center}.charger-station-meta strong{font-size:.94rem}.charger-station-meta span{color:var(--muted);font-size:.72rem}.charger-station-card>small{color:var(--muted-2);line-height:1.4}.charger-station-actions{display:flex;gap:8px;flex-wrap:wrap}.route-geo-marker.charger.nearby{background:#d27c16}.route-map-legend i.nearby{background:#d27c16}[data-charger-reference-panel][hidden]{display:none!important}
@media(max-width:920px){.charger-map-layout{grid-template-columns:1fr}.charger-map-help{position:static}.charger-station-list{grid-template-columns:1fr}.charger-explorer-map{min-height:500px}}
@media(max-width:620px){.charger-reference-mode,.charger-filter-grid{grid-template-columns:1fr}.charger-station-head{display:grid}.charger-station-actions{display:grid;grid-template-columns:1fr}.charger-station-actions .button{width:100%}.charger-explorer-map{min-height:440px}}
/* v1.11.52 — correção reversível de viagens */
.trip-correction-label{color:var(--accent);font-weight:700}.trip-state-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.trip-state-banner>div,.trip-state-banner:not(:has(div)){display:flex;flex-direction:column;gap:5px}.trip-state-banner.warning{border-color:color-mix(in srgb,#f6c453 45%,var(--line));background:color-mix(in srgb,#f6c453 7%,var(--surface))}.trip-state-banner form{margin:0}.trip-segment-grid{display:grid;grid-template-columns:1fr minmax(150px,.55fr) 1fr;gap:16px;margin-bottom:18px}.trip-segment-grid .card{margin:0}.trip-merge-control,.trip-merge-confirm{margin-bottom:18px}.trip-merge-control form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:14px}.trip-merge-confirm{display:flex;align-items:center;justify-content:space-between;gap:20px}.trip-merge-confirm form{margin:0}.trip-detail-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trip-correction-grid{align-items:start}.danger-zone{border-color:color-mix(in srgb,#ff6b6b 38%,var(--line))}.danger-zone .button.danger{width:100%;background:#a93232;color:#fff;border-color:#d85a5a}.danger-zone .button.danger:hover{background:#bd3b3b}.trip-merge-control small{display:block;margin-top:6px;color:var(--muted)}
@media(max-width:820px){.trip-segment-grid,.trip-detail-form-grid{grid-template-columns:1fr}.trip-merge-control form,.trip-merge-confirm,.trip-state-banner{display:flex;flex-direction:column;align-items:stretch}.trip-merge-control .button,.trip-merge-confirm .button,.trip-state-banner .button{width:100%}}


/* v1.11.53 — consumo oficial Leapmotor */
.official-consumption-overview{display:grid;gap:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 88%,#0ea5e9 12%),var(--surface))}
.official-coverage-ring{display:grid;place-items:center;min-width:78px;height:78px;border-radius:50%;border:8px solid color-mix(in srgb,#0ea5e9 72%,var(--border));font-weight:800;font-size:1.1rem;background:var(--surface)}
.official-coverage-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.official-cumulative-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.official-cumulative-grid span{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,transparent)}
.official-coverage-stats span,.official-trip-values>div,.official-breakdown-grid>div{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,transparent)}
.official-coverage-stats strong,.official-trip-values strong,.official-breakdown-grid strong{font-size:1.15rem}
.official-merge-suggestions{display:grid;gap:12px}
.official-merge-suggestions article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:14px}
.official-merge-suggestions article div{display:grid;gap:4px}
.official-trip-card{display:grid;gap:16px}
.official-trip-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.official-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.table-responsive td .status-badge{margin-top:6px;display:inline-flex}
@media (max-width:760px){.official-coverage-stats,.official-cumulative-grid,.official-trip-values,.official-breakdown-grid{grid-template-columns:1fr}.official-merge-suggestions article{align-items:stretch;flex-direction:column}.official-coverage-ring{min-width:68px;height:68px}}

.global-assistant-history-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 2px 0; }
.global-assistant-history-controls small { color:var(--muted-2); font-size:.75rem; }
.global-assistant-history-head > div { display:flex; gap:12px; }
.dedicated-account-guide { position:relative; overflow:hidden; }
.dedicated-account-guide::after { content:""; position:absolute; width:180px; height:180px; right:-75px; top:-80px; border-radius:50%; background:color-mix(in srgb,var(--accent) 13%,transparent); pointer-events:none; }
.connection-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; margin:18px 0; list-style:none; counter-reset:connect-step; }
.connection-steps li { counter-increment:connect-step; display:grid; grid-template-columns:36px minmax(0,1fr); column-gap:10px; align-items:start; padding:14px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--surface-2) 76%,transparent); }
.connection-steps li::before { content:counter(connect-step); grid-row:1/3; display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:color-mix(in srgb,var(--accent) 18%,var(--surface)); color:var(--accent); font-weight:800; }
.connection-steps li strong,.connection-steps li span { display:block; }
.connection-steps li span { margin-top:3px; color:var(--muted); font-size:.84rem; line-height:1.45; }
@media(max-width:760px){.connection-steps{grid-template-columns:1fr}.global-assistant-history-controls{align-items:flex-start;flex-direction:column}.global-assistant-history-controls small{order:-1}}


/* Leap Hub 1.11.57 — interface simples, contextual e mobile-first */
:root{--simple-surface:rgba(15,28,43,.92);--simple-border:rgba(255,255,255,.09);--simple-muted:#90a4b8;--simple-accent:#66d4ab;--simple-accent-2:#67b7ff}
body{background-attachment:fixed}.content-shell main{max-width:1240px}.topbar-title span{font-weight:850;letter-spacing:-.02em}.global-assistant-topbar{display:none!important}
.page-heading{align-items:flex-end;margin-bottom:20px}.page-heading h1{font-size:clamp(30px,4.4vw,48px);margin-bottom:8px}.page-heading p{max-width:720px;margin-top:0}.eyebrow{padding:5px 9px;font-size:10px;letter-spacing:.11em}.card{border-radius:22px;box-shadow:0 14px 50px rgba(0,0,0,.14)}
.sidebar{width:270px}.side-nav{padding:8px 12px 22px}.nav-group{margin:8px 0 16px}.nav-label{font-size:10px;letter-spacing:.12em;padding:8px 12px}.nav-item{min-height:46px;border-radius:14px;padding:10px 12px}.nav-item.active{background:linear-gradient(135deg,rgba(102,212,171,.16),rgba(103,183,255,.14));border-color:rgba(102,212,171,.25)}.nav-icon{width:28px;height:28px}.sidebar-logout button{border-radius:14px}
.simple-dashboard,.admin-command-center{display:grid;gap:18px}.welcome-strip{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:8px 2px}.welcome-strip h1{margin:8px 0 6px;font-size:clamp(34px,5vw,56px)}.welcome-strip p{margin:0;max-width:650px}.welcome-strip.admin{align-items:center}
.vehicle-home-hero{overflow:hidden;padding:26px;background:radial-gradient(circle at 82% 15%,rgba(102,212,171,.22),transparent 32%),radial-gradient(circle at 18% 82%,rgba(103,183,255,.18),transparent 35%),var(--simple-surface)}.vehicle-home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.vehicle-home-top h1{font-size:clamp(32px,5vw,58px);margin:8px 0 4px}.vehicle-home-top p{margin:0}.vehicle-home-main{display:flex;align-items:center;gap:30px;padding:28px 0 24px}.soc-dial{--soc:0;width:170px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--simple-accent) calc(var(--soc)*1%),rgba(255,255,255,.08) 0);position:relative;flex:0 0 auto}.soc-dial:before{content:"";position:absolute;inset:12px;border-radius:50%;background:#0d1b2a}.soc-dial>div{position:relative;display:grid;text-align:center}.soc-dial strong{font-size:42px;letter-spacing:-.05em}.soc-dial span{color:var(--simple-muted);font-size:13px}.vehicle-range{display:grid;gap:6px}.vehicle-range small{color:var(--simple-muted)}.vehicle-range strong{font-size:clamp(42px,7vw,76px);letter-spacing:-.06em;line-height:1}.vehicle-range span{color:var(--simple-muted)}.vehicle-home-open{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--simple-border);padding-top:18px;color:inherit;text-decoration:none;font-weight:800}.vehicle-home-open b{font-size:24px}
.quick-action-grid,.admin-shortcut-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.admin-shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:88px;padding:14px;border:1px solid var(--simple-border);border-radius:18px;background:var(--simple-surface);color:inherit;text-decoration:none;transition:.18s ease}.quick-action:hover{transform:translateY(-2px);border-color:rgba(102,212,171,.3)}.quick-action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(102,212,171,.12);font-size:20px}.quick-action strong,.quick-action small{display:block}.quick-action small{color:var(--simple-muted);margin-top:3px;line-height:1.25}.quick-action b{font-size:22px;color:var(--simple-muted)}
.context-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:22px}.context-card.charging{background:linear-gradient(135deg,rgba(35,143,107,.26),rgba(20,66,91,.5)),var(--simple-surface)}.context-card h2{margin:5px 0}.context-card p{margin:0}.context-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.08);font-size:28px}
.home-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-summary-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;color:inherit;text-decoration:none}.home-summary-link span>small,.home-summary-link span>strong,.home-summary-link span>em{display:block}.home-summary-link span>small{color:var(--simple-muted);margin-bottom:4px}.home-summary-link span>strong{font-size:18px}.home-summary-link span>em{font-style:normal;color:var(--simple-muted);margin-top:4px}.home-summary-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:rgba(103,183,255,.12)}
.admin-simple-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-brief{padding:22px}.admin-brief-list{display:grid;gap:8px}.admin-brief-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;border-radius:15px;color:inherit;text-decoration:none;background:rgba(255,255,255,.035);border:1px solid transparent}.admin-brief-row>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.06)}.admin-brief-row strong,.admin-brief-row small{display:block}.admin-brief-row small{color:var(--simple-muted);margin-top:3px}.admin-brief-row.critical{border-color:rgba(255,92,92,.25)}.admin-brief-row.warning{border-color:rgba(255,190,70,.22)}.admin-brief-row.success{border-color:rgba(102,212,171,.2)}
.global-assistant-backdrop{align-items:stretch;justify-content:flex-end;padding:0}.global-assistant-sheet{width:min(500px,100%);height:100dvh;max-height:none;border-radius:26px 0 0 26px;padding:24px;overflow:auto}.global-assistant-query{grid-template-columns:minmax(0,1fr) auto auto}.global-assistant-result{min-height:120px}.global-assistant-history-controls{margin-top:4px}
.smart-assistant-preview{display:none!important}.report-fab{bottom:86px}
body[data-theme="light"]{--simple-surface:#fff;--simple-border:#dfe7ef;--simple-muted:#66788b}.vehicle-home-hero{color:inherit}body[data-theme="light"] .soc-dial:before{background:#fff}body[data-theme="light"] .quick-action,body[data-theme="light"] .context-card,body[data-theme="light"] .home-summary-link{background:#fff}body[data-theme="light"] .vehicle-home-hero{background:radial-gradient(circle at 82% 15%,rgba(80,207,166,.24),transparent 32%),radial-gradient(circle at 18% 82%,rgba(87,169,241,.17),transparent 35%),#fff}body[data-theme="light"] .admin-brief-row{background:#f7fafc}
@media(prefers-color-scheme:light){body[data-theme="system"]{--simple-surface:#fff;--simple-border:#dfe7ef;--simple-muted:#66788b}body[data-theme="system"] .soc-dial:before{background:#fff}body[data-theme="system"] .quick-action,body[data-theme="system"] .context-card,body[data-theme="system"] .home-summary-link{background:#fff}body[data-theme="system"] .vehicle-home-hero{background:radial-gradient(circle at 82% 15%,rgba(80,207,166,.24),transparent 32%),radial-gradient(circle at 18% 82%,rgba(87,169,241,.17),transparent 35%),#fff}}
@media(max-width:1100px){.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.content-shell main{padding:14px 14px 92px}.topbar{min-height:58px;padding:8px 14px}.topbar-title span{font-size:17px}.user-menu>div{display:none}.welcome-strip,.welcome-strip.admin{align-items:flex-start;flex-direction:column}.welcome-strip.admin .button{width:100%}.vehicle-home-hero{padding:20px;border-radius:24px}.vehicle-home-top{align-items:flex-start}.vehicle-home-top .status-badge{font-size:10px}.vehicle-home-main{gap:16px;padding:22px 0}.soc-dial{width:124px}.soc-dial:before{inset:9px}.soc-dial strong{font-size:31px}.vehicle-range strong{font-size:43px}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-action{grid-template-columns:auto minmax(0,1fr);min-height:82px;padding:12px}.quick-action b{display:none}.quick-action-icon{width:38px;height:38px}.context-card{grid-template-columns:auto minmax(0,1fr);padding:17px}.context-card .button{grid-column:1/-1;width:100%}.context-icon{width:48px;height:48px}.home-summary-grid{grid-template-columns:1fr}.admin-simple-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shortcut-grid{grid-template-columns:1fr 1fr}.global-assistant-sheet{border-radius:22px 22px 0 0;height:min(88dvh,760px);margin-top:auto}.global-assistant-query{grid-template-columns:minmax(0,1fr) auto}.global-assistant-query button[type="submit"]{grid-column:1/-1}.mobile-bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.report-fab{display:none}.page-heading h1{font-size:32px}.page-heading p{font-size:14px}}


/* Leap Hub 1.11.58 — Leap Flow: superfícies planas, dinâmica de aplicativo e menos cartões */
:root{
  --radius:10px;--radius-sm:7px;--simple-radius:9px;
  --shadow:none;--simple-border:rgba(255,255,255,.08);
}
body{background:var(--bg);background-image:none}
.card{border-radius:var(--simple-radius);box-shadow:none;background:var(--surface);border-color:var(--simple-border)}
.button,.icon-button,input,select,textarea,.status-badge,.health-chip,.version-chip{border-radius:8px}
.eyebrow{padding:0;background:none;border:0;border-radius:0}
.topbar{background:var(--bg);backdrop-filter:none;border-bottom:1px solid var(--line)}
.sidebar{background:var(--bg);backdrop-filter:none}.nav-item,.sidebar-logout button{border-radius:8px}
.metric-card,.content-grid>.card,.permission-card,.danger-zone,.smart-query,.smart-answer{box-shadow:none}

/* Home: bloco principal aberto, como painel nativo do veículo. */
.vehicle-home-stage{position:relative;overflow:hidden;padding:30px 30px 20px;border-bottom:1px solid var(--simple-border);background:linear-gradient(180deg,color-mix(in srgb,var(--simple-accent) 13%,var(--surface)) 0%,var(--surface) 74%)}
.vehicle-home-stage.state-charging{background:linear-gradient(180deg,color-mix(in srgb,var(--simple-accent) 22%,var(--surface)) 0%,var(--surface) 76%)}
.vehicle-home-stage.state-plugged{background:linear-gradient(180deg,color-mix(in srgb,var(--simple-accent-2) 16%,var(--surface)) 0%,var(--surface) 76%)}
.vehicle-home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.vehicle-home-top h1{margin:6px 0 3px;font-size:clamp(30px,5vw,54px);letter-spacing:-.055em}.vehicle-home-top p{margin:0;color:var(--simple-muted);font-size:13px}.vehicle-home-kicker,.context-kicker{color:var(--simple-muted);font-size:10px;font-weight:900;letter-spacing:.13em}
.vehicle-health-dot{display:flex;align-items:center;gap:7px;padding:7px 0;color:var(--simple-muted);font-size:12px;font-weight:750}.vehicle-health-dot i{width:7px;height:7px;border-radius:50%;background:var(--simple-muted)}.vehicle-health-dot.success i,.vehicle-health-dot.healthy i{background:var(--simple-accent)}.vehicle-health-dot.warning i{background:var(--warning)}.vehicle-health-dot.danger i,.vehicle-health-dot.critical i{background:var(--danger)}
.vehicle-live-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:28px;align-items:end;padding:42px 0 28px}.vehicle-range-block>span{display:block;color:var(--simple-muted);font-size:13px}.vehicle-range-block>strong{display:block;margin:4px 0 16px;font-size:clamp(54px,8vw,92px);font-weight:520;line-height:.95;letter-spacing:-.07em}.vehicle-range-block>small{display:block;margin-top:8px;color:var(--simple-muted);font-size:13px}.vehicle-battery-track{width:min(330px,100%);height:5px;background:rgba(255,255,255,.11);overflow:hidden}.vehicle-battery-track i{display:block;height:100%;background:var(--simple-accent);transition:width .35s ease}
.vehicle-state-block{display:flex;align-items:center;gap:15px;justify-self:end;min-width:240px;padding:18px 0;border-top:1px solid var(--simple-border);border-bottom:1px solid var(--simple-border)}.vehicle-state-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.06);font-size:20px}.vehicle-state-block strong,.vehicle-state-block small{display:block}.vehicle-state-block strong{font-size:18px}.vehicle-state-block small{margin-top:4px;color:var(--simple-muted);line-height:1.35}
.vehicle-home-open{padding-top:16px;border-top:1px solid var(--simple-border)}

/* Atalhos deixam de ser cartões: ações leves, rápidas e táteis. */
.quick-action-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:8px 0 4px}
.quick-action{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:9px;min-height:104px;padding:12px 7px;border:0;border-radius:0;background:transparent;text-align:center}.quick-action:hover{transform:none;background:rgba(255,255,255,.025)}.quick-action-icon{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.055);border:1px solid var(--simple-border)}.quick-action strong{font-size:13px}.quick-action small,.quick-action b{display:none}

/* Cartão contextual retangular e compacto. */
.context-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 22px;border:0;border-top:1px solid var(--simple-border);border-bottom:1px solid var(--simple-border);border-radius:0;background:var(--surface)}
.context-card.charging{background:linear-gradient(90deg,color-mix(in srgb,var(--simple-accent) 15%,var(--surface)),var(--surface) 62%)}.context-card.plugged{background:linear-gradient(90deg,color-mix(in srgb,var(--simple-accent-2) 12%,var(--surface)),var(--surface) 62%)}
.context-card h2{margin:4px 0;font-size:20px}.context-card p{margin:0;color:var(--simple-muted)}.context-icon{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.06);font-size:21px}.context-link{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:820;white-space:nowrap}.context-link b{font-size:22px;color:var(--simple-muted)}

/* Resumos agrupados como lista única, sem três cartões soltos. */
.home-summary-grid{display:grid;grid-template-columns:1fr;border-top:1px solid var(--simple-border);border-bottom:1px solid var(--simple-border);background:var(--surface);gap:0}
.home-summary-link.card{border:0;border-bottom:1px solid var(--simple-border);border-radius:0;background:transparent;padding:17px 22px}.home-summary-link.card:last-child{border-bottom:0}.home-summary-icon{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.05)}

/* Administração e módulos seguem o mesmo sistema plano. */
.admin-brief,.admin-brief-row,.metric-card,.smart-answer,.smart-query{border-radius:8px}.admin-brief-row{background:transparent;border-bottom:1px solid var(--simple-border);border-radius:0}.admin-brief-row:last-child{border-bottom:0}.admin-brief-row>span{border-radius:50%}
.content-grid,.metric-grid{gap:10px}.table-shell{border-radius:8px;box-shadow:none}.modal-card{border-radius:12px;box-shadow:none}.global-assistant-sheet{border-radius:0;border-left:1px solid var(--line);box-shadow:none}.global-assistant-result{border-radius:8px}.global-assistant-result .smart-orb{border-radius:50%}

body[data-theme="light"]{--bg:#f3f5f6;--surface:#fff;--surface-2:#f7f8f9;--surface-3:#eef1f3;--line:#e0e5e8;--simple-border:#e5e9ec;--simple-muted:#68747d;--text:#1d252b;--muted:#68747d;--muted-2:#8b969e}
body[data-theme="light"] .topbar,body[data-theme="light"] .sidebar{background:#fff}body[data-theme="light"] .vehicle-battery-track{background:#e3e8ea}body[data-theme="light"] .quick-action-icon,body[data-theme="light"] .vehicle-state-icon,body[data-theme="light"] .context-icon,body[data-theme="light"] .home-summary-icon{background:#f1f4f5}
@media(prefers-color-scheme:light){body[data-theme="system"]{--bg:#f3f5f6;--surface:#fff;--surface-2:#f7f8f9;--surface-3:#eef1f3;--line:#e0e5e8;--simple-border:#e5e9ec;--simple-muted:#68747d;--text:#1d252b;--muted:#68747d;--muted-2:#8b969e}body[data-theme="system"] .topbar,body[data-theme="system"] .sidebar{background:#fff}body[data-theme="system"] .vehicle-battery-track{background:#e3e8ea}body[data-theme="system"] .quick-action-icon,body[data-theme="system"] .vehicle-state-icon,body[data-theme="system"] .context-icon,body[data-theme="system"] .home-summary-icon{background:#f1f4f5}}

@media(max-width:720px){
  .content-shell>main{width:100%;max-width:none;padding:0 0 calc(84px + env(safe-area-inset-bottom));margin:0}.simple-dashboard{gap:8px}.simple-dashboard>.welcome-strip{padding:18px 20px 8px}.welcome-strip h1{font-size:28px}.welcome-strip p{font-size:13px}
  .vehicle-home-stage{padding:21px 20px 16px;border-radius:0}.vehicle-home-top h1{font-size:31px}.vehicle-health-dot{max-width:145px;text-align:right;justify-content:flex-end}.vehicle-live-grid{grid-template-columns:1fr;gap:24px;padding:38px 0 20px}.vehicle-range-block>strong{font-size:66px}.vehicle-state-block{justify-self:stretch;min-width:0;padding:15px 0}.vehicle-home-open{font-size:14px}
  .quick-action-grid{grid-template-columns:repeat(4,minmax(76px,1fr));overflow-x:auto;scroll-snap-type:x proximity;padding:9px 12px 4px;scrollbar-width:none}.quick-action-grid::-webkit-scrollbar{display:none}.quick-action{scroll-snap-align:start;min-height:93px;padding:9px 4px}.quick-action-icon{width:46px;height:46px}.quick-action strong{font-size:12px;line-height:1.2}
  .context-card{grid-template-columns:auto minmax(0,1fr);padding:17px 20px;gap:14px}.context-card h2{font-size:17px}.context-card p{font-size:13px}.context-link{grid-column:1/-1;justify-content:space-between;padding-top:13px;border-top:1px solid var(--simple-border)}
  .home-summary-link.card{padding:15px 20px}.home-summary-link span>strong{font-size:16px}.home-summary-link span>em{font-size:13px}
  .card{border-radius:7px}.content-grid,.metric-grid{gap:8px}.content-grid>.card,.metric-card,.admin-brief,.permission-card,.danger-zone{margin-left:10px;margin-right:10px}.page-heading{padding:18px 20px 5px;margin:0}.page-heading h1{font-size:28px}
  .mobile-bottom-nav{min-height:64px;background:var(--surface);backdrop-filter:none;border-top:1px solid var(--line);padding-top:2px}.mobile-nav-item{position:relative;border-radius:0;background:transparent!important}.mobile-nav-item.active:before{content:"";position:absolute;top:-3px;left:28%;right:28%;height:2px;background:var(--accent)}
  .global-assistant-sheet{height:min(90dvh,820px);border-radius:14px 14px 0 0;border-left:0;border-top:1px solid var(--line)}
}


/* Leap Hub 1.11.59 — privacidade de manutenção, visual neutro e mobile sem cortes */
html,body{max-width:100%;overflow-x:hidden}
.app-shell,.content-shell,.content-shell>main,.simple-dashboard,.page-heading,.content-grid,.metric-grid,.card,.table-card,.maintenance-plan-panel,.maintenance-api-panel,.settings-links,.form-grid{min-width:0;max-width:100%}
.page-heading>div,.card-heading>div,.settings-link-card>span,.home-summary-link>span{min-width:0}
h1,h2,h3,p,small,strong,dd,dt,a,button,label{overflow-wrap:anywhere}
.table-responsive{display:block;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-responsive table{width:100%;min-width:680px}
.page-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}

/* O verde deixa de colorir grandes superfícies. O acento permanece apenas em estado e progresso. */
.vehicle-home-stage,.vehicle-home-stage.state-charging,.vehicle-home-stage.state-plugged{
  background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,#111827) 0%,var(--surface) 78%);
}
.context-card,.context-card.charging,.context-card.plugged{
  background:var(--surface);
}
body[data-theme="light"] .vehicle-home-stage,
body[data-theme="light"] .vehicle-home-stage.state-charging,
body[data-theme="light"] .vehicle-home-stage.state-plugged{
  background:linear-gradient(180deg,#f8fafb 0%,#ffffff 78%);
}
@media(prefers-color-scheme:light){
  body[data-theme="system"] .vehicle-home-stage,
  body[data-theme="system"] .vehicle-home-stage.state-charging,
  body[data-theme="system"] .vehicle-home-stage.state-plugged{background:linear-gradient(180deg,#f8fafb 0%,#ffffff 78%)}
}

.maintenance-private-heading{padding-bottom:12px}
.maintenance-private-empty{display:grid;place-items:center;text-align:center;gap:10px;min-height:360px;padding:42px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.maintenance-private-empty>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--surface-2);font-size:26px;color:var(--muted)}
.maintenance-private-empty h2{margin:4px 0 0}.maintenance-private-empty p{max-width:520px;margin:0 0 8px;color:var(--muted)}

@media(max-width:720px){
  .content-shell,.content-shell>main{min-width:0;width:100%;max-width:100%}
  .page-heading{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-left:18px;padding-right:18px}
  .page-heading h1{max-width:100%;font-size:clamp(27px,9vw,36px);line-height:1.04}
  .page-actions{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
  .page-actions::-webkit-scrollbar{display:none}.page-actions>*{flex:0 0 auto}
  .content-grid,.metric-grid{grid-template-columns:minmax(0,1fr)!important;width:100%;padding-left:10px;padding-right:10px}
  .content-grid>.card,.metric-card,.admin-brief,.permission-card,.danger-zone{width:100%;margin-left:0;margin-right:0}
  .card-heading{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .card-heading>.mini-badge{align-self:flex-start}
  .maintenance-plan-panel,.maintenance-api-panel{margin-left:10px;margin-right:10px;width:auto;overflow:hidden}
  .maintenance-api-panel>.content-grid{padding-left:0;padding-right:0}
  .maintenance-private-empty{min-height:300px;margin:0;padding:34px 20px}
  .vehicle-home-top{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .vehicle-health-dot{justify-content:flex-start;max-width:100%;text-align:left}
  .vehicle-live-grid{min-width:0}.vehicle-range-block>strong{max-width:100%;font-size:clamp(52px,18vw,68px)}
  .quick-action-grid{width:100%;max-width:100%;grid-auto-flow:column;grid-auto-columns:minmax(78px,23vw);grid-template-columns:none}
  .global-assistant-sheet{max-width:100vw}
}


/* Leap Hub 1.11.60 — apelido da conexão, carga discreta e fronteira pessoal */
.vehicle-home-kicker{
  display:block;
  max-width:min(100%,360px);
  color:var(--simple-muted);
  font-size:12px;
  font-weight:750;
  letter-spacing:0;
  line-height:1.25;
  text-transform:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vehicle-charging-live{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:8px;color:var(--simple-muted);font-size:12px;line-height:1.35}
.vehicle-charging-live span{position:relative;white-space:nowrap}
.vehicle-charging-live span+span:before{content:"";position:absolute;left:-7px;top:50%;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;transform:translateY(-50%)}
.vehicle-card-account{display:block;margin:-3px 0 12px;color:var(--simple-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-card .vehicle-charging-live{margin-top:7px}
@media(max-width:720px){
  .vehicle-home-top{grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}
  .vehicle-home-kicker{max-width:72vw;font-size:11px}
  .vehicle-state-block>div,.context-card>div{min-width:0}
  .vehicle-charging-live{gap:5px 10px;font-size:11px;max-width:100%}
  .vehicle-charging-live span+span:before{left:-6px}
}
@media(max-width:420px){
  .vehicle-home-top{grid-template-columns:minmax(0,1fr)!important}
  .vehicle-health-dot{justify-self:start!important;max-width:100%!important;text-align:left!important}
  .vehicle-home-kicker{max-width:100%}
  .vehicle-charging-live{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .vehicle-charging-live span{overflow:hidden;text-overflow:ellipsis}
  .vehicle-charging-live span+span:before{display:none}
}

/* v1.11.62 · respostas objetivas e links internos */
.assistant-rich-text{display:grid;gap:8px;margin-top:8px;color:var(--text);line-height:1.55}
.assistant-rich-text p{margin:0!important;color:inherit!important}
.assistant-rich-text ul,.assistant-rich-text ol{display:grid;gap:7px;margin:0;padding-left:21px}
.assistant-rich-text li::marker{color:var(--accent);font-weight:850}
.assistant-inline-link{color:var(--accent);font-weight:850;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.assistant-inline-link:hover{text-decoration:none;border-bottom-color:var(--accent)}
.global-assistant-result .assistant-rich-text{margin:4px 0;color:var(--muted)}
.global-assistant-result .assistant-rich-text p{color:var(--muted)!important}


/* Leap Hub 1.11.63 — cockpit dinâmico e linguagem visual global */
:root{--radius:10px;--radius-sm:8px;--shadow:none;--sidebar:246px;--panel-gap:12px}
body{background:var(--bg);background-image:none}
.sidebar{background:color-mix(in srgb,var(--surface) 96%,#020817);border-right-color:var(--line);backdrop-filter:none;padding:18px 12px}
.sidebar-head{padding:0 8px 18px}.brand-mark{border-radius:8px;box-shadow:none}.side-nav{gap:13px}.nav-label{font-size:.62rem}.nav-item{min-height:42px;border-radius:7px;padding:9px 11px}.nav-item.active{background:var(--surface-3);box-shadow:inset 3px 0 0 var(--accent);color:var(--text)}
.topbar{background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom-color:var(--line);backdrop-filter:blur(12px)}
.content-shell>main{width:min(1580px,calc(100% - 40px));padding:26px 0 66px}
.card,.metric-card,.admin-brief,.permission-card,.danger-zone,.settings-link-card,.route-provider-cards>section,.route-profile-values>div,.route-stop,.route-no-stop,.preference-check,.analytics-month-row,.release-queue-item{border-radius:9px!important;background:var(--surface)!important;box-shadow:none!important}
.card{padding:18px}.content-grid,.metric-grid{gap:12px}.page-heading{margin-bottom:18px;align-items:center}.page-heading h1,.hero h1{font-size:clamp(1.8rem,3.2vw,2.75rem)}
.button{border-radius:7px}.icon-button{border-radius:7px}.health-chip,.version-chip,.status-badge,.mini-badge{border-radius:999px}
.table-shell,.table-responsive{border-radius:8px}.table-responsive table{border-collapse:separate;border-spacing:0}table th{background:var(--surface-2)}table th,table td{border-bottom:1px solid var(--line)}
input,select,textarea{border-radius:7px!important;background:var(--surface-2)!important}.modal-card{border-radius:10px!important}

.cockpit-dashboard{display:grid;gap:12px;min-width:0}.cockpit-page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:3px 2px 12px}.cockpit-page-head h1{margin:5px 0 4px;font-size:clamp(1.85rem,3vw,2.65rem);letter-spacing:-.04em}.cockpit-page-head p{margin:0;color:var(--muted);font-size:.9rem}.cockpit-primary-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr);gap:12px;align-items:stretch}.cockpit-secondary-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:12px}.cockpit-panel{position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}.cockpit-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.cockpit-panel-head>div{min-width:0}.cockpit-panel-head span:first-child{display:block;color:var(--muted-2);font-size:.65rem;font-weight:850;letter-spacing:.08em}.cockpit-panel-head h2{margin:4px 0 0;font-size:1rem;line-height:1.25}.cockpit-panel-head>a{color:var(--accent);font-size:.75rem;font-weight:780;text-decoration:none;white-space:nowrap}.cockpit-live{display:inline-flex;align-items:center;gap:7px;max-width:46%;color:var(--muted);font-size:.7rem;font-weight:760;text-align:right}.cockpit-live i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--muted)}.cockpit-live.success i{background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 10%,transparent)}.cockpit-live.warning i{background:var(--warning)}.cockpit-live.error i{background:var(--danger)}
.cockpit-battery{display:flex;align-items:end;justify-content:space-between;gap:16px}.cockpit-battery small,.cockpit-range small{display:block;color:var(--muted);font-size:.7rem}.cockpit-battery strong{display:block;margin-top:2px;color:var(--accent);font-size:clamp(2.8rem,5vw,4.3rem);line-height:.95;letter-spacing:-.06em}.cockpit-range{text-align:right}.cockpit-range b{display:block;margin-top:5px;font-size:1.35rem}.cockpit-progress{height:9px;margin:16px 0 15px;border-radius:999px;background:var(--surface-3);overflow:hidden}.cockpit-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#48c8f0)}
.cockpit-state-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.cockpit-state-row>div{padding:11px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);text-align:center}.cockpit-state-row small,.cockpit-state-row strong{display:block}.cockpit-state-row small{color:var(--muted-2);font-size:.62rem}.cockpit-state-row strong{margin-top:4px;font-size:.82rem}.cockpit-state-row .state-charging{color:var(--warning)}.cockpit-state-row .state-plugged{color:var(--info)}
.cockpit-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.cockpit-detail-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.cockpit-detail-list>div:nth-last-child(-n+2){border-bottom:0}.cockpit-detail-list dt{color:var(--muted);font-size:.7rem}.cockpit-detail-list dd{margin:0;font-size:.72rem;font-weight:780;text-align:right}.cockpit-detail-list.compact{margin-top:14px}.cockpit-panel>footer{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem}.cockpit-panel>footer strong{color:var(--text)}
.cockpit-vehicle-panel{align-items:stretch;text-align:center}.cockpit-vehicle-flags{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.cockpit-vehicle-flags span{padding:5px 9px;border:1px solid color-mix(in srgb,var(--success) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--success) 8%,transparent);color:var(--success);font-size:.65rem;font-weight:750}.cockpit-car-link{display:grid;place-items:center;min-height:220px;margin:5px 0 6px;color:var(--text);text-decoration:none}.cockpit-car-svg{width:min(100%,390px);height:auto;color:#dce8f3;filter:drop-shadow(0 18px 22px rgba(0,0,0,.25));transition:transform .22s ease}.cockpit-car-link:hover .cockpit-car-svg{transform:translateY(-3px) scale(1.01)}.cockpit-car-link strong{font-size:1rem}.cockpit-car-link small{margin-top:4px;color:var(--muted);font-size:.7rem}.cockpit-vehicle-panel>.vehicle-charging-live{justify-content:center;margin:0 0 10px}
.cockpit-command-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:auto}.cockpit-action{display:grid;place-items:center;gap:6px;min-width:0;min-height:70px;padding:9px 5px;border:1px solid transparent;border-radius:7px;color:var(--muted);text-decoration:none;transition:.16s ease}.cockpit-action:hover{border-color:var(--line);background:var(--surface-2);color:var(--text);transform:translateY(-1px)}.cockpit-action>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface-3);color:var(--accent);font-size:1rem}.cockpit-action strong{max-width:100%;font-size:.68rem;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis}
.cockpit-charge-main{display:grid;gap:3px;margin:3px 0 8px}.cockpit-charge-main strong{font-size:clamp(2.4rem,4vw,3.4rem);line-height:1;letter-spacing:-.05em}.cockpit-charge-main small{color:var(--muted)}.cockpit-panel-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:13px;border-top:1px solid var(--line);color:var(--accent);font-size:.75rem;font-weight:780;text-decoration:none}
.cockpit-map-preview{position:relative;display:grid;place-items:center;align-content:center;min-height:260px;padding:24px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 88%,#17364b),var(--surface-2));color:var(--text);text-align:center;text-decoration:none;overflow:hidden}.cockpit-map-preview .map-road{position:absolute;display:block;height:2px;width:130%;background:color-mix(in srgb,var(--muted) 26%,transparent);transform:rotate(-18deg)}.cockpit-map-preview .map-road.two{transform:rotate(32deg);width:150%}.cockpit-map-preview .map-road.three{transform:rotate(82deg);width:95%}.cockpit-map-preview i{z-index:1;display:grid;place-items:center;width:54px;height:54px;margin-bottom:10px;border-radius:50% 50% 50% 10%;background:var(--accent);color:var(--accent-dark);font-style:normal;font-size:1.3rem;transform:rotate(-45deg)}.cockpit-map-preview i::first-letter{transform:rotate(45deg)}.cockpit-map-preview strong,.cockpit-map-preview small{z-index:1}.cockpit-map-preview small{margin-top:5px;color:var(--muted)}.cockpit-map-preview.unavailable{opacity:.72}
.cockpit-trip-list{display:grid}.cockpit-trip-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(78px,.55fr) minmax(98px,.7fr) 18px;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line);text-decoration:none}.cockpit-trip-row:last-child{border-bottom:0}.cockpit-trip-row span strong,.cockpit-trip-row span small{display:block}.cockpit-trip-row span small{margin-top:3px;color:var(--muted);font-size:.68rem}.cockpit-trip-row>b{font-size:.78rem}.cockpit-trip-row>em{color:var(--muted);font-size:.7rem;font-style:normal}.cockpit-trip-row>i{color:var(--muted);font-style:normal;text-align:right}.cockpit-trip-row:hover{background:color-mix(in srgb,var(--surface-2) 76%,transparent)}.cockpit-empty-row{display:grid;place-items:center;min-height:190px;text-align:center}.cockpit-empty-row small{margin-top:5px;color:var(--muted)}
.cockpit-shortcut-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.cockpit-shortcut-strip .cockpit-action{min-height:64px}.cockpit-garage .card{margin:0}.cockpit-count{display:grid!important;place-items:center;min-width:38px;height:38px;border-radius:50%;background:var(--surface-3);color:var(--accent)!important;font-size:1rem!important}
.admin-service-list{display:grid;gap:1px}.admin-service-list>div{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:9px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.admin-service-list>div:last-child{border-bottom:0}.admin-service-list strong{font-size:.78rem}.admin-service-list small{color:var(--muted);font-size:.68rem;text-align:right}.service-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.service-dot.ok{background:var(--success)}.service-dot.warning{background:var(--warning)}.service-dot.error{background:var(--danger)}.admin-big-metrics,.admin-support-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 18px}.admin-big-metrics>div,.admin-support-summary>div{padding:13px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);text-align:center}.admin-big-metrics small,.admin-big-metrics strong,.admin-support-summary small,.admin-support-summary strong{display:block}.admin-big-metrics small,.admin-support-summary small{color:var(--muted);font-size:.62rem}.admin-big-metrics strong,.admin-support-summary strong{margin-top:5px;font-size:1.35rem}.button.wide{width:100%}.admin-cockpit-lower{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:12px}.admin-cockpit-lower .admin-brief{margin:0}.cockpit-shortcut-strip.admin{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}

body[data-theme="light"] .cockpit-car-svg{color:#556878;filter:drop-shadow(0 14px 18px rgba(36,55,70,.16))}body[data-theme="light"] .cockpit-map-preview{background:linear-gradient(145deg,#eef3f6,#f8fafb)}
@media(prefers-color-scheme:light){body[data-theme="system"] .cockpit-car-svg{color:#556878;filter:drop-shadow(0 14px 18px rgba(36,55,70,.16))}body[data-theme="system"] .cockpit-map-preview{background:linear-gradient(145deg,#eef3f6,#f8fafb)}}
@media(max-width:1180px){.cockpit-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-charge-panel{grid-column:1/-1}.cockpit-secondary-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}.admin-cockpit-lower{grid-template-columns:1fr}.cockpit-shortcut-strip.admin{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:820px){.content-shell>main{width:100%;padding:18px 12px 82px}.cockpit-page-head{align-items:stretch;flex-direction:column}.cockpit-page-head .button{width:100%}.cockpit-primary-grid,.cockpit-secondary-grid{grid-template-columns:minmax(0,1fr)}.cockpit-charge-panel{grid-column:auto}.cockpit-shortcut-strip,.cockpit-shortcut-strip.admin{grid-auto-flow:column;grid-auto-columns:minmax(82px,1fr);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.cockpit-shortcut-strip::-webkit-scrollbar{display:none}.cockpit-shortcut-strip .cockpit-action{scroll-snap-align:start}.cockpit-map-preview{min-height:220px}.cockpit-panel{padding:15px}.cockpit-car-link{min-height:190px}.cockpit-detail-list{grid-template-columns:1fr}.cockpit-detail-list>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.cockpit-detail-list>div:last-child{border-bottom:0}.admin-cockpit-lower{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.content-shell>main{padding-left:8px;padding-right:8px}.cockpit-dashboard{gap:8px}.cockpit-page-head{padding:7px 10px 5px}.cockpit-panel{border-radius:7px;padding:14px}.cockpit-panel-head{margin-bottom:13px}.cockpit-battery strong{font-size:3.3rem}.cockpit-range b{font-size:1.05rem}.cockpit-state-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.cockpit-state-row>div{padding:9px 5px}.cockpit-command-row{gap:4px}.cockpit-action{min-height:62px;padding:7px 3px}.cockpit-action>span{width:29px;height:29px}.cockpit-car-link{min-height:168px}.cockpit-trip-row{grid-template-columns:minmax(110px,1fr) auto 18px}.cockpit-trip-row>em{display:none}.admin-big-metrics,.admin-support-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.admin-big-metrics>div,.admin-support-summary>div{padding:10px 5px}.admin-service-list>div{grid-template-columns:12px minmax(0,1fr)}.admin-service-list small{grid-column:2;text-align:left}.card,.metric-card{border-radius:7px!important}}
/* Leap Hub 1.11.64: mapas reais no cockpit, localização e planejador. */
.cockpit-map-link{display:block;color:inherit;text-decoration:none}.cockpit-live-map{position:relative;min-height:260px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.cockpit-live-map .route-geo-map-stage{min-height:260px;border:0;border-radius:0}.cockpit-map-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 2px 0}.cockpit-map-caption strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-map-caption small{flex:0 0 auto;color:var(--muted)}
.vehicle-location-map{min-height:560px}.route-planner-preview{margin:18px 0}.route-planner-preview-map{min-height:420px}.route-map-fallback{margin:12px 0 0}.route-geo-map-stage.compact{min-height:260px}.route-geo-map-stage.compact .route-geo-map-status{max-width:calc(100% - 84px)}
@media(max-width:820px){.cockpit-live-map,.cockpit-live-map .route-geo-map-stage,.route-geo-map-stage.compact{min-height:220px}.vehicle-location-map{min-height:430px}.route-planner-preview-map{min-height:360px}.cockpit-map-caption{display:grid;gap:3px}.cockpit-map-caption small{font-size:.68rem}}
@media(max-width:430px){.vehicle-location-map{min-height:350px}.route-planner-preview-map{min-height:310px}}
.route-geo-map-route.is-fallback{stroke-dasharray:12 10;opacity:.78}.cockpit-map-caption{color:inherit;text-decoration:none}.cockpit-map-caption:hover strong{color:var(--accent)}

/* Leap Hub 1.11.65 — planejador clean e mapas resilientes */
.route-planner-heading{margin-bottom:10px}.route-planner-map-shell{position:relative;min-height:clamp(620px,calc(100vh - 150px),920px);overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.route-planner-map-canvas,.route-planner-map-canvas .route-geo-map-stage,.planned-route-map{position:absolute;inset:0;margin:0;border:0;border-radius:0;min-height:100%;height:100%;background:var(--surface-2)}.planned-route-map>.card-heading,.planned-route-map>.route-map-toolbar,.planned-route-map>.route-map-legend,.planned-route-map>.privacy-callout{position:absolute;z-index:9}.planned-route-map>.card-heading{top:16px;right:16px;max-width:min(520px,calc(100% - 500px));padding:12px 14px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);backdrop-filter:blur(14px)}.planned-route-map>.route-map-toolbar{right:16px;bottom:16px;max-width:min(760px,calc(100% - 500px));padding:8px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);backdrop-filter:blur(14px)}.planned-route-map>.route-map-legend,.planned-route-map>.privacy-callout{display:none}.route-search-overlay{position:absolute;z-index:15;top:16px;left:16px;width:min(430px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:visible}.route-search-overlay form{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.24);backdrop-filter:blur(18px)}.route-search-stack{display:grid;gap:8px}.route-search-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:end;min-width:0}.route-search-row>.address-autocomplete{min-width:0}.route-search-icon{display:grid;place-items:center;width:44px;height:48px;border:1px solid var(--line);background:var(--surface-2);color:var(--accent);font-size:1.2rem;cursor:pointer}.route-search-icon:hover,.route-search-icon:focus-visible{border-color:var(--accent);outline:none}.route-search-icon.add-stop{font-size:1.45rem}.route-search-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.route-location-status{color:var(--muted);font-size:.72rem}.route-search-overlay .address-autocomplete>label{font-size:.72rem;color:var(--muted)}.route-search-overlay .address-autocomplete-hint{display:none}.route-search-overlay .address-suggestion-list{z-index:100;top:70px}.route-waypoints{display:block;margin:0;padding:0;border:0;background:transparent}.route-waypoint-list{display:grid;gap:7px;max-height:260px;overflow:auto}.route-waypoint-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:6px;align-items:end;padding:6px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 92%,transparent)}.route-waypoint-row.is-dragging{opacity:.45}.route-waypoint-row.is-drag-target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.route-waypoint-drag{align-self:center;width:28px;height:42px;border:0;background:transparent;color:var(--muted);cursor:grab;font-weight:900}.route-waypoint-drag:active{cursor:grabbing}.route-waypoint-row .address-autocomplete>label{display:none}.route-waypoint-row .address-autocomplete-control{min-height:42px}.route-waypoint-row .address-autocomplete-control input{height:40px}.route-waypoint-row .address-autocomplete-hint{display:none}.route-waypoint-actions{display:flex;align-items:center;gap:2px}.route-waypoint-actions button{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:var(--muted);cursor:pointer}.route-waypoint-actions button:hover:not(:disabled){color:var(--accent);background:var(--surface)}.route-waypoint-actions button:disabled{opacity:.25;cursor:default}.route-settings-dialog{width:min(640px,calc(100vw - 32px));max-height:min(820px,calc(100vh - 32px));padding:0;border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.42)}.route-settings-dialog::backdrop{background:rgba(2,8,18,.62);backdrop-filter:blur(4px)}.route-settings-head,.route-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.route-settings-footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.route-settings-head h2{margin:2px 0 0}.route-settings-head>button{width:38px;height:38px;border:0;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}.route-settings-content{display:grid;gap:16px;max-height:calc(100vh - 190px);padding:18px;overflow:auto}.route-settings-content .route-profile-card{margin:0}.route-planner-error{position:relative;z-index:20;margin-bottom:10px}.route-result{margin-top:16px}.route-result-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.route-result-more{margin-top:12px;border:1px solid var(--line);background:var(--surface)}.route-result-more>summary{padding:14px 16px;cursor:pointer;font-weight:800}.route-result-more>section{padding:0 14px 14px}.route-result-sheet{margin-top:12px}.route-geo-map-popup{z-index:30}.route-geo-map-popup-actions{flex-wrap:wrap}.route-map-empty{background:var(--surface-2)}
@media(max-width:980px){.planned-route-map>.card-heading{display:none}.planned-route-map>.route-map-toolbar{max-width:calc(100% - 32px)}.route-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.route-planner-heading{display:none}.route-planner-map-shell{min-height:calc(100dvh - 96px);border-inline:0}.route-search-overlay{top:10px;left:10px;width:calc(100% - 20px);max-height:calc(100% - 20px)}.route-search-overlay form{padding:10px}.route-search-actions{grid-template-columns:1fr 1fr}.route-waypoint-list{max-height:190px}.route-planner-map-canvas .route-geo-map-stage,.planned-route-map{min-height:100%}.planned-route-map>.route-map-toolbar{right:10px;bottom:10px;max-width:calc(100% - 20px);overflow:auto;flex-wrap:nowrap}.route-settings-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0}.route-settings-content{max-height:calc(100dvh - 132px)}.route-result-metrics{grid-template-columns:1fr 1fr}.route-waypoint-actions button[data-waypoint-move-up],.route-waypoint-actions button[data-waypoint-move-down]{display:grid}}
@media(max-width:430px){.route-search-row{grid-template-columns:minmax(0,1fr) 40px}.route-search-icon{width:40px}.route-search-actions{grid-template-columns:1fr}.route-result-metrics{grid-template-columns:1fr}.route-waypoint-row{grid-template-columns:24px minmax(0,1fr) auto}.route-waypoint-actions button{width:26px}}



/* Leap Hub 1.11.66 — visual real do veículo, cor da API e estados preparados */
.cockpit-car-link{overflow:visible}.vehicle-visual{position:relative;width:min(100%,470px);min-height:205px;margin:0;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#f6fbfa,#ffffff);isolation:isolate}.vehicle-visual img{display:block;width:100%;height:auto;max-height:250px;object-fit:cover;object-position:center;transition:transform .24s ease}.cockpit-car-link:hover .vehicle-visual img{transform:translateY(-2px) scale(1.01)}.vehicle-visual.state-parked img,.vehicle-visual.state-unlocked img,.vehicle-visual.state-driving img,.vehicle-visual.state-doors-open img,.vehicle-visual.state-windows-open img,.vehicle-visual.state-trunk-open img{object-position:left center}.vehicle-visual-color{position:absolute;left:10px;bottom:9px;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.86);color:#22313b;font-size:10px;font-weight:800;box-shadow:0 3px 12px rgba(20,35,44,.1)}.vehicle-visual-color i{width:9px;height:9px;border-radius:50%;border:1px solid rgba(20,30,38,.18);background:#f5f5f2}.vehicle-visual-color i.color-black{background:#1d2025}.vehicle-visual-color i.color-silver{background:#aab3bb}.vehicle-visual-color i.color-gray{background:#58616b}.vehicle-visual-color i.color-blue{background:#255db6}.vehicle-visual-color i.color-green{background:#26785b}.vehicle-visual-color i.color-red{background:#b71f1f}.vehicle-visual-color i.color-beige{background:#b89e75}.vehicle-visual-color i.color-purple{background:#61338a}.vehicle-visual-marker{position:absolute;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#ffb84d;border:3px solid #fff;box-shadow:0 4px 14px rgba(20,30,38,.24);z-index:2}.vehicle-visual-marker i{width:5px;height:5px;border-radius:50%;background:#6b3d00}.vehicle-visual-marker.marker-front_left{left:31%;top:39%}.vehicle-visual-marker.marker-front_right{left:48%;top:35%}.vehicle-visual-marker.marker-rear_left{left:66%;top:42%}.vehicle-visual-marker.marker-rear_right{left:78%;top:41%}.vehicle-visual-marker.marker-trunk{right:8%;top:44%}.vehicle-visual-marker[class*="marker-window_"]{top:25%;background:#43a9ff}.vehicle-visual-marker.marker-window_front_left{left:38%}.vehicle-visual-marker.marker-window_front_right{left:51%}.vehicle-visual-marker.marker-window_rear_left{left:66%}.vehicle-visual-marker.marker-window_rear_right{left:77%}.vehicle-visual-generic{background:transparent}.vehicle-visual-generic .cockpit-car-svg{width:min(100%,390px)}
body[data-theme="dark"] .vehicle-visual,body[data-theme="system"] .vehicle-visual{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
@media(max-width:720px){.vehicle-visual{width:100%;min-height:172px}.vehicle-visual img{max-height:205px}.vehicle-visual-color{left:7px;bottom:7px}.vehicle-visual-marker{width:16px;height:16px;border-width:2px}}

.vehicle-visual-generic.color-white{color:#e8ecef}.vehicle-visual-generic.color-black{color:#1d2025}.vehicle-visual-generic.color-silver{color:#aab3bb}.vehicle-visual-generic.color-gray{color:#58616b}.vehicle-visual-generic.color-blue{color:#255db6}.vehicle-visual-generic.color-green{color:#26785b}.vehicle-visual-generic.color-red{color:#b71f1f}.vehicle-visual-generic.color-beige{color:#b89e75}.vehicle-visual-generic.color-purple{color:#61338a}

/* 1.11.68 — catálogo de cores por modelo e fallback visual honesto. */
.vehicle-visual-generic[style]{color:var(--vehicle-color,#e8ecef)}
.vehicle-visual-color.is-reference{border:1px dashed rgba(34,49,59,.2)}
body[data-theme="dark"] .vehicle-visual-color.is-reference,body[data-theme="system"] .vehicle-visual-color.is-reference{border-color:rgba(255,255,255,.2)}

/* Leap Hub 1.11.69 — mapa único, diálogos resilientes e fallback de blocos. */
.route-search-actions{grid-template-columns:1fr 1fr 1.15fr}
.route-chargers-dialog{width:min(720px,calc(100vw - 32px))}
.route-chargers-dialog form{display:contents}
.route-settings-dialog.is-fallback-open{position:fixed;inset:50% auto auto 50%;z-index:1000;display:block;transform:translate(-50%,-50%);margin:0}
body.dialog-open{overflow:hidden}
body.dialog-open:after{content:"";position:fixed;inset:0;z-index:999;background:rgba(2,8,18,.62);backdrop-filter:blur(4px)}
.route-map-toolbar-overlay{position:absolute;z-index:12;right:14px;bottom:14px;max-width:min(760px,calc(100% - 480px));padding:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 32px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
.route-charger-results{margin-top:16px}.route-charger-results>.privacy-callout{margin-bottom:14px}.route-charger-map-canvas .route-geo-map-popup{z-index:40}
.route-chargers-button{white-space:nowrap}
@media(max-width:980px){.route-map-toolbar-overlay{right:10px;bottom:10px;max-width:calc(100% - 20px);overflow:auto;flex-wrap:nowrap}}
@media(max-width:700px){.route-search-actions{grid-template-columns:1fr 1fr}.route-search-actions .route-calculate{grid-column:1/-1}.route-chargers-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0}.route-map-toolbar-overlay{max-width:calc(100% - 20px)}}
@media(max-width:430px){.route-search-actions{grid-template-columns:1fr}.route-search-actions .route-calculate{grid-column:auto}.route-map-toolbar-overlay{display:none}}

/* 1.11.70 — painel móvel fora do mapa, paradas sob demanda e seletor de localização */
.route-waypoint-row[hidden],.route-location-menu[hidden]{display:none!important}
.route-search-row{grid-template-columns:minmax(0,1fr) auto}
.route-search-row-single{grid-template-columns:minmax(0,1fr)}
.route-search-row-actions{display:flex;align-items:flex-end;gap:6px}
.route-location-picker{position:relative}
.route-location-menu{position:absolute;z-index:180;top:calc(100% + 8px);right:0;width:min(270px,calc(100vw - 40px));padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 48px rgba(0,0,0,.32)}
.route-location-menu>button{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;width:100%;padding:10px;border:0;border-radius:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.route-location-menu>button:hover,.route-location-menu>button:focus-visible{background:var(--surface-2);outline:none}
.route-location-menu>button>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:1.05rem}
.route-location-menu strong,.route-location-menu small{display:block}
.route-location-menu small{margin-top:2px;color:var(--muted);font-size:.72rem;line-height:1.25}
.route-location-menu button:disabled{opacity:.55;cursor:wait}

@media(max-width:700px){
  .route-planner-map-shell{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:visible;border:0;background:transparent}
  .route-search-overlay{position:relative;inset:auto;order:1;width:100%;max-height:none}
  .route-search-overlay form{padding:11px;border-radius:16px;background:var(--surface);box-shadow:none;backdrop-filter:none}
  .route-planner-map-canvas,.planned-route-map{position:relative;inset:auto;order:2;width:100%;height:clamp(430px,58dvh,680px);min-height:430px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
  .route-planner-map-canvas .route-geo-map-stage,.planned-route-map>.route-geo-map-stage{position:absolute;inset:0;width:100%;height:100%;min-height:100%;border-radius:inherit}
  .planned-route-map>.card-heading{display:none}
  .route-search-actions{grid-template-columns:1fr 1fr}
  .route-search-actions .route-calculate{grid-column:1/-1;margin-top:0}
  .route-waypoint-list{max-height:none;overflow:visible}
  .route-location-menu{position:fixed;z-index:260;top:auto;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));left:12px;width:auto}
}

@media(max-width:400px){
  .route-search-row-actions{gap:4px}
  .route-search-row-actions .route-search-icon{width:40px}
  .route-search-overlay form{padding:9px}
}

/* Leap Hub 1.11.71 — mapas resilientes, filtros sob demanda e resultados móveis compactos */
.route-map-filters-toggle{display:none;align-items:center;justify-content:center;gap:7px;z-index:18}
.route-geo-map-stage{background:var(--surface-2)}
.route-geo-map-status{transition:opacity .18s ease}
.route-stop-energy-grid dd{color:var(--text)}
.route-stop-energy-grid dt,.route-stop-energy-grid small,.route-stop-source{color:var(--muted)}
.route-result-more>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.route-result-more>summary::-webkit-details-marker{display:none}
.route-result-more>summary span,.route-result-more>summary small{display:block}
.route-result-more>summary small{color:var(--muted);font-size:.72rem;font-weight:600;text-align:right}
.route-result-more>summary::after{content:'+';display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--accent);font-size:1.1rem}
.route-result-more[open]>summary::after{content:'−'}
.route-stop-community{margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);overflow:hidden}
.route-stop-community>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.route-stop-community>summary::-webkit-details-marker{display:none}
.route-stop-community>summary>span:first-child{min-width:0}
.route-stop-community>summary strong,.route-stop-community>summary small{display:block}
.route-stop-community>summary small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35}
.route-stop-community>summary::after{content:'⌄';color:var(--accent);font-weight:900}
.route-stop-community[open]>summary::after{transform:rotate(180deg)}
.route-stop-community-body{display:grid;gap:7px;padding:0 14px 14px;border-top:1px solid var(--line)}
.route-stop-community-body>.route-stop-community-actions{padding-top:12px}
.route-stop-community-body>small{color:var(--muted);line-height:1.4}

@media(max-width:700px){
  .route-planner-map-shell{gap:12px}
  .route-planner-map-canvas:not(.route-charger-map-canvas),.planned-route-map{height:clamp(360px,50dvh,560px);min-height:360px}
  .route-map-filters-toggle{display:inline-flex;position:absolute;left:10px;bottom:10px;max-width:calc(100% - 82px);min-height:40px;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 10px 26px rgba(0,0,0,.25);backdrop-filter:blur(14px)}
  .route-charger-map-canvas{position:relative!important;inset:auto!important;display:block;width:100%;height:clamp(390px,54dvh,620px)!important;min-height:390px!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--surface-2)!important}
  .route-charger-map-canvas .route-geo-map-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;border:0!important;border-radius:inherit!important}
  .route-map-toolbar-overlay,.planned-route-map>.route-map-toolbar{display:none;position:fixed!important;z-index:285!important;inset:auto 12px calc(78px + env(safe-area-inset-bottom)) 12px!important;width:auto!important;max-width:none!important;max-height:min(62dvh,520px)!important;margin:0!important;padding:12px!important;overflow:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))!important;border-radius:18px!important;background:color-mix(in srgb,var(--surface) 98%,transparent)!important;box-shadow:0 24px 70px rgba(0,0,0,.48)!important;backdrop-filter:blur(20px)!important}
  .route-map-toolbar-overlay.is-open,.planned-route-map>.route-map-toolbar.is-open{display:grid!important}
  .route-map-toolbar>.button,.route-map-toolbar>label{min-height:44px;width:100%;justify-content:center;margin:0;border-radius:12px}
  .route-map-toolbar .route-map-power-filter{grid-column:1/-1}
  .route-map-visible-count{grid-column:1/-1;width:100%;margin:2px 0 0;padding:8px 10px;border-radius:10px;background:var(--surface-2);text-align:center}
  .route-geo-map-controls{top:10px;right:10px}
  .route-geo-map-status{top:10px;left:10px;max-width:calc(100% - 104px)}
  .vehicle-location-map{height:clamp(350px,52dvh,500px);min-height:350px}
  .route-map-card.route-geo-map-card{padding:12px}
  .route-map-card .card-heading{align-items:flex-start}
  .route-map-actions{grid-template-columns:1fr 1fr}
  .route-map-actions .button{min-height:44px}
  .cockpit-live-map,.cockpit-live-map .route-geo-map-stage,.route-geo-map-stage.compact{min-height:200px;height:220px}
  .cockpit-location-panel .cockpit-map-caption{padding-top:10px}
  .route-result{margin-top:18px}
  .route-result>.section-heading{gap:12px}
  .route-result>.section-heading h2{font-size:clamp(1.45rem,7vw,2rem);line-height:1.08;overflow-wrap:anywhere}
  .route-result>.section-heading p{font-size:.82rem;line-height:1.5}
  .route-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
  .route-result-metrics .metric-card{min-width:0;padding:12px}
  .route-result-more{border-radius:16px;overflow:hidden}
  .route-result-more>summary{padding:13px 14px}
  .route-result-more>summary small{display:none}
  .route-result-more>section{padding:0 8px 10px}
  .route-plan-layout{display:block!important}
  .route-plan-layout>.card{width:100%;margin:0 0 10px;padding:12px}
  .route-plan-layout>.card-heading{display:grid;gap:8px}
  .route-plan-layout>.card-heading .status-badge{justify-self:start}
  .route-stop-list{gap:10px}
  .route-stop.route-stop-expanded{position:relative;display:block;padding:12px;border-radius:15px}
  .route-stop.route-stop-expanded>span{position:absolute;top:12px;left:12px;width:32px;height:32px;border-radius:11px}
  .route-stop-content{min-width:0}
  .route-stop-header{display:grid!important;gap:10px;padding-left:42px}
  .route-stop-header>div:first-child{min-width:0}
  .route-stop-header strong{font-size:1rem;line-height:1.25;overflow-wrap:anywhere}
  .route-stop-header p{font-size:.8rem;line-height:1.4}
  .route-stop-header>div:last-child{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;gap:7px;justify-content:stretch!important}
  .route-stop-header .button{width:100%;min-width:0;min-height:40px;padding:8px 7px;white-space:normal!important;text-align:center;line-height:1.2}
  .route-stop-energy-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;margin:12px 0 8px}
  .route-stop-energy-grid>div{padding:10px;border-radius:12px}
  .route-stop-energy-grid dt{font-size:.64rem}
  .route-stop-energy-grid dd{font-size:1rem}
  .route-stop-energy-grid small{font-size:.68rem}
  .route-stop-community>summary{align-items:flex-start;padding:11px}
  .route-stop-community>summary .status-badge{flex:0 0 auto}
  .route-stop-community-body{padding:0 11px 11px}
  .route-stop-community-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch!important}
  .route-stop-community-actions .button{width:100%;white-space:normal!important}
  .route-alternative-card{display:grid!important;gap:10px;padding:11px}
  .route-alternative-card>div:last-child{display:grid!important;grid-template-columns:1fr 1fr;justify-content:stretch!important}
  .route-alternative-card .button{width:100%;white-space:normal!important}
  .route-stop-warning{font-size:.76rem;line-height:1.45}
}

@media(max-width:420px){
  .route-result-metrics{grid-template-columns:1fr 1fr!important}
  .route-map-actions{grid-template-columns:1fr}
  .route-stop-header>div:last-child{grid-template-columns:1fr 1fr}
  .route-stop-header>div:last-child .button.primary{grid-column:1/-1}
  .route-map-toolbar-overlay,.planned-route-map>.route-map-toolbar{grid-template-columns:1fr!important}
  .route-map-toolbar .route-map-power-filter,.route-map-visible-count{grid-column:auto}
}

@media(max-width:340px){
  .route-result-metrics,.route-stop-energy-grid{grid-template-columns:1fr!important}
}

/* Leap Hub 1.11.72: posição atual sempre visível sobre o mapa. */
.route-geo-marker.vehicle,.route-geo-marker.user{min-width:42px;height:42px;border-width:4px;font-size:.88rem;z-index:4}
.route-geo-marker.vehicle{background:linear-gradient(145deg,#15b89a,#087d70);box-shadow:0 0 0 8px rgba(21,184,154,.16),0 10px 26px rgba(0,0,0,.38)}
.route-geo-marker.user{background:linear-gradient(145deg,#4e8de6,#315cb7);box-shadow:0 0 0 8px rgba(78,141,230,.16),0 10px 26px rgba(0,0,0,.38)}
.route-geo-marker.vehicle::after,.route-geo-marker.user::after{content:"";position:absolute;inset:-10px;border:2px solid currentColor;border-radius:999px;opacity:.28;animation:route-location-pulse 2.2s ease-out infinite;pointer-events:none}
@keyframes route-location-pulse{0%{transform:scale(.7);opacity:.38}70%,100%{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){.route-geo-marker.vehicle::after,.route-geo-marker.user::after{animation:none}}

/* Leap Hub 1.11.73 — centralização correta, controles compactos e paradas sem recarregar. */
.route-search-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.route-search-actions .route-action-icon{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  min-width:42px;
  height:42px;
  min-height:42px;
  padding:0;
  margin:0;
  border-radius:12px;
  font-size:1.05rem;
  line-height:1;
}
.route-search-actions .route-calculate{
  flex:1 1 auto;
  width:auto;
  min-height:42px;
  margin:0;
  padding:9px 16px;
  border-radius:12px;
  font-size:.84rem;
  line-height:1.15;
  white-space:nowrap;
}
.route-search-actions .route-calculate[aria-busy="true"]{cursor:wait;opacity:.78}
.route-geo-map-controls{border-radius:10px}
.route-geo-map-controls button{width:32px;height:32px;font-size:1rem}
.route-search-icon{width:40px;height:42px;font-size:1rem;border-radius:10px}
.route-search-icon.add-stop{font-size:1.25rem}
.route-waypoint-row{border-radius:11px}
[data-route-pin-stop].is-added{pointer-events:none;opacity:.62}

@media(max-width:700px){
  .route-search-actions{display:flex;grid-template-columns:none!important}
  .route-search-actions .route-calculate{grid-column:auto!important}
  .route-search-actions .route-action-icon{flex-basis:40px;width:40px;min-width:40px;height:40px;min-height:40px}
  .route-search-actions .route-calculate{min-height:40px;padding-inline:12px}
}

@media(max-width:360px){
  .route-search-actions{gap:5px}
  .route-search-actions .route-action-icon{flex-basis:38px;width:38px;min-width:38px;height:38px;min-height:38px}
  .route-search-actions .route-calculate{min-height:38px;padding-inline:9px;font-size:.78rem}
}

/* Leap Hub 1.11.74: filtros dentro das configurações e suporte discreto. */
.route-map-filter-settings{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);overflow:hidden}
.route-map-filter-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;list-style:none;cursor:pointer}
.route-map-filter-settings>summary::-webkit-details-marker{display:none}
.route-map-filter-settings>summary span{display:grid;gap:2px;min-width:0}
.route-map-filter-settings>summary strong{font-size:.88rem}
.route-map-filter-settings>summary small{color:var(--muted);font-size:.68rem;font-weight:600}
.route-map-filter-settings>summary b{color:var(--muted);transition:transform .18s ease}
.route-map-filter-settings[open]>summary b{transform:rotate(180deg)}
.route-map-settings-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:0 10px 10px}
.route-map-settings-toolbar>label{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:.72rem;font-weight:750;white-space:nowrap}
.route-map-settings-toolbar>label input[type="checkbox"]{width:15px;height:15px;margin:0;accent-color:var(--accent)}
.route-map-settings-toolbar .route-map-power-filter{gap:7px;padding-right:5px}
.route-map-settings-toolbar .route-map-power-filter select{width:auto;min-width:76px;height:28px;padding:0 24px 0 8px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;font-size:.7rem}
.route-map-fit-settings{min-height:34px!important;padding:5px 9px!important;border-radius:10px!important;font-size:.72rem!important}
.route-map-settings-toolbar .route-map-visible-count{margin-left:auto;color:var(--muted);font-size:.68rem;font-weight:700}

/* O report continua acessível em todas as páginas, sem cobrir conteúdo. */
.report-fab{right:8px!important;bottom:8px!important;z-index:37!important;min-width:0!important;min-height:30px!important;height:30px!important;padding:0 8px!important;gap:5px!important;border-color:color-mix(in srgb,var(--line) 85%,transparent)!important;border-radius:8px!important;background:color-mix(in srgb,var(--surface) 88%,transparent)!important;color:var(--muted)!important;box-shadow:none!important;opacity:.62;font-size:.68rem!important;backdrop-filter:blur(10px);transform:none!important}
.report-fab:hover,.report-fab:focus-visible{opacity:1;color:var(--text)!important;border-color:var(--accent)!important;outline:none}
.report-fab span{font-size:.7rem;line-height:1}
.report-fab strong{font-size:.66rem;font-weight:760}

@media(max-width:720px){
  .route-map-settings-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .route-map-settings-toolbar>label,.route-map-fit-settings{width:100%;justify-content:flex-start}
  .route-map-settings-toolbar .route-map-power-filter,.route-map-settings-toolbar .route-map-visible-count{grid-column:1/-1}
  .route-map-settings-toolbar .route-map-visible-count{margin:2px 2px 0}
  .report-fab{display:flex!important;right:7px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;width:30px!important;min-width:30px!important;padding:0!important;justify-content:center!important;border-radius:8px!important}
  .report-fab strong{display:none!important}
}

/* Leap Hub 1.11.75 — veículo real por modelo/cor e estado visual composto */
.vehicle-visual{min-height:220px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 82%,#eaf1f4),var(--surface));}
.vehicle-visual-photo{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border-radius:inherit;z-index:0}
.vehicle-visual-photo img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;transform-origin:center;filter:none}
.vehicle-visual.presentation-crop-charger .vehicle-visual-photo{right:12%;}
.vehicle-visual.presentation-crop-charger .vehicle-visual-photo img{width:116%;transform:translateX(-4%) scale(1.03);object-position:left center}
.cockpit-car-link:hover .vehicle-visual.presentation-crop-charger img{transform:translateX(-4%) translateY(-2px) scale(1.045)}

/* Assets de referência possuem fundo transparente. A cor é aplicada somente ao carro. */
.vehicle-visual[data-color-accurate="0"].color-white .vehicle-visual-photo img{filter:grayscale(.08) brightness(1.03) contrast(.98)}
.vehicle-visual[data-color-accurate="0"].color-black .vehicle-visual-photo img{filter:grayscale(1) brightness(.38) contrast(1.45)}
.vehicle-visual[data-color-accurate="0"].color-gray .vehicle-visual-photo img{filter:grayscale(1) brightness(.72) contrast(1.16)}
.vehicle-visual[data-color-accurate="0"].color-silver .vehicle-visual-photo img{filter:grayscale(1) brightness(.92) contrast(1.08)}
.vehicle-visual[data-color-accurate="0"].color-green .vehicle-visual-photo img{filter:grayscale(1) sepia(.72) saturate(2.1) hue-rotate(92deg) brightness(.72) contrast(1.15)}
.vehicle-visual[data-color-accurate="0"].color-purple .vehicle-visual-photo img{filter:grayscale(1) sepia(.8) saturate(2.8) hue-rotate(228deg) brightness(.63) contrast(1.2)}
.vehicle-visual[data-color-accurate="0"].color-blue .vehicle-visual-photo img{filter:grayscale(1) sepia(.8) saturate(2.5) hue-rotate(170deg) brightness(.7) contrast(1.18)}
.vehicle-visual[data-color-accurate="0"].color-red .vehicle-visual-photo img{filter:grayscale(1) sepia(.9) saturate(3) hue-rotate(315deg) brightness(.72) contrast(1.18)}
.vehicle-visual[data-color-accurate="0"].color-beige .vehicle-visual-photo img{filter:grayscale(.7) sepia(.72) saturate(1.35) brightness(.88) contrast(1.05)}

.vehicle-visual-marker{z-index:4;width:auto;min-width:25px;height:22px;padding:0 5px;border:2px solid color-mix(in srgb,#fff 92%,transparent);border-radius:999px;background:#ffb84d;color:#1f2937;font-size:8px;font-weight:950;line-height:1;box-shadow:0 5px 16px rgba(0,0,0,.28)}
.vehicle-visual-marker b{display:block;letter-spacing:-.02em}.vehicle-visual-marker i{display:none}
.vehicle-visual-marker[class*="marker-window_"]{background:#42b8ff;color:#06243b}
.vehicle-visual-marker.marker-roof,.vehicle-visual-marker.marker-sunshade{top:16%;background:#8a7dff;color:#fff}
.vehicle-visual-marker.marker-roof{left:49%}.vehicle-visual-marker.marker-sunshade{left:61%}
.vehicle-visual-marker[class*="marker-light_"]{top:auto;bottom:30%;background:#ffe26b;color:#302900}
.vehicle-visual-marker.marker-light_position,.vehicle-visual-marker.marker-light_low_beam,.vehicle-visual-marker.marker-light_high_beam,.vehicle-visual-marker.marker-light_daytime{left:12%}
.vehicle-visual-marker.marker-light_hazard{left:50%}
.vehicle-visual-marker.marker-front_left{left:34%;top:53%}.vehicle-visual-marker.marker-front_right{left:48%;top:48%}.vehicle-visual-marker.marker-rear_left{left:61%;top:49%}.vehicle-visual-marker.marker-rear_right{left:74%;top:47%}.vehicle-visual-marker.marker-trunk{right:7%;top:46%}
.vehicle-visual-marker.marker-window_front_left{left:37%;top:34%}.vehicle-visual-marker.marker-window_front_right{left:49%;top:31%}.vehicle-visual-marker.marker-window_rear_left{left:62%;top:32%}.vehicle-visual-marker.marker-window_rear_right{left:73%;top:31%}
.vehicle-visual-live{position:absolute;z-index:5;top:8px;left:8px;right:8px;display:flex;justify-content:center;flex-wrap:wrap;gap:5px;pointer-events:none}
.vehicle-visual-live>span{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);font-size:9px;font-weight:850;box-shadow:0 5px 14px rgba(0,0,0,.12);backdrop-filter:blur(10px)}
.vehicle-visual-live i{font-style:normal;color:var(--accent)}
.vehicle-visual.state-charging .vehicle-visual-photo:after{content:"";position:absolute;inset:12%;border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);border-radius:50%;animation:vehicleChargePulse 1.8s ease-out infinite;pointer-events:none}
@keyframes vehicleChargePulse{0%{opacity:.75;transform:scale(.84)}100%{opacity:0;transform:scale(1.15)}}
.vehicle-visual-color{z-index:6}.vehicle-visual-color.is-reference{border-style:solid}
@media(max-width:720px){.vehicle-visual{min-height:190px}.vehicle-visual-marker{min-width:22px;height:20px;padding-inline:4px;font-size:7px}.vehicle-visual-live>span{font-size:8px;padding:3px 6px}.vehicle-visual.presentation-crop-charger .vehicle-visual-photo{right:10%}}

/* Leap Hub 1.11.76 — composição visual por assinatura e telemetria tri-state */
.vehicle-visual-photo{isolation:isolate}
.vehicle-visual-photo>img:first-child{position:relative;z-index:1}
.vehicle-visual-overlay{position:absolute!important;inset:0;z-index:2!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;filter:none!important;pointer-events:none;animation:vehicleOverlayIn .18s ease-out both}
.vehicle-visual.presentation-crop-charger .vehicle-visual-overlay{transform:translateX(-4%) scale(1.03)}
@keyframes vehicleOverlayIn{from{opacity:0}to{opacity:1}}
.vehicle-visual-freshness{position:absolute;z-index:7;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;max-width:58%;min-height:22px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--muted);font-size:8px;font-weight:800;line-height:1.1;backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.vehicle-visual-freshness i{width:6px;height:6px;border-radius:50%;background:var(--muted);flex:0 0 auto}
.vehicle-visual-freshness.is-fresh i{background:#5ee1bd;box-shadow:0 0 0 3px color-mix(in srgb,#5ee1bd 18%,transparent)}
.vehicle-visual-freshness.is-aging i{background:#ffcb67}.vehicle-visual-freshness.is-stale i{background:#ff8d8d}.vehicle-visual-freshness.is-unknown i{background:#8190a4}
.cockpit-vehicle-flags .is-unknown{border-style:dashed;opacity:.72;color:var(--muted)}
.vehicle-visual[data-visual-signature*="hazard-on"] .vehicle-visual-photo:before{content:"";position:absolute;z-index:3;inset:16% 8%;border-radius:42%;box-shadow:-22px 14px 24px rgba(255,183,73,.28),22px 14px 24px rgba(255,183,73,.28);animation:vehicleHazard 1s steps(1,end) infinite;pointer-events:none}
@keyframes vehicleHazard{0%,49%{opacity:1}50%,100%{opacity:.12}}
@media(max-width:720px){.vehicle-visual-freshness{right:6px;bottom:6px;max-width:64%;font-size:7px;padding:3px 6px}.vehicle-visual-overlay{object-fit:contain!important}}

/* 1.11.77 · atualização visual em tempo real */
@keyframes vehicleVisualLiveUpdate{0%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}45%{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 58%,transparent),0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}}
.vehicle-visual.is-live-updated{animation:vehicleVisualLiveUpdate .85s ease-out both}
.vehicle-visual[data-visual-loading="1"] .vehicle-visual-freshness i{animation:vehicleChargePulse 1.1s ease-in-out infinite}
.vehicle-visual[data-visual-error="1"] .vehicle-visual-freshness i{background:#ffcb67}
.vehicle-visual-live{max-height:58px;overflow:hidden}
.vehicle-visual-live>span{white-space:nowrap}
@media(max-width:720px){.vehicle-visual-live{max-height:48px;gap:3px}.vehicle-visual-live>span{min-height:20px;padding:2px 5px}}

/* 1.11.78 — estado visual resiliente, diagnóstico e leitura conhecida */
.vehicle-visual-freshness b{font:inherit;font-weight:850;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-visual-freshness.is-offline{border-color:color-mix(in srgb,#ff8d8d 42%,var(--line));color:color-mix(in srgb,#ffb0b0 76%,var(--text))}
.vehicle-visual-freshness.is-offline i{background:#ff7373;box-shadow:0 0 0 3px color-mix(in srgb,#ff7373 18%,transparent)}

/* Em telas móveis, camadas de blur simultâneas custam GPU e provocam travadas
   durante rolagem. Mantemos contraste e hierarquia com superfícies opacas. */
@media(max-width:720px){
  .topbar,.sidebar-backdrop,.modal-backdrop,.app-toast,.mobile-bottom-nav,
  .address-suggestion-list,.topbar-vehicle-menu,.global-assistant-backdrop,
  .route-live-sheet,.route-live-head,.vehicle-section-nav,.alerts-settings-header,
  .route-map-filters-toggle,.route-map-toolbar-overlay,.planned-route-map>.route-map-toolbar{
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important
  }
}
.vehicle-visual-sensor-health{position:absolute;z-index:7;left:8px;bottom:38px;display:inline-flex;align-items:center;min-height:21px;max-width:52%;padding:3px 7px;border:1px solid color-mix(in srgb,#ffcb67 38%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--muted);font-size:8px;font-weight:850;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.vehicle-visual-sensor-health.is-unavailable{border-color:color-mix(in srgb,#ff8d8d 42%,var(--line));color:#ffb0b0}
.vehicle-visual.is-stale-data .vehicle-visual-photo>img,.vehicle-visual.is-stale-data .vehicle-visual-overlay{filter:saturate(.72) contrast(.96)!important}
.vehicle-visual.is-offline-data .vehicle-visual-photo>img,.vehicle-visual.is-offline-data .vehicle-visual-overlay{filter:grayscale(.28) saturate(.5) brightness(.9)!important}
.vehicle-visual.is-stale-data .vehicle-visual-photo:after,.vehicle-visual.is-stale-data .vehicle-visual-photo:before,.vehicle-visual.is-stale-data .vehicle-visual-overlay{animation-play-state:paused!important}
.vehicle-visual.is-sync-delayed .vehicle-visual-freshness:after{content:"sincronização adiada";margin-left:3px;color:#ffcb67;font-size:7px;font-weight:800}
.vehicle-visual[data-visual-error="0"]{--visual-sync-ok:1}.vehicle-visual[data-visual-error="0"].is-sync-delayed{animation:none}.vehicle-visual[data-visual-error="0"].is-sync-delayed .vehicle-visual-freshness:after{display:none}
@media(max-width:720px){.vehicle-visual-sensor-health{left:6px;bottom:34px;max-width:50%;font-size:7px;padding:3px 6px}.vehicle-visual.is-sync-delayed .vehicle-visual-freshness:after{display:none}}

/* 1.11.79 · diagnóstico verificável da imagem do veículo */
.cockpit-vehicle-panel{position:relative}
.vehicle-visual-diagnostic-trigger{position:absolute;z-index:18;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--surface) 91%,transparent);color:var(--accent);font:900 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.13);backdrop-filter:blur(10px)}
.vehicle-visual-diagnostic-trigger:hover,.vehicle-visual-diagnostic-trigger:focus-visible{border-color:var(--accent);background:var(--surface-2);outline:none;transform:translateY(-1px)}
.vehicle-visual.is-asset-fallback:after{content:"imagem alternativa";position:absolute;z-index:7;left:8px;bottom:8px;padding:3px 6px;border:1px solid color-mix(in srgb,var(--warning) 36%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface) 91%,transparent);color:var(--muted);font-size:7px;font-weight:850;line-height:1;backdrop-filter:blur(8px)}
.vehicle-visual.is-asset-fallback .vehicle-visual-color{bottom:31px}
.vehicle-visual.is-asset-missing .vehicle-visual-photo{display:none}
.vehicle-visual-asset-error{position:relative;z-index:3;display:grid;place-items:center;min-height:120px;padding:20px;color:var(--muted);font-size:.78rem;font-weight:800;text-align:center}
.vehicle-visual-diagnostic-backdrop{z-index:145}
.vehicle-visual-diagnostic-modal{width:min(760px,100%);display:grid;gap:16px}
.vehicle-visual-diagnostic-status{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.82rem;font-weight:800}
.vehicle-visual-diagnostic-status.is-ready{border-color:color-mix(in srgb,var(--success) 42%,var(--line));color:var(--success)}
.vehicle-visual-diagnostic-status.is-degraded,.vehicle-visual-diagnostic-status.is-loading{border-color:color-mix(in srgb,var(--warning) 42%,var(--line));color:var(--warning)}
.vehicle-visual-diagnostic-status.is-attention{border-color:color-mix(in srgb,var(--danger) 42%,var(--line));color:color-mix(in srgb,var(--danger) 78%,var(--text))}
.vehicle-visual-diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.vehicle-visual-diagnostic-grid>div{display:grid;gap:4px;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.vehicle-visual-diagnostic-grid span{color:var(--muted);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.vehicle-visual-diagnostic-grid strong{min-width:0;overflow-wrap:anywhere;color:var(--text);font-size:.82rem}
.vehicle-visual-diagnostic-sensors{display:grid;gap:9px}.vehicle-visual-diagnostic-sensors h3{margin:0;font-size:.88rem}
.vehicle-visual-diagnostic-sensors>div{display:flex;flex-wrap:wrap;gap:6px}
.vehicle-visual-diagnostic-sensors span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.7rem;font-weight:800}
.vehicle-visual-diagnostic-sensors span.is-complete{border-color:color-mix(in srgb,var(--success) 36%,var(--line));color:var(--success)}
.vehicle-visual-diagnostic-sensors span.is-partial{border-color:color-mix(in srgb,var(--warning) 38%,var(--line));color:var(--warning)}
.vehicle-visual-diagnostic-sensors span.is-unavailable{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:color-mix(in srgb,var(--danger) 72%,var(--text))}
.vehicle-visual-diagnostic-json{border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.vehicle-visual-diagnostic-json summary{padding:11px 13px;cursor:pointer;color:var(--muted);font-size:.78rem;font-weight:850}
.vehicle-visual-diagnostic-json pre{max-height:280px;margin:0;padding:0 13px 13px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}

.vehicle-visual-asset-library{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);overflow:hidden}
.vehicle-visual-asset-library>summary{padding:11px 13px;cursor:pointer;color:var(--text);font-size:.82rem;font-weight:900;list-style-position:inside}
.vehicle-visual-asset-library-body{display:grid;gap:12px;padding:0 13px 13px}.vehicle-visual-asset-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vehicle-visual-asset-summary>span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 78%,transparent)}.vehicle-visual-asset-summary strong{font-size:1rem}.vehicle-visual-asset-summary small{color:var(--muted);font-size:.66rem;font-weight:750}
.vehicle-visual-asset-library form{display:grid;gap:10px;padding:11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.vehicle-visual-asset-library form.is-loading{opacity:.68;pointer-events:none}.vehicle-visual-asset-controls{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:8px}.vehicle-visual-asset-controls label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:850}.vehicle-visual-asset-controls select,.vehicle-visual-asset-controls input{min-width:0;height:38px}.vehicle-visual-asset-controls input[type=file]{height:auto;padding:7px}
.vehicle-visual-asset-path{display:grid;gap:4px}.vehicle-visual-asset-path span{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.vehicle-visual-asset-path code{display:block;padding:8px 9px;border-radius:8px;background:var(--surface-2);overflow-wrap:anywhere;font-size:.68rem}.vehicle-visual-asset-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.vehicle-visual-asset-actions span{color:var(--muted);font-size:.7rem;font-weight:750}
.vehicle-visual-asset-list{display:grid;gap:6px}.vehicle-visual-asset-list>a{display:flex;justify-content:space-between;gap:9px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;color:var(--text);text-decoration:none;background:color-mix(in srgb,var(--surface) 68%,transparent)}.vehicle-visual-asset-list code{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.66rem}.vehicle-visual-asset-list small{flex:0 0 auto;color:var(--muted);font-size:.63rem}.vehicle-visual-asset-list>p{margin:0;color:var(--muted);font-size:.75rem}
.vehicle-visual-test-lab{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);overflow:hidden}
.vehicle-visual-test-lab>summary{padding:11px 13px;cursor:pointer;color:var(--text);font-size:.82rem;font-weight:900;list-style-position:inside}
.vehicle-visual-test-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.82fr);gap:14px;padding:0 13px 13px}
.vehicle-visual-test-layout form{display:grid;gap:11px;min-width:0}.vehicle-visual-test-layout form.is-loading{opacity:.72;pointer-events:none}
.vehicle-visual-test-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vehicle-visual-test-selects label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:850}.vehicle-visual-test-selects select{min-width:0;height:38px;padding:0 9px}
.vehicle-visual-test-layout fieldset{margin:0;padding:9px;border:1px solid var(--line);border-radius:10px}.vehicle-visual-test-layout legend{padding:0 5px;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.vehicle-visual-test-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.vehicle-visual-test-components label{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text);font-size:.72rem;font-weight:750;cursor:pointer}.vehicle-visual-test-components label:has(input:checked){border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.vehicle-visual-test-components input{margin:0;accent-color:var(--accent)}
.vehicle-visual-test-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.vehicle-visual-test-actions span{color:var(--muted);font-size:.7rem;font-weight:750}
.vehicle-visual-test-preview{display:grid;place-items:center;min-height:220px;padding:10px;border:1px dashed var(--line);border-radius:12px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 62%);overflow:hidden}.vehicle-visual-test-preview>.vehicle-visual{width:min(100%,420px);margin:0}.vehicle-visual-test-preview .vehicle-visual-freshness,.vehicle-visual-test-preview .vehicle-visual-sensor-health{display:none}
@media(max-width:700px){.vehicle-visual-test-layout{grid-template-columns:1fr;padding:0 10px 10px}.vehicle-visual-test-selects{grid-template-columns:1fr 1fr}.vehicle-visual-test-components{grid-template-columns:1fr}.vehicle-visual-test-preview{min-height:190px}.vehicle-visual-diagnostic-trigger{top:8px;right:8px;width:26px;height:26px}.vehicle-visual-diagnostic-modal{gap:12px}.vehicle-visual-diagnostic-grid{grid-template-columns:1fr}.vehicle-visual-diagnostic-json pre{max-height:230px}.vehicle-visual.is-asset-fallback:after{left:6px;bottom:6px}}
/* 1.11.80 · laboratório visual e contrato de componentes v6 */

.presentation-official-api .vehicle-visual-photo{background:radial-gradient(circle at 50% 54%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 64%)}
.presentation-official-api .vehicle-visual-photo>img{object-fit:contain;filter:none!important}

@media(max-width:700px){.vehicle-visual-asset-summary{grid-template-columns:1fr 1fr}.vehicle-visual-asset-controls{grid-template-columns:1fr}.vehicle-visual-asset-list>a{display:grid}.vehicle-visual-asset-list small{justify-self:start}}


/* v1.11.83 · convites compactos e imagem oficial em fundo branco */
.invite-layout{
    min-height:auto;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.45fr);
    align-items:start;
    gap:22px;
    max-width:1180px;
    margin:0 auto;
}
.invite-layout .login-copy{
    position:sticky;
    top:24px;
    display:grid;
    align-content:start;
    gap:12px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:20px;
    background:linear-gradient(145deg,rgba(19,36,59,.96),rgba(10,24,41,.98));
    box-shadow:var(--shadow);
}
.invite-layout .login-copy h1{
    max-width:520px;
    margin:4px 0 2px;
    font-size:clamp(2rem,3.8vw,3.45rem);
    line-height:1;
    letter-spacing:-.05em;
}
.invite-layout .login-copy p{margin:0;font-size:.96rem;line-height:1.55}
.invite-layout .feature-list{display:grid;grid-template-columns:1fr;margin:4px 0 0;gap:8px}
.invite-layout .feature-list span{padding:9px 11px;font-size:.72rem}
.invite-layout .auth-card{width:100%;max-width:none;padding:22px}
.invite-layout .auth-heading{margin-bottom:14px}
.invite-layout .auth-heading h2{font-size:1.45rem}
.invite-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;align-items:start}
.invite-form>input[type=hidden]{display:none}
.invite-form>label{min-width:0;margin:0}
.invite-form>label small{line-height:1.35}
.invite-form>.invite-plan,
.invite-form>.beta-vehicle-quota,
.invite-form>.beta-consent-box,
.invite-form>.alert,
.invite-form>.button{grid-column:1/-1}
.invite-beta-form>label:nth-of-type(5){grid-column:1/-1}
.invite-standard-form>label:first-of-type{grid-column:1/-1}
.invite-form>.button{justify-self:end;width:min(260px,100%);min-height:46px;margin-top:2px}
.invite-layout .beta-vehicle-quota{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin:2px 0;
    padding:13px;
    border-color:var(--line);
    border-radius:15px;
}
.invite-layout .beta-vehicle-quota legend{padding:0 5px;font-size:.84rem}
.invite-layout .beta-vehicle-quota>.hint,
.invite-layout .beta-vehicle-quota>.alert,
.invite-layout .beta-vehicle-quota>input[type=hidden]{grid-column:1/-1}
.invite-layout .beta-vehicle-quota>.hint{margin:0 0 2px;font-size:.72rem;line-height:1.4}
.invite-layout .vehicle-invite-choice{
    display:flex;
    align-items:flex-start;
    min-height:78px;
    margin:0;
    padding:10px;
    border-radius:12px;
}
.invite-layout .vehicle-invite-choice span{display:grid;gap:3px;min-width:0}
.invite-layout .vehicle-invite-choice strong{font-size:.78rem}
.invite-layout .vehicle-invite-choice small{font-size:.68rem;line-height:1.35}
.invite-layout .beta-consent-box{margin:2px 0;padding:13px;border-radius:15px}
.invite-layout .beta-consent-box>p{margin:5px 0 7px;font-size:.8rem;line-height:1.45}
.invite-layout .beta-consent-box>ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px 18px;
    margin:7px 0 10px;
    padding-left:18px;
    font-size:.72rem;
    line-height:1.35;
}
.invite-layout .beta-consent-box .alert{margin:8px 0;padding:10px;font-size:.72rem;line-height:1.4}
.invite-layout .required-consent{margin:8px 0 0;padding:10px}
.invite-layout .required-consent strong{font-size:.76rem}
.invite-layout .required-consent small{font-size:.67rem;line-height:1.35}
.invite-layout .auth-card>.hint{display:block;margin-top:10px;text-align:right;font-size:.69rem}
.vehicle-visual.presentation-official-api,
.presentation-official-api .vehicle-visual-photo{background:#fff!important}
.presentation-official-api .vehicle-visual-photo>img{background:#fff}

body[data-theme="light"] .invite-layout .login-copy{background:#fff}
@media(prefers-color-scheme:light){body[data-theme="system"] .invite-layout .login-copy{background:#fff}}
@media(max-width:920px){
    .invite-layout{grid-template-columns:1fr;gap:14px}
    .invite-layout .login-copy{position:static;padding:18px}
    .invite-layout .login-copy h1{font-size:clamp(1.9rem,7vw,2.8rem)}
    .invite-layout .feature-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
    .invite-layout .auth-card{padding:16px}
    .invite-form{grid-template-columns:1fr;gap:10px}
    .invite-form>*,.invite-beta-form>label:nth-of-type(5),.invite-standard-form>label:first-of-type{grid-column:1!important}
    .invite-layout .beta-vehicle-quota{grid-template-columns:1fr 1fr;padding:11px}
    .invite-layout .beta-consent-box>ul{grid-template-columns:1fr}
    .invite-form>.button{width:100%;justify-self:stretch}
    .invite-layout .feature-list{grid-template-columns:1fr}
}
@media(max-width:430px){.invite-layout .beta-vehicle-quota{grid-template-columns:1fr}}


/* v1.11.84 · convite coletivo preenchido e galeria oficial da API */
.group-invite-page{display:grid;gap:18px;max-width:1180px;margin:0 auto}
.group-invite-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px 30px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface))}
.group-invite-hero h1{margin:6px 0 8px;font-size:clamp(2rem,4vw,3.6rem);line-height:1;letter-spacing:-.05em}.group-invite-hero p{margin:0;max-width:720px}
.group-invite-highlights{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:420px}.group-invite-highlights span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.74rem;font-weight:800;white-space:nowrap}
.group-invite-card{padding:24px 28px}.group-invite-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.group-invite-heading h2{margin:5px 0 4px;font-size:1.55rem}.group-invite-heading p{margin:0}
.group-invite-form{display:grid;gap:16px}.group-invite-account{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.group-invite-account label{margin:0}.group-invite-account label small{min-height:2.5em;font-size:.69rem;line-height:1.35}
.group-invite-options{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:16px;align-items:stretch}.group-invite-options .beta-vehicle-quota{margin:0;padding:14px;border:1px solid var(--line);border-radius:15px}.group-invite-options .beta-vehicle-quota legend{padding:0 6px;font-size:.82rem}.group-invite-options .beta-vehicle-quota>.hint{margin:0 0 10px;font-size:.72rem}.vehicle-invite-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.group-invite-page .vehicle-invite-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;min-height:94px;margin:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);cursor:pointer}.group-invite-page .vehicle-invite-choice:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.group-invite-page .vehicle-invite-choice input{width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--accent)}.group-invite-page .vehicle-invite-choice span{display:grid;gap:5px;min-width:0;padding-right:44px}.group-invite-page .vehicle-invite-choice strong{font-size:.88rem}.group-invite-page .vehicle-invite-choice small{color:var(--muted);font-size:.69rem;line-height:1.35}.group-invite-page .vehicle-invite-choice em{position:absolute;right:9px;top:9px;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-size:.64rem;font-style:normal;font-weight:900;white-space:nowrap}
.group-invite-side{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.group-invite-side label{margin:0}.invite-policy-note{display:grid;gap:6px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,transparent)}.invite-policy-note strong{font-size:.8rem}.invite-policy-note span{color:var(--muted);font-size:.7rem;line-height:1.35}
.group-invite-consent{border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.group-invite-consent summary{padding:12px 14px;cursor:pointer;color:var(--text);font-size:.78rem;font-weight:850}.group-invite-consent>div{padding:0 14px 13px}.group-invite-consent p{margin:0 0 7px;font-size:.74rem}.group-invite-consent ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin:0;padding-left:18px;color:var(--muted);font-size:.7rem;line-height:1.35}
.group-required-consent{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warning) 34%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--warning) 6%,var(--surface-2))}.group-required-consent input{width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--accent)}.group-required-consent span{display:grid;gap:3px}.group-required-consent strong{font-size:.78rem}.group-required-consent small{font-size:.68rem;line-height:1.35}
.group-invite-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.group-invite-footer small{color:var(--muted);font-size:.69rem}.group-invite-footer .button{min-width:220px}
.official-layer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.official-layer-summary>div{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.official-layer-summary strong{overflow-wrap:anywhere;font-size:.9rem}.official-layer-summary span{color:var(--muted);font-size:.7rem}.official-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.official-layer-card{display:grid;gap:12px;padding:14px}.official-layer-image{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fff 0 50%,#0c192a 50%)}.official-layer-image img{width:100%;height:100%;object-fit:contain}.official-layer-card h2{margin:4px 0;font-size:.85rem;overflow-wrap:anywhere}.official-layer-card p{margin:0 0 10px;font-size:.72rem}
.vehicle-visual-api-debug{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.vehicle-visual-api-debug span{color:var(--muted);font-size:.74rem}.vehicle-visual-api-debug a{white-space:nowrap}
.presentation-official-api-retained .vehicle-visual-freshness b:before{content:'Última imagem confirmada · '}
@media(max-width:900px){.group-invite-hero{grid-template-columns:1fr}.group-invite-highlights{justify-content:flex-start;max-width:none}.group-invite-options{grid-template-columns:1fr}.official-layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.group-invite-hero,.group-invite-card{padding:18px}.group-invite-account{grid-template-columns:1fr}.vehicle-invite-grid{grid-template-columns:1fr}.group-invite-consent ul{grid-template-columns:1fr}.group-invite-footer{align-items:stretch;flex-direction:column}.group-invite-footer .button{width:100%;min-width:0}.official-layer-summary,.official-layer-grid{grid-template-columns:1fr}.vehicle-visual-api-debug{align-items:flex-start;flex-direction:column}.vehicle-visual-api-debug a{width:100%}}


/* v1.11.85 · correção estrutural do convite coletivo */
.group-invite-page{width:100%;max-width:1100px;margin-inline:auto}
.group-invite-page .vehicle-invite-copy{display:flex;flex-direction:column;gap:7px;min-width:0}
.group-invite-page .vehicle-invite-copy strong,.group-invite-page .vehicle-invite-copy small{display:block;margin:0}
.group-invite-page .vehicle-choice-indicator{flex:0 0 auto}


/* 1.11.86 — canvas oficial sem recorte e teste de imagens por veículo */
.presentation-official-api .vehicle-visual-photo,
.presentation-official-api-retained .vehicle-visual-photo{background:radial-gradient(circle at 50% 64%,rgba(17,40,62,.36),rgba(8,24,42,.06) 48%,transparent 72%)!important}
.presentation-official-api .vehicle-visual-photo>img,
.presentation-official-api-retained .vehicle-visual-photo>img{background:transparent!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.official-image-settings-card{margin-top:18px;scroll-margin-top:24px}.official-image-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.official-image-test-card{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:104px;margin:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.official-image-test-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.official-image-test-card.is-selected,.official-image-test-card:has(input:checked){border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.official-image-test-card>input{position:absolute;opacity:0;pointer-events:none}.official-image-test-check{position:absolute;right:10px;top:10px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:transparent;font-size:13px;font-weight:900}.official-image-test-card:has(input:checked) .official-image-test-check{background:var(--accent);border-color:var(--accent);color:#07131d}.official-image-test-preview{display:grid;place-items:center;width:86px;height:70px;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 62%,rgba(82,215,194,.10),transparent 68%)}.official-image-test-preview img{display:block;width:100%;height:100%;object-fit:contain}.official-image-test-placeholder{font-size:28px;color:var(--muted)}.official-image-test-copy{display:flex;min-width:0;flex-direction:column;gap:4px}.official-image-test-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.official-image-test-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.official-image-test-copy em{color:var(--accent);font-size:11px;font-style:normal;font-weight:750}.official-image-test-action{align-self:end;margin-right:30px}.official-image-test-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.official-image-test-footer small{max-width:620px;color:var(--muted)}
@media(max-width:900px){.official-image-test-grid{grid-template-columns:1fr}.official-image-test-footer{align-items:stretch;flex-direction:column}.official-image-test-footer .button{width:100%}}
@media(max-width:560px){.official-image-test-card{grid-template-columns:72px minmax(0,1fr);padding:10px}.official-image-test-preview{width:72px;height:62px}.official-image-test-action{grid-column:1/-1;margin:0}.official-image-test-action .button{width:100%}.official-image-test-copy small{white-space:normal}}


/* Leap Hub 1.11.87 — restaura o fundo escuro da apresentação oficial. */
.vehicle-visual.presentation-official-api,
.vehicle-visual.presentation-official-api-retained{
  background:#081827!important;
}
.presentation-official-api .vehicle-visual-photo,
.presentation-official-api-retained .vehicle-visual-photo{
  background:
    radial-gradient(ellipse at 50% 76%,rgba(111,145,174,.22) 0%,rgba(32,58,82,.18) 34%,transparent 62%),
    linear-gradient(180deg,#24384d 0%,#152a3f 42%,#0a1b2c 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(151,181,207,.08)!important;
}
.presentation-official-api .vehicle-visual-photo>img,
.presentation-official-api-retained .vehicle-visual-photo>img{
  background:transparent!important;
  filter:none!important;
}
.presentation-official-api .vehicle-visual-photo:before,
.presentation-official-api-retained .vehicle-visual-photo:before{
  content:"";
  position:absolute;
  z-index:0;
  left:12%;
  right:12%;
  bottom:5%;
  height:19%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.30),transparent 68%);
  filter:blur(10px);
  pointer-events:none;
}
.presentation-official-api .vehicle-visual-photo>img,
.presentation-official-api-retained .vehicle-visual-photo>img{
  position:relative;
  z-index:1;
}
@media(max-width:720px){
  .presentation-official-api .vehicle-visual-photo,
  .presentation-official-api-retained .vehicle-visual-photo{
    background:
      radial-gradient(ellipse at 50% 78%,rgba(111,145,174,.20),transparent 58%),
      linear-gradient(180deg,#21364a 0%,#13283c 44%,#091a2a 100%)!important;
  }
}


/* Leap Hub 1.11.88 — biblioteca oficial agrupada por modelo, sem exposição de usuários. */
.official-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.official-model-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 90%,transparent);transition:border-color .18s ease,transform .18s ease,background .18s ease}
.official-model-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 46%,var(--line))}
.official-model-card.is-selected,.official-model-card:has(input:checked){border-color:color-mix(in srgb,var(--accent) 72%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}
.official-model-select{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:14px;min-width:0;margin:0;cursor:pointer}
.official-model-select>input{position:absolute;opacity:0;pointer-events:none}
.official-model-select .official-image-test-preview{width:110px;height:78px;background:radial-gradient(circle at 50% 68%,rgba(82,215,194,.10),transparent 68%)}
.official-model-select .official-image-test-copy strong{font-size:16px}
.official-model-action{position:relative;z-index:2;padding-right:30px;white-space:nowrap}
.official-model-switcher{display:flex;align-items:center;gap:8px;margin:0 0 16px}
@media(max-width:900px){.official-model-grid{grid-template-columns:1fr}}
@media(max-width:620px){.official-model-card{grid-template-columns:1fr}.official-model-select{grid-template-columns:84px minmax(0,1fr)}.official-model-select .official-image-test-preview{width:84px;height:66px}.official-model-action{padding:0}.official-model-action .button{width:100%}}


/* Leap Hub 1.11.93 — painel do veículo no padrão do dashboard. */
.vehicle-detail-dashboard{max-width:1480px;margin-inline:auto}
.vehicle-detail-head{align-items:center}.vehicle-detail-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.vehicle-owner-notice{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.vehicle-owner-notice.is-warning{border-color:color-mix(in srgb,var(--warning) 48%,var(--line));background:color-mix(in srgb,var(--warning) 6%,var(--surface))}
.vehicle-owner-notice.is-error{border-color:color-mix(in srgb,var(--danger) 52%,var(--line));background:color-mix(in srgb,var(--danger) 6%,var(--surface))}
.vehicle-owner-notice-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--warning) 14%,var(--surface-2));color:var(--warning);font-size:1.1rem;font-weight:900}
.vehicle-owner-notice.is-error .vehicle-owner-notice-icon{background:color-mix(in srgb,var(--danger) 14%,var(--surface-2));color:var(--danger)}
.vehicle-owner-notice small{display:block;color:var(--muted-2);font-size:.63rem;font-weight:850;letter-spacing:.09em}.vehicle-owner-notice h2{margin:3px 0 2px;font-size:1rem}.vehicle-owner-notice p{margin:0;color:var(--muted);font-size:.78rem}.vehicle-owner-notice em{display:block;margin-top:5px;color:var(--text);font-size:.7rem;font-style:normal}.vehicle-owner-notice-actions{display:flex;gap:7px;align-items:center}
.vehicle-detail-primary-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.78fr) minmax(300px,.9fr);gap:12px;align-items:stretch}
.vehicle-detail-visual{padding-bottom:13px}.vehicle-detail-visual .cockpit-panel-head{margin-bottom:7px}.vehicle-detail-car{display:block;min-height:250px;text-decoration:none}.vehicle-detail-car .vehicle-visual{min-height:250px;height:100%;border:0;background:transparent}.vehicle-detail-car .vehicle-visual-photo{min-height:220px}.vehicle-detail-state-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}.vehicle-detail-state-chips span{padding:8px 6px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);font-size:.7rem;font-weight:760;text-align:center}
.vehicle-detail-summary .cockpit-panel-head{margin-bottom:12px}.vehicle-detail-battery{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:8px 0}.vehicle-detail-battery small{display:block;color:var(--muted);font-size:.68rem}.vehicle-detail-battery strong{display:block;font-size:clamp(2.8rem,4.5vw,4rem);line-height:.92;letter-spacing:-.06em}.vehicle-detail-battery b{display:block;font-size:1.22rem;line-height:1.1}.vehicle-detail-openings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:14px}.vehicle-detail-openings>div{padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}.vehicle-detail-openings small{display:block;color:var(--muted);font-size:.65rem}.vehicle-detail-openings strong{display:block;margin-top:3px;font-size:.78rem}
.vehicle-detail-health-copy{display:grid;gap:5px;margin-bottom:10px}.vehicle-detail-health-copy strong{font-size:.84rem;line-height:1.35}.vehicle-detail-health-copy small{color:var(--muted);font-size:.72rem;line-height:1.45}
.vehicle-detail-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.vehicle-detail-kpi-grid article{min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.vehicle-detail-kpi-grid small{display:block;color:var(--muted-2);font-size:.62rem;font-weight:830;letter-spacing:.06em;text-transform:uppercase}.vehicle-detail-kpi-grid strong{display:block;margin-top:5px;font-size:1.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-detail-kpi-grid span{display:block;margin-top:3px;color:var(--muted);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-detail-shortcuts{grid-template-columns:repeat(6,minmax(0,1fr))}.vehicle-detail-shortcuts .cockpit-action{min-height:68px}
.vehicle-detail-disclosure{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}.vehicle-detail-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;cursor:pointer;list-style:none}.vehicle-detail-disclosure>summary::-webkit-details-marker{display:none}.vehicle-detail-disclosure>summary span{display:grid;gap:3px}.vehicle-detail-disclosure>summary small{color:var(--muted-2);font-size:.62rem;font-weight:850;letter-spacing:.08em}.vehicle-detail-disclosure>summary strong{font-size:.9rem}.vehicle-detail-disclosure>summary b{color:var(--accent);font-size:.72rem}.vehicle-detail-disclosure[open]>summary{border-bottom:1px solid var(--line)}.vehicle-detail-disclosure[open]>summary b{font-size:0}.vehicle-detail-disclosure[open]>summary b:after{content:'Ocultar';font-size:.72rem}.vehicle-detail-disclosure-body{display:grid;gap:12px;padding:12px}.vehicle-detail-disclosure-body>.card,.vehicle-detail-disclosure-body>.content-grid,.vehicle-detail-disclosure-body>.metric-grid{margin:0}
@media(max-width:1180px){.vehicle-detail-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-detail-health{grid-column:1/-1}.vehicle-detail-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.vehicle-detail-head-actions{width:100%;justify-content:stretch}.vehicle-detail-head-actions .button{flex:1}.vehicle-owner-notice{grid-template-columns:36px minmax(0,1fr)}.vehicle-owner-notice-actions{grid-column:1/-1}.vehicle-owner-notice-actions .button{flex:1}.vehicle-detail-primary-grid{grid-template-columns:minmax(0,1fr)}.vehicle-detail-health{grid-column:auto}.vehicle-detail-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-detail-shortcuts{grid-template-columns:none}.vehicle-detail-car{min-height:210px}.vehicle-detail-car .vehicle-visual{min-height:210px}.vehicle-detail-car .vehicle-visual-photo{min-height:180px}}
@media(max-width:520px){.vehicle-detail-dashboard{gap:8px}.vehicle-owner-notice{padding:12px}.vehicle-owner-notice-actions{flex-direction:column}.vehicle-owner-notice-actions .button{width:100%}.vehicle-detail-kpi-grid{gap:6px}.vehicle-detail-kpi-grid article{padding:10px}.vehicle-detail-state-chips{grid-template-columns:1fr}.vehicle-detail-battery strong{font-size:3.15rem}.vehicle-detail-disclosure>summary{padding:12px 14px}}


/* Leap Hub 1.11.94 — suíte do veículo compacta e responsiva. */
.vehicle-subpage{width:100%;max-width:1480px;min-width:0;margin-inline:auto;display:grid;gap:10px;overflow:clip}
.vehicle-subpage>*{min-width:0;max-width:100%}
.vehicle-subpage-head{align-items:center;margin:0;padding:7px 4px 4px}
.vehicle-subpage-head h1{font-size:clamp(1.85rem,3.5vw,3rem);margin-block:5px 4px}
.vehicle-subpage-head p{font-size:.88rem;line-height:1.5}
.vehicle-subpage-head .page-actions .button{min-height:36px;padding:7px 11px;font-size:.74rem}
.vehicle-section-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(104px,1fr);gap:5px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
.vehicle-section-nav::-webkit-scrollbar{display:none}
.vehicle-section-nav-item{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:7px 10px;border:1px solid transparent;border-radius:7px;color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:820;white-space:nowrap}
.vehicle-section-nav-item>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:.78rem}
.vehicle-section-nav-item:hover{color:var(--text);background:var(--surface-2)}
.vehicle-section-nav-item.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-2))}
.vehicle-section-nav-item.active>span{background:color-mix(in srgb,var(--accent) 15%,var(--surface-2));color:var(--accent)}
.vehicle-subpage .card,.vehicle-subpage .cockpit-panel{box-shadow:none}

/* Controles */
.vehicle-controls-page .remote-control-status{gap:6px;margin-bottom:0}
.vehicle-controls-page .remote-status-chip{min-height:42px;padding:8px 10px;border-radius:7px;box-shadow:none}
.vehicle-controls-page .remote-category-grid{gap:8px;margin:0}
.vehicle-controls-page .remote-category,.vehicle-controls-page .remote-security-panel,.vehicle-controls-page .remote-history-panel{border-radius:8px}
.vehicle-controls-page .remote-category summary,.vehicle-controls-page .remote-security-panel summary,.vehicle-controls-page .remote-history-panel summary{min-height:54px;padding:9px 11px}
.vehicle-controls-page .remote-category-icon{width:32px;height:32px;border-radius:8px}
.vehicle-controls-page .remote-action-list{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:7px;padding:8px}
.vehicle-controls-page .remote-action-tile{gap:6px;padding:10px;border-radius:8px}
.vehicle-controls-page .remote-action-tile>p{font-size:.67rem}
.vehicle-controls-page .remote-action-button{min-height:34px}
.vehicle-controls-page .remote-security-panel,.vehicle-controls-page .remote-history-panel{margin:0}

/* Configurações */
.vehicle-settings-page .vehicle-settings{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px;margin:0}
.vehicle-settings-page .vehicle-settings .settings-section:first-child{grid-column:auto}
.vehicle-settings-page .settings-section{gap:12px;padding:16px;border-radius:8px}
.vehicle-settings-page .settings-section-head{gap:10px}
.vehicle-settings-page .settings-section-head>span{width:31px;height:31px;border-radius:8px}
.vehicle-settings-page .settings-section-head h2{font-size:1rem}
.vehicle-settings-page .settings-section-head p{font-size:.72rem;line-height:1.4}
.vehicle-settings-page .settings-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.vehicle-settings-page .settings-link-card{grid-template-columns:34px minmax(0,1fr) auto;min-height:56px;gap:9px;padding:8px 9px;border-radius:7px}
.vehicle-settings-page .settings-icon{width:32px;height:32px;border-radius:8px}
.vehicle-settings-page .settings-link-card strong{font-size:.76rem}
.vehicle-settings-page .settings-link-card small{font-size:.64rem;margin-top:2px}
.vehicle-settings-page .release-meta{gap:6px;margin:0}
.vehicle-settings-page .release-meta>span{padding:9px;border-radius:7px}
.vehicle-settings-page .driver-details>div{padding-block:8px}
.vehicle-settings-page .form-actions{gap:6px;flex-wrap:wrap;margin-top:10px}
.vehicle-settings-page .form-actions .button{min-height:36px;padding:7px 10px;font-size:.72rem}
.vehicle-settings-page .vehicle-settings-panels{margin:0;gap:8px;padding:0}

/* Rotinas */
.vehicle-routines-page .routine-create-grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:8px;margin:0}
.vehicle-routines-page .routine-create-grid>.card{padding:16px}
.vehicle-routines-page .routine-create-grid .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vehicle-routines-page .routine-create-grid label{margin-bottom:8px;font-size:.75rem}
.vehicle-routines-page .routine-create-grid input,.vehicle-routines-page .routine-create-grid select{min-height:40px;padding:8px 10px}
.vehicle-routines-page .day-selector{gap:5px}
.vehicle-routines-page .page-section{margin:0}
.vehicle-routines-page .section-heading{margin-bottom:8px}
.vehicle-routines-page .routine-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vehicle-routines-page .routine-card{padding:14px;border-radius:8px}
.vehicle-routines-page .routine-card .form-actions{display:grid;grid-template-columns:1fr auto;gap:6px;padding-top:8px}
.vehicle-routines-page .routine-card .button{min-height:34px;padding:7px 10px;font-size:.7rem}

/* Viagens */
.vehicle-trips-page>.page-heading{margin:0;padding:7px 4px 4px}
.vehicle-trips-page>.page-heading h1{font-size:clamp(1.85rem,3.5vw,3rem)}
.vehicle-trips-page .trip-filter-card{margin:0;padding:14px;border-radius:8px}
.vehicle-trips-page .trip-filter-grid{grid-template-columns:125px 125px minmax(160px,1fr) minmax(130px,.7fr) minmax(130px,.7fr) auto;gap:7px}
.vehicle-trips-page .trip-filter-grid input,.vehicle-trips-page .trip-filter-grid select{min-height:40px;padding:8px 9px}
.vehicle-trips-page .trip-filter-grid .button{min-height:40px}
.vehicle-trips-page .trip-intelligence-metrics{gap:7px;margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.vehicle-trips-page .metric-card{min-height:92px;padding:13px;border-radius:8px}
.vehicle-trips-page .metric-icon{width:38px;height:38px;border-radius:9px}
.vehicle-trips-page .metric-card strong{font-size:1.28rem}
.vehicle-trips-page .content-grid{gap:8px;margin:0}
.vehicle-trips-page .content-grid>.card,.vehicle-trips-page>.card{padding:16px;border-radius:8px}
.vehicle-trips-page .trip-profile-grid{gap:7px}
.vehicle-trips-page .trip-profile-card{padding:11px;border-radius:8px}
.vehicle-trips-page .trip-highlights-grid{gap:7px;margin:0}
.vehicle-trips-page .trip-highlight-card{padding:13px;border-radius:8px;box-shadow:none}
.vehicle-trips-page .table-card{border-radius:8px}

/* Corrige cortes e deslocamento em telas pequenas, inclusive no painel do veículo. */
.app-shell,.content-shell,.content-shell>main,.cockpit-dashboard,.vehicle-detail-dashboard,.vehicle-subpage{min-width:0!important;max-width:100%!important}
.vehicle-detail-dashboard,.vehicle-subpage{box-sizing:border-box}
.vehicle-detail-primary-grid,.vehicle-detail-primary-grid>*{min-width:0!important;max-width:100%!important}
.vehicle-detail-visual,.vehicle-detail-car,.vehicle-detail-car .vehicle-visual,.vehicle-detail-car .vehicle-visual-photo{width:100%!important;max-width:100%!important;min-width:0!important}
.vehicle-detail-car img,.vehicle-subpage img,.vehicle-subpage svg{max-width:100%;height:auto}

@media(max-width:1180px){
  .vehicle-routines-page .routine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-trips-page .trip-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .content-shell>main{width:100%!important;max-width:100%!important;margin:0!important;padding:12px 9px calc(88px + env(safe-area-inset-bottom))!important;overflow-x:clip}
  .vehicle-detail-dashboard,.vehicle-subpage{width:100%!important;margin:0!important;padding:0!important;overflow:clip}
  .vehicle-subpage-head{padding:8px 4px 3px}
  .vehicle-subpage-head .page-actions{width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(110px,1fr);overflow-x:auto}
  .vehicle-section-nav{grid-auto-columns:minmax(92px,1fr);margin:0}
  .vehicle-section-nav-item{min-height:39px;padding:6px 8px;font-size:.68rem}
  .vehicle-controls-page .remote-control-status{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-controls-page .remote-category-grid{grid-template-columns:minmax(0,1fr)}
  .vehicle-settings-page .vehicle-settings,.vehicle-routines-page .routine-create-grid{grid-template-columns:minmax(0,1fr)}
  .vehicle-settings-page .settings-links{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .vehicle-routines-page .routine-create-grid .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-routines-page .routine-grid{grid-template-columns:minmax(0,1fr)}
  .vehicle-trips-page .trip-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-trips-page .trip-intelligence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-trips-page .trip-filter-grid .button{width:100%}
  .vehicle-detail-head{padding-inline:4px!important}
  .vehicle-detail-head>div,.vehicle-detail-head-actions{min-width:0;max-width:100%}
  .vehicle-detail-primary-grid{grid-template-columns:minmax(0,1fr)!important;width:100%}
  .vehicle-detail-car{min-height:190px!important}
  .vehicle-detail-car .vehicle-visual{min-height:190px!important}
  .vehicle-detail-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .content-shell>main{padding-left:6px!important;padding-right:6px!important}
  .vehicle-section-nav{margin-inline:0;padding:4px}
  .vehicle-section-nav-item{min-height:37px;gap:5px;padding:5px 7px}
  .vehicle-section-nav-item>span{width:23px;height:23px}
  .vehicle-controls-page .remote-control-status{grid-template-columns:minmax(0,1fr)}
  .vehicle-controls-page .remote-action-list{grid-template-columns:minmax(0,1fr)}
  .vehicle-settings-page .settings-links{grid-template-columns:minmax(0,1fr)}
  .vehicle-routines-page .routine-create-grid .form-grid{grid-template-columns:minmax(0,1fr)}
  .vehicle-trips-page .trip-filter-grid,.vehicle-trips-page .trip-intelligence-metrics{grid-template-columns:minmax(0,1fr)}
  .vehicle-detail-dashboard{gap:6px!important}
  .vehicle-detail-head h1{font-size:clamp(1.75rem,9vw,2.25rem)!important;max-width:100%}
  .vehicle-detail-head-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .vehicle-detail-head-actions .button{min-width:0;width:100%}
  .vehicle-detail-primary-grid>.cockpit-panel{width:100%;margin:0;border-radius:7px}
  .vehicle-detail-car{min-height:170px!important}
  .vehicle-detail-car .vehicle-visual{min-height:170px!important}
  .vehicle-detail-car .vehicle-visual-photo{min-height:150px!important}
  .vehicle-detail-state-chips{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vehicle-detail-state-chips span{min-width:0;padding:7px 3px;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .vehicle-detail-kpi-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:5px!important}
  .vehicle-detail-kpi-grid article{padding:9px!important}
  .vehicle-detail-disclosure{width:100%;margin:0}
}


/* Leap Hub 1.11.95 — shell adaptativo, navegação previsível e acabamento responsivo. */

/* Evita palavras quebradas no meio em botões, chips, abas e ações compactas. */
.button,.text-link,.status-badge,.mini-badge,.health-chip,.version-chip,
.vehicle-section-nav-item,.mobile-nav-item,.nav-item,.page-actions a,.page-actions button,
.form-actions a,.form-actions button,th{overflow-wrap:normal;word-break:normal;hyphens:none}
.button,.vehicle-section-nav-item,.mobile-nav-item,.nav-item{text-wrap:balance}

/* Foco visível consistente para teclado e acessibilidade. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;
}

/* Cabeçalhos e ações não estouram a largura útil. */
.page-heading,.vehicle-subpage-head,.cockpit-page-head{min-width:0;max-width:100%}
.page-heading>div,.vehicle-subpage-head>div,.cockpit-page-head>div{min-width:0}
.page-actions,.form-actions{min-width:0;max-width:100%}
.page-actions .button,.form-actions .button{max-width:100%}

/* Tabelas mais enxutas, com cabeçalho legível e rolagem previsível. */
.table-responsive{position:relative;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.table-responsive::-webkit-scrollbar{height:8px}
.table-responsive::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}
.table-responsive table{min-width:640px}
.table-responsive th{position:sticky;top:0;z-index:2;background:var(--surface-2)}
.table-responsive th,.table-responsive td{padding:12px 14px}
.table-responsive td{font-size:.82rem}
.table-responsive td .button{min-height:32px;padding:6px 9px;font-size:.68rem}

/* Estados vazios e alertas deixam de ocupar a tela inteira. */
.empty-state{max-width:620px;min-height:220px;margin:4vh auto;padding:32px 24px;border-radius:10px}
.empty-state .empty-code{font-size:3rem}
.empty-state h1,.empty-state h2{margin:5px 0 8px}
.empty-state p{max-width:520px;margin-inline:auto}
.alert{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border-radius:8px;font-size:.82rem;line-height:1.45}

/* Filtros e formulários administrativos passam a adaptar antes de quebrar. */
.filter-row{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));align-items:end;gap:8px}
.filter-row>.button,.filter-row>button{min-height:42px}
.form-grid{gap:10px}
label{min-width:0}
input,select,textarea{max-width:100%}

/* Faixa intermediária: notebooks pequenos e tablets em paisagem. */
@media (min-width:861px) and (max-width:1180px){
  :root{--sidebar:210px;--topbar:64px}
  .sidebar{padding:14px 9px 12px}
  .sidebar-head{padding:0 6px 13px}
  .brand{gap:8px}.brand-mark{width:35px;height:35px}.brand strong{font-size:.84rem}.brand small{font-size:.61rem}
  .side-nav{gap:9px;padding-bottom:12px}.nav-group{gap:3px}.nav-label{padding:5px 8px;font-size:.54rem}
  .nav-item{min-height:38px;padding:7px 8px;gap:8px;font-size:.76rem}.nav-icon{width:22px;font-size:.92rem}
  .sidebar-logout button{min-height:38px;padding:8px;font-size:.74rem}
  .topbar{height:64px;padding:0 18px}.topbar-title span{font-size:.88rem}.topbar-title small{font-size:.64rem}
  .content-shell>main{width:calc(100% - 22px);padding:18px 0 62px}
  .page-heading h1,.hero h1{font-size:clamp(1.75rem,3.8vw,2.6rem)}
  .content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .content-grid>.span-2{grid-column:span 2}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{padding:15px}
  .vehicle-section-nav{grid-auto-columns:minmax(88px,1fr)}
  .vehicle-section-nav-item{font-size:.66rem;padding-inline:7px}
  .vehicle-controls-page .remote-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-routines-page .routine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-trips-page .trip-intelligence-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile: topbar, conteúdo e navegação com medidas estáveis. */
@media (max-width:860px){
  :root{--topbar:58px}
  .topbar{height:58px;min-height:58px;padding:0 10px;gap:8px}
  .menu-toggle,.icon-button{width:38px;height:38px;border-radius:8px}
  .user-menu{gap:6px;min-width:0}.user-menu .avatar{width:34px;height:34px}
  .content-shell>main{width:100%!important;max-width:100%!important;padding:10px 7px calc(82px + env(safe-area-inset-bottom))!important}
  .page-heading{gap:9px;padding:10px 5px 6px!important}
  .page-heading h1{font-size:clamp(1.65rem,8vw,2.2rem)!important;margin:3px 0 4px}
  .page-heading p{font-size:.79rem;line-height:1.45}
  .eyebrow{font-size:.56rem;padding:3px 6px}
  .page-actions{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(110px,1fr);gap:5px;overflow-x:auto;scroll-snap-type:x proximity;padding:1px 0 4px}
  .page-actions>*{scroll-snap-align:start}
  .page-actions .button{min-height:36px;padding:7px 9px;font-size:.69rem}
  .card{padding:13px}
  .card-heading{margin-bottom:11px}
  .card-heading h2,.card-heading h3{font-size:1rem}
  .card p{font-size:.78rem;line-height:1.48}
  .form-grid{grid-template-columns:minmax(0,1fr)!important;gap:6px}
  label{gap:5px;margin-bottom:9px;font-size:.74rem}
  input,select{min-height:41px;padding:8px 10px;border-radius:8px}
  textarea{padding:9px 10px;border-radius:8px}
  .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:11px}
  .form-actions .button{width:100%;min-width:0;min-height:38px;padding:7px 8px;font-size:.69rem}
  .filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .table-responsive{margin-inline:-5px;width:calc(100% + 10px);border-radius:0}
  .table-responsive table{min-width:600px}
  .table-responsive th,.table-responsive td{padding:10px 11px}
  .mobile-bottom-nav{min-height:62px;padding-top:2px}
  .mobile-nav-item{min-height:48px;gap:2px}
  .mobile-nav-item>span{font-size:1rem}.mobile-nav-item small{font-size:.57rem}
  .vehicle-section-nav{position:sticky;top:calc(58px + env(safe-area-inset-top));z-index:24;background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(12px)}
  .env-banner~.app-shell .vehicle-section-nav{top:83px}
}

@media (max-width:520px){
  .content-shell>main{padding-left:5px!important;padding-right:5px!important}
  .filter-row{grid-template-columns:minmax(0,1fr)}
  .form-actions{grid-template-columns:minmax(0,1fr)}
  .page-actions{grid-auto-columns:minmax(104px,74vw)}
  .vehicle-section-nav{grid-auto-columns:minmax(84px,1fr)}
  .vehicle-section-nav-item{font-size:.62rem;gap:4px;padding:5px 6px}
  .table-responsive table{min-width:560px}
  .empty-state{min-height:190px;margin:2vh 0;padding:25px 17px}
}

/* Sem animações desnecessárias para quem pediu movimento reduzido. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Leap Hub 1.11.96 — diálogos, feedback e estados de interação consistentes. */

/* Diálogos nunca ultrapassam a janela e mantêm cabeçalho/ações visíveis. */
dialog,
.route-settings-dialog,
.route-chargers-dialog,
.confirm-dialog{
  max-width:min(720px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  overflow:hidden;
  border-radius:12px;
}
.route-settings-dialog,
.route-chargers-dialog{
  display:none;
  grid-template-rows:auto minmax(0,1fr) auto;
}
.route-settings-dialog[open],
.route-chargers-dialog[open],
.route-settings-dialog.is-fallback-open,
.route-chargers-dialog.is-fallback-open{display:grid}
.route-settings-head{
  position:sticky;top:0;z-index:4;
  min-height:58px;padding:13px 15px;
  background:color-mix(in srgb,var(--surface) 96%,transparent);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.route-settings-head h2{margin:3px 0 0;font-size:1.05rem}
.route-settings-head button{
  width:36px;height:36px;min-width:36px;padding:0;border-radius:8px;
}
.route-settings-content{
  min-height:0;overflow:auto;overscroll-behavior:contain;
  padding:14px;scrollbar-width:thin;
}
.route-settings-actions,
.route-dialog-actions{
  position:sticky;bottom:0;z-index:4;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
  padding:11px 14px calc(11px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--surface) 97%,transparent);
  border-top:1px solid var(--line);backdrop-filter:blur(12px);
}

/* Confirmações compactas e legíveis. */
.confirm-dialog{padding:17px;gap:13px}
.confirm-dialog .confirm-symbol{border-radius:12px}
.confirm-dialog h2{font-size:1.05rem;line-height:1.2}
.confirm-dialog p{font-size:.8rem;line-height:1.48}
.confirm-dialog .form-actions{margin-top:4px}

/* Feedback visual: mensagens não ocupam a tela inteira. */
.flash-stack,
.toast-stack,
.notification-stack{
  position:fixed;top:calc(var(--topbar,64px) + 10px);right:12px;z-index:1200;
  display:grid;gap:7px;width:min(390px,calc(100vw - 24px));pointer-events:none;
}
.flash-stack>* ,
.toast-stack>* ,
.notification-stack>* ,
.flash-message,
.toast,
.notice-banner{
  pointer-events:auto;max-width:100%;padding:10px 12px;border-radius:9px;
  border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);
  color:var(--text);box-shadow:0 14px 34px rgba(0,0,0,.24);backdrop-filter:blur(12px);
  font-size:.78rem;line-height:1.42;
}
.flash-message strong,.toast strong,.notice-banner strong{display:block;margin-bottom:2px}
.flash-message p,.toast p,.notice-banner p{margin:0;color:var(--muted)}
.flash-message.success,.toast.success,.notice-banner.success{border-color:color-mix(in srgb,var(--success) 50%,var(--line))}
.flash-message.warning,.toast.warning,.notice-banner.warning{border-color:color-mix(in srgb,var(--warning) 50%,var(--line))}
.flash-message.error,.toast.error,.notice-banner.error{border-color:color-mix(in srgb,var(--danger) 55%,var(--line))}

/* Botões e formulários comunicam processamento sem pular o layout. */
button[aria-busy="true"],.button[aria-busy="true"],button.is-loading,.button.is-loading,form.is-loading button[type="submit"]{
  position:relative;pointer-events:none;opacity:.72;
}
button[aria-busy="true"]::after,.button[aria-busy="true"]::after,button.is-loading::after,.button.is-loading::after,form.is-loading button[type="submit"]::after{
  content:'';width:13px;height:13px;margin-left:7px;display:inline-block;vertical-align:-2px;
  border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:lh-spin .7s linear infinite;
}
@keyframes lh-spin{to{transform:rotate(360deg)}}
button:disabled,.button[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}

/* Seções recolhíveis ficam menores e mais previsíveis. */
details.card,details.vehicle-detail-disclosure,details.remote-category,details.remote-security-panel,details.remote-history-panel{
  scroll-margin-top:calc(var(--topbar,64px) + 16px);
}
details>summary{touch-action:manipulation}
.vehicle-detail-disclosure>summary{min-height:50px;gap:10px}
.vehicle-detail-disclosure>summary b{white-space:nowrap}
.vehicle-detail-disclosure-body{padding:10px;gap:9px}

/* Evita que menus, seletores e sugestões fiquem atrás de cards. */
.address-autocomplete,.autocomplete-results,.dropdown-menu,.select-menu,.context-menu{z-index:80}
.card,.content-grid,.metric-grid{min-width:0}

/* Desktop: caixas de diálogo centralizadas sem virar tela inteira. */
@media (min-width:861px){
  .route-settings-dialog,.route-chargers-dialog{
    width:min(680px,calc(100vw - 32px));height:auto;max-height:min(820px,calc(100dvh - 32px));
    margin:auto;border:1px solid var(--line);
  }
  .route-chargers-dialog{width:min(760px,calc(100vw - 32px))}
}

/* Celular: bottom sheet compacto, respeitando notch e barra inferior. */
@media (max-width:860px){
  dialog,.route-settings-dialog,.route-chargers-dialog,.confirm-dialog{
    width:100vw!important;max-width:none!important;margin:0!important;
    border-radius:14px 14px 0 0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;
  }
  .route-settings-dialog,.route-chargers-dialog{
    inset:auto 0 0!important;height:min(88dvh,780px)!important;max-height:calc(100dvh - env(safe-area-inset-top) - 10px)!important;
  }
  .route-settings-dialog.is-fallback-open,.route-chargers-dialog.is-fallback-open{
    position:fixed!important;transform:none!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;
  }
  .route-settings-content{padding:11px 10px}
  .route-settings-actions,.route-dialog-actions{padding-inline:10px}
  .confirm-dialog{
    position:fixed;inset:auto 0 0!important;transform:none!important;
    grid-template-columns:42px minmax(0,1fr);max-height:80dvh!important;overflow:auto!important;
    padding:15px 12px calc(14px + env(safe-area-inset-bottom))!important;
  }
  .confirm-dialog .confirm-symbol{width:40px;height:40px}
  .flash-stack,.toast-stack,.notification-stack{
    top:calc(58px + env(safe-area-inset-top) + 7px);right:7px;width:calc(100vw - 14px);
  }
  .flash-stack>* ,.toast-stack>* ,.notification-stack>*,.flash-message,.toast,.notice-banner{
    padding:9px 10px;font-size:.74rem;border-radius:8px;
  }
}

@media (max-width:420px){
  .route-settings-actions,.route-dialog-actions,.confirm-dialog .form-actions{grid-template-columns:minmax(0,1fr)}
  .route-settings-head{padding:10px 11px;min-height:52px}
  .route-settings-head h2{font-size:.96rem}
}


/* Leap Hub 1.11.97 — veículo ativo global. */
.active-vehicle-switcher{
  display:grid;gap:12px;margin:0 0 14px;padding:14px;
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
}
.active-vehicle-switcher-head{display:flex;align-items:end;justify-content:space-between;gap:16px;min-width:0}
.active-vehicle-switcher-head h2{margin:3px 0 2px;font-size:1.05rem}
.active-vehicle-switcher-head p{margin:0;color:var(--muted);font-size:.75rem}
.active-vehicle-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.active-vehicle-option{
  appearance:none;width:100%;min-width:0;min-height:64px;padding:10px 11px;
  display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;
  border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);
  text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.active-vehicle-option:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));transform:translateY(-1px)}
.active-vehicle-option.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));box-shadow:inset 3px 0 0 var(--accent)}
.active-vehicle-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}
.active-vehicle-copy{display:grid;gap:2px;min-width:0}
.active-vehicle-copy strong,.active-vehicle-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-vehicle-copy strong{font-size:.82rem}.active-vehicle-copy small{color:var(--muted);font-size:.66rem}
.active-vehicle-soc{font-size:.82rem;font-weight:900;color:var(--accent);white-space:nowrap}
.cockpit-garage.compact{display:flex;justify-content:flex-end;margin-top:8px;padding-inline:4px}
.sidebar-active-vehicle{
  margin:8px 10px 4px;padding:9px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:var(--text);text-decoration:none;
}
.sidebar-active-vehicle>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-2);color:var(--accent)}
.sidebar-active-vehicle>span:nth-child(2){display:grid;min-width:0}.sidebar-active-vehicle small{font-size:.54rem;letter-spacing:.08em;color:var(--accent);font-weight:900}
.sidebar-active-vehicle strong,.sidebar-active-vehicle em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-active-vehicle strong{font-size:.7rem}.sidebar-active-vehicle em{font-size:.58rem;color:var(--muted);font-style:normal}
.sidebar-active-vehicle b{font-size:.6rem;color:var(--accent)}
@media(max-width:860px){
  .active-vehicle-switcher{margin-inline:0;padding:11px;border-radius:10px}
  .active-vehicle-switcher-head{align-items:flex-start}.active-vehicle-switcher-head .text-link{white-space:nowrap;font-size:.67rem}
  .active-vehicle-options{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px;scrollbar-width:thin}
  .active-vehicle-option{flex:0 0 min(82vw,310px);scroll-snap-align:start}
}
@media(max-width:480px){
  .active-vehicle-switcher-head{display:grid;gap:6px}.active-vehicle-switcher-head h2{font-size:.96rem}
  .active-vehicle-switcher-head p{font-size:.69rem}.active-vehicle-option{flex-basis:86vw;min-height:58px;padding:8px}
}


/* Leap Hub 1.11.98 — troca rápida do veículo ativo em qualquer tela. */
.topbar-vehicle-switcher{position:relative;z-index:42;margin-left:auto;flex:0 1 auto;min-width:0}
.topbar-vehicle-switcher>summary{list-style:none;display:grid;grid-template-columns:30px minmax(0,1fr) auto 14px;align-items:center;gap:8px;min-width:190px;max-width:280px;height:44px;padding:5px 9px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);cursor:pointer;user-select:none}
.topbar-vehicle-switcher>summary::-webkit-details-marker{display:none}
.topbar-vehicle-switcher[open]>summary{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}
.topbar-vehicle-glyph{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent)}
.topbar-vehicle-current{display:grid;min-width:0;line-height:1.08}.topbar-vehicle-current small{font-size:.5rem;letter-spacing:.08em;color:var(--accent);font-weight:900}.topbar-vehicle-current strong{font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-vehicle-switcher>summary>b{font-size:.7rem;color:var(--accent);white-space:nowrap}.topbar-vehicle-switcher>summary>i{font-style:normal;color:var(--muted);transition:transform .16s ease}.topbar-vehicle-switcher[open]>summary>i{transform:rotate(180deg)}
.topbar-vehicle-menu{position:absolute;right:0;top:calc(100% + 9px);width:min(360px,calc(100vw - 24px));padding:11px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 60px rgba(0,0,0,.34);backdrop-filter:blur(18px)}
.topbar-vehicle-menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 2px 9px}.topbar-vehicle-menu-head span{display:grid}.topbar-vehicle-menu-head small{font-size:.52rem;letter-spacing:.09em;color:var(--accent);font-weight:900}.topbar-vehicle-menu-head strong{font-size:.83rem}.topbar-vehicle-menu-head a{font-size:.66rem;color:var(--accent);text-decoration:none;font-weight:850;white-space:nowrap}
.topbar-vehicle-options{display:grid;gap:6px}.topbar-vehicle-option{appearance:none;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.topbar-vehicle-option:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.topbar-vehicle-option.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-2))}
.topbar-vehicle-option-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface);color:var(--accent)}.topbar-vehicle-option-copy{display:grid;min-width:0}.topbar-vehicle-option-copy strong,.topbar-vehicle-option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-vehicle-option-copy strong{font-size:.74rem}.topbar-vehicle-option-copy small{font-size:.61rem;color:var(--muted)}.topbar-vehicle-option>b{font-size:.72rem;color:var(--accent);white-space:nowrap}
.topbar-vehicle-menu>p{margin:8px 2px 0;color:var(--muted-2);font-size:.59rem}.topbar-vehicle-switcher+.notification-button{margin-left:0}
body[data-theme="light"] .topbar-vehicle-menu{background:rgba(255,255,255,.98)}
@media(max-width:980px){.topbar-vehicle-switcher>summary{min-width:0;width:46px;grid-template-columns:30px 0 0 0;gap:0;padding:7px;overflow:hidden}.topbar-vehicle-current,.topbar-vehicle-switcher>summary>b,.topbar-vehicle-switcher>summary>i{display:none}}
@media(max-width:720px){.topbar-vehicle-switcher{position:static;margin-left:auto}.topbar-vehicle-menu{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:calc(64px + env(safe-area-inset-top));width:auto;max-height:calc(100dvh - 92px - env(safe-area-inset-bottom));overflow:auto}.topbar-vehicle-switcher+.notification-button{margin-left:0;margin-right:0}}
@media(max-width:420px){.topbar-vehicle-switcher>summary{width:40px;height:40px;padding:5px}.topbar-vehicle-glyph{width:28px;height:28px}.topbar-vehicle-menu{left:8px;right:8px;padding:9px}.topbar-vehicle-option{min-height:49px}}

/* 1.11.99 · troca de veículo com contexto isolado */
body.vehicle-context-changing::before{
  content:"";
  position:fixed;
  z-index:99999;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  background-size:45% 100%;
  animation:vehicle-context-progress .8s linear infinite;
  pointer-events:none
}
form[data-active-vehicle-switcher][data-switching="1"]{
  opacity:.72;
  pointer-events:none
}
form[data-active-vehicle-switcher][data-switching="1"] .is-active{
  opacity:.64
}
@keyframes vehicle-context-progress{
  from{background-position:-55vw 0}
  to{background-position:105vw 0}
}
@media(prefers-reduced-motion:reduce){
  body.vehicle-context-changing::before{animation:none;background:var(--accent)}
}

/* Leap Hub 1.12.00 — garagem multi-veículo com estado operacional. */
.vehicle-context-dot{
  display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--muted-2);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--muted-2) 14%,transparent);flex:0 0 auto
}
.vehicle-context-dot.is-online{background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.13)}
.vehicle-context-dot.is-charging{background:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.14)}
.vehicle-context-dot.is-plugged{background:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.14)}
.vehicle-context-dot.is-sleep{background:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.13)}
.vehicle-context-dot.is-delayed{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.14)}
.vehicle-context-dot.is-attention{background:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.15)}
.vehicle-context-dot.is-unknown{background:var(--muted-2)}
.active-vehicle-option{grid-template-columns:34px minmax(0,1fr) auto;min-height:82px;padding:10px 12px}
.active-vehicle-title{display:flex;align-items:center;gap:7px;min-width:0}
.active-vehicle-title strong{min-width:0}
.active-vehicle-title em{font-style:normal;font-size:.5rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-weight:900;white-space:nowrap}
.active-vehicle-copy{gap:3px}
.active-vehicle-status{display:flex;align-items:center;gap:6px;min-width:0;margin-top:2px}
.active-vehicle-status b{font-size:.59rem;color:var(--text);white-space:nowrap}
.active-vehicle-status span{font-size:.57rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-vehicle-stats{display:grid;justify-items:end;gap:2px;white-space:nowrap}
.active-vehicle-stats strong{font-size:.86rem;color:var(--accent)}
.active-vehicle-stats small{font-size:.57rem;color:var(--muted)}
.topbar-vehicle-current em{font-size:.52rem;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-vehicle-glyph .vehicle-context-dot{width:9px;height:9px}
.topbar-vehicle-option{grid-template-columns:30px minmax(0,1fr) auto;min-height:62px}
.topbar-vehicle-option-icon .vehicle-context-dot{width:9px;height:9px}
.topbar-vehicle-option-copy{gap:1px}
.topbar-vehicle-option-copy em{font-size:.55rem;color:var(--muted);font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-vehicle-option-stats{display:grid;justify-items:end;gap:1px;white-space:nowrap}
.topbar-vehicle-option-stats b{font-size:.73rem;color:var(--accent)}
.topbar-vehicle-option-stats small{font-size:.54rem;color:var(--muted)}
@media(max-width:860px){
  .active-vehicle-option{flex-basis:min(86vw,330px);min-height:78px}
}
@media(max-width:480px){
  .active-vehicle-option{grid-template-columns:30px minmax(0,1fr) auto;padding:9px;min-height:74px}
  .active-vehicle-symbol{width:30px;height:30px}
  .active-vehicle-status span{max-width:92px}
  .active-vehicle-stats strong{font-size:.78rem}
}

/* 1.12.01 · proteção do contexto global em abas antigas */
.vehicle-context-guard-notice{position:fixed;z-index:10050;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));display:flex;align-items:center;gap:.7rem;max-width:min(92vw,34rem);padding:.72rem .9rem;border:1px solid rgba(79,209,197,.34);border-radius:14px;background:rgba(7,18,31,.96);box-shadow:0 18px 48px rgba(0,0,0,.38);color:#f5fbff;opacity:0;pointer-events:none;transform:translate(-50%,1rem);transition:opacity .18s ease,transform .18s ease}.vehicle-context-guard-notice.is-visible{opacity:1;transform:translate(-50%,0)}.vehicle-context-guard-notice strong{font-size:.84rem;white-space:nowrap}.vehicle-context-guard-notice span{font-size:.76rem;color:var(--muted)}.vehicle-context-changing form:not([data-active-vehicle-switcher]) button[type=submit]{pointer-events:none}@media(max-width:520px){.vehicle-context-guard-notice{left:.65rem;right:.65rem;bottom:calc(5.1rem + env(safe-area-inset-bottom));max-width:none;transform:translateY(1rem);align-items:flex-start;flex-direction:column;gap:.2rem}.vehicle-context-guard-notice.is-visible{transform:translateY(0)}}

/* Leap Hub 1.12.02 — troca instantânea e sincronizada do veículo ativo. */
form[data-active-vehicle-switcher] button[name="vehicle_id"]{position:relative}
form[data-active-vehicle-switcher] button[name="vehicle_id"].is-switching{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);
  opacity:1!important
}
form[data-active-vehicle-switcher] button[name="vehicle_id"].is-switching::after{
  content:"";
  position:absolute;
  right:9px;
  top:9px;
  width:13px;
  height:13px;
  border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);
  border-top-color:var(--accent);
  border-radius:999px;
  animation:vehicle-switch-spin .65s linear infinite
}
form[data-active-vehicle-switcher][data-switching="1"] button[name="vehicle_id"]:not(.is-switching){opacity:.46}
form[data-active-vehicle-switcher] button[name="vehicle_id"]:disabled{cursor:wait}
.vehicle-context-switch-status{
  position:fixed;
  z-index:10060;
  left:50%;
  bottom:calc(1rem + env(safe-area-inset-bottom));
  display:grid;
  gap:2px;
  width:min(92vw,34rem);
  padding:.72rem .9rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface) 96%,transparent);
  box-shadow:0 18px 48px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,1rem);
  transition:opacity .18s ease,transform .18s ease
}
.vehicle-context-switch-status.is-visible{opacity:1;transform:translate(-50%,0)}
.vehicle-context-switch-status strong{font-size:.82rem}
.vehicle-context-switch-status span{font-size:.72rem;color:var(--muted)}
.vehicle-context-switch-status.is-success{border-color:color-mix(in srgb,#34d399 42%,var(--line))}
.vehicle-context-switch-status.is-error{border-color:color-mix(in srgb,#fb7185 48%,var(--line))}
.vehicle-context-switch-status.is-info{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}
@keyframes vehicle-switch-spin{to{transform:rotate(360deg)}}
@media(max-width:520px){
  .vehicle-context-switch-status{
    left:.65rem;
    right:.65rem;
    bottom:calc(5.1rem + env(safe-area-inset-bottom));
    width:auto;
    transform:translateY(1rem)
  }
  .vehicle-context-switch-status.is-visible{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  form[data-active-vehicle-switcher] button[name="vehicle_id"].is-switching::after{animation:none}
  .vehicle-context-switch-status{transition:none}
}

/* Leap Hub 1.12.03 — alertas isolados por veículo ativo. */
.topbar-vehicle-glyph,.topbar-vehicle-option-icon,.active-vehicle-symbol{position:relative}
.vehicle-context-alert-count{position:absolute;top:-6px;right:-7px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid var(--surface);border-radius:999px;background:#fb7185;color:#fff;font-size:.52rem;line-height:1;font-weight:950;box-shadow:0 4px 12px rgba(251,113,133,.28)}
.active-vehicle-symbol .vehicle-context-alert-count{top:-7px;right:-9px;border-color:var(--surface-2)}
.alerts-vehicle-filters{display:flex;align-items:center;gap:7px;margin:0 0 14px;padding:7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
.alerts-vehicle-filter{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid transparent;border-radius:10px;color:var(--muted);font-size:.72rem;font-weight:850;text-decoration:none;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}
.alerts-vehicle-filter:hover{color:var(--text);border-color:var(--line);background:var(--surface-2)}
.alerts-vehicle-filter.is-active{color:var(--text);border-color:color-mix(in srgb,var(--accent) 46%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface-2))}
.alerts-vehicle-filter b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,#fb7185 18%,var(--surface-2));color:#fb8b9b;font-size:.56rem}
@media(max-width:620px){.alerts-vehicle-filters{margin-left:-2px;margin-right:-2px;padding:6px}.alerts-vehicle-filter{min-height:34px;padding:6px 9px}.vehicle-context-alert-count{top:-5px;right:-5px}}

/* 1.12.05 — contexto explícito do veículo em relatórios e assistente */
.vehicle-context-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid var(--border-color,rgba(148,163,184,.2));
  border-radius:16px;
  background:linear-gradient(135deg,rgba(32,45,70,.92),rgba(20,30,50,.82));
  box-shadow:0 12px 30px rgba(2,8,23,.14);
}
.vehicle-context-strip>div{min-width:0;display:grid;gap:3px}
.vehicle-context-strip strong{font-size:1rem;line-height:1.25;overflow-wrap:anywhere}
.vehicle-context-strip small{color:var(--muted-color,#94a3b8);line-height:1.35}
.vehicle-context-strip .eyebrow{margin:0;font-size:.68rem}
.vehicle-context-strip.is-all{background:linear-gradient(135deg,rgba(43,52,78,.86),rgba(31,41,61,.78))}
.vehicle-context-strip.assistant-context{margin-bottom:16px}
@media(max-width:640px){
  .vehicle-context-strip{align-items:flex-start;flex-direction:column;padding:13px 14px;border-radius:14px;gap:10px}
  .vehicle-context-strip .button{width:100%;justify-content:center}
}


/* 1.12.06 — mapa, rotas e recargas presos ao veículo ativo global. */
.route-active-vehicle-lock{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  min-width:0;
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));
}
.route-active-vehicle-lock>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-weight:950}
.route-active-vehicle-lock>div{display:grid;gap:2px;min-width:0}
.route-active-vehicle-lock small,.route-active-vehicle-lock em{color:var(--muted);font-size:.68rem;line-height:1.3;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-active-vehicle-lock strong{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-active-vehicle-lock>a{font-size:.7rem;font-weight:850;color:var(--accent);text-decoration:none}
.route-active-vehicle-lock>a:hover{text-decoration:underline}
.route-vehicle-context,.charging-vehicle-context{margin-bottom:14px}
.charging-vehicle-context+.metric-grid{margin-top:0}
@media(max-width:620px){
  .route-active-vehicle-lock{grid-template-columns:34px minmax(0,1fr);padding:10px}
  .route-active-vehicle-lock>span{width:32px;height:32px}
  .route-active-vehicle-lock>a{grid-column:2;justify-self:start}
  .route-active-vehicle-lock em{white-space:normal}
}

/* 1.12.08 — confirmação visual do contexto em comandos e rotinas */
.vehicle-action-context {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.2rem 0.8rem;
  margin: 0.65rem 0 0.9rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid color-mix(in srgb, var(--accent, #36d7ff) 22%, transparent);
  border-radius: 0.9rem;
  background: color-mix(in srgb, var(--surface-2, #0e1b2c) 92%, var(--accent, #36d7ff) 8%);
}
.vehicle-action-context .eyebrow { grid-row: 1 / span 2; margin: 0; white-space: nowrap; }
.vehicle-action-context strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vehicle-action-context small { color: var(--text-muted, #98a8ba); line-height: 1.3; }
@media (max-width: 520px) {
  .vehicle-action-context { grid-template-columns: 1fr; gap: 0.18rem; padding: 0.6rem 0.7rem; }
  .vehicle-action-context .eyebrow { grid-row: auto; }
  .vehicle-action-context strong, .vehicle-action-context small { white-space: normal; }
}

/* 1.12.09 — regras e manutenção respeitam integralmente o veículo ativo. */
.alert-settings-context-grid > .vehicle-action-context {
  grid-column: 1 / -1;
  margin: 0;
}
.alert-settings-summary-card {
  display: grid;
  align-content: start;
  gap: 0.85rem;
  min-width: 0;
}
.alert-settings-summary-card .card-heading {
  margin-bottom: 0;
}
.alert-settings-summary-card .card-heading h2,
.alert-settings-summary-card .card-heading p {
  overflow-wrap: anywhere;
}
.alert-settings-summary-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}
.alert-settings-summary-metrics span {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
  padding: 0.65rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  background: var(--surface-2);
}
.alert-settings-summary-metrics strong {
  font-size: 1rem;
  line-height: 1;
}
.alert-settings-summary-metrics small {
  color: var(--muted);
  font-size: 0.66rem;
}
@media (max-width: 520px) {
  .alert-settings-context-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .alert-settings-summary-card {
    gap: 0.7rem;
  }
}

/* 1.12.10 — acesso e permissões isolados pelo veículo ativo. */
.vehicle-access-page {
  min-width: 0;
}
.vehicle-access-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
  gap: 0.8rem;
  margin-bottom: 0.8rem;
}
.vehicle-access-overview > *,
.vehicle-access-content > * {
  min-width: 0;
}
.vehicle-access-status,
.vehicle-access-private {
  display: grid;
  align-content: start;
  gap: 0.8rem;
}
.vehicle-access-status .card-heading,
.vehicle-access-content .card-heading {
  margin-bottom: 0;
}
.vehicle-access-status .card-heading h2,
.vehicle-access-status .card-heading p,
.vehicle-access-private h2,
.vehicle-access-private p {
  overflow-wrap: anywhere;
}
.vehicle-access-account {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}
.vehicle-access-account > span,
.vehicle-access-metrics > span {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.68rem 0.72rem;
  border: 1px solid var(--line);
  border-radius: 0.78rem;
  background: var(--surface-2);
}
.vehicle-access-account strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.82rem;
}
.vehicle-access-account small,
.vehicle-access-metrics small,
.vehicle-access-private > small {
  color: var(--muted);
  font-size: 0.68rem;
}
.vehicle-access-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}
.vehicle-access-metrics strong {
  font-size: 1.2rem;
  line-height: 1;
}
.vehicle-access-content {
  align-items: start;
}
.vehicle-access-form {
  display: grid;
  gap: 0.8rem;
}
.vehicle-access-checklist {
  display: grid;
  gap: 0.5rem;
}
.vehicle-access-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 0.68rem;
  margin: 0;
  padding: 0.72rem 0.78rem;
  border: 1px solid var(--line);
  border-radius: 0.8rem;
  background: var(--surface-2);
  cursor: pointer;
}
.vehicle-access-check:hover {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
}
.vehicle-access-check input {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.12rem;
}
.vehicle-access-check span {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
}
.vehicle-access-check strong {
  font-size: 0.82rem;
}
.vehicle-access-check small {
  color: var(--muted);
  line-height: 1.4;
}
.vehicle-access-steps {
  display: grid;
  gap: 0.55rem;
  margin: 0.8rem 0 1rem;
  padding-left: 1.25rem;
}
.vehicle-access-steps li {
  padding-left: 0.16rem;
  color: var(--muted);
  line-height: 1.45;
}
@media (max-width: 880px) {
  .vehicle-access-overview {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 620px) {
  .vehicle-access-account {
    grid-template-columns: minmax(0, 1fr);
  }
  .vehicle-access-account strong {
    white-space: normal;
  }
  .vehicle-access-check {
    padding: 0.65rem;
  }
  .vehicle-access-form .form-actions .button {
    width: 100%;
  }
}

/* Leap Hub 1.12.11 — troca de veículo exclusivamente no menu lateral. */
.sidebar .side-nav{flex:1;min-height:0}

.vehicle-card.is-inactive-vehicle{cursor:default;opacity:.78}
.vehicle-card.is-inactive-vehicle:hover{transform:none;box-shadow:inherit;border-color:var(--line)}
.vehicle-card.is-active-vehicle{outline:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}
.sidebar-vehicle-switcher{
  position:relative;
  margin:8px 2px 10px;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:11px;
  background:color-mix(in srgb,var(--accent) 5%,var(--surface));
  color:var(--text);
}
.sidebar-vehicle-switcher>summary,
.sidebar-vehicle-switcher.is-single{
  min-height:58px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto 14px;
  align-items:center;
  gap:8px;
  padding:8px 9px;
}
.sidebar-vehicle-switcher.is-single{grid-template-columns:30px minmax(0,1fr) auto}
.sidebar-vehicle-switcher>summary{list-style:none;cursor:pointer;user-select:none}
.sidebar-vehicle-switcher>summary::-webkit-details-marker{display:none}
.sidebar-vehicle-switcher[open]>summary{box-shadow:inset 3px 0 0 var(--accent)}
.sidebar-vehicle-current-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-2)}
.sidebar-vehicle-current-copy{display:grid;min-width:0;line-height:1.14}
.sidebar-vehicle-current-copy small{font-size:.52rem;letter-spacing:.09em;color:var(--accent);font-weight:900}
.sidebar-vehicle-current-copy strong,.sidebar-vehicle-current-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-vehicle-current-copy strong{font-size:.72rem}
.sidebar-vehicle-current-copy em{font-size:.59rem;color:var(--muted);font-style:normal}
.sidebar-vehicle-switcher>summary>b,.sidebar-vehicle-switcher.is-single>b{font-size:.7rem;color:var(--accent);white-space:nowrap}
.sidebar-vehicle-switcher>summary>i{font-style:normal;color:var(--muted);transition:transform .16s ease}
.sidebar-vehicle-switcher[open]>summary>i{transform:rotate(180deg)}
.sidebar-vehicle-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  z-index:80;
  width:min(360px,calc(100vw - 28px));
  padding:9px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface) 97%,transparent);
  box-shadow:0 22px 56px rgba(0,0,0,.34);
  backdrop-filter:blur(18px);
}
.sidebar-vehicle-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 8px}
.sidebar-vehicle-menu-head strong{font-size:.78rem}
.sidebar-vehicle-menu-head a{color:var(--accent);font-size:.65rem;font-weight:850;text-decoration:none}
.sidebar-vehicle-options{display:grid;gap:6px;max-height:min(330px,48vh);overflow:auto}
.sidebar-vehicle-option{
  appearance:none;
  width:100%;
  min-height:54px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.sidebar-vehicle-option:hover{border-color:color-mix(in srgb,var(--accent) 44%,var(--line))}
.sidebar-vehicle-option.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));cursor:default}
.sidebar-vehicle-option-state{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface)}
.sidebar-vehicle-option-state .vehicle-context-alert-count{position:absolute;right:-5px;top:-5px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--danger);color:#fff;font-size:.5rem}
.sidebar-vehicle-option>span:nth-child(2){display:grid;min-width:0;line-height:1.12}
.sidebar-vehicle-option strong,.sidebar-vehicle-option small,.sidebar-vehicle-option em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-vehicle-option strong{font-size:.72rem}.sidebar-vehicle-option small{font-size:.6rem;color:var(--muted)}.sidebar-vehicle-option em{font-size:.55rem;color:var(--muted-2);font-style:normal}
.sidebar-vehicle-option>b{font-size:.7rem;color:var(--accent);white-space:nowrap}
body[data-theme="light"] .sidebar-vehicle-menu{background:rgba(255,255,255,.98)}
@media(max-width:860px){
  .sidebar-vehicle-menu{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:70dvh;overflow:auto}
  .sidebar-vehicle-options{max-height:55dvh}
}

/* 1.12.15 · imagem real e telemetria interativa */
.vehicle-visual-awaiting{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 92%,transparent),var(--surface));}
.vehicle-visual-official-awaiting{display:grid;place-items:center;gap:7px;max-width:310px;padding:42px 24px;text-align:center;color:var(--muted);}
.vehicle-visual-official-awaiting i{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--accent);font-style:normal;font-size:1.4rem;}
.vehicle-visual-official-awaiting strong{color:var(--text);font-size:.88rem}.vehicle-visual-official-awaiting small{max-width:260px;line-height:1.45;}


/* Leap Hub 1.12.18 — dashboard responsivo, atalhos no fluxo e mapa cooperativo. */
/* A largura visual da lateral sempre acompanha a variável usada pelo conteúdo. */
.sidebar{width:var(--sidebar);max-width:var(--sidebar);overflow:hidden}
.sidebar .side-nav{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 62%,transparent) transparent;scrollbar-gutter:stable}
.sidebar .side-nav::-webkit-scrollbar{width:7px}
.sidebar .side-nav::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--muted) 58%,transparent)}
.content-shell,.content-shell>main,.cockpit-dashboard,.cockpit-primary-grid,.cockpit-secondary-grid,.cockpit-shortcut-strip{min-width:0;max-width:100%}
.cockpit-primary-grid>*,.cockpit-secondary-grid>*{min-width:0;max-width:100%}

/* Em notebooks menores, os cartões deixam de competir pela largura útil. */
@media (min-width:861px) and (max-width:1040px){
  .content-shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar))}
  .content-shell>main{width:calc(100% - 22px);max-width:none}
  .cockpit-primary-grid,.cockpit-secondary-grid{grid-template-columns:minmax(0,1fr)}
  .cockpit-charge-panel{grid-column:auto}
  .cockpit-vehicle-panel,.cockpit-status-panel,.cockpit-charge-panel,.cockpit-location-panel,.cockpit-trips-panel{width:100%}
}

/* O mapa compacto deixa um dedo livre para rolar a página; dois dedos movem e aproximam. */
.route-geo-map-stage[data-map-two-finger-pan="1"]{touch-action:pan-y;overscroll-behavior:contain;cursor:default}
.route-geo-map-gesture-hint{position:absolute;left:50%;top:50%;z-index:12;max-width:calc(100% - 32px);padding:9px 12px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:999px;background:rgba(4,13,24,.86);color:#fff;font-size:.7rem;font-weight:800;line-height:1.2;text-align:center;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 12px 30px rgba(0,0,0,.3);backdrop-filter:blur(10px)}
.route-geo-map-gesture-hint[hidden]{display:none}
@media (pointer:fine){.route-geo-map-stage[data-map-two-finger-pan="1"]{cursor:grab}.route-geo-map-stage[data-map-two-finger-pan="1"].is-dragging{cursor:grabbing}}
@media (max-width:820px){
  .cockpit-shortcut-strip{order:0}
  .route-geo-map-gesture-hint{font-size:.66rem}
}


/* Leap Hub 1.12.19 — card de recarga acima da telemetria, IA central e marcador do veículo. */
.cockpit-page-head-owner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
.dashboard-ai-cta-wrap{display:flex;justify-content:center;align-items:center}
.dashboard-ai-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:240px;padding-inline:18px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 12px 34px color-mix(in srgb,var(--accent) 18%,transparent);animation:dashboard-ai-float 3.2s ease-in-out infinite}
.dashboard-ai-cta::after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);opacity:.45;animation:dashboard-ai-ring 2.6s ease-out infinite;pointer-events:none}
@keyframes dashboard-ai-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes dashboard-ai-ring{0%{transform:scale(.98);opacity:.52}70%{transform:scale(1.04);opacity:.12}100%{transform:scale(1.06);opacity:0}}
.cockpit-primary-grid-owner{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);gap:12px;align-items:stretch}
.cockpit-primary-stack{display:grid;gap:12px;align-content:start}
.cockpit-charge-panel .cockpit-detail-list dd{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cockpit-charge-panel .cockpit-charge-main strong{font-size:clamp(2rem,4vw,3rem)}
.cockpit-status-panel .cockpit-detail-list dt,.cockpit-status-panel .cockpit-detail-list dd{line-height:1.45}
.cockpit-status-panel .cockpit-detail-list>div{align-items:center;column-gap:18px;padding:10px 0}
.route-geo-marker.vehicle{min-width:50px;padding:0 10px;font-size:.82rem;letter-spacing:.04em}
@media (min-width:861px) and (max-width:1180px){.cockpit-primary-grid-owner{grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr)}}
@media (max-width:860px){.cockpit-page-head-owner{grid-template-columns:1fr}.dashboard-ai-cta-wrap{display:none}.cockpit-primary-grid-owner{grid-template-columns:minmax(0,1fr)}}


/* Leap Hub 1.12.19 final — IA central no mobile e marcador oficial do veículo. */
.cockpit-status-panel .cockpit-detail-list>div,
.cockpit-charge-panel .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.cockpit-status-panel .cockpit-detail-list dt,
.cockpit-charge-panel .cockpit-detail-list dt{min-width:0;white-space:normal}
.cockpit-status-panel .cockpit-detail-list dd,
.cockpit-charge-panel .cockpit-detail-list dd{max-width:100%;padding:0;overflow-wrap:anywhere;white-space:normal}
.route-geo-marker.vehicle.has-vehicle-image{width:78px;min-width:78px;height:48px;padding:2px 5px;border-radius:16px;background:color-mix(in srgb,var(--surface) 93%,transparent);color:var(--accent);overflow:visible}
.route-geo-marker.vehicle.has-vehicle-image img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.32));pointer-events:none}
@media(max-width:860px){
  .dashboard-ai-cta-wrap{display:none!important}
  .mobile-bottom-nav{grid-auto-flow:initial;grid-auto-columns:auto;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;overflow:visible}
  .mobile-nav-assistant{z-index:2;overflow:visible;color:var(--accent)}
  .mobile-nav-assistant>span{position:relative;display:grid;place-items:center;width:52px;height:52px;margin-top:-22px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 22%,var(--surface)),var(--surface));color:var(--accent);font-size:1.25rem;box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 0 6px color-mix(in srgb,var(--accent) 10%,transparent);animation:mobile-ai-orb 2.8s ease-in-out infinite}
  .mobile-nav-assistant>span::before{content:"";position:absolute;inset:-7px;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:50%;opacity:.55;animation:mobile-ai-ring 2.8s ease-out infinite;pointer-events:none}
  .mobile-nav-assistant small{margin-top:-1px;color:var(--accent);font-weight:900}
  .mobile-nav-assistant.assistant-open>span{animation-duration:1.25s;box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 0 8px color-mix(in srgb,var(--accent) 15%,transparent)}
}
@keyframes mobile-ai-orb{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}
@keyframes mobile-ai-ring{0%{transform:scale(.9);opacity:.55}75%,100%{transform:scale(1.22);opacity:0}}
@media(prefers-reduced-motion:reduce){
  .dashboard-ai-cta,.dashboard-ai-cta::after,.mobile-nav-assistant>span,.mobile-nav-assistant>span::before{animation:none!important}
}


/* Leap Hub 1.12.20 — ordem direta do dashboard e veículo compacto. */
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-diagnostic-trigger{display:none!important}
.owner-cockpit .cockpit-shortcut-strip-first{order:0}
.cockpit-owner-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.owner-cockpit .compact-dashboard-vehicle{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr);
  grid-template-areas:
    "flags flags"
    "visual live"
    "visual commands";
  align-items:center;
  gap:8px 22px;
  min-height:0;
  text-align:left;
}
.owner-cockpit .compact-dashboard-vehicle .cockpit-vehicle-flags{grid-area:flags;justify-content:flex-start}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link{grid-area:visual;min-height:0;margin:0;align-content:center;text-align:center}
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual{width:min(100%,350px);min-height:132px;max-height:165px;margin-inline:auto}
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual img{max-height:165px;object-fit:contain}
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-official-awaiting{padding:26px 18px}
.owner-cockpit .compact-dashboard-vehicle>.vehicle-charging-live{grid-area:live;justify-content:flex-start;margin:0}
.owner-cockpit .compact-dashboard-vehicle .cockpit-command-row{grid-area:commands;grid-template-columns:repeat(4,minmax(0,1fr));align-self:end;margin:0}
.owner-cockpit .compact-dashboard-vehicle .cockpit-action{min-height:68px}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link strong{margin-top:3px}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link small{margin-top:2px}
.owner-cockpit .cockpit-status-panel,.owner-cockpit .cockpit-charge-panel{width:100%;min-height:0}
.owner-cockpit .cockpit-charge-panel .cockpit-charge-actions{margin-top:14px}
@media(max-width:980px){
  .owner-cockpit .compact-dashboard-vehicle{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:8px 14px}
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual{max-height:150px;min-height:122px}
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual img{max-height:150px}
}
@media(max-width:760px){
  .owner-cockpit .compact-dashboard-vehicle{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"flags" "visual" "live" "commands";
    gap:9px;
    text-align:center;
  }
  .owner-cockpit .compact-dashboard-vehicle .cockpit-vehicle-flags{justify-content:center}
  .owner-cockpit .compact-dashboard-vehicle>.vehicle-charging-live{justify-content:center}
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual{width:min(100%,330px);min-height:135px;max-height:160px}
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual img{max-height:160px}
  .owner-cockpit .compact-dashboard-vehicle .cockpit-command-row{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
}
@media(max-width:520px){
  .owner-cockpit .compact-dashboard-vehicle{padding-block:12px}
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual{min-height:118px;max-height:145px}
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual img{max-height:145px}
  .owner-cockpit .compact-dashboard-vehicle .cockpit-action{min-height:60px}
}


/* Leap Hub 1.12.22 — imagem completa do veículo e metadados fora da foto no dashboard. */
.owner-cockpit .compact-dashboard-vehicle{
  grid-template-columns:minmax(360px,.95fr) minmax(320px,1.05fr);
  gap:10px 24px;
}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link{
  width:100%;
  overflow:visible;
}
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual{
  width:min(100%,470px);
  height:210px;
  min-height:210px;
  max-height:none;
  margin-inline:auto;
  overflow:hidden;
}
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-photo{
  inset:7px;
  right:7px!important;
  overflow:visible;
}
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-photo>img,
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual.presentation-crop-charger .vehicle-visual-photo>img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link:hover .vehicle-visual-photo>img{
  transform:none!important;
}
/* Informações técnicas deixam de cobrir a imagem no dashboard. Permanecem nos detalhes/diagnóstico do veículo. */
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-sensor-health,
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-freshness,
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-color,
.owner-cockpit .compact-dashboard-vehicle .vehicle-visual-live{
  display:none!important;
}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link>strong{
  display:block;
  margin-top:7px;
  font-size:1rem;
  line-height:1.2;
}
.owner-cockpit .compact-dashboard-vehicle .cockpit-car-link>small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.25;
}
@media(max-width:1080px){
  .owner-cockpit .compact-dashboard-vehicle{
    grid-template-columns:minmax(320px,.92fr) minmax(300px,1.08fr);
    gap:9px 16px;
  }
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual{
    width:min(100%,430px);
    height:195px;
    min-height:195px;
  }
}
@media(max-width:760px){
  .owner-cockpit .compact-dashboard-vehicle{
    grid-template-columns:minmax(0,1fr);
  }
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual{
    width:min(100%,430px);
    height:195px;
    min-height:195px;
  }
}
@media(max-width:520px){
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual{
    width:100%;
    height:182px;
    min-height:182px;
  }
  .owner-cockpit .compact-dashboard-vehicle .vehicle-visual-photo{
    inset:5px;
    right:5px!important;
  }
}

/* Leap Hub 1.12.23 — separação consistente entre métricas no desktop. */
.owner-cockpit .cockpit-status-panel .cockpit-detail-list,
.owner-cockpit .cockpit-charge-panel .cockpit-detail-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(28px,4vw,64px);
  row-gap:0;
}
.owner-cockpit .cockpit-status-panel .cockpit-detail-list>div,
.owner-cockpit .cockpit-charge-panel .cockpit-detail-list>div{
  min-width:0;
  grid-template-columns:minmax(110px,1fr) minmax(72px,auto);
  gap:16px;
  padding:11px 0;
}
.owner-cockpit .cockpit-status-panel .cockpit-detail-list>div:nth-child(even),
.owner-cockpit .cockpit-charge-panel .cockpit-detail-list>div:nth-child(even){
  padding-left:4px;
}
.owner-cockpit .cockpit-status-panel .cockpit-detail-list dt,
.owner-cockpit .cockpit-charge-panel .cockpit-detail-list dt{
  min-width:0;
  line-height:1.35;
}
.owner-cockpit .cockpit-status-panel .cockpit-detail-list dd,
.owner-cockpit .cockpit-charge-panel .cockpit-detail-list dd{
  min-width:0;
  margin:0;
  line-height:1.35;
  text-align:right;
  white-space:normal;
}
@media(max-width:1020px){
  .owner-cockpit .cockpit-status-panel .cockpit-detail-list,
  .owner-cockpit .cockpit-charge-panel .cockpit-detail-list{
    column-gap:28px;
  }
}
@media(max-width:820px){
  .owner-cockpit .cockpit-status-panel .cockpit-detail-list,
  .owner-cockpit .cockpit-charge-panel .cockpit-detail-list{
    grid-template-columns:minmax(0,1fr);
  }
  .owner-cockpit .cockpit-status-panel .cockpit-detail-list>div,
  .owner-cockpit .cockpit-charge-panel .cockpit-detail-list>div,
  .owner-cockpit .cockpit-status-panel .cockpit-detail-list>div:nth-child(even),
  .owner-cockpit .cockpit-charge-panel .cockpit-detail-list>div:nth-child(even){
    padding-left:0;
  }
}


/* Leap Hub 1.12.24 — topbar moderna, contextual e auto-ocultável. */
.topbar{
  position:sticky;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-inline:24px;
  background:color-mix(in srgb,var(--bg) 88%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--line) 88%,transparent);
  box-shadow:0 1px 0 rgba(255,255,255,.015);
  backdrop-filter:blur(20px) saturate(135%);
  transition:transform .22s cubic-bezier(.2,.75,.25,1),box-shadow .2s ease,background .2s ease;
  will-change:transform;
}
.topbar.is-scrolled{
  background:color-mix(in srgb,var(--bg) 94%,transparent);
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.topbar.is-hidden{
  transform:translateY(calc(-100% - 2px));
  pointer-events:none;
}
.topbar-leading,.topbar-actions{display:flex;align-items:center;min-width:0}
.topbar-leading{flex:0 0 auto}
.topbar-actions{margin-left:auto;gap:11px}
.topbar-title{display:none!important}
.topbar .menu-toggle svg,.notification-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.topbar .menu-toggle{
  border:1px solid transparent;
  background:transparent;
}
.topbar .menu-toggle:hover{
  border-color:var(--line);
  background:var(--surface-2);
}
.notification-button{
  width:44px;
  height:44px;
  margin:0!important;
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-2) 88%,transparent);
  color:var(--muted);
  box-shadow:none;
}
.notification-button:hover{
  color:var(--text);
  border-color:color-mix(in srgb,var(--accent) 36%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));
}
.notification-button.has-unread{
  color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent);
}
.notification-button strong{
  right:-3px;
  top:-4px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-width:2px;
  font-size:.6rem;
}
.notification-icon{display:grid;place-items:center}
.user-menu{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  min-width:0;
  max-width:340px;
  min-height:50px;
  padding:5px 8px 5px 6px;
  border:1px solid transparent;
  border-radius:15px;
  background:transparent;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.user-menu:hover{
  transform:translateY(-1px);
  border-color:var(--line);
  background:color-mix(in srgb,var(--surface-2) 82%,transparent);
}
.user-menu:focus-visible,.notification-button:focus-visible,.menu-toggle:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.user-menu .avatar{
  width:40px;
  height:40px;
  border-radius:13px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 20%,var(--surface-3)),var(--surface-3));
  border-color:color-mix(in srgb,var(--accent) 24%,var(--line));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.user-menu-copy{display:grid;gap:4px;min-width:0;line-height:1.05}
.user-menu-copy>strong{
  display:block;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.86rem;
  letter-spacing:-.01em;
}
.user-menu-meta{display:flex;align-items:center;gap:7px;min-width:0}
.user-menu-meta .user-role{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.15;
}
.user-menu-meta .mini-badge.plan{
  min-height:18px;
  padding:2px 6px;
  font-size:.52rem;
  letter-spacing:.04em;
  flex:0 0 auto;
}
.user-menu-arrow{
  color:var(--muted-2);
  font-size:1.12rem;
  line-height:1;
  transition:transform .18s ease,color .18s ease;
}
.user-menu:hover .user-menu-arrow{transform:translateX(2px);color:var(--accent)}
body[data-theme="light"] .topbar{background:rgba(238,243,248,.9)}
body[data-theme="light"] .topbar.is-scrolled{background:rgba(238,243,248,.97);box-shadow:0 12px 30px rgba(41,61,82,.12)}
@media(prefers-color-scheme:light){
  body[data-theme="system"] .topbar{background:rgba(238,243,248,.9)}
  body[data-theme="system"] .topbar.is-scrolled{background:rgba(238,243,248,.97);box-shadow:0 12px 30px rgba(41,61,82,.12)}
}
@media(max-width:860px){
  .topbar{
    padding-left:max(10px,env(safe-area-inset-left));
    padding-right:max(10px,env(safe-area-inset-right));
    gap:8px;
  }
  .topbar-actions{gap:7px}
  .user-menu{grid-template-columns:38px;min-height:44px;width:44px;padding:3px;border-radius:13px}
  .user-menu .avatar{width:38px!important;height:38px!important;border-radius:11px}
  .user-menu-copy,.user-menu-arrow{display:none}
  .notification-button{width:42px!important;height:42px!important;border-radius:12px}
}
@media(max-width:420px){
  .topbar-actions{gap:5px}
  .topbar .menu-toggle,.notification-button,.user-menu{width:40px!important;height:40px!important;min-width:40px!important}
  .user-menu .avatar{width:34px!important;height:34px!important}
}
@media(prefers-reduced-motion:reduce){
  .topbar,.user-menu,.user-menu-arrow{transition:none!important}
}


/* Leap Hub 1.12.25 — evita estado oculto preso e melhora a resposta ao reaparecer. */
.topbar:not(.is-hidden){
  transform:translate3d(0,0,0);
  pointer-events:auto;
}
.topbar.is-hidden{
  transform:translate3d(0,calc(-100% - 2px),0);
}
@media(max-width:860px){
  .topbar{touch-action:pan-y}
}


/* Leap Hub 1.12.26 — cabeçalho realmente fixo e independente do bundle principal. */
.topbar{
  position:fixed!important;
  left:var(--sidebar);
  right:0;
  top:0;
  width:auto;
  z-index:45;
}
.env-banner~.app-shell .topbar{top:25px}
.topbar-spacer{display:block;flex:0 0 auto;height:var(--topbar);width:100%}
.topbar[data-autohide-ready="1"]{visibility:visible}
.topbar.is-hidden{transform:translate3d(0,calc(-100% - 30px),0)!important}
@media(max-width:860px){
  .topbar{left:0}
  .topbar-spacer{height:calc(66px + var(--mobile-safe-top,0px))}
}

/* Leap Hub 1.12.26 — central de alertas slim, no padrão do cockpit. */
.alerts-dashboard{display:grid;gap:14px;min-width:0}
.alerts-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:4px 2px 2px}
.alerts-page-header h1{margin:5px 0 5px;font-size:clamp(1.8rem,3.5vw,2.65rem);letter-spacing:-.04em;line-height:1}
.alerts-page-header p{max-width:680px;margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.alerts-page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}
.alerts-page-actions form{margin:0}
.alerts-page-actions .button:disabled{opacity:.46;cursor:not-allowed;transform:none}
.alerts-settings-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));color:var(--accent);font:inherit;font-size:.74rem;font-weight:850;cursor:pointer;transition:.16s ease}
.alerts-settings-trigger:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.alerts-settings-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.alerts-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.alerts-summary-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}
.alerts-summary-grid article>span{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.alerts-summary-grid article>strong{grid-row:1/3;grid-column:2;font-size:1.35rem;line-height:1;color:var(--text)}
.alerts-summary-grid article>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-2);font-size:.66rem}
.alerts-summary-grid article.attention{border-color:color-mix(in srgb,var(--warning) 30%,var(--line))}
.alerts-summary-grid article.attention>strong{color:var(--warning)}
.alerts-summary-grid article.success{border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}
.alerts-summary-grid article.success>strong{color:var(--accent)}
.alerts-summary-grid article.muted>strong{color:var(--muted)}
.alerts-feed-card{padding:0;overflow:hidden}
.alerts-feed-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px 14px;border-bottom:1px solid var(--line)}
.alerts-feed-header h2{margin:4px 0 3px;font-size:1.15rem}
.alerts-feed-header p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.4}
.alerts-feed-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:850}
.alerts-feed-list{display:grid}
.alerts-feed-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:12px 16px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:transparent}
.alerts-feed-row:last-child{border-bottom:0}
.alerts-feed-row.unread{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 42%)}
.alerts-feed-row.unread:before{content:"";position:absolute}
.alerts-feed-symbol{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--info);font-size:.76rem;font-weight:950}
.alerts-feed-row.warning .alerts-feed-symbol{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,var(--line))}
.alerts-feed-row.critical .alerts-feed-symbol{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 34%,var(--line))}
.alerts-feed-row.success .alerts-feed-symbol{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
.alerts-feed-copy{min-width:0}
.alerts-feed-title{display:flex;align-items:center;gap:7px;min-width:0}
.alerts-feed-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}
.alerts-feed-copy p{margin:3px 0;color:var(--text);font-size:.75rem;line-height:1.4}
.alerts-feed-copy small{display:block;color:var(--muted-2);font-size:.63rem}
.alerts-feed-copy small span{color:var(--muted);font-weight:800}
.alerts-feed-actions{display:flex;align-items:center;gap:5px}
.alerts-feed-actions form{margin:0}
.alerts-row-button{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font:inherit;font-weight:900;cursor:pointer}
.alerts-row-button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}
.alerts-row-button.danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}
.alerts-feed-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:170px;padding:28px;color:var(--muted)}
.alerts-feed-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent);font-weight:950}
.alerts-feed-empty strong,.alerts-feed-empty small{display:block}.alerts-feed-empty small{margin-top:4px;color:var(--muted-2)}
.alerts-settings-dialog{width:min(650px,100vw);height:100dvh;max-width:none;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:transparent;color:var(--text);overflow:hidden}
.alerts-settings-dialog::backdrop{background:rgba(1,7,14,.66);backdrop-filter:blur(4px)}
.alerts-settings-sheet{display:flex;flex-direction:column;width:100%;height:100%;border-left:1px solid var(--line);background:linear-gradient(160deg,color-mix(in srgb,var(--surface) 97%,var(--bg)),var(--bg));box-shadow:-28px 0 70px rgba(0,0,0,.34)}
.alerts-settings-header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 20px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px)}
.alerts-settings-header h2{margin:5px 0 3px;font-size:1.45rem}.alerts-settings-header p{margin:0;color:var(--muted);font-size:.75rem}
.alerts-settings-close{display:grid;place-items:center;width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font:inherit;font-size:1.35rem;cursor:pointer}
.alerts-settings-body{display:grid;gap:9px;padding:12px 14px 30px;overflow:auto;overscroll-behavior:contain}
.alerts-settings-section{border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 74%,transparent);overflow:hidden}
.alerts-settings-section>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;list-style:none;cursor:pointer}
.alerts-settings-section>summary::-webkit-details-marker{display:none}
.alerts-settings-section>summary span{display:grid;gap:3px;min-width:0}.alerts-settings-section>summary strong{font-size:.83rem}.alerts-settings-section>summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.64rem}
.alerts-settings-section>summary b{color:var(--muted);font-size:1rem;transition:transform .16s ease}.alerts-settings-section[open]>summary b{transform:rotate(90deg);color:var(--accent)}
.alerts-settings-section[open]>summary{border-bottom:1px solid var(--line)}
.alerts-settings-section-body{padding:14px}
.alerts-settings-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.alerts-settings-context strong,.alerts-settings-context small{display:block}.alerts-settings-context small{margin-top:3px;color:var(--muted);font-size:.64rem}
.alerts-settings-form{display:grid;gap:0}.alerts-settings-form label{font-size:.76rem}
.alerts-settings-form input,.alerts-settings-form select{min-height:40px}
.alerts-settings-form .alert-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0 13px}
.alerts-settings-form .alert-rule{padding:9px;border-radius:10px}.alerts-settings-form .alert-rule strong{font-size:.72rem}.alerts-settings-form .alert-rule small{font-size:.61rem}
.alerts-master-switch{padding:11px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.alerts-settings-submit{display:flex;justify-content:flex-end;padding-top:4px}
.alerts-settings-submit .button{min-height:39px}
.alerts-settings-empty{display:grid;justify-items:start;gap:7px;padding:14px;border:1px dashed var(--line);border-radius:11px;color:var(--muted)}
.alerts-settings-empty strong{color:var(--text)}
body.modal-open{overflow:hidden}
body[data-theme="light"] .alerts-settings-sheet{background:linear-gradient(160deg,#fff,#eef3f8)}
body[data-theme="light"] .alerts-settings-header{background:rgba(238,243,248,.96)}
@media(prefers-color-scheme:light){body[data-theme="system"] .alerts-settings-sheet{background:linear-gradient(160deg,#fff,#eef3f8)}body[data-theme="system"] .alerts-settings-header{background:rgba(238,243,248,.96)}}
@media(max-width:760px){
  .alerts-page-header{align-items:flex-start;flex-direction:column;gap:12px;padding-inline:4px}
  .alerts-page-actions{width:100%;justify-content:space-between}
  .alerts-page-actions form{flex:1}.alerts-page-actions .button{width:100%}
  .alerts-settings-trigger span{display:none}.alerts-settings-trigger{width:40px;height:40px;min-height:40px;padding:0}
  .alerts-summary-grid{grid-template-columns:1fr}
  .alerts-summary-grid article{padding:10px 12px}
  .alerts-feed-header{padding:14px 13px 11px}
  .alerts-feed-row{grid-template-columns:31px minmax(0,1fr);align-items:start;padding:11px 12px}
  .alerts-feed-actions{grid-column:2;justify-content:flex-end}
  .alerts-settings-dialog{width:100vw}
  .alerts-settings-sheet{border-left:0}
  .alerts-settings-header{padding-top:calc(14px + env(safe-area-inset-top));padding-inline:14px}
  .alerts-settings-body{padding:9px 9px calc(24px + env(safe-area-inset-bottom))}
  .alerts-settings-section-body{padding:11px}
  .alerts-settings-form .alert-rule-grid{grid-template-columns:1fr}
}


/* Leap Hub 1.12.27 — alertas compactos e cercas virtuais na localização */
.alerts-settings-sheet{min-height:0}
.alerts-settings-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable;overscroll-behavior-y:contain}
.alerts-settings-section{flex:0 0 auto;min-width:0}
.alerts-settings-section-body{min-width:0}
.alerts-status-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-2px 0 1px}
.alerts-status-strip>span{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 78%,transparent);color:var(--muted);font-size:.68rem;font-weight:750}
.alerts-status-strip b{color:var(--text);font-size:.76rem}
.alerts-status-strip i{width:7px;height:7px;border-radius:999px;background:var(--muted)}
.alerts-status-strip .attention{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));color:var(--warning)}
.alerts-status-strip .attention b{color:var(--warning)}
.alerts-status-strip .success{border-color:color-mix(in srgb,var(--accent) 25%,var(--line));color:var(--accent)}
.alerts-status-strip .success i{background:var(--accent)}
.alerts-feed-header.compact{min-height:45px;padding:10px 14px}
.alerts-feed-header.compact p{display:flex;align-items:center;gap:7px;min-width:0}
.alerts-feed-header.compact p strong{color:var(--text);font-size:.76rem}
.alerts-feed-header.compact p span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-2)}
.alerts-location-hint{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;margin:2px 0 10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.alerts-location-hint>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent)}
.alerts-location-hint strong,.alerts-location-hint small{display:block}.alerts-location-hint strong{font-size:.74rem}.alerts-location-hint small{margin-top:2px;color:var(--muted);font-size:.62rem}
.alerts-location-hint a{color:var(--accent);font-size:.7rem;font-weight:850}
.location-geofence-panel{scroll-margin-top:calc(var(--topbar-height,72px) + 16px)}
.location-geofence-heading{align-items:center}
.location-geofence-meta{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:end;gap:2px 9px;text-align:right}
.location-geofence-meta .status-badge{grid-row:1/3}
.location-geofence-meta strong{font-size:1.05rem;line-height:1}.location-geofence-meta small{color:var(--muted);font-size:.62rem}
.location-geofence-card{background:color-mix(in srgb,var(--surface-2) 84%,transparent)}
.location-geofence-empty{display:flex;align-items:center;justify-content:center;gap:11px;min-height:100px;padding:18px;border:1px dashed var(--line);border-radius:13px;color:var(--muted)}
.location-geofence-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent)}
.location-geofence-empty strong,.location-geofence-empty small{display:block}.location-geofence-empty small{margin-top:3px;color:var(--muted-2)}
.location-geofence-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.location-geofence-toggle .consent-row{flex:1;margin:0;padding:0;border:0;background:transparent}
.location-geofence-form{display:grid;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.location-geofence-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.location-geofence-events .consent-row{margin:0}
.location-geofence-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
.location-geofence-form-actions small{max-width:420px;color:var(--muted);font-size:.66rem;line-height:1.45}
@media(max-width:760px){
  .alerts-status-strip{gap:5px}.alerts-status-strip>span{min-height:27px;padding:4px 8px;font-size:.64rem}
  .alerts-feed-header.compact p span{display:none}
  .alerts-settings-body{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
  .alerts-location-hint{grid-template-columns:31px minmax(0,1fr)}.alerts-location-hint a{grid-column:2}
  .location-geofence-heading{align-items:flex-start}.location-geofence-meta{justify-items:start;text-align:left}.location-geofence-meta .status-badge{grid-row:auto;grid-column:1/3}
  .location-geofence-toggle{align-items:stretch;flex-direction:column}.location-geofence-toggle .button{width:100%}
  .location-geofence-events{grid-template-columns:1fr}
  .location-geofence-form-actions{align-items:stretch;flex-direction:column}.location-geofence-form-actions .button{width:100%}
}


/* Leap Hub 1.12.28 — rolagem confiável e seções fechadas compactas */
.alerts-settings-dialog{
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  scrollbar-width:thin;
}
.alerts-settings-sheet{
  height:auto;
  min-height:100%;
}
.alerts-settings-body{
  display:block;
  flex:none;
  min-height:auto;
  overflow:visible;
  touch-action:auto;
  overscroll-behavior:unset;
}
.alerts-settings-section + .alerts-settings-section{margin-top:8px}
.alerts-settings-section:not([open])>summary{
  min-height:46px;
  padding:8px 12px;
  gap:9px;
}
.alerts-settings-section:not([open])>summary span{
  display:block;
  min-width:0;
}
.alerts-settings-section:not([open])>summary small{display:none}
.alerts-settings-section:not([open])>summary strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
}
.alerts-settings-section:not([open])>summary b{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:8px;
  background:color-mix(in srgb,var(--surface) 74%,transparent);
  font-size:.88rem;
}
.alerts-settings-section[open]>summary{
  min-height:50px;
  padding:10px 12px;
}
.alerts-settings-section[open]>summary small{font-size:.61rem}
.alerts-settings-section-body{padding:11px}

@media(max-width:860px){
  .alerts-settings-dialog{
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
  }
  .alerts-settings-sheet{
    min-height:100dvh;
    height:auto;
  }
  .alerts-settings-header{
    position:sticky;
    top:0;
    z-index:6;
    padding-bottom:12px;
  }
  .alerts-settings-body{
    padding:8px 8px calc(24px + env(safe-area-inset-bottom));
  }
  .alerts-settings-section:not([open])>summary{
    min-height:44px;
    padding:7px 11px;
  }
  .alerts-settings-section[open]>summary{
    padding:9px 11px;
  }
}

/* Leap Hub 1.12.29 — página do veículo no mesmo padrão da tela inicial. */
.vehicle-detail-home{max-width:1480px;margin-inline:auto}
.vehicle-detail-home .cockpit-shortcut-strip-first{order:0}
.vehicle-detail-home-flow{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.vehicle-detail-home .vehicle-detail-home-vehicle{width:100%;min-height:0}
.vehicle-detail-home .vehicle-detail-home-vehicle .vehicle-visual-diagnostic-trigger,
.vehicle-detail-home .vehicle-detail-home-vehicle .vehicle-visual-sensor-health,
.vehicle-detail-home .vehicle-detail-home-vehicle .vehicle-visual-freshness,
.vehicle-detail-home .vehicle-detail-home-vehicle .vehicle-visual-color,
.vehicle-detail-home .vehicle-detail-home-vehicle .vehicle-visual-live{display:none!important}
.vehicle-detail-home .vehicle-detail-telemetry,
.vehicle-detail-home .cockpit-connection-panel{width:100%;min-height:0}
.vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,64px);row-gap:0}
.vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,auto);align-items:center;gap:16px;min-width:0;padding:11px 0}
.vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list dt{min-width:0;line-height:1.35;white-space:normal}
.vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list dd{min-width:0;margin:0;line-height:1.35;text-align:right;overflow-wrap:anywhere;white-space:normal}
.vehicle-detail-home .vehicle-detail-health-copy{max-width:860px}
.vehicle-detail-home .vehicle-detail-disclosure{margin-top:0}
.vehicle-detail-home .vehicle-detail-disclosure>summary{min-height:52px}
.vehicle-detail-home .vehicle-detail-disclosure-body{gap:10px}
@media(max-width:820px){
  .vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list{grid-template-columns:minmax(0,1fr)}
  .vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list>div{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:560px){
  .vehicle-detail-home{gap:8px}
  .vehicle-detail-home-flow{gap:8px}
  .vehicle-detail-home .vehicle-detail-disclosure>summary{padding:11px 13px}
  .vehicle-detail-home .vehicle-detail-disclosure>summary strong{font-size:.82rem}
  .vehicle-detail-home .cockpit-connection-panel .cockpit-detail-list>div{gap:12px;padding:9px 0}
}

/* 1.12.30 · dashboard e página do veículo usam a mesma composição */
.vehicle-unified-dashboard{max-width:1480px;margin-inline:auto}
.vehicle-unified-tools{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.vehicle-unified-tools-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.vehicle-unified-tools-head>div{display:grid;gap:3px;min-width:0}
.vehicle-unified-tools-head h2{margin:0;font-size:1rem;line-height:1.2}
.vehicle-unified-connection{display:flex;align-items:center;gap:9px;min-width:0;max-width:360px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);text-decoration:none}
.vehicle-unified-connection>i{width:8px;height:8px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 4px color-mix(in srgb,var(--muted) 14%,transparent);flex:0 0 auto}
.vehicle-unified-connection.success>i{background:var(--accent)}
.vehicle-unified-connection.info>i{background:#68a7ff}
.vehicle-unified-connection.warning>i,.vehicle-unified-connection.planned>i{background:#f6bd60}
.vehicle-unified-connection.error>i{background:#ff6978}
.vehicle-unified-connection>span{display:grid;gap:1px;min-width:0}
.vehicle-unified-connection small{color:var(--muted-2);font-size:.58rem;font-weight:820;letter-spacing:.07em;text-transform:uppercase}
.vehicle-unified-connection strong{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-unified-connection>b{margin-left:auto;color:var(--accent);font-size:1rem}
.vehicle-unified-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start;min-width:0}
.vehicle-unified-tool{min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);overflow:hidden}
.vehicle-unified-tool>summary{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;min-height:62px;padding:8px 10px;cursor:pointer;list-style:none}
.vehicle-unified-tool>summary::-webkit-details-marker{display:none}
.vehicle-unified-tool>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.vehicle-unified-tool>summary strong{font-size:.78rem;line-height:1.2}
.vehicle-unified-tool>summary small{color:var(--muted);font-size:.64rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-unified-tool>summary>b{color:var(--muted);font-size:1rem;transition:transform .18s ease,color .18s ease}
.vehicle-unified-tool[open]>summary{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 5%,var(--surface-2))}
.vehicle-unified-tool[open]>summary>b{color:var(--accent);transform:rotate(90deg)}
.vehicle-unified-tool-icon{display:grid!important;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent);font-size:.9rem}
.vehicle-unified-tool-body{display:grid;gap:10px;padding:11px;min-width:0}
.vehicle-unified-tool-body>.driver-details,.vehicle-unified-tool-body>.tire-grid,.vehicle-unified-tool-body>.metric-grid,.vehicle-unified-tool-body>.table-wrap{margin:0}
.vehicle-unified-mini-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:0}
.vehicle-unified-mini-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.vehicle-unified-mini-list dt{color:var(--muted);font-size:.68rem}
.vehicle-unified-mini-list dd{margin:0;font-size:.72rem;font-weight:760;text-align:right;overflow-wrap:anywhere}
.vehicle-unified-tool-grid>.vehicle-unified-tool[open]{grid-column:span 2}
.vehicle-unified-tool-body .text-link{justify-self:start;font-size:.72rem}
@media(max-width:1040px){
  .vehicle-unified-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vehicle-unified-tool-grid>.vehicle-unified-tool[open]{grid-column:1/-1}
}
@media(max-width:640px){
  .vehicle-unified-tools{padding:10px;gap:8px;border-radius:8px}
  .vehicle-unified-tools-head{align-items:stretch;flex-direction:column}
  .vehicle-unified-connection{max-width:none;width:100%}
  .vehicle-unified-tool-grid{grid-template-columns:minmax(0,1fr);gap:6px}
  .vehicle-unified-tool-grid>.vehicle-unified-tool[open]{grid-column:auto}
  .vehicle-unified-tool>summary{min-height:54px;grid-template-columns:30px minmax(0,1fr) 14px;padding:7px 9px}
  .vehicle-unified-tool-icon{width:30px;height:30px;border-radius:8px}
  .vehicle-unified-tool>summary strong{font-size:.75rem}
  .vehicle-unified-tool>summary small{font-size:.61rem}
  .vehicle-unified-mini-list{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.vehicle-unified-tool>summary>b{transition:none}}

/* Leap Hub 1.12.31 — painel único do veículo e barra slim de detalhes. */
.vehicle-details-bar{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
.vehicle-details-bar>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:12px;min-height:58px;padding:10px 14px;cursor:pointer;list-style:none;user-select:none}
.vehicle-details-bar>summary::-webkit-details-marker{display:none}
.vehicle-details-bar-title{display:grid;gap:2px;min-width:0}
.vehicle-details-bar-title small{color:var(--muted-2);font-size:.62rem;font-weight:850;letter-spacing:.09em}
.vehicle-details-bar-title strong{font-size:.92rem;line-height:1.2}
.vehicle-details-bar-status{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:.72rem;font-weight:750;white-space:nowrap}
.vehicle-details-bar-status i{width:7px;height:7px;border-radius:50%;background:var(--muted)}
.vehicle-details-bar-status.success i{background:var(--success)}
.vehicle-details-bar-status.warning i{background:var(--warning)}
.vehicle-details-bar-status.error i{background:var(--danger)}
.vehicle-details-bar-chevron{display:grid;place-items:center;color:var(--muted);font-size:1rem;transition:transform .18s ease}
.vehicle-details-bar[open] .vehicle-details-bar-chevron{transform:rotate(180deg)}
.vehicle-details-bar-body{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 12px 12px;border-top:1px solid var(--line)}
.vehicle-detail-link{display:grid;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:9px;min-width:0;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 68%,transparent);color:inherit;text-decoration:none}
.vehicle-detail-link:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));transform:translateY(-1px)}
.vehicle-detail-link-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:850}
.vehicle-detail-link>span:nth-child(2){display:grid;gap:2px;min-width:0}
.vehicle-detail-link strong{font-size:.78rem;line-height:1.2}
.vehicle-detail-link small{overflow:hidden;color:var(--muted);font-size:.66rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.vehicle-detail-link>b{color:var(--accent)}
@media(max-width:1100px){.vehicle-details-bar-body{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.vehicle-details-bar>summary{grid-template-columns:minmax(0,1fr) 20px;min-height:52px;padding:9px 12px}.vehicle-details-bar-status{display:none}.vehicle-details-bar-body{grid-template-columns:1fr;padding:0 8px 8px;gap:0}.vehicle-detail-link{margin-top:7px;padding:9px}.vehicle-details-bar-title strong{font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.vehicle-details-bar-chevron,.vehicle-detail-link{transition:none!important}}

/* Leap Hub 1.12.32 — viagens no mesmo padrão slim do painel principal. */
.trips-cockpit{gap:10px}
.trips-cockpit>.cockpit-page-head{padding-bottom:4px}
.trips-cockpit>.cockpit-page-head h1{font-size:clamp(1.75rem,3vw,2.4rem)}
.trips-cockpit .cockpit-shortcut-strip{grid-template-columns:repeat(5,minmax(0,1fr))}
.trip-filter-disclosure,.trip-analysis-disclosure{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
.trip-filter-disclosure>summary,.trip-analysis-disclosure>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;min-height:54px;padding:10px 14px;cursor:pointer;list-style:none}
.trip-filter-disclosure>summary::-webkit-details-marker,.trip-analysis-disclosure>summary::-webkit-details-marker{display:none}
.trip-filter-disclosure>summary:hover,.trip-analysis-disclosure>summary:hover{background:color-mix(in srgb,var(--surface-2) 74%,transparent)}
.trip-filter-disclosure>summary>span:not(.trip-filter-summary-icon),.trip-analysis-disclosure>summary>span{display:grid;gap:2px;min-width:0}
.trip-filter-disclosure>summary strong,.trip-analysis-disclosure>summary strong{font-size:.82rem}
.trip-filter-disclosure>summary small,.trip-analysis-disclosure>summary small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.trip-filter-disclosure>summary>b,.trip-analysis-disclosure>summary>b{color:var(--muted);font-size:1.15rem;transition:transform .18s ease}
.trip-filter-disclosure[open]>summary>b,.trip-analysis-disclosure[open]>summary>b{transform:rotate(90deg)}
.trip-filter-summary-icon{display:grid!important;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--surface-3);color:var(--accent);font-size:.95rem}
.trip-filter-disclosure>form{padding:0 14px 14px;border-top:1px solid var(--line)}
.trips-cockpit .trip-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:8px;padding-top:12px;align-items:end}
.trips-cockpit .trip-filter-grid label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:750}
.trips-cockpit .trip-filter-grid input,.trips-cockpit .trip-filter-grid select{min-height:39px;padding:7px 9px}
.trip-filter-actions{display:flex;gap:6px;align-items:center}
.trip-filter-actions .button{min-height:39px;margin:0;padding:7px 10px;white-space:nowrap}
.trip-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.trip-overview-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.trip-overview-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--surface-3);color:var(--accent);font-size:.78rem;font-weight:850}
.trip-overview-card>div{display:grid;gap:2px;min-width:0}
.trip-overview-card small{color:var(--muted);font-size:.64rem;font-weight:760}
.trip-overview-card strong{overflow:hidden;font-size:1.05rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.trip-overview-card em{overflow:hidden;color:var(--muted);font-size:.65rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.trip-history-panel{padding:15px}
.trip-history-panel .cockpit-panel-head{margin-bottom:8px}
.trip-history-list{display:grid;gap:5px}
.trip-history-card{display:grid;grid-template-columns:minmax(95px,.75fr) minmax(115px,1fr) minmax(125px,1.05fr) minmax(135px,1.1fr) minmax(140px,1.2fr) 20px;gap:10px;align-items:center;min-width:0;padding:10px 9px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:7px;color:var(--text);text-decoration:none}
.trip-history-card:last-child{border-bottom-color:transparent}
.trip-history-card:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--surface-2)}
.trip-history-card>span{display:grid;gap:2px;min-width:0}
.trip-history-card small,.trip-history-card em{overflow:hidden;color:var(--muted);font-size:.64rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.trip-history-card strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.trip-history-card>i{color:var(--accent);font-size:1.15rem;font-style:normal;text-align:right}
.trip-history-meta{color:var(--muted);font-size:.66rem;line-height:1.35}
.trip-history-empty{min-height:110px;border:1px dashed var(--line);border-radius:8px}
.trip-analysis-disclosure>summary{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}
.trip-analysis-content{display:grid;gap:8px;padding:8px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 42%,transparent)}
.trip-secondary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.trip-secondary-metrics>article{display:grid;gap:3px;padding:11px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.trip-secondary-metrics small,.trip-secondary-metrics span{color:var(--muted);font-size:.64rem}
.trip-secondary-metrics strong{font-size:1rem}
.trip-analysis-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);gap:8px}
.trip-insight-section{min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.trip-insight-section h3{margin:4px 0 0;font-size:.95rem}
.trip-insight-section p{margin:5px 0 0;color:var(--muted);font-size:.7rem}
.trip-insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.trip-insight-head>div{min-width:0}
.trip-highlight-stack{display:grid;gap:6px;margin-top:10px}
.trip-highlight-stack .trip-highlight-card{padding:11px;border-radius:7px;box-shadow:none}
.trip-highlight-stack .trip-highlight-card strong{font-size:1rem}
.trip-highlight-stack .trip-highlight-card span{font-size:.62rem}
.trip-analysis-content .trip-profile-grid{gap:6px;margin-top:10px}
.trip-analysis-content .trip-profile-card{padding:10px;border-radius:7px}
.trip-analysis-content .trip-daily-chart{margin-top:8px}
.trip-analysis-content .trip-day-row{padding:8px 0}
.trip-analysis-content .trip-category-row{padding:9px 0}
.trip-analysis-content .official-consumption-overview{gap:10px;background:var(--surface)}
.trip-analysis-content .official-coverage-stats,.trip-analysis-content .official-cumulative-grid{gap:6px}
.trip-analysis-content .official-coverage-stats>span,.trip-analysis-content .official-cumulative-grid>span{padding:9px;border-radius:7px}
.trip-review-panel{padding:14px}
.trip-review-panel .official-merge-suggestions{display:grid;gap:6px}
.trip-review-panel .official-merge-suggestions>article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.trip-review-panel .official-merge-suggestions>article>div{display:grid;gap:2px}
.trip-review-panel .official-merge-suggestions small{color:var(--muted);font-size:.68rem}

@media(max-width:1180px){
  .trip-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trips-cockpit .trip-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-filter-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:860px){
  .trips-cockpit .cockpit-shortcut-strip{grid-template-columns:none}
  .trip-overview-grid,.trip-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-analysis-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .trips-cockpit>.cockpit-page-head{padding-inline:4px}
  .trip-filter-disclosure>summary,.trip-analysis-disclosure>summary{min-height:48px;padding:8px 10px}
  .trips-cockpit .trip-filter-grid{grid-template-columns:minmax(0,1fr)}
  .trip-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .trip-filter-actions .button{width:100%}
  .trip-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .trip-overview-card{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:9px}
  .trip-overview-card>span{width:29px;height:29px;border-radius:8px;font-size:.68rem}
  .trip-overview-card strong{font-size:.9rem}
  .trip-history-panel{padding:10px}
  .trip-history-card{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:10px 7px;border:1px solid var(--line);background:var(--surface-2)}
  .trip-history-card>i{grid-column:2;grid-row:1/3}
  .trip-history-date,.trip-history-distance,.trip-history-energy,.trip-history-cost,.trip-history-meta{grid-column:1}
  .trip-history-distance,.trip-history-energy,.trip-history-cost{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}
  .trip-history-distance>small,.trip-history-energy>small,.trip-history-cost>small{grid-column:1}
  .trip-history-distance>strong,.trip-history-energy>strong,.trip-history-cost>strong{grid-column:2;grid-row:1}
  .trip-history-distance>em,.trip-history-energy>em,.trip-history-cost>em,.trip-history-energy>small:last-child{grid-column:1/-1}
  .trip-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .trip-secondary-metrics>article{padding:9px}
  .trip-analysis-content{padding:5px}
  .trip-insight-section{padding:11px}
  .trip-review-panel .official-merge-suggestions>article{align-items:stretch;flex-direction:column}
  .trip-review-panel .official-merge-suggestions .button{width:100%}
}

/* Leap Hub 1.12.33 — explicação clara dos dados oficiais de viagens. */
.trip-analysis-content .official-consumption-overview{gap:11px;padding:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--accent) 6%),var(--surface))}
.official-consumption-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.official-consumption-head>div:first-child{min-width:0}
.official-consumption-head h3{margin:4px 0 0;font-size:1rem}
.official-consumption-head p{max-width:760px;margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}
.official-progress-value{display:grid;justify-items:end;flex:0 0 auto;gap:0}
.official-progress-value strong{font-size:1.35rem;line-height:1}
.official-progress-value small{color:var(--muted);font-size:.62rem}
.official-progress-track{height:7px;overflow:hidden;border-radius:999px;background:var(--surface-3)}
.official-progress-track>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--success));transition:width .25s ease}
.trip-analysis-content .official-coverage-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.trip-analysis-content .official-coverage-stats:has(>span:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.trip-analysis-content .official-coverage-stats>span{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;row-gap:1px;align-items:center;padding:9px 10px;border-radius:7px}
.trip-analysis-content .official-coverage-stats strong{grid-row:1/3;font-size:1.15rem}
.trip-analysis-content .official-coverage-stats small{font-size:.68rem;font-weight:800}
.trip-analysis-content .official-coverage-stats em{overflow:hidden;color:var(--muted);font-size:.61rem;font-style:normal;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.trip-analysis-content .official-coverage-stats .success strong{color:var(--success)}
.trip-analysis-content .official-coverage-stats .warning strong{color:var(--warning)}
.official-overlap-note{margin:0!important;padding:0 2px;color:var(--muted-2)!important;font-size:.62rem!important;line-height:1.4}
.official-data-details{border:1px solid var(--line);border-radius:7px;background:var(--surface);overflow:hidden}
.official-data-details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:44px;padding:8px 10px;cursor:pointer;list-style:none}
.official-data-details>summary::-webkit-details-marker{display:none}
.official-data-details>summary>span{display:grid;gap:1px;min-width:0}
.official-data-details>summary strong{font-size:.72rem}
.official-data-details>summary small{overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}
.official-data-details>summary>b{color:var(--muted);transition:transform .18s ease}
.official-data-details[open]>summary>b{transform:rotate(90deg)}
.official-data-details .official-cumulative-grid{padding:0 8px 8px}
.official-reconcile-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.official-reconcile-action>div{display:grid;gap:3px;min-width:0}
.official-reconcile-action strong{font-size:.76rem}
.official-reconcile-action p{margin:0!important;color:var(--text)!important;font-size:.67rem!important;line-height:1.42}
.official-reconcile-action small{color:var(--muted);font-size:.61rem;line-height:1.4}
.official-reconcile-action form{margin:0}
.official-reconcile-action .button{margin:0;white-space:nowrap}
@media(max-width:900px){
  .trip-analysis-content .official-coverage-stats,.trip-analysis-content .official-coverage-stats:has(>span:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .official-consumption-head{gap:10px}
  .official-progress-value strong{font-size:1.15rem}
  .trip-analysis-content .official-coverage-stats,.trip-analysis-content .official-coverage-stats:has(>span:nth-child(4)){grid-template-columns:minmax(0,1fr)}
  .trip-analysis-content .official-coverage-stats em{white-space:normal}
  .official-reconcile-action{grid-template-columns:minmax(0,1fr);gap:9px}
  .official-reconcile-action .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.official-progress-track>i,.official-data-details>summary>b{transition:none}}

/* Leap Hub 1.12.34 — detalhes da viagem no padrão slim do painel principal. */
.trip-detail-cockpit{gap:9px}
.trip-detail-cockpit>.cockpit-page-head{padding-bottom:2px}
.trip-detail-cockpit .cockpit-page-head h1{max-width:900px;font-size:clamp(1.45rem,2.5vw,2.05rem);line-height:1.08}
.trip-detail-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.trip-detail-hero{display:grid;gap:12px;padding:15px}
.trip-detail-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.trip-detail-hero-head>div{min-width:0}
.trip-detail-hero-head h2{overflow:hidden;margin:3px 0 0;font-size:1.12rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-hero-head p{margin:4px 0 0;color:var(--muted);font-size:.72rem}
.trip-detail-place-grid{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.trip-detail-place-grid>div{display:grid;gap:2px;min-width:0}
.trip-detail-place-grid>div:last-child{text-align:right}
.trip-detail-place-grid span{color:var(--muted);font-size:.61rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.trip-detail-place-grid strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-place-grid small{color:var(--muted);font-size:.64rem}
.trip-detail-place-grid>i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--surface-3);color:var(--accent);font-style:normal;font-weight:900}
.trip-detail-primary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.trip-detail-primary-grid>article{display:grid;gap:2px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.trip-detail-primary-grid span{color:var(--muted);font-size:.62rem;font-weight:760}
.trip-detail-primary-grid strong{overflow:hidden;font-size:1rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-primary-grid small{overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-meta-row{display:flex;flex-wrap:wrap;gap:5px}
.trip-detail-meta-row>span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.64rem;background:var(--surface-2)}
.trip-detail-meta-row b{color:var(--text);font-size:.67rem}
.trip-detail-anchor{scroll-margin-top:84px}
.trip-detail-anchor>.route-map-card{margin:0}
.trip-detail-section-stack{display:grid;gap:7px}
.trip-detail-disclosure{scroll-margin-top:84px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.trip-detail-disclosure>summary{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:52px;padding:9px 12px;cursor:pointer;list-style:none;user-select:none}
.trip-detail-disclosure>summary::-webkit-details-marker{display:none}
.trip-detail-disclosure>summary:hover{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}
.trip-detail-disclosure>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}
.trip-detail-disclosure>summary strong{font-size:.82rem}
.trip-detail-disclosure>summary small{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-disclosure>summary>b{display:grid;place-items:center;color:var(--muted);font-size:1.1rem;transition:transform .18s ease}
.trip-detail-disclosure[open]>summary>b{transform:rotate(90deg)}
.trip-detail-disclosure-icon{display:grid!important;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--surface-3);color:var(--accent);font-size:.85rem;font-weight:900}
.trip-detail-disclosure-body{display:grid;gap:9px;padding:9px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 38%,transparent)}
.trip-detail-official{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.trip-detail-official .card-heading{margin:0}
.trip-detail-official .card-heading h2{font-size:.95rem}
.trip-detail-official .card-heading p{font-size:.68rem}
.trip-detail-official .official-trip-values,.trip-detail-official .official-breakdown-grid{gap:5px}
.trip-detail-official .official-trip-values>div,.trip-detail-official .official-breakdown-grid>div{padding:9px;border-radius:7px}
.trip-detail-official .official-trip-values span,.trip-detail-official .official-breakdown-grid span{color:var(--muted);font-size:.61rem}
.trip-detail-official .official-trip-values strong,.trip-detail-official .official-breakdown-grid strong{font-size:.9rem}
.trip-detail-official>form{display:flex;justify-content:flex-end;margin:0}
.trip-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.trip-detail-facts>article{display:grid;gap:2px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.trip-detail-facts span{color:var(--muted);font-size:.61rem;font-weight:760}
.trip-detail-facts strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-facts small{overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}
.trip-detail-edit-form{display:grid;gap:10px;padding:4px}
.trip-detail-edit-form label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:750}
.trip-detail-edit-form input,.trip-detail-edit-form select,.trip-detail-edit-form textarea{min-height:39px}
.trip-detail-edit-form textarea{resize:vertical}
.trip-detail-form-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}
.trip-detail-form-actions>span{color:var(--muted);font-size:.66rem}
.trip-detail-tech-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px}
.trip-detail-tech-head p{margin:0;color:var(--muted);font-size:.68rem}
.trip-detail-tech-head>div{display:flex;gap:5px}
.trip-point-table{max-height:440px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.trip-point-table table{margin:0}
.trip-detail-correction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.trip-detail-correction-grid>article{display:grid;align-content:start;gap:5px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.trip-detail-correction-grid>article>span{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.trip-detail-correction-grid>article>strong{font-size:.86rem}
.trip-detail-correction-grid>article>p{margin:0 0 4px;color:var(--muted);font-size:.67rem;line-height:1.4}
.trip-detail-correction-grid form{display:grid;gap:7px;margin:0}
.trip-detail-correction-grid label{display:grid;gap:4px;color:var(--muted);font-size:.65rem}
.trip-detail-correction-grid .button{justify-self:start;margin:0}
.trip-detail-danger>summary .trip-detail-disclosure-icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}
.trip-detail-danger[open]{border-color:color-mix(in srgb,var(--danger) 32%,var(--line))}

@media(max-width:980px){
  .trip-detail-primary-grid,.trip-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .trip-detail-cockpit>.cockpit-page-head{align-items:flex-start}
  .trip-detail-shortcuts{grid-template-columns:none}
  .trip-detail-hero{padding:11px}
  .trip-detail-hero-head h2{white-space:normal}
  .trip-detail-place-grid{grid-template-columns:minmax(0,1fr);gap:6px}
  .trip-detail-place-grid>div:last-child{text-align:left}
  .trip-detail-place-grid>i{width:24px;height:24px;transform:rotate(90deg)}
  .trip-detail-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .trip-detail-primary-grid>article{padding:9px}
  .trip-detail-disclosure>summary{min-height:48px;padding:8px 9px}
  .trip-detail-disclosure-body{padding:6px}
  .trip-detail-official .card-heading{align-items:flex-start}
  .trip-detail-official .official-trip-values,.trip-detail-official .official-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trip-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .trip-detail-form-actions,.trip-detail-tech-head{align-items:stretch;flex-direction:column}
  .trip-detail-form-actions .button{width:100%}
  .trip-detail-tech-head>div{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .trip-detail-tech-head .button{width:100%}
  .trip-detail-correction-grid{grid-template-columns:minmax(0,1fr)}
  .trip-detail-correction-grid .button{width:100%}
}
@media(max-width:460px){
  .trip-detail-primary-grid,.trip-detail-facts{grid-template-columns:minmax(0,1fr)}
  .trip-detail-meta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-detail-meta-row>span{justify-content:center;min-width:0}
  .trip-detail-official .official-trip-values,.trip-detail-official .official-breakdown-grid{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.trip-detail-disclosure>summary>b{transition:none}}
.trip-detail-map-card{gap:10px;padding:14px}
.trip-detail-map-card .card-heading{margin:0}
.trip-detail-map-card .route-map-shell{min-height:300px}
.trip-route-privacy{border-top:1px solid var(--line);padding-top:8px}
.trip-route-privacy>summary{cursor:pointer;color:var(--muted);font-size:.65rem;font-weight:780;list-style:none}
.trip-route-privacy>summary::-webkit-details-marker{display:none}
.trip-route-privacy>summary::after{content:' ›';color:var(--accent)}
.trip-route-privacy[open]>summary::after{content:' ↓'}
.trip-route-privacy p{margin:7px 0 0;color:var(--muted);font-size:.66rem;line-height:1.45}
@media(max-width:720px){.trip-detail-map-card{padding:10px}.trip-detail-map-card .route-map-shell{min-height:240px}}

/* Leap Hub 1.12.35 — detalhes da viagem mais amplos e mapa geográfico visível. */
.content-shell>main:has(>.trip-detail-cockpit){width:min(1540px,calc(100% - 28px))}
.trip-detail-cockpit{width:100%;max-width:1500px;margin-inline:auto}
.trip-detail-map-card{gap:12px;padding:16px}
.trip-detail-map-card .card-heading{align-items:center}
.trip-detail-map-card .card-heading p{max-width:900px}
.trip-detail-route-map{min-height:520px;border-radius:14px}
.trip-detail-map-actions{align-items:center}
.trip-detail-map-actions [data-route-map-fit]{margin-right:auto}
.trip-detail-map-card .trip-route-privacy{margin-top:0}
@media(max-width:1180px){
  .content-shell>main:has(>.trip-detail-cockpit){width:calc(100% - 20px)}
  .trip-detail-route-map{min-height:460px}
}
@media(max-width:720px){
  .content-shell>main:has(>.trip-detail-cockpit){width:100%}
  .trip-detail-map-card{padding:9px}
  .trip-detail-map-card .card-heading{align-items:flex-start}
  .trip-detail-route-map{min-height:390px;border-radius:11px}
  .trip-detail-map-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-detail-map-actions [data-route-map-fit]{margin-right:0;grid-column:1/-1}
}
@media(max-width:430px){
  .trip-detail-route-map{min-height:340px}
  .trip-detail-map-actions{grid-template-columns:minmax(0,1fr)}
  .trip-detail-map-actions [data-route-map-fit]{grid-column:auto}
}


/* Leap Hub 1.12.36 — detalhes da viagem unificados ao padrão visual das demais telas. */
.trip-detail-cockpit{width:100%;max-width:none;margin:0;gap:10px}
.trip-detail-cockpit>.cockpit-page-head{padding-bottom:4px}
.trip-detail-cockpit>.cockpit-page-head h1{max-width:none;font-size:clamp(1.75rem,3vw,2.4rem);line-height:1.08}
.trip-detail-cockpit>.cockpit-page-head p{max-width:980px}
.trip-detail-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.trip-detail-hero{padding:15px;border-radius:9px}
.trip-detail-map-card{gap:10px;padding:15px;border-radius:9px}
.trip-detail-map-card .cockpit-panel-head{margin-bottom:0}
.trip-detail-map-card .cockpit-panel-head p{max-width:900px;margin:4px 0 0;color:var(--muted);font-size:.72rem;line-height:1.45}
.trip-detail-map-card .cockpit-live{max-width:none}
.trip-detail-route-map{min-height:460px;border-radius:9px}
.trip-detail-map-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.trip-detail-map-actions [data-route-map-fit]{margin-right:auto}
.trip-detail-map-card .trip-route-privacy{margin-top:0}
.content-shell>main:has(>.trip-detail-cockpit){width:min(1580px,calc(100% - 40px));max-width:100%!important}
@media(max-width:1180px){
  .content-shell>main:has(>.trip-detail-cockpit){width:calc(100% - 22px)}
  .trip-detail-route-map{min-height:420px}
}
@media(max-width:860px){
  .trip-detail-shortcuts{grid-template-columns:none}
}
@media(max-width:720px){
  .content-shell>main:has(>.trip-detail-cockpit){width:100%}
  .trip-detail-cockpit>.cockpit-page-head{padding-inline:4px}
  .trip-detail-cockpit>.cockpit-page-head .button{width:100%}
  .trip-detail-map-card{padding:10px}
  .trip-detail-map-card .cockpit-panel-head{align-items:flex-start}
  .trip-detail-map-card .cockpit-live{max-width:45%}
  .trip-detail-route-map{min-height:360px;border-radius:7px}
  .trip-detail-map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-detail-map-actions .button{width:100%}
  .trip-detail-map-actions [data-route-map-fit]{margin-right:0;grid-column:1/-1}
}
@media(max-width:430px){
  .trip-detail-route-map{min-height:320px}
  .trip-detail-map-actions{grid-template-columns:minmax(0,1fr)}
  .trip-detail-map-actions [data-route-map-fit]{grid-column:auto}
}

/* Leap Hub 1.12.37 — relatórios no mesmo padrão slim do painel principal. */
.analytics-cockpit{gap:10px}
.analytics-cockpit>.cockpit-page-head{padding-bottom:4px}
.analytics-cockpit>.cockpit-page-head h1{font-size:clamp(1.75rem,3vw,2.4rem)}
.analytics-cockpit .analytics-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.analytics-filter-disclosure>form{padding:0 14px 14px;border-top:1px solid var(--line)}
.analytics-filter-grid-slim{display:grid;grid-template-columns:repeat(2,minmax(0,220px)) minmax(250px,1fr);gap:8px;align-items:end;padding-top:12px}
.analytics-filter-grid-slim label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:750}
.analytics-filter-grid-slim input{min-height:39px;padding:7px 9px}
.analytics-filter-grid-slim .trip-filter-actions{justify-content:flex-end}
.analytics-overview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.analytics-overview-card{grid-template-columns:34px minmax(0,1fr);padding:11px}
.analytics-overview-card>span{width:32px;height:32px}
.analytics-overview-card strong{font-size:.96rem}
.analytics-comparison-panel{padding:14px}
.analytics-comparison-panel .cockpit-panel-head{margin-bottom:9px}
.analytics-compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.analytics-compare-item{display:grid;gap:2px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.analytics-compare-item small,.analytics-compare-item span{overflow:hidden;color:var(--muted);font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}
.analytics-compare-item strong{font-size:1rem}
.analytics-compare-item.success strong{color:var(--success)}
.analytics-compare-item.warning strong{color:var(--warning)}
.analytics-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.analytics-recent-panel{padding:14px}
.analytics-recent-panel .cockpit-panel-head{margin-bottom:7px}
.analytics-activity-list{display:grid;gap:4px}
.analytics-activity-row{display:grid;grid-template-columns:minmax(110px,.9fr) repeat(3,minmax(90px,1fr)) 16px;gap:8px;align-items:center;min-width:0;padding:9px 7px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:7px;color:inherit;text-decoration:none}
.analytics-charge-row{grid-template-columns:minmax(120px,1.1fr) minmax(90px,1fr) minmax(90px,.8fr) 16px}
.analytics-activity-row:last-child{border-bottom-color:transparent}
.analytics-activity-row:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--surface-2)}
.analytics-activity-row>span{display:grid;gap:2px;min-width:0}
.analytics-activity-row small{overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.analytics-activity-row strong{overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.analytics-activity-row>b{color:var(--accent);font-size:1rem;text-align:right}
.analytics-analysis-content{gap:8px}
.analytics-secondary-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.analytics-analysis-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:8px}
.analytics-monthly-panel{min-width:0}
.analytics-monthly-panel .analytics-months{margin-top:8px}
.analytics-energy-source-list,.analytics-maintenance-list{display:grid;gap:5px;margin-top:9px}
.analytics-energy-source{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px;border-bottom:1px solid var(--line)}
.analytics-energy-source:last-child{border-bottom:0}
.analytics-energy-source>div{display:grid;gap:2px;min-width:0}
.analytics-energy-source strong{font-size:.75rem}
.analytics-energy-source small{color:var(--muted);font-size:.62rem}
.analytics-energy-source>span,.analytics-energy-source>b{font-size:.72rem;white-space:nowrap}
.analytics-maintenance-row{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;gap:8px;align-items:center;padding:9px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.analytics-maintenance-row:last-child{border-bottom:0}
.analytics-maintenance-row>span:first-child{display:grid;gap:2px;min-width:0}
.analytics-maintenance-row strong{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}
.analytics-maintenance-row small{color:var(--muted);font-size:.62rem}
.analytics-maintenance-row>span:nth-child(2){font-size:.68rem;font-weight:750;white-space:nowrap}
.analytics-maintenance-row>b{color:var(--accent)}
.analytics-reading-note p{font-size:.7rem;line-height:1.5}
.analytics-reading-note .privacy-callout{margin-top:10px;padding:10px}
.analytics-export-disclosure{scroll-margin-top:80px}
.analytics-export-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:8px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 42%,transparent)}
.analytics-export-link{display:grid;grid-template-columns:30px minmax(0,1fr) 12px;grid-template-rows:auto auto;gap:1px 8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:inherit;text-decoration:none}
.analytics-export-link>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-3);color:var(--accent);font-weight:850}
.analytics-export-link strong{font-size:.72rem}
.analytics-export-link small{color:var(--muted);font-size:.61rem}
.analytics-export-link>b{grid-column:3;grid-row:1/3;color:var(--accent)}
.analytics-export-link:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--surface-2)}
.analytics-cockpit .analytics-month-row{grid-template-columns:82px minmax(0,1fr);gap:10px;padding:9px;border-radius:7px}
.analytics-cockpit .analytics-month-row .month-meta{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 8px}
.analytics-cockpit .month-bars>div{grid-template-columns:62px minmax(70px,1fr) 80px;gap:7px}
.analytics-cockpit .month-bars strong{font-size:.72rem}
.analytics-cockpit .month-meta span{font-size:.61rem}

@media(max-width:1280px){
  .analytics-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .analytics-export-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .analytics-cockpit .analytics-shortcuts{grid-template-columns:none}
  .analytics-filter-grid-slim{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-filter-grid-slim .trip-filter-actions{grid-column:1/-1}
  .analytics-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-recent-grid,.analytics-analysis-grid{grid-template-columns:minmax(0,1fr)}
  .analytics-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .analytics-cockpit>.cockpit-page-head{padding-inline:4px}
  .analytics-filter-grid-slim{grid-template-columns:minmax(0,1fr)}
  .analytics-filter-grid-slim .trip-filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}
  .analytics-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .analytics-overview-card{grid-template-columns:29px minmax(0,1fr);gap:7px;padding:9px}
  .analytics-overview-card>span{width:28px;height:28px;font-size:.66rem}
  .analytics-overview-card strong{font-size:.85rem}
  .analytics-comparison-panel,.analytics-recent-panel{padding:10px}
  .analytics-compare-grid{gap:5px}
  .analytics-compare-item{padding:8px}
  .analytics-activity-row,.analytics-charge-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:9px 7px;border:1px solid var(--line);background:var(--surface-2)}
  .analytics-activity-row>span{grid-column:1}
  .analytics-activity-row>b{grid-column:2;grid-row:1/5}
  .analytics-activity-row>span:not(:first-child){grid-template-columns:minmax(0,1fr) auto;align-items:baseline}
  .analytics-activity-row>span:not(:first-child) small{grid-column:1}
  .analytics-activity-row>span:not(:first-child) strong{grid-column:2;grid-row:1}
  .analytics-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .analytics-export-grid{grid-template-columns:minmax(0,1fr);padding:6px}
  .analytics-cockpit .analytics-month-row{grid-template-columns:minmax(0,1fr)}
  .analytics-cockpit .analytics-month-row .month-meta{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:390px){
  .analytics-overview-grid,.analytics-secondary-metrics,.analytics-compare-grid{grid-template-columns:minmax(0,1fr)}
}

/* Leap Hub 1.12.38 — carregamentos no padrão slim do veículo, viagens e relatórios. */
.charging-cockpit{gap:10px}
.charging-cockpit>.cockpit-page-head{padding-bottom:4px}
.charging-cockpit>.cockpit-page-head h1{font-size:clamp(1.75rem,3vw,2.4rem)}
.charging-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.charging-period-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.charging-period-bar>span{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.charging-period-bar nav{display:flex;flex-wrap:wrap;gap:4px}
.charging-period-bar a{padding:7px 10px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:.69rem;font-weight:800;text-decoration:none}
.charging-period-bar a:hover{border-color:var(--line);background:var(--surface-2);color:var(--text)}
.charging-period-bar a.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent)}
.charging-overview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.charging-overview-card{grid-template-columns:34px minmax(0,1fr);padding:11px}
.charging-overview-card>span{width:32px;height:32px;font-size:.72rem}
.charging-overview-card strong{font-size:.94rem;overflow-wrap:anywhere}
.charging-active-panel{padding:14px;border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 8%,var(--surface)),var(--surface))}
.charging-active-panel .cockpit-panel-head{margin-bottom:9px}
.charging-active-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.charging-active-metrics article,.charging-energy-grid article{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}
.charging-active-metrics small,.charging-energy-grid small{overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.charging-active-metrics strong,.charging-energy-grid strong{font-size:.95rem;overflow-wrap:anywhere}
.charging-active-metrics span,.charging-energy-grid span{color:var(--muted);font-size:.62rem}
.charging-active-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:10px;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.charging-active-link>span{display:grid;gap:2px}
.charging-active-link strong{font-size:.74rem}
.charging-active-link small{color:var(--muted);font-size:.62rem}
.charging-active-link>b{color:var(--accent);font-size:1.05rem}
.charging-history-panel{padding:14px}
.charging-history-panel .cockpit-panel-head{margin-bottom:7px}
.charging-session-list{display:grid;gap:4px}
.charging-session-row{display:grid;grid-template-columns:minmax(145px,1.25fr) minmax(110px,.8fr) repeat(5,minmax(92px,1fr)) 16px;gap:8px;align-items:center;min-width:0;padding:9px 7px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:7px;color:inherit;text-decoration:none}
.charging-session-row:last-child{border-bottom-color:transparent}
.charging-session-row:hover,.charging-session-row.active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:var(--surface-2)}
.charging-session-row.active{box-shadow:inset 3px 0 color-mix(in srgb,var(--warning) 75%,transparent)}
.charging-session-row>span{display:grid;gap:2px;min-width:0}
.charging-session-row small,.charging-session-row em{overflow:hidden;color:var(--muted);font-size:.61rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.charging-session-row strong{overflow:hidden;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}
.charging-session-row>b{color:var(--accent);font-size:1rem;text-align:right}
.charging-session-status .status-badge{justify-self:start}
.charging-cost-pending strong{color:var(--warning)}
.charging-empty{padding:18px}
.charging-energy-disclosure{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
.charging-energy-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.charging-energy-disclosure>summary::-webkit-details-marker{display:none}
.charging-energy-disclosure>summary>span{display:grid;gap:2px}
.charging-energy-disclosure>summary strong{font-size:.82rem}
.charging-energy-disclosure>summary small{color:var(--muted);font-size:.64rem}
.charging-energy-disclosure>summary>b{color:var(--accent);transition:transform .2s ease}
.charging-energy-disclosure[open]>summary>b{transform:rotate(90deg)}
.charging-energy-content{display:grid;gap:8px;padding:0 10px 10px;border-top:1px solid var(--line)}
.charging-energy-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding-top:10px}
.charging-cost-explanation{padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2)}
.charging-cost-explanation h3{margin:3px 0 8px;font-size:.86rem}
.charging-cost-explanation ol{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--muted);font-size:.68rem;line-height:1.45}

@media(max-width:1280px){
  .charging-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .charging-session-row{grid-template-columns:minmax(135px,1.2fr) minmax(100px,.8fr) repeat(3,minmax(86px,1fr)) 16px}
  .charging-session-row>span:nth-of-type(6),.charging-session-row>span:nth-of-type(7){display:none}
  .charging-energy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .charging-shortcuts{grid-template-columns:none}
  .charging-active-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .charging-session-row{grid-template-columns:minmax(0,1fr) minmax(95px,.55fr) 16px;padding:10px;border:1px solid var(--line);background:var(--surface-2)}
  .charging-session-row>span{display:grid!important}
  .charging-session-row>b{grid-column:3;grid-row:1/8}
  .charging-session-when{grid-column:1}
  .charging-session-status{grid-column:2;grid-row:1}
  .charging-session-row>span:not(.charging-session-when):not(.charging-session-status){grid-column:1/3;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;padding-top:5px;border-top:1px dashed var(--line)}
  .charging-session-row>span:not(.charging-session-when):not(.charging-session-status) small{grid-column:1}
  .charging-session-row>span:not(.charging-session-when):not(.charging-session-status) strong{grid-column:2;grid-row:1}
  .charging-session-row>span:not(.charging-session-when):not(.charging-session-status) em{grid-column:1/3}
}
@media(max-width:620px){
  .charging-cockpit>.cockpit-page-head{padding-inline:4px}
  .charging-period-bar{align-items:stretch;flex-direction:column}
  .charging-period-bar nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
  .charging-period-bar a{text-align:center}
  .charging-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .charging-overview-card{grid-template-columns:29px minmax(0,1fr);gap:7px;padding:9px}
  .charging-overview-card>span{width:28px;height:28px;font-size:.64rem}
  .charging-overview-card strong{font-size:.82rem}
  .charging-active-panel,.charging-history-panel{padding:10px}
  .charging-active-metrics{gap:5px}
  .charging-active-metrics article{padding:8px}
  .charging-energy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
}
@media(max-width:390px){
  .charging-period-bar nav,.charging-overview-grid,.charging-active-metrics,.charging-energy-grid{grid-template-columns:minmax(0,1fr)}
  .charging-session-row{grid-template-columns:minmax(0,1fr) 16px}
  .charging-session-status{grid-column:1;grid-row:auto}
  .charging-session-row>b{grid-column:2;grid-row:1/9}
  .charging-session-row>span:not(.charging-session-when):not(.charging-session-status){grid-column:1}
}

/* Leap Hub 1.12.40 · carregamentos compactos com espaçamento corrigido */
.charging-cockpit{max-width:1480px;margin-inline:auto;gap:12px}
.charging-cockpit>.cockpit-page-head{padding-bottom:4px}
.charging-cockpit>.cockpit-page-head h1{font-size:clamp(1.85rem,3vw,2.65rem)}
.charging-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.charging-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.charging-primary-grid>.cockpit-panel{min-height:0}
.charging-primary-grid .cockpit-charge-main{margin:8px 0 11px}
.charging-primary-grid .cockpit-charge-main strong{font-size:clamp(2rem,3.4vw,3rem)}
.charging-cockpit .cockpit-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,38px);row-gap:0}
.charging-cockpit .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(118px,1fr) minmax(72px,auto);align-items:start;gap:10px;padding:11px 0;min-width:0}
.charging-cockpit .cockpit-detail-list dt{min-width:0;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.charging-cockpit .cockpit-detail-list dd{min-width:0;margin:0;line-height:1.35;text-align:right;white-space:normal;overflow-wrap:anywhere}
.charging-compact-disclosure{margin:0}
.charging-compact-disclosure>summary{min-height:46px;padding:8px 12px}
.charging-compact-disclosure>summary strong{font-size:.8rem}
.charging-compact-disclosure>summary small{font-size:.67rem}
.charging-compact-disclosure .trip-filter-summary-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:.82rem}
.charging-compact-body{padding:10px 12px 12px;border-top:1px solid var(--line)}
.charging-period-options{display:flex;flex-wrap:wrap;gap:6px}
.charging-period-options a{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.68rem;font-weight:800;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.charging-period-options a:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--text);transform:translateY(-1px)}
.charging-period-options a.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}
.charging-energy-disclosure .charging-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:0}
.charging-energy-disclosure .charging-breakdown-item{min-width:0;padding:12px}
.charging-energy-disclosure .charging-breakdown-item strong{font-size:.78rem;line-height:1.3}
.charging-energy-disclosure .charging-breakdown-item span{font-size:1.02rem;line-height:1.15;overflow-wrap:anywhere}
.charging-energy-disclosure .charging-breakdown-item small{line-height:1.4}
.charging-active-panel{padding:18px;border-color:var(--line);background:var(--surface)}
.charging-active-panel .cockpit-panel-head{margin-bottom:10px}
.charging-active-panel .cockpit-charge-main{margin:4px 0 10px}
.charging-history-panel{padding:18px}
.charging-history-panel .cockpit-panel-head{margin-bottom:12px}
.charging-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.charging-history-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:inherit;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.charging-history-card:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));transform:translateY(-1px)}
.charging-history-card.active{border-color:color-mix(in srgb,var(--warning) 55%,var(--line));box-shadow:inset 3px 0 color-mix(in srgb,var(--warning) 75%,transparent)}
.charging-history-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.charging-history-card-head>div{display:grid;gap:2px;min-width:0}
.charging-history-card-head small,.charging-history-card-head span{overflow:hidden;color:var(--muted);font-size:.64rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.charging-history-card-head strong{overflow:hidden;font-size:.86rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.charging-history-card-head>.status-badge{flex:0 0 auto}
.charging-history-card-main{display:grid;gap:2px;margin:2px 0 5px}
.charging-history-card-main strong{font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1;letter-spacing:-.04em}
.charging-history-card-main small{color:var(--muted);font-size:.66rem}
.charging-history-details{margin-top:8px}
.charging-history-details>div{grid-template-columns:minmax(104px,1fr) auto;padding:10px 0}
.charging-history-card footer{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:9px;margin-top:auto;padding-top:11px;border-top:1px solid var(--line);font-size:.7rem}
.charging-history-card footer span{color:var(--muted)}
.charging-history-card footer strong{font-size:.74rem;text-align:right;line-height:1.35;overflow-wrap:anywhere}
.charging-history-card footer b{color:var(--accent);font-size:1rem}
.charging-history-cost.is-pending{color:var(--warning)}
.charging-details-bar{margin-top:0}
.charging-details-body{padding:0 14px 14px;border-top:1px solid var(--line)}
.charging-details-body ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;counter-reset:charging-step}
.charging-details-body li{counter-increment:charging-step;display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.charging-details-body li::before{content:counter(charging-step);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:.72rem;font-weight:850}
.charging-details-body li strong,.charging-details-body li span{grid-column:2;min-width:0}
.charging-details-body li strong{font-size:.76rem;line-height:1.3}
.charging-details-body li span{color:var(--muted);font-size:.68rem;line-height:1.45}
.charging-no-vehicle{min-height:0}
.charging-no-vehicle p{margin:0 0 14px;color:var(--muted)}
@media(max-width:1180px){
  .charging-energy-disclosure .charging-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .charging-history-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
  .charging-shortcuts{grid-template-columns:none}
  .charging-primary-grid{grid-template-columns:minmax(0,1fr)}
  .charging-cockpit .cockpit-detail-list{grid-template-columns:minmax(0,1fr)}
  .charging-cockpit .cockpit-detail-list>div,.charging-history-details>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .charging-cockpit .cockpit-detail-list dd,.charging-history-details dd{text-align:left}
  .charging-energy-disclosure .charging-breakdown-grid,.charging-details-body ol{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .charging-cockpit{gap:8px}
  .charging-history-panel,.charging-active-panel{padding:14px}
  .charging-compact-disclosure>summary{min-height:44px;padding:7px 10px}
  .charging-compact-body{padding:9px 10px 10px}
  .charging-period-options a{min-height:29px;padding:5px 9px;font-size:.66rem}
  .charging-history-card{padding:12px}
  .charging-history-card-head{align-items:flex-start;flex-direction:column;gap:7px}
  .charging-history-card-head>.status-badge{align-self:flex-start}
  .charging-history-card footer{grid-template-columns:minmax(0,1fr) auto 12px}
  .charging-details-body{padding:0 9px 9px}
  .charging-details-body li{padding:9px}
}
@media(prefers-reduced-motion:reduce){
  .charging-period-options a,.charging-history-card{transition:none!important}
}

/* Leap Hub 1.12.41 · tarifas inteligentes no mesmo padrão do veículo e das recargas */
.tariff-cockpit{max-width:1480px;margin-inline:auto}
.tariff-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.tariff-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tariff-summary-main strong{font-size:clamp(2.4rem,4vw,3.4rem)}
.tariff-priority-main strong{font-size:clamp(1.8rem,3vw,2.65rem);overflow-wrap:anywhere}
.tariff-form-disclosure,.tariff-period-disclosure,.tariff-holiday-disclosure{margin:0}
.tariff-form-body,.tariff-period-body,.tariff-holiday-body{display:grid;gap:12px}
.tariff-form-body>form{display:grid;gap:0}
.tariff-form-section{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.tariff-form-section:first-child{padding-top:2px}
.tariff-form-section:last-of-type{border-bottom:0}
.tariff-form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.tariff-form-section-head span{color:var(--muted-2);font-size:.64rem;font-weight:850;letter-spacing:.09em}
.tariff-form-section-head p{margin:0;color:var(--muted);font-size:.67rem;text-align:right}
.tariff-form-section label{min-width:0}
.tariff-form-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.tariff-list-panel{padding:18px}
.tariff-list-panel .cockpit-panel-head{margin-bottom:12px}
.tariff-list-panel .cockpit-live{max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tariff-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tariff-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);overflow:hidden}
.tariff-card.is-archived{opacity:.78}
.tariff-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.tariff-card-head>div{display:grid;gap:2px;min-width:0}
.tariff-card-head small{color:var(--muted-2);font-size:.62rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.tariff-card-head h3{overflow:hidden;margin:0;font-size:.9rem;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}
.tariff-card-head>.status-badge{flex:0 0 auto}
.tariff-card-main{display:grid;gap:3px;margin:3px 0 6px}
.tariff-card-main strong{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1;letter-spacing:-.045em}
.tariff-card-main small{color:var(--muted);font-size:.66rem}
.tariff-card-details{margin-top:9px}
.tariff-card-details>div{grid-template-columns:minmax(108px,1fr) minmax(92px,auto)!important}
.tariff-card-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:auto;padding-top:11px!important;border-top:1px solid var(--line)}
.tariff-card-actions>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;color:var(--accent);font-size:.72rem;font-weight:800;text-decoration:none}
.tariff-card-actions>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tariff-card-actions>a b{font-size:1rem}
.tariff-card-actions form{margin:0}
.tariff-archive-button{appearance:none;padding:6px 0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;font-weight:760;cursor:pointer}
.tariff-archive-button:hover{color:var(--text)}
.tariff-archive-button.danger:hover{color:var(--danger)}
.tariff-empty{grid-column:1/-1;min-height:94px;padding:18px}
.tariff-period-form{display:grid;gap:12px;padding:2px 0 14px;border-bottom:1px solid var(--line)}
.tariff-period-form-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tariff-period-form-actions .inline-check{margin:0}
.tariff-day-grid{grid-template-columns:repeat(8,minmax(64px,1fr))}
.tariff-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tariff-period-card{display:flex;flex-direction:column;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.tariff-period-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.tariff-period-card>header>div{display:grid;gap:2px;min-width:0}
.tariff-period-card>header small{overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}
.tariff-period-card>header h3{overflow:hidden;margin:0;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}
.tariff-period-card>header>.status-badge{flex:0 0 auto}
.tariff-period-main{display:grid;gap:2px;margin:12px 0 4px}
.tariff-period-main strong{font-size:clamp(1.45rem,2.5vw,2rem);line-height:1;letter-spacing:-.04em}
.tariff-period-main small{color:var(--muted);font-size:.65rem}
.tariff-period-details{margin-top:8px}
.tariff-period-details>div{grid-template-columns:minmax(86px,1fr) minmax(84px,auto)!important}
.tariff-period-card>footer{display:flex;justify-content:flex-end;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.tariff-holiday-body{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:start}
.tariff-holiday-form{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.tariff-holiday-form .button{width:100%}
.tariff-holiday-list{display:grid;gap:6px}
.tariff-holiday-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.tariff-holiday-card>div{display:grid;gap:2px;min-width:0}
.tariff-holiday-card small{color:var(--muted);font-size:.64rem}
.tariff-holiday-card strong{overflow:hidden;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}
.tariff-details-bar{margin-top:0}
.tariff-details-body ol{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1180px){
  .tariff-day-grid{grid-template-columns:repeat(4,minmax(72px,1fr))}
}
@media(max-width:900px){
  .tariff-card-grid,.tariff-period-grid{grid-template-columns:minmax(0,1fr)}
  .tariff-holiday-body{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
  .tariff-shortcuts{grid-template-columns:none}
  .tariff-primary-grid{grid-template-columns:minmax(0,1fr)}
  .tariff-card-details>div,.tariff-period-details>div{grid-template-columns:minmax(0,1fr)!important;gap:4px}
  .tariff-card-details dd,.tariff-period-details dd{text-align:left!important}
  .tariff-details-body ol{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
  .tariff-list-panel{padding:14px}
  .tariff-form-section-head{display:grid;gap:3px}
  .tariff-form-section-head p{text-align:left}
  .tariff-period-form-actions{align-items:stretch;flex-direction:column}
  .tariff-period-form-actions .button{width:100%}
  .tariff-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tariff-card-actions{grid-template-columns:minmax(0,1fr)}
  .tariff-card-actions form{justify-self:start}
  .tariff-holiday-card{grid-template-columns:minmax(0,1fr)}
  .tariff-holiday-card form{justify-self:start}
}
@media(max-width:390px){
  .tariff-day-grid{grid-template-columns:minmax(0,1fr)}
}

/* Leap Hub 1.12.42 · configuração e detalhes de recarga no padrão cockpit */
.charging-settings-cockpit,.charging-detail-cockpit{max-width:1480px;margin-inline:auto;gap:12px}
.charging-settings-cockpit>.cockpit-page-head,.charging-detail-cockpit>.cockpit-page-head{padding-bottom:4px}
.charging-settings-cockpit>.cockpit-page-head h1,.charging-detail-cockpit>.cockpit-page-head h1{font-size:clamp(1.8rem,3vw,2.55rem)}
.charging-settings-shortcuts,.charging-detail-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.charging-settings-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.charging-detail-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.charging-settings-primary-grid>.cockpit-panel,.charging-detail-primary-grid>.cockpit-panel{min-height:0}
.charging-settings-cockpit .cockpit-charge-main,.charging-detail-cockpit .cockpit-charge-main{display:grid;gap:4px;margin:7px 0 11px;min-width:0}
.charging-settings-cockpit .cockpit-charge-main strong,.charging-detail-cockpit .cockpit-charge-main strong{font-size:clamp(1.7rem,3vw,2.65rem);line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere}
.charging-settings-cockpit .cockpit-charge-main small,.charging-detail-cockpit .cockpit-charge-main small{color:var(--muted);font-size:.68rem;line-height:1.4}
.charging-settings-cockpit .cockpit-detail-list,.charging-detail-cockpit .cockpit-detail-list{grid-template-columns:minmax(0,1fr)}
.charging-settings-cockpit .cockpit-detail-list>div,.charging-detail-cockpit .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(112px,1fr) minmax(92px,auto);align-items:start;gap:12px;min-width:0;padding:10px 0}
.charging-settings-cockpit .cockpit-detail-list dt,.charging-detail-cockpit .cockpit-detail-list dt{min-width:0;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.charging-settings-cockpit .cockpit-detail-list dd,.charging-detail-cockpit .cockpit-detail-list dd{min-width:0;margin:0;line-height:1.35;text-align:right;white-space:normal;overflow-wrap:anywhere}
.charging-settings-rebuild-form{display:flex;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.charging-settings-rebuild-form .button{width:100%}
.charging-settings-form-body,.charging-detail-form-body{display:grid;gap:0}
.charging-settings-form-body>form,.charging-detail-form-body>form{display:grid;gap:0}
.charging-detail-form-section{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.charging-detail-form-section:first-child{padding-top:2px}
.charging-detail-form-section:last-of-type{border-bottom:0}
.charging-detail-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.charging-detail-form-head span{color:var(--muted-2);font-size:.64rem;font-weight:850;letter-spacing:.09em}
.charging-detail-form-head p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.4;text-align:right}
.charging-detail-form-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.charging-settings-sessions-panel{padding:18px}
.charging-settings-sessions-panel .cockpit-panel-head{margin-bottom:12px}
.charging-settings-empty{grid-column:1/-1;min-height:100px}
.charging-detail-tariff-disclosure,.charging-detail-form-disclosure,.charging-settings-form-disclosure{margin:0}
.charging-tariff-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.charging-tariff-period-card{display:flex;flex-direction:column;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.charging-tariff-period-card header{display:grid;gap:2px;margin-bottom:9px}
.charging-tariff-period-card header small{color:var(--muted-2);font-size:.61rem;font-weight:850;letter-spacing:.08em}
.charging-tariff-period-card header h3{overflow:hidden;margin:0;font-size:.86rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.charging-tariff-period-main{display:grid;gap:3px;margin-bottom:7px}
.charging-tariff-period-main strong{font-size:clamp(1.45rem,2.4vw,2rem);line-height:1;letter-spacing:-.04em}
.charging-tariff-period-main small{color:var(--muted);font-size:.64rem}
.charging-detail-empty{grid-column:1/-1;min-height:92px}
.charging-curve-panel{padding:18px}
.charging-curve-panel .cockpit-panel-head{margin-bottom:8px}
.charging-curve-intro{margin:0 0 12px;color:var(--muted);font-size:.7rem;line-height:1.5}
.charging-curve-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.charging-curve-card{display:flex;flex-direction:column;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.charging-curve-card>header{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:10px}
.charging-curve-card>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:.66rem;font-weight:900}
.charging-curve-card>header>div{display:grid;gap:2px;min-width:0}
.charging-curve-card>header small{color:var(--muted-2);font-size:.59rem;font-weight:850;letter-spacing:.07em}
.charging-curve-card>header h3{margin:0;font-size:.88rem}
.charging-curve-extremes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.charging-curve-extremes>div{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.charging-curve-extremes>div.peak{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.charging-curve-extremes small{color:var(--muted);font-size:.61rem}
.charging-curve-extremes strong{font-size:1rem;line-height:1.2;overflow-wrap:anywhere}
.charging-curve-extremes span{color:var(--muted);font-size:.58rem;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:1180px){
  .charging-detail-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .charging-detail-cost-panel{grid-column:1/-1}
  .charging-tariff-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .charging-settings-primary-grid,.charging-detail-primary-grid{grid-template-columns:minmax(0,1fr)}
  .charging-detail-cost-panel{grid-column:auto}
  .charging-curve-grid{grid-template-columns:minmax(0,1fr)}
  .charging-settings-cockpit .charging-history-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
  .charging-settings-shortcuts,.charging-detail-shortcuts{grid-template-columns:none}
  .charging-settings-cockpit .cockpit-detail-list>div,.charging-detail-cockpit .cockpit-detail-list>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .charging-settings-cockpit .cockpit-detail-list dd,.charging-detail-cockpit .cockpit-detail-list dd{text-align:left}
  .charging-detail-form-head{display:grid;gap:4px}
  .charging-detail-form-head p{text-align:left}
  .charging-tariff-period-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .charging-settings-cockpit,.charging-detail-cockpit{gap:8px}
  .charging-settings-cockpit>.cockpit-page-head,.charging-detail-cockpit>.cockpit-page-head{padding-inline:4px}
  .charging-settings-sessions-panel,.charging-curve-panel{padding:14px}
  .charging-curve-extremes{grid-template-columns:minmax(0,1fr)}
  .charging-detail-form-section{padding:12px 0}
}

/* Leap Hub 1.12.43 · wallboxes e conexão de veículos no padrão cockpit */
.vehicle-connect-cockpit,.wallbox-index-cockpit,.wallbox-new-cockpit,.wallbox-detail-cockpit,.wallbox-sessions-cockpit{max-width:1480px;margin-inline:auto;gap:12px}
.vehicle-connect-cockpit>.cockpit-page-head,.wallbox-index-cockpit>.cockpit-page-head,.wallbox-new-cockpit>.cockpit-page-head,.wallbox-detail-cockpit>.cockpit-page-head,.wallbox-sessions-cockpit>.cockpit-page-head{padding-bottom:4px}
.vehicle-connect-cockpit>.cockpit-page-head h1,.wallbox-index-cockpit>.cockpit-page-head h1,.wallbox-new-cockpit>.cockpit-page-head h1,.wallbox-detail-cockpit>.cockpit-page-head h1,.wallbox-sessions-cockpit>.cockpit-page-head h1{font-size:clamp(1.8rem,3vw,2.55rem)}
.vehicle-connect-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
.wallbox-shortcuts,.wallbox-detail-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}
.wallbox-sessions-cockpit .wallbox-detail-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
.vehicle-connect-primary-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:start}
.vehicle-connect-form-panel,.wallbox-new-form-panel{min-width:0;padding:18px}
.vehicle-connect-form,.wallbox-new-form{display:grid;gap:0;min-width:0}
.vehicle-connect-form-section,.wallbox-form-section{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.vehicle-connect-form-section:first-of-type,.wallbox-form-section:first-of-type{padding-top:2px}
.vehicle-connect-form-section>span,.wallbox-form-section-head>span{color:var(--muted-2);font-size:.64rem;font-weight:850;letter-spacing:.09em}
.vehicle-connect-form-actions,.wallbox-form-actions{display:flex;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.vehicle-connect-form-actions .button,.wallbox-form-actions .button{min-width:220px}
.vehicle-connect-side-stack,.wallbox-new-side-stack{display:grid;gap:12px;align-content:start;min-width:0}
.vehicle-connect-side-stack>.card,.wallbox-new-side-stack>.cockpit-panel{min-width:0;margin:0;box-shadow:none}
.vehicle-connect-side-stack .driver-details>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.vehicle-connect-side-stack .driver-details dd{min-width:0;overflow-wrap:anywhere}
.vehicle-connect-guide{margin:0}
.vehicle-connect-guide .connection-steps.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}
.vehicle-connect-guide .connection-steps.compact li{min-height:100%;padding:11px;border-radius:8px}
.vehicle-connect-guide .connection-steps.compact li::before{width:28px;height:28px;font-size:.7rem}
.vehicle-connect-guide .connection-steps.compact strong{font-size:.74rem;line-height:1.35}
.vehicle-connect-guide .connection-steps.compact span{font-size:.66rem;line-height:1.45}
.vehicle-connect-consents{gap:8px}
.vehicle-connect-limit{max-width:760px}

.wallbox-primary-grid,.wallbox-detail-primary-grid,.wallbox-sessions-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wallbox-primary-grid>.cockpit-panel,.wallbox-detail-primary-grid>.cockpit-panel,.wallbox-sessions-primary-grid>.cockpit-panel{min-width:0;min-height:0}
.wallbox-index-cockpit .cockpit-charge-main,.wallbox-new-cockpit .cockpit-charge-main,.wallbox-detail-cockpit .cockpit-charge-main,.wallbox-sessions-cockpit .cockpit-charge-main{display:grid;gap:4px;margin:7px 0 11px;min-width:0}
.wallbox-index-cockpit .cockpit-charge-main strong,.wallbox-new-cockpit .cockpit-charge-main strong,.wallbox-detail-cockpit .cockpit-charge-main strong,.wallbox-sessions-cockpit .cockpit-charge-main strong{font-size:clamp(1.65rem,3vw,2.55rem);line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere}
.wallbox-index-cockpit .cockpit-charge-main small,.wallbox-new-cockpit .cockpit-charge-main small,.wallbox-detail-cockpit .cockpit-charge-main small,.wallbox-sessions-cockpit .cockpit-charge-main small{color:var(--muted);font-size:.68rem;line-height:1.45}
.wallbox-index-cockpit .cockpit-detail-list,.wallbox-new-cockpit .cockpit-detail-list,.wallbox-detail-cockpit .cockpit-detail-list,.wallbox-sessions-cockpit .cockpit-detail-list{grid-template-columns:minmax(0,1fr)}
.wallbox-index-cockpit .cockpit-detail-list>div,.wallbox-new-cockpit .cockpit-detail-list>div,.wallbox-detail-cockpit .cockpit-detail-list>div,.wallbox-sessions-cockpit .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(108px,1fr) minmax(92px,auto);align-items:start;gap:12px;min-width:0;padding:9px 0}
.wallbox-index-cockpit .cockpit-detail-list dt,.wallbox-new-cockpit .cockpit-detail-list dt,.wallbox-detail-cockpit .cockpit-detail-list dt,.wallbox-sessions-cockpit .cockpit-detail-list dt{min-width:0;white-space:normal;overflow-wrap:anywhere}
.wallbox-index-cockpit .cockpit-detail-list dd,.wallbox-new-cockpit .cockpit-detail-list dd,.wallbox-detail-cockpit .cockpit-detail-list dd,.wallbox-sessions-cockpit .cockpit-detail-list dd{min-width:0;margin:0;text-align:right;white-space:normal;overflow-wrap:anywhere}
.wallbox-index-cockpit .cockpit-detail-list dd small,.wallbox-sessions-cockpit .cockpit-detail-list dd small{display:block;margin-top:2px;color:var(--muted);font-size:.58rem;line-height:1.35}
.wallbox-list-panel,.wallbox-sessions-panel{padding:18px}
.wallbox-list-panel .cockpit-panel-head,.wallbox-sessions-panel .cockpit-panel-head{margin-bottom:12px}
.wallbox-standard-grid,.wallbox-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.wallbox-standard-card,.wallbox-session-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:inherit;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.wallbox-standard-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));transform:translateY(-1px)}
.wallbox-standard-card>header,.wallbox-session-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 13px 10px;border-bottom:1px solid var(--line)}
.wallbox-standard-card>header>div,.wallbox-session-card>header>div{display:grid;gap:2px;min-width:0}
.wallbox-standard-card>header small,.wallbox-session-card>header small{color:var(--muted-2);font-size:.59rem;font-weight:850;letter-spacing:.08em}
.wallbox-standard-card>header strong,.wallbox-session-card>header strong{overflow:hidden;font-size:.88rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.wallbox-standard-card>header span:not(.status-badge),.wallbox-session-card>header span:not(.status-badge){overflow:hidden;color:var(--muted);font-size:.64rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.wallbox-standard-main,.wallbox-session-main{display:grid;gap:3px;padding:13px 13px 4px}
.wallbox-standard-main strong,.wallbox-session-main strong{font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:1;letter-spacing:-.04em}
.wallbox-standard-main small,.wallbox-session-main small{color:var(--muted);font-size:.63rem}
.wallbox-standard-card .cockpit-detail-list,.wallbox-session-card .cockpit-detail-list{padding:0 13px}
.wallbox-standard-card>footer,.wallbox-session-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:10px 13px;border-top:1px solid var(--line);color:var(--muted);font-size:.66rem}
.wallbox-standard-card>footer b,.wallbox-session-card>footer b,.wallbox-session-card>footer a{color:var(--accent);font-weight:850;text-decoration:none}
.wallbox-session-card.active{border-color:color-mix(in srgb,var(--warning) 38%,var(--line));background:color-mix(in srgb,var(--warning) 4%,var(--surface-2))}
.wallbox-empty,.wallbox-session-empty{grid-column:1/-1;min-height:96px}
.wallbox-unlinked-disclosure{margin:0}
.wallbox-unlinked-disclosure .wallbox-standard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.wallbox-new-primary-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:start}
.wallbox-form-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.wallbox-form-section-head p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.4;text-align:right}
.wallbox-new-side-stack{display:grid;gap:12px}

.wallbox-detail-disclosure{margin:0}
.wallbox-detail-disclosure>summary{min-height:48px;padding:8px 12px}
.wallbox-detail-disclosure-body{padding:10px 12px 12px;border-top:1px solid var(--line)}
.wallbox-detail-disclosure-body>.content-grid,.wallbox-detail-disclosure-body>.card,.wallbox-detail-disclosure-body>.table-card{margin:0}
.wallbox-detail-disclosure-body>.content-grid+.content-grid,.wallbox-detail-disclosure-body>.card+.card,.wallbox-detail-disclosure-body>.table-card+.table-card{margin-top:10px}
.wallbox-detail-disclosure-body .content-grid{gap:10px}
.wallbox-detail-disclosure-body .card{min-width:0;padding:15px;border-radius:8px;box-shadow:none}
.wallbox-detail-disclosure-body .card-heading{gap:12px;margin-bottom:12px}
.wallbox-detail-disclosure-body .card-heading h2,.wallbox-detail-disclosure-body .card>h2{font-size:1rem}
.wallbox-detail-disclosure-body .card-heading p,.wallbox-detail-disclosure-body .card>p{font-size:.69rem;line-height:1.5}
.wallbox-detail-disclosure-body .table-responsive{margin-top:10px;border:1px solid var(--line);border-radius:8px}
.wallbox-detail-disclosure-body table{font-size:.7rem}
.wallbox-detail-disclosure-body th,.wallbox-detail-disclosure-body td{padding:9px 10px}
.wallbox-detail-disclosure-body .credential-grid{gap:8px}
.wallbox-detail-disclosure-body .credential-grid>div,.wallbox-detail-disclosure-body .connector-tile{border-radius:8px}
.wallbox-detail-disclosure-body .roadmap{gap:8px}
.wallbox-detail-disclosure-body .roadmap-step{border-radius:8px}
.wallbox-detail-disclosure-body .actions-cell{gap:8px}
.wallbox-detail-disclosure-body .actions-cell .button{min-height:34px;padding:7px 10px}
.wallbox-detail-disclosure-body .ocpp-config-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px;min-width:190px}
.wallbox-detail-disclosure-body .ocpp-config-form input{min-width:0}
.wallbox-preferences-grid{margin:0}
.wallbox-preferences-grid .bluetooth-provisioner{overflow:hidden}
.wallbox-detail-cockpit .heading-actions{justify-content:flex-end}

@media(max-width:1180px){
  .vehicle-connect-guide .connection-steps.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wallbox-primary-grid,.wallbox-detail-primary-grid,.wallbox-sessions-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wallbox-context-panel,.wallbox-detail-primary-grid>.cockpit-panel:last-child,.wallbox-sessions-primary-grid>.cockpit-panel:last-child{grid-column:1/-1}
}
@media(max-width:980px){
  .vehicle-connect-primary-grid,.wallbox-new-primary-grid{grid-template-columns:minmax(0,1fr)}
  .vehicle-connect-side-stack,.wallbox-new-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wallbox-standard-grid,.wallbox-session-grid,.wallbox-unlinked-disclosure .wallbox-standard-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
  .vehicle-connect-shortcuts,.wallbox-shortcuts,.wallbox-detail-shortcuts,.wallbox-sessions-cockpit .wallbox-detail-shortcuts{grid-template-columns:none}
  .wallbox-primary-grid,.wallbox-detail-primary-grid,.wallbox-sessions-primary-grid{grid-template-columns:minmax(0,1fr)}
  .wallbox-context-panel,.wallbox-detail-primary-grid>.cockpit-panel:last-child,.wallbox-sessions-primary-grid>.cockpit-panel:last-child{grid-column:auto}
  .wallbox-index-cockpit .cockpit-detail-list>div,.wallbox-new-cockpit .cockpit-detail-list>div,.wallbox-detail-cockpit .cockpit-detail-list>div,.wallbox-sessions-cockpit .cockpit-detail-list>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .wallbox-index-cockpit .cockpit-detail-list dd,.wallbox-new-cockpit .cockpit-detail-list dd,.wallbox-detail-cockpit .cockpit-detail-list dd,.wallbox-sessions-cockpit .cockpit-detail-list dd{text-align:left}
  .wallbox-form-section-head{display:grid;gap:4px}
  .wallbox-form-section-head p{text-align:left}
  .wallbox-detail-cockpit .heading-actions{width:100%;justify-content:flex-start}
}
@media(max-width:620px){
  .vehicle-connect-cockpit,.wallbox-index-cockpit,.wallbox-new-cockpit,.wallbox-detail-cockpit,.wallbox-sessions-cockpit{gap:8px}
  .vehicle-connect-cockpit>.cockpit-page-head,.wallbox-index-cockpit>.cockpit-page-head,.wallbox-new-cockpit>.cockpit-page-head,.wallbox-detail-cockpit>.cockpit-page-head,.wallbox-sessions-cockpit>.cockpit-page-head{padding-inline:4px}
  .vehicle-connect-form-panel,.wallbox-new-form-panel,.wallbox-list-panel,.wallbox-sessions-panel{padding:14px}
  .vehicle-connect-guide .connection-steps.compact{grid-template-columns:minmax(0,1fr)}
  .vehicle-connect-side-stack,.wallbox-new-side-stack{grid-template-columns:minmax(0,1fr)}
  .vehicle-connect-form-actions .button,.wallbox-form-actions .button{width:100%;min-width:0}
  .wallbox-standard-card>header,.wallbox-session-card>header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  .wallbox-standard-card>header .status-badge,.wallbox-session-card>header .status-badge{justify-self:start}
  .wallbox-detail-disclosure-body{padding:9px}
  .wallbox-detail-disclosure-body .content-grid{grid-template-columns:minmax(0,1fr)}
  .wallbox-detail-disclosure-body .card{padding:12px}
  .wallbox-detail-disclosure-body .card-heading{display:grid;gap:8px}
  .wallbox-detail-disclosure-body .actions-cell{align-items:stretch;flex-direction:column}
  .wallbox-detail-disclosure-body .actions-cell form,.wallbox-detail-disclosure-body .actions-cell .button{width:100%}
  .wallbox-detail-disclosure-body .ocpp-config-form{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.wallbox-standard-card{transition:none!important}}


/* Leap Hub 1.12.44 · bateria, manutenção, comunidade, pesquisa, ABRP, suporte e conta no padrão cockpit */
.battery-overview-cockpit,.battery-detail-cockpit,.maintenance-overview-cockpit,.community-cockpit,.research-cockpit,.abrp-overview-cockpit,.support-reports-cockpit,.support-report-detail-cockpit,.account-settings-cockpit{max-width:1480px;margin-inline:auto;gap:12px}
.battery-overview-cockpit>.cockpit-page-head,.battery-detail-cockpit>.cockpit-page-head,.maintenance-overview-cockpit>.cockpit-page-head,.community-cockpit>.cockpit-page-head,.research-cockpit>.cockpit-page-head,.abrp-overview-cockpit>.cockpit-page-head,.support-reports-cockpit>.cockpit-page-head,.support-report-detail-cockpit>.cockpit-page-head,.account-settings-cockpit>.cockpit-page-head{padding-bottom:4px}
.battery-shortcuts,.maintenance-shortcuts,.community-shortcuts,.research-shortcuts,.abrp-shortcuts,.support-shortcuts,.account-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
.research-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
.battery-summary-grid>.cockpit-panel,.battery-detail-summary>.cockpit-panel,.maintenance-summary-grid>.cockpit-panel,.community-summary-grid>.cockpit-panel,.research-summary-grid>.cockpit-panel,.abrp-summary-grid>.cockpit-panel,.support-summary-grid>.cockpit-panel,.support-detail-summary>.cockpit-panel{min-width:0;min-height:0}
.battery-overview-cockpit .cockpit-charge-main strong,.battery-detail-cockpit .cockpit-charge-main strong,.maintenance-overview-cockpit .cockpit-charge-main strong,.community-cockpit .cockpit-charge-main strong,.research-cockpit .cockpit-charge-main strong,.abrp-overview-cockpit .cockpit-charge-main strong,.support-reports-cockpit .cockpit-charge-main strong{font-size:clamp(1.65rem,3vw,2.55rem);line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere}
.battery-usage-panel,.community-model-panel,.maintenance-reminders-panel,.maintenance-history-panel,.support-report-list-panel{min-width:0}
.battery-usage-standard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.battery-usage-standard-grid>div{display:grid;gap:4px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.battery-usage-standard-grid small,.battery-usage-standard-grid span{color:var(--muted);font-size:.64rem;line-height:1.35}.battery-usage-standard-grid strong{font-size:1rem;overflow-wrap:anywhere}
.battery-sample-grid,.maintenance-history-grid,.community-standard-grid,.support-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.battery-sample-card,.maintenance-history-card,.community-standard-card,.support-report-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:inherit;text-decoration:none}
.battery-sample-card>header,.maintenance-history-card>header,.community-standard-card>header,.support-report-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line)}
.battery-sample-card>header>div,.maintenance-history-card>header>div,.community-standard-card>header>div,.support-report-card>header>div{display:grid;gap:2px;min-width:0}
.battery-sample-card>header small,.maintenance-history-card>header small,.community-standard-card>header small,.support-report-card>header small{color:var(--muted-2);font-size:.59rem;font-weight:850;letter-spacing:.08em}
.battery-sample-card>header strong,.maintenance-history-card>header strong,.community-standard-card>header strong,.support-report-card>header strong{font-size:.86rem;line-height:1.3;overflow-wrap:anywhere}
.battery-sample-card .cockpit-detail-list,.maintenance-history-card .cockpit-detail-list,.community-standard-card .cockpit-detail-list{padding:0 13px 8px;grid-template-columns:minmax(0,1fr)}
.battery-sample-card .cockpit-detail-list>div,.maintenance-history-card .cockpit-detail-list>div,.community-standard-card .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(105px,1fr) minmax(80px,auto);gap:10px;min-width:0}
.battery-sample-card .cockpit-detail-list dd,.maintenance-history-card .cockpit-detail-list dd,.community-standard-card .cockpit-detail-list dd{text-align:right;white-space:normal;overflow-wrap:anywhere}
.battery-settings-body,.research-consent-body,.maintenance-plan-body{display:grid;gap:14px}.battery-settings-body form,.research-consent-body form{margin:0}
.maintenance-reminder-list{display:grid}.maintenance-reminder-row{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.maintenance-reminder-row:last-child{border-bottom:0}.maintenance-reminder-row span{display:grid;gap:3px;min-width:0}.maintenance-reminder-row small{color:var(--muted);font-size:.66rem}.maintenance-reminder-row b{color:var(--accent)}
.maintenance-plan-body>.maintenance-plan-panel,.maintenance-plan-body>.maintenance-api-panel{margin:0;box-shadow:none}.maintenance-plan-body .table-responsive{max-width:100%;overflow:auto}
.research-standard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.research-standard-grid>.cockpit-panel{min-height:0}.research-standard-grid .check-list{margin:0;padding-left:18px}.research-standard-grid .check-list li{margin:8px 0;line-height:1.4}
.community-trend-list{display:grid}.community-trend-row{display:grid;grid-template-columns:minmax(110px,1fr) repeat(3,minmax(90px,.7fr)) minmax(78px,.5fr);gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line)}.community-trend-row:last-child{border-bottom:0}.community-trend-row>div{display:grid;gap:3px}.community-trend-row small{color:var(--muted);font-size:.62rem}.community-trend-row>span{font-size:.7rem;font-weight:760;overflow-wrap:anywhere}
.abrp-summary-grid .cockpit-detail-list{grid-template-columns:minmax(0,1fr)}.abrp-settings-standard-panel{margin:0;box-shadow:none}.abrp-settings-standard-panel>.cockpit-panel-head{margin-bottom:12px}.abrp-settings-standard-panel .abrp-native-diagnostic{margin:0;border:0;border-radius:0;background:transparent;padding:0}.abrp-settings-standard-grid{gap:12px}.abrp-settings-standard-grid>.abrp-planner-panel{border-radius:8px;background:var(--surface-2)}
.support-report-card:hover,.maintenance-history-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface-2));transform:translateY(-1px)}
.support-report-card>header span{color:var(--muted);font-size:.66rem}.support-report-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;color:var(--muted);font-size:.67rem}.support-report-card>footer b{color:var(--accent)}
.support-thread-panel{grid-column:span 2}.support-thread-panel .report-thread{margin:0 0 14px}.support-reply-form{padding-top:14px;border-top:1px solid var(--line)}.support-report-detail-cockpit .report-message{max-width:none;border-radius:8px;background:var(--surface-2)}
.account-settings-standard-grid{gap:12px;margin:0}.account-settings-standard-grid>.cockpit-panel{margin:0;box-shadow:none}.account-settings-standard-grid .settings-link-card{border-radius:8px}.account-settings-standard-grid .preference-section{padding:16px 0}.account-settings-standard-grid .preference-check{border-radius:8px;background:var(--surface-2)}
@media(max-width:1100px){.battery-usage-standard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.community-trend-row{grid-template-columns:minmax(100px,1fr) repeat(2,minmax(90px,.7fr));}.community-trend-row>span:nth-child(4),.community-trend-row>span:nth-child(5){display:none}}
@media(max-width:820px){.battery-sample-grid,.maintenance-history-grid,.community-standard-grid,.support-report-grid,.research-standard-grid{grid-template-columns:minmax(0,1fr)}.battery-usage-standard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-thread-panel{grid-column:auto}.account-settings-standard-grid{grid-template-columns:minmax(0,1fr)}.account-settings-standard-grid>.span-2{grid-column:auto}}
@media(max-width:620px){.battery-shortcuts,.maintenance-shortcuts,.community-shortcuts,.research-shortcuts,.abrp-shortcuts,.support-shortcuts,.account-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-usage-standard-grid{grid-template-columns:minmax(0,1fr)}.battery-sample-card .cockpit-detail-list>div,.maintenance-history-card .cockpit-detail-list>div,.community-standard-card .cockpit-detail-list>div{grid-template-columns:minmax(0,1fr);gap:4px}.battery-sample-card .cockpit-detail-list dd,.maintenance-history-card .cockpit-detail-list dd,.community-standard-card .cockpit-detail-list dd{text-align:left}.community-trend-row{grid-template-columns:minmax(0,1fr) auto}.community-trend-row>span:nth-child(n+3){display:none}.support-reports-cockpit>.cockpit-page-head,.support-report-detail-cockpit>.cockpit-page-head{align-items:flex-start}.support-reports-cockpit>.cockpit-page-head .button,.support-report-detail-cockpit>.cockpit-page-head .button{width:100%}}


/* 1.12.45 · conta, sessões, plano e automação no padrão cockpit */
.account-security-cockpit>.cockpit-page-head,.account-sessions-cockpit>.cockpit-page-head,.account-plan-cockpit>.cockpit-page-head{padding-bottom:4px}
.account-security-cockpit>.cockpit-page-head h1,.account-sessions-cockpit>.cockpit-page-head h1,.account-plan-cockpit>.cockpit-page-head h1{font-size:clamp(1.8rem,3vw,2.55rem)}
.account-security-summary-grid>.cockpit-panel,.account-sessions-summary-grid>.cockpit-panel,.account-plan-summary-grid>.cockpit-panel{min-width:0;min-height:0}
.account-security-cockpit .cockpit-charge-main,.account-sessions-cockpit .cockpit-charge-main,.account-plan-cockpit .cockpit-charge-main{display:grid;gap:4px;margin:7px 0 11px;min-width:0}
.account-security-cockpit .cockpit-charge-main strong,.account-sessions-cockpit .cockpit-charge-main strong,.account-plan-cockpit .cockpit-charge-main strong{font-size:clamp(1.55rem,2.7vw,2.35rem);line-height:1.06;letter-spacing:-.04em;overflow-wrap:anywhere}
.account-security-cockpit .cockpit-charge-main small,.account-sessions-cockpit .cockpit-charge-main small,.account-plan-cockpit .cockpit-charge-main small{color:var(--muted);font-size:.68rem;line-height:1.45}
.account-security-disclosure{margin:0}.account-security-body{padding-top:14px}.account-security-form{margin:0}.account-security-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid var(--line)}.account-security-form-footer>span{color:var(--muted);font-size:.7rem}.account-security-form-footer strong{color:var(--text)}
.account-session-list-panel,.account-plan-usage-panel,.account-plan-feature-panel{min-width:0}.account-session-grid,.account-feature-grid,.account-quota-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.account-session-card,.account-feature-card,.account-quota-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.account-session-card.is-current{border-color:color-mix(in srgb,var(--success) 34%,var(--line));background:color-mix(in srgb,var(--success) 4%,var(--surface-2))}.account-session-card.is-revoked{opacity:.68}
.account-session-card>header,.account-quota-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line)}
.account-session-card>header>div,.account-quota-card>header>div{display:grid;gap:2px;min-width:0}.account-session-card>header small,.account-quota-card>header small{color:var(--muted-2);font-size:.59rem;font-weight:850;letter-spacing:.08em}.account-session-card>header strong,.account-quota-card>header strong{font-size:.86rem;line-height:1.3;overflow-wrap:anywhere}.account-session-card>header span:not(.status-badge){overflow:hidden;color:var(--muted);font-size:.62rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.account-session-card .cockpit-detail-list{grid-template-columns:minmax(0,1fr);padding:0 13px}.account-session-card .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(105px,1fr) minmax(90px,auto);gap:12px;min-width:0;padding:9px 0}.account-session-card .cockpit-detail-list dd{margin:0;text-align:right;white-space:normal;overflow-wrap:anywhere}
.account-session-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:10px 13px;border-top:1px solid var(--line);color:var(--muted);font-size:.66rem}.account-session-card>footer form{margin:0}.account-session-list-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:.67rem}.account-session-list-footer strong{color:var(--text)}
.account-feature-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px}.account-feature-card>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-weight:900}.account-feature-card.enabled>span{border-color:color-mix(in srgb,var(--success) 34%,var(--line));background:color-mix(in srgb,var(--success) 9%,transparent);color:var(--success)}.account-feature-card.disabled{opacity:.62}.account-feature-card>div{display:grid;gap:3px;min-width:0}.account-feature-card strong{font-size:.78rem}.account-feature-card small{color:var(--muted);font-size:.65rem;line-height:1.4}.account-feature-card>b{align-self:center;color:var(--muted);font-size:.62rem;white-space:nowrap}.account-feature-card.enabled>b{color:var(--success)}
.account-quota-card>header>span{color:var(--text);font-size:.75rem;font-weight:850;white-space:nowrap}.account-quota-card .quota-bar{margin:13px}.account-quota-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px 13px;color:var(--muted);font-size:.64rem}.account-quota-card>footer b{color:var(--success);font-size:.62rem}.account-quota-card.quota-reached{border-color:color-mix(in srgb,var(--warning) 38%,var(--line));background:color-mix(in srgb,var(--warning) 4%,var(--surface-2))}.account-quota-card.quota-reached>footer b{color:var(--warning)}
.vehicle-settings-standard-integrations{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin:0}.vehicle-settings-standard-integrations>.cockpit-panel,.vehicle-settings-standard-integrations>.span-2{grid-column:1/-1;margin:0;box-shadow:none}.vehicle-automation-standard-panel{min-width:0}.vehicle-automation-standard-panel .cockpit-panel-head{margin-bottom:12px}.vehicle-automation-overview{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:20px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}.vehicle-automation-overview .cockpit-charge-main{display:grid;gap:4px;margin:0}.vehicle-automation-overview .cockpit-charge-main strong{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1;letter-spacing:-.04em}.vehicle-automation-overview .cockpit-charge-main small{color:var(--muted);font-size:.67rem;line-height:1.4}.vehicle-automation-overview .cockpit-detail-list{grid-template-columns:minmax(0,1fr)}.vehicle-automation-overview .cockpit-detail-list>div{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,auto);gap:12px;padding:9px 0}.vehicle-automation-overview .cockpit-detail-list dd{margin:0;text-align:right;white-space:normal;overflow-wrap:anywhere}.vehicle-automation-disclosure{margin:0}.vehicle-automation-cadence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vehicle-automation-cadence-grid>span{display:grid;gap:4px;min-width:0;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.045em}.vehicle-automation-cadence-grid strong{color:var(--text);font-size:.72rem;line-height:1.35;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}.vehicle-automation-disclosure form{margin:0}
@media(max-width:900px){.account-session-grid,.account-feature-grid,.account-quota-grid{grid-template-columns:minmax(0,1fr)}.vehicle-automation-overview{grid-template-columns:minmax(0,1fr)}.vehicle-automation-cadence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.account-security-cockpit>.cockpit-page-head,.account-sessions-cockpit>.cockpit-page-head,.account-plan-cockpit>.cockpit-page-head{padding-inline:4px}.account-security-form-footer,.account-session-list-footer,.account-session-card>footer{align-items:stretch;flex-direction:column}.account-security-form-footer .button,.account-session-card>footer form,.account-session-card>footer .button{width:100%}.account-session-card>header,.account-quota-card>header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.account-session-card>header .status-badge{justify-self:start}.account-session-card .cockpit-detail-list>div,.vehicle-automation-overview .cockpit-detail-list>div{grid-template-columns:minmax(0,1fr);gap:4px}.account-session-card .cockpit-detail-list dd,.vehicle-automation-overview .cockpit-detail-list dd{text-align:left}.account-feature-card{grid-template-columns:28px minmax(0,1fr)}.account-feature-card>b{grid-column:2;justify-self:start}.vehicle-automation-cadence-grid{grid-template-columns:minmax(0,1fr)}}

/* 1.12.46 · recuperação orientada da sincronização */
.vehicle-owner-notice-actions form{display:flex;margin:0}
.connection-recovery-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.connection-recovery-guide .card{display:flex;flex-direction:column;gap:9px;margin:0;min-width:0}
.connection-recovery-guide h2{margin:0;font-size:1rem;line-height:1.25}
.connection-recovery-guide p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}
.connection-recovery-guide form{margin-top:auto}
.connection-recovery-primary{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.connection-recovery-steps{margin:0;padding-left:1.2rem;color:var(--muted);font-size:.8rem;line-height:1.48}
.connection-recovery-steps li+li{margin-top:6px}
.connection-recovery-guide small{display:block;margin-top:auto;color:var(--muted-2);line-height:1.45}
.page-actions .inline-admin-form{display:inline-flex;margin:0}
@media(max-width:900px){.connection-recovery-guide{grid-template-columns:1fr}.connection-recovery-guide .button{width:100%}}

/* Leap Hub 1.12.47 — suíte visual do veículo unificada ao painel principal. */
.vehicle-suite-standard,
.vehicle-garage-cockpit{
  width:100%;
  max-width:1480px;
  min-width:0;
  margin-inline:auto;
}
.vehicle-suite-head{
  min-width:0;
  padding:4px 2px 8px;
  border-bottom:0;
}
.vehicle-suite-head h1{
  margin:5px 0 4px;
  font-size:clamp(1.85rem,3vw,2.65rem);
  letter-spacing:-.04em;
}
.vehicle-suite-head p{
  max-width:820px;
  margin:0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.5;
}
.vehicle-suite-head .quota-inline{
  display:inline-flex;
  margin-top:8px;
}
.vehicle-suite-standard .vehicle-section-nav{
  margin:0;
}
.vehicle-garage-summary,
.vehicle-routine-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
}
.vehicle-garage-summary>span,
.vehicle-routine-summary>span{
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface-2);
}
.vehicle-garage-summary small,
.vehicle-routine-summary small{
  color:var(--muted-2);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.vehicle-garage-summary strong,
.vehicle-routine-summary strong{
  overflow:hidden;
  color:var(--text);
  font-size:.95rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.vehicle-garage-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
}
.garage-vehicle-card{
  gap:12px;
  min-height:0!important;
  padding:16px!important;
  border-radius:9px!important;
  background:var(--surface)!important;
  box-shadow:none!important;
}
.garage-vehicle-card:hover{
  border-color:color-mix(in srgb,var(--accent) 38%,var(--line));
  box-shadow:none!important;
}
.garage-vehicle-card .vehicle-card-head{
  align-items:flex-start;
}
.garage-vehicle-card .vehicle-card-head>div{
  min-width:0;
}
.garage-vehicle-card .vehicle-card-head h3{
  margin:5px 0 2px;
  font-size:1.08rem;
  line-height:1.2;
}
.garage-vehicle-card .vehicle-card-account{
  display:block;
  overflow:hidden;
  color:var(--muted);
  font-size:.68rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.garage-vehicle-visual{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.garage-vehicle-visual .vehicle-visual{
  min-height:175px;
  border:0;
  border-radius:0;
  background:transparent;
}
.garage-vehicle-visual .vehicle-visual-caption,
.garage-vehicle-visual .vehicle-visual-sensor-health,
.garage-vehicle-visual .vehicle-visual-diagnostic-trigger{
  display:none!important;
}
.garage-vehicle-card .vehicle-stats{
  gap:7px;
}
.garage-vehicle-card .vehicle-stats>div{
  padding:10px 11px;
  border-radius:7px;
  background:var(--surface-2);
}
.garage-vehicle-card .vehicle-stats strong{
  font-size:1.18rem;
}
.garage-vehicle-card .vehicle-card-foot{
  margin:0;
  padding-top:2px;
}
.garage-vehicle-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:38px;
  margin-top:auto;
  padding:8px 10px;
  border-top:1px solid var(--line);
  color:var(--accent);
  font-size:.72rem;
}
.garage-vehicle-action b{
  font-size:1rem;
}
.garage-vehicle-card.is-inactive-vehicle .garage-vehicle-action{
  color:var(--muted);
}
.vehicle-connections-section{
  margin:0;
}
.vehicle-account-panel{
  min-height:0;
  padding:14px 16px;
}
.vehicle-account-panel .form-actions{
  justify-content:flex-end;
}
.vehicle-settings-page .vehicle-settings-standard-integrations{
  order:0;
}
.vehicle-settings-page .vehicle-settings{
  order:1;
}
.vehicle-settings-page .settings-section{
  min-height:0;
  padding:16px;
  border-radius:9px;
  background:var(--surface);
}
.vehicle-settings-page .settings-link-card{
  background:var(--surface-2);
}
.vehicle-settings-page .vehicle-automation-standard-panel:target,
.vehicle-settings-page #abrp:target{
  border-color:color-mix(in srgb,var(--accent) 72%,var(--line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent);
}
.vehicle-routines-page .routine-create-grid{
  align-items:start;
}
.vehicle-routines-page .routine-create-grid>.cockpit-panel,
.vehicle-routines-page .routine-card{
  min-height:0;
  padding:16px;
  border-radius:9px;
}
.vehicle-routines-page .routine-card .card-heading{
  margin-bottom:8px;
}
.vehicle-routines-page .routine-card .release-meta{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.vehicle-routines-page .routine-safety-panel{
  position:sticky;
  top:92px;
}
.vehicle-routines-page .routine-safety-panel p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.5;
}
.vehicle-access-page .vehicle-access-overview,
.vehicle-access-page .vehicle-access-content{
  margin:0;
  gap:10px;
}
.vehicle-access-page .vehicle-access-status,
.vehicle-access-page .vehicle-access-private,
.vehicle-access-page .vehicle-access-content>.cockpit-panel{
  min-height:0;
  padding:16px;
  border-radius:9px;
}
.vehicle-access-page .cockpit-panel-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.45;
}
.vehicle-access-page .vehicle-access-check{
  border-radius:7px;
  background:var(--surface-2);
}
.vehicle-access-page .vehicle-access-account>span,
.vehicle-access-page .vehicle-access-metrics>span{
  border-radius:7px;
}
.vehicle-automation-standard-panel .vehicle-automation-overview{
  border-top:0;
  padding-top:0;
}
.vehicle-automation-standard-panel .cockpit-charge-main small{
  max-width:330px;
}

@media(max-width:980px){
  .vehicle-garage-grid{grid-template-columns:minmax(0,1fr)}
  .vehicle-routines-page .routine-safety-panel{position:static}
}
@media(max-width:720px){
  .vehicle-suite-head{
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:10px;
    padding-inline:4px;
  }
  .vehicle-suite-head .page-actions,
  .vehicle-suite-head>.button{
    width:100%;
  }
  .vehicle-suite-head .page-actions .button,
  .vehicle-suite-head>.button{
    width:100%;
  }
  .vehicle-garage-summary,
  .vehicle-routine-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:5px;
  }
  .vehicle-garage-summary>span,
  .vehicle-routine-summary>span{
    padding:8px;
  }
  .garage-vehicle-visual .vehicle-visual{
    min-height:155px;
  }
  .vehicle-account-panel{
    align-items:stretch;
  }
  .vehicle-account-panel .form-actions,
  .vehicle-account-panel .form-actions form,
  .vehicle-account-panel .form-actions .button{
    width:100%;
  }
}
@media(max-width:520px){
  .vehicle-garage-summary,
  .vehicle-routine-summary{
    grid-template-columns:minmax(0,1fr);
  }
  .vehicle-garage-summary>span,
  .vehicle-routine-summary>span{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
  .garage-vehicle-card{
    padding:12px!important;
  }
  .garage-vehicle-card .vehicle-card-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .garage-vehicle-card .status-badge{
    justify-self:start;
  }
  .garage-vehicle-visual .vehicle-visual{
    min-height:140px;
  }
  .vehicle-routines-page .routine-card .release-meta{
    grid-template-columns:minmax(0,1fr);
  }
}
.garage-vehicle-action[href]{
  text-decoration:none;
}
.garage-vehicle-action[href]:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);
  outline-offset:3px;
  border-radius:6px;
}
.garage-vehicle-action.is-disabled{
  cursor:default;
}

/* Leap Hub 1.12.48 — garagem limpa, imagem integral e cadastros em diálogo central. */
.vehicle-garage-toolbar{
  grid-auto-columns:minmax(112px,1fr);
  margin:0;
}
.vehicle-garage-toolbar .garage-toolbar-add{
  color:var(--accent);
  border-color:color-mix(in srgb,var(--accent) 30%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));
}
.vehicle-garage-toolbar .garage-toolbar-add>span{
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 15%,var(--surface-2));
}
.vehicle-section-nav-item.is-disabled{
  opacity:.48;
  cursor:not-allowed;
  pointer-events:none;
}
.garage-vehicle-visual{
  display:block;
  min-height:220px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 94%,#20364d),var(--surface-2));
}
.garage-vehicle-visual .vehicle-visual{
  width:100%!important;
  max-width:none!important;
  min-height:220px!important;
  height:220px;
  overflow:hidden;
}
.garage-vehicle-visual .vehicle-visual-photo,
.garage-vehicle-visual .vehicle-visual.presentation-crop-charger .vehicle-visual-photo{
  inset:8px 14px 4px!important;
  right:14px!important;
  place-items:center;
  overflow:visible;
}
.garage-vehicle-visual .vehicle-visual-photo>img,
.garage-vehicle-visual .vehicle-visual.presentation-crop-charger .vehicle-visual-photo>img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.garage-vehicle-visual .vehicle-visual-overlay,
.garage-vehicle-visual .vehicle-visual.presentation-crop-charger .vehicle-visual-overlay{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.garage-vehicle-visual .vehicle-visual-freshness,
.garage-vehicle-visual .vehicle-visual-live,
.garage-vehicle-visual .vehicle-visual-marker,
.garage-vehicle-visual .vehicle-visual-color{
  display:none!important;
}
.garage-vehicle-card .vehicle-card-foot{
  min-height:30px;
  align-items:center;
  padding:8px 0 0;
  border-top:1px solid var(--line);
}
.garage-vehicle-action{
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));
  border-radius:7px;
  background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));
}
.garage-vehicle-action:hover{
  background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));
}

.leap-form-dialog{
  width:min(720px,calc(100vw - 28px));
  max-width:720px;
  max-height:min(90dvh,860px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--line) 90%,transparent);
  border-radius:14px;
  background:transparent;
  color:var(--text);
  box-shadow:0 32px 110px rgba(0,0,0,.58);
}
.leap-form-dialog::backdrop{
  background:rgba(1,7,15,.72);
  backdrop-filter:blur(8px);
}
.leap-form-dialog[open],
.leap-form-dialog.is-fallback-open{
  display:block;
}
.leap-form-dialog.is-fallback-open{
  position:fixed;
  inset:50% auto auto 50%;
  z-index:1200;
  transform:translate(-50%,-50%);
}
.leap-form-dialog-shell{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  max-height:min(90dvh,860px);
  overflow:hidden;
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,#172b42),var(--surface));
}
.leap-form-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px 15px;
  border-bottom:1px solid var(--line);
}
.leap-form-dialog-head h2{
  margin:4px 0 3px;
  font-size:1.25rem;
  letter-spacing:-.025em;
}
.leap-form-dialog-head p{
  margin:0;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.45;
}
.leap-form-dialog-head>button{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 auto;
  padding:0;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:1.35rem;
  cursor:pointer;
}
.leap-form-dialog-head>button:hover,
.leap-form-dialog-head>button:focus-visible{
  color:var(--text);
  border-color:color-mix(in srgb,var(--accent) 35%,var(--line));
  outline:none;
}
.leap-form-dialog-body{
  min-height:0;
  padding:18px 20px 20px;
  overflow:auto;
}
.modal-compact-form{
  display:grid;
  gap:12px;
}
.modal-compact-form .form-grid{
  gap:10px;
}
.leap-form-dialog-actions{
  position:sticky;
  bottom:-20px;
  z-index:3;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin:4px -20px -20px;
  padding:13px 20px;
  border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--surface) 96%,transparent);
  backdrop-filter:blur(12px);
}
.vehicle-modal-guide,
.routine-conditions-disclosure{
  margin:0 0 12px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface-2);
}
.vehicle-modal-guide>summary,
.routine-conditions-disclosure>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  cursor:pointer;
  list-style:none;
}
.vehicle-modal-guide>summary::-webkit-details-marker,
.routine-conditions-disclosure>summary::-webkit-details-marker{display:none}
.vehicle-modal-guide summary span,
.routine-conditions-disclosure summary span{display:grid;gap:2px}
.vehicle-modal-guide summary small,
.routine-conditions-disclosure summary small{color:var(--muted);font-size:.68rem;font-weight:500}
.vehicle-modal-guide summary b,
.routine-conditions-disclosure summary b{color:var(--muted);transition:transform .18s ease}
.vehicle-modal-guide[open] summary b,
.routine-conditions-disclosure[open] summary b{transform:rotate(90deg)}
.vehicle-modal-guide ol{
  margin:0;
  padding:0 18px 14px 34px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.55;
}
.routine-conditions-disclosure>div,
.routine-conditions-disclosure>label{
  margin:0 12px 12px;
}
.routine-modal-safety{
  display:grid;
  gap:3px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:9px;
  background:color-mix(in srgb,var(--accent) 6%,var(--surface-2));
}
.routine-modal-safety strong{color:var(--accent);font-size:.76rem}
.routine-modal-safety span{color:var(--muted);font-size:.7rem;line-height:1.45}
.routine-safety-strip{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  min-height:64px;
  padding:12px 14px;
  border-radius:9px;
}
.routine-safety-strip>span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));
  color:var(--accent);
  font-weight:900;
}
.routine-safety-strip strong,
.routine-safety-strip small{display:block}
.routine-safety-strip small{margin-top:3px;color:var(--muted);font-size:.69rem}
body.dialog-open{overflow:hidden}
body.dialog-open:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1199;
  background:rgba(1,7,15,.72);
  backdrop-filter:blur(8px);
}
body.dialog-open .leap-form-dialog.is-fallback-open{z-index:1200}

@media(max-width:720px){
  .vehicle-garage-toolbar{grid-auto-columns:minmax(94px,1fr)}
  .garage-vehicle-visual,
  .garage-vehicle-visual .vehicle-visual{min-height:190px!important;height:190px}
  .garage-vehicle-visual .vehicle-visual-photo,
  .garage-vehicle-visual .vehicle-visual.presentation-crop-charger .vehicle-visual-photo{inset:6px 8px 3px!important;right:8px!important}
  .leap-form-dialog{
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:12px;
  }
  .leap-form-dialog-shell{max-height:calc(100dvh - 16px)}
  .leap-form-dialog-head{padding:14px 14px 12px}
  .leap-form-dialog-body{padding:14px}
  .leap-form-dialog-actions{bottom:-14px;margin:4px -14px -14px;padding:11px 14px}
  .routine-safety-strip{grid-template-columns:34px minmax(0,1fr)}
  .routine-safety-strip .text-link{grid-column:1/-1;padding-left:45px}
}
@media(max-width:480px){
  .garage-vehicle-visual,
  .garage-vehicle-visual .vehicle-visual{min-height:170px!important;height:170px}
  .leap-form-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
  .leap-form-dialog-actions .button{width:100%}
}
.garage-vehicle-visual .vehicle-visual-generic .cockpit-car-svg{
  width:min(92%,620px);
  max-height:205px;
}

/* Leap Hub 1.12.49 — localização slim e geocerca escolhida diretamente no mapa. */
.vehicle-location-page{
  display:grid;
  gap:12px;
}
.vehicle-location-page .vehicle-section-nav{
  margin:0;
}
.location-live-strip{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr) auto;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:12px 14px;
  border-radius:10px;
}
.location-live-copy{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.location-live-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 auto;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));
  color:var(--accent);
  font-size:1rem;
  font-weight:900;
}
.location-live-copy>div{
  min-width:0;
}
.location-live-copy small,
.location-live-copy strong,
.location-live-copy span{
  display:block;
}
.location-live-copy small{
  margin-bottom:3px;
  color:var(--muted);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.08em;
}
.location-live-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.86rem;
}
.location-live-copy>div>span{
  margin-top:3px;
  color:var(--muted);
  font-size:.67rem;
}
.location-live-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.location-live-metrics>span{
  display:grid;
  gap:2px;
  min-width:0;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.location-live-metrics small{
  color:var(--muted);
  font-size:.61rem;
}
.location-live-metrics strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.79rem;
}
.location-geofence-panel{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:10px;
  scroll-margin-top:calc(var(--topbar-height,72px) + 68px);
}
.location-geofence-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.location-geofence-heading h2{
  margin:3px 0 2px;
  font-size:1rem;
}
.location-geofence-heading p{
  margin:0;
  color:var(--muted);
  font-size:.7rem;
}
.location-geofence-heading-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.location-geofence-count{
  display:flex;
  align-items:baseline;
  gap:4px;
  min-height:32px;
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.location-geofence-count strong{
  font-size:.86rem;
}
.location-geofence-count small{
  color:var(--muted);
  font-size:.61rem;
}
.location-geofence-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.location-geofence-card{
  display:grid;
  grid-template-columns:31px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:54px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.location-geofence-card>div{
  min-width:0;
}
.location-geofence-card strong,
.location-geofence-card small{
  display:block;
}
.location-geofence-card strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.76rem;
}
.location-geofence-card small{
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:.61rem;
}
.location-geofence-pin{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 13%,var(--surface));
  color:var(--accent);
}
.location-geofence-remove{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  padding:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font-size:1rem;
  cursor:pointer;
}
.location-geofence-remove:hover,
.location-geofence-remove:focus-visible{
  border-color:color-mix(in srgb,var(--danger) 40%,var(--line));
  color:var(--danger);
  outline:none;
}
.location-geofence-empty{
  grid-column:1/-1;
  min-height:66px;
  padding:11px;
  border-radius:8px;
}
.location-geofence-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:9px 10px;
  border-radius:8px;
}
.location-toggle-copy{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  cursor:pointer;
}
.location-toggle-copy input{
  width:17px;
  height:17px;
  flex:0 0 auto;
  margin:0;
  accent-color:var(--accent);
}
.location-toggle-copy span{
  min-width:0;
}
.location-toggle-copy strong,
.location-toggle-copy small{
  display:block;
}
.location-toggle-copy strong{
  font-size:.72rem;
}
.location-toggle-copy small{
  margin-top:2px;
  color:var(--muted);
  font-size:.61rem;
}
.location-map-panel{
  display:grid;
  gap:10px;
  padding:14px;
  border-radius:10px;
}
.location-map-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.location-map-head h2{
  margin:3px 0 2px;
  font-size:1rem;
}
.location-map-head p{
  margin:0;
  color:var(--muted);
  font-size:.69rem;
}
.location-map-head-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.location-map-links{
  position:relative;
}
.location-map-links>summary{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--text);
  font-size:.67rem;
  font-weight:800;
  list-style:none;
  cursor:pointer;
}
.location-map-links>summary::-webkit-details-marker{display:none}
.location-map-links>summary b{color:var(--muted);transition:transform .16s ease}
.location-map-links[open]>summary b{transform:rotate(90deg)}
.location-map-links>div{
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  z-index:20;
  display:grid;
  min-width:178px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--surface);
  box-shadow:0 16px 40px rgba(0,0,0,.3);
}
.location-map-links a{
  padding:9px 11px;
  border-bottom:1px solid var(--line);
  color:var(--text);
  text-decoration:none;
  font-size:.7rem;
  font-weight:750;
}
.location-map-links a:last-child{border-bottom:0}
.location-map-links a:hover{background:var(--surface-2);color:var(--accent)}
.vehicle-location-page .vehicle-location-map{
  min-height:clamp(340px,52vh,560px);
  border-radius:9px;
}
.location-map-privacy{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.location-map-privacy>span{
  color:var(--accent);
}
.location-map-privacy strong,
.location-map-privacy small{
  display:block;
}
.location-map-privacy strong{
  font-size:.69rem;
}
.location-map-privacy small{
  margin-top:2px;
  color:var(--muted);
  font-size:.61rem;
}

.geofence-picker-dialog{
  width:min(780px,calc(100vw - 22px));
  max-width:780px;
  max-height:min(94dvh,920px);
}
.geofence-picker-dialog .leap-form-dialog-shell{
  max-height:min(94dvh,920px);
}
.geofence-picker-head{
  padding-block:14px 12px;
}
.geofence-picker-body{
  padding:0;
}
.geofence-picker-form{
  display:grid;
  grid-template-rows:minmax(310px,44dvh) auto;
  min-height:0;
}
.geofence-picker-map-shell{
  position:relative;
  min-height:310px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.geofence-picker-map{
  position:absolute;
  inset:0;
  min-height:100%;
  height:100%;
  border:0;
  border-radius:0;
}
.geofence-map-radius{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  border:2px dashed color-mix(in srgb,var(--accent) 80%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 15%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--surface) 30%,transparent),inset 0 0 34px color-mix(in srgb,var(--accent) 8%,transparent);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.geofence-map-center-pin{
  position:absolute;
  left:50%;
  top:50%;
  z-index:5;
  width:28px;
  height:36px;
  transform:translate(-50%,-100%);
  pointer-events:none;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.32));
}
.geofence-map-center-pin:before{
  content:"";
  position:absolute;
  inset:0 2px 7px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 8px;
  background:var(--accent);
  transform:rotate(-45deg);
}
.geofence-map-center-pin span{
  position:absolute;
  left:50%;
  top:9px;
  z-index:1;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  transform:translateX(-50%);
}
.geofence-picker-map-tools{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:7;
  display:flex;
  gap:6px;
}
.geofence-picker-map-tools button{
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--line) 85%,transparent);
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 95%,transparent);
  color:var(--text);
  font-size:.66rem;
  font-weight:800;
  box-shadow:0 8px 22px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
  cursor:pointer;
}
.geofence-picker-map-tools button:hover,
.geofence-picker-map-tools button:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
  color:var(--accent);
  outline:none;
}
.geofence-picker-map-tools button:disabled{opacity:.55;cursor:wait}
.geofence-picker-radius-label{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:7;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--line) 85%,transparent);
  border-radius:9px;
  background:color-mix(in srgb,var(--surface) 95%,transparent);
  box-shadow:0 8px 22px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
  font-size:.64rem;
}
.geofence-picker-radius-label span{color:var(--muted)}
.geofence-picker-radius-label strong{font-size:.69rem}
.geofence-picker-sheet{
  display:grid;
  gap:11px;
  min-height:0;
  padding:14px 16px 0;
}
.geofence-picker-sheet .address-autocomplete-hint{
  min-height:0;
  margin-top:3px;
  font-size:.61rem;
}
.geofence-selected-address{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:9px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.geofence-selected-address>span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:color-mix(in srgb,var(--accent) 13%,var(--surface));
  color:var(--accent);
}
.geofence-selected-address small,
.geofence-selected-address strong{
  display:block;
}
.geofence-selected-address small{
  color:var(--muted);
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.08em;
}
.geofence-selected-address strong{
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.73rem;
}
.geofence-radius-control{
  display:grid;
  gap:7px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
}
.geofence-radius-control>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.geofence-radius-control label{
  font-size:.7rem;
  font-weight:800;
}
.geofence-radius-control output{
  color:var(--accent);
  font-size:.69rem;
  font-weight:850;
}
.geofence-radius-control input[type="range"]{
  width:100%;
  min-height:22px;
  padding:0;
  accent-color:var(--accent);
}
.geofence-event-fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:0;
  padding:0;
  border:0;
}
.geofence-event-fieldset legend{
  grid-column:1/-1;
  margin-bottom:1px;
  color:var(--muted);
  font-size:.66rem;
  font-weight:800;
}
.geofence-event-fieldset label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface-2);
  cursor:pointer;
}
.geofence-event-fieldset input{
  width:17px;
  height:17px;
  flex:0 0 auto;
  margin:0;
  accent-color:var(--accent);
}
.geofence-event-fieldset strong,
.geofence-event-fieldset small{
  display:block;
}
.geofence-event-fieldset strong{
  font-size:.71rem;
}
.geofence-event-fieldset small{
  margin-top:2px;
  color:var(--muted);
  font-size:.6rem;
}
.geofence-picker-actions{
  bottom:0;
  margin:2px -16px 0;
  padding:11px 16px;
}
.geofence-picker-actions .button[disabled]{opacity:.45;cursor:not-allowed}

@media(max-width:900px){
  .location-live-strip{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .location-live-metrics{
    grid-column:1/-1;
    grid-row:2;
  }
  .location-geofence-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  .vehicle-location-page{gap:9px}
  .location-live-strip{
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    padding:11px;
  }
  .location-live-strip>.button{width:100%}
  .location-live-metrics{grid-column:auto;grid-row:auto}
  .location-geofence-panel,.location-map-panel{padding:11px}
  .location-geofence-heading,.location-map-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .location-geofence-heading-actions,.location-map-head-actions{
    width:100%;
    justify-content:flex-start;
  }
  .location-geofence-heading-actions .button{margin-left:auto}
  .location-geofence-list{grid-template-columns:minmax(0,1fr)}
  .location-geofence-toggle{
    align-items:stretch;
    flex-direction:column;
  }
  .location-geofence-toggle .button{width:100%}
  .vehicle-location-page .vehicle-location-map{
    min-height:380px;
  }
  .geofence-picker-dialog{
    width:100vw;
    max-width:none;
    height:100dvh;
    max-height:none;
    margin:0;
    border:0;
    border-radius:0;
  }
  .geofence-picker-dialog .leap-form-dialog-shell{
    height:100dvh;
    max-height:none;
  }
  .geofence-picker-head{
    padding-top:calc(12px + env(safe-area-inset-top));
  }
  .geofence-picker-form{
    grid-template-rows:minmax(300px,43dvh) minmax(0,1fr);
    height:calc(100dvh - 82px - env(safe-area-inset-top));
  }
  .geofence-picker-sheet{
    overflow:auto;
    padding:12px 12px 0;
    overscroll-behavior:contain;
  }
  .geofence-picker-actions{
    margin-inline:-12px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  }
}
@media(max-width:430px){
  .location-live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .location-map-head-actions{align-items:stretch;flex-direction:column}
  .location-map-links>summary{justify-content:center}
  .location-map-links>div{right:auto;left:0}
  .vehicle-location-page .vehicle-location-map{min-height:340px}
  .geofence-picker-map-tools{
    left:8px;
    bottom:8px;
  }
  .geofence-picker-map-tools button{
    width:36px;
    padding:0;
    justify-content:center;
    font-size:0;
  }
  .geofence-picker-map-tools button span{font-size:.9rem}
  .geofence-picker-radius-label{right:8px;bottom:8px}
  .geofence-event-fieldset{grid-template-columns:minmax(0,1fr)}
}

/* Leap Hub 1.12.50 — reconstrução confiável de trajetos */
.route-geo-map-route.is-estimated{stroke:color-mix(in srgb,var(--warning) 82%,#fff);stroke-width:5;stroke-dasharray:12 11;opacity:.9}
.route-geo-map-route-shadow.is-estimated{stroke-width:9;stroke-dasharray:12 11;opacity:.34}
.route-geo-map-route.is-gps{stroke:color-mix(in srgb,var(--accent) 72%,var(--muted));stroke-dasharray:3 3}
.trip-route-quality-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.trip-route-quality-grid article{min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 84%,transparent)}
.trip-route-quality-grid span,.trip-route-quality-grid small{display:block;color:var(--muted);font-size:.64rem;line-height:1.35}
.trip-route-quality-grid strong{display:block;margin:3px 0 2px;color:var(--text);font-size:.88rem;line-height:1.25;overflow-wrap:anywhere}
.trip-route-quality-note{display:flex;align-items:flex-start;gap:10px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--accent) 6%,var(--surface-2))}
.trip-route-quality-note strong{flex:0 0 auto;color:var(--text);font-size:.68rem}
.trip-route-quality-note p{margin:0;color:var(--muted);font-size:.67rem;line-height:1.45}
.trip-route-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.64rem;font-weight:750}
.trip-route-legend span{display:inline-flex;align-items:center;gap:6px}
.trip-route-legend i{display:inline-block;width:28px;height:0;border-top:4px solid var(--accent);border-radius:999px}
.trip-route-legend i.estimated{border-top-color:var(--warning);border-top-style:dashed}
.trip-detail-map-actions form{display:inline-flex;margin:0}
.trip-detail-map-actions form .button{width:auto}
@media(max-width:900px){.trip-route-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.trip-route-quality-grid{grid-template-columns:minmax(0,1fr)}.trip-route-quality-note{display:block}.trip-route-quality-note strong{display:block;margin-bottom:4px}.trip-route-legend{align-items:flex-start;flex-direction:column;gap:7px}.trip-detail-map-actions form,.trip-detail-map-actions form .button{width:100%}}

/* Leap Hub 1.12.51 — mapa de viagens resiliente, comparável e reproduzível */
.trip-route-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.trip-route-viewbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}
.trip-route-viewbar .button{min-height:34px;margin:0}
.trip-route-viewbar .button.is-active{border-color:color-mix(in srgb,var(--accent) 54%,var(--line));background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));color:var(--accent)}
.route-geo-map-route.is-raw{stroke:color-mix(in srgb,var(--warning) 82%,var(--text));stroke-width:4;stroke-dasharray:4 6;opacity:.88}
.route-geo-map-route-shadow.is-raw{stroke-width:8;stroke-dasharray:4 6;opacity:.28}
.route-geo-map-direction{fill:none;stroke:#fff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;opacity:.92;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))}
.route-geo-map-direction.is-gps{stroke:color-mix(in srgb,var(--text) 82%,var(--accent));opacity:.76}
.route-geo-marker.stop{min-width:30px;height:30px;padding:0 7px;border-width:3px;background:color-mix(in srgb,var(--warning) 76%,#7559d9);font-size:.65rem}
.route-geo-marker.stop::after{content:"";position:absolute;inset:-7px;border:2px solid color-mix(in srgb,var(--warning) 60%,transparent);border-radius:999px;opacity:.42}
.trip-route-legend i.gps{border-top-color:color-mix(in srgb,var(--accent) 62%,var(--muted));border-top-style:dotted}
.trip-route-legend i.stop{width:11px;height:11px;border:2px solid #fff;border-radius:999px;background:color-mix(in srgb,var(--warning) 76%,#7559d9);box-shadow:0 0 0 2px color-mix(in srgb,var(--warning) 22%,transparent)}
.trip-route-playback{display:grid;grid-template-columns:36px minmax(120px,1fr) minmax(170px,auto);align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 76%,transparent)}
.trip-route-playback[hidden]{display:none!important}
.trip-route-playback-toggle{display:grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-size:.78rem;font-weight:900;cursor:pointer}
.trip-route-playback input[type="range"]{width:100%;min-width:0;accent-color:var(--accent)}
.trip-route-playback output{overflow:hidden;color:var(--muted);font-size:.66rem;font-weight:760;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.route-geo-playback-marker{position:absolute;z-index:8;width:24px;height:24px;border:4px solid #fff;border-radius:999px;background:var(--accent);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 20%,transparent),0 8px 22px rgba(0,0,0,.36);transform:translate(-50%,-50%);pointer-events:none}
.route-geo-playback-marker::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:999px;background:#fff;transform:translate(-50%,-50%)}
.route-map-expanded-open{overflow:hidden}
.trip-detail-map-card:fullscreen,.trip-detail-map-card.is-map-expanded{display:grid;width:100vw;height:100dvh;max-width:none;margin:0;padding:12px;border:0;border-radius:0;background:var(--bg);overflow:auto}
.trip-detail-map-card:fullscreen .trip-detail-route-map,.trip-detail-map-card.is-map-expanded .trip-detail-route-map{min-height:0;height:min(72dvh,calc(100dvh - 230px));border-radius:8px}
.trip-detail-map-card.is-map-expanded{position:fixed;inset:0;z-index:10000}
@media(max-width:900px){
  .trip-route-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-route-playback{grid-template-columns:36px minmax(0,1fr)}
  .trip-route-playback output{grid-column:1/-1;text-align:left;white-space:normal}
}
@media(max-width:560px){
  .trip-route-quality-grid{grid-template-columns:minmax(0,1fr)}
  .trip-route-viewbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .trip-route-viewbar .button{width:100%}
  .trip-detail-map-card:fullscreen,.trip-detail-map-card.is-map-expanded{padding:8px;padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom))}
  .trip-detail-map-card:fullscreen .trip-detail-route-map,.trip-detail-map-card.is-map-expanded .trip-detail-route-map{height:58dvh}
}
@media(prefers-reduced-motion:reduce){.route-geo-playback-marker{transition:none}}

/* Leap Hub 1.12.52 — cercas visíveis e reprodução de viagens aprimorada */
.route-geo-geofence-area{
  fill:color-mix(in srgb,var(--accent) 13%,transparent);
  stroke:color-mix(in srgb,var(--accent) 72%,#fff);
  stroke-width:2;
  stroke-dasharray:7 5;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.16));
}
.route-geo-geofence-area.is-paused{
  fill:color-mix(in srgb,var(--muted) 9%,transparent);
  stroke:color-mix(in srgb,var(--muted) 68%,var(--line));
  opacity:.7;
}
.route-geo-marker.geofence{
  min-width:31px;
  height:31px;
  padding:0 8px;
  border:3px solid #fff;
  background:color-mix(in srgb,var(--accent) 86%,#134e4a);
  color:#fff;
  box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 16%,transparent),0 8px 20px rgba(0,0,0,.3);
}
.route-geo-marker.geofence small{
  max-width:130px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.location-geofence-card{
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px;
  padding:4px;
  overflow:hidden;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.location-geofence-card:hover{
  border-color:color-mix(in srgb,var(--accent) 32%,var(--line));
  background:color-mix(in srgb,var(--accent) 5%,var(--surface-2));
}
.location-geofence-focus{
  display:grid;
  grid-template-columns:31px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  width:100%;
  min-width:0;
  min-height:48px;
  padding:5px 6px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.location-geofence-focus:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 72%,#fff);
  outline-offset:1px;
}
.location-geofence-copy{min-width:0}
.location-geofence-copy strong,.location-geofence-copy small{display:block}
.location-geofence-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.76rem;
}
.location-geofence-copy small{
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:.61rem;
}
.location-geofence-map-link{
  color:var(--accent);
  font-size:.61rem;
  font-weight:820;
  white-space:nowrap;
}
.location-geofence-card>form{display:flex;margin:0}
.location-geofence-card .location-geofence-remove{margin-right:3px}

.trip-route-playback{
  grid-template-columns:auto minmax(150px,1fr) auto auto;
  grid-template-areas:
    "buttons range speed follow"
    "status status status progress";
  gap:8px 10px;
  padding:9px 10px;
}
.trip-route-playback-buttons{
  grid-area:buttons;
  display:flex;
  align-items:center;
  gap:5px;
}
.trip-route-playback-restart,.trip-route-playback-toggle{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 auto;
  padding:0;
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  color:var(--accent);
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
}
.trip-route-playback-restart:hover,.trip-route-playback-restart:focus-visible,
.trip-route-playback-toggle:hover,.trip-route-playback-toggle:focus-visible{
  border-color:color-mix(in srgb,var(--accent) 68%,var(--line));
  background:color-mix(in srgb,var(--accent) 17%,var(--surface));
  outline:none;
}
.trip-route-playback input[type="range"]{grid-area:range}
.trip-route-playback-speed{
  grid-area:speed;
  display:flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:4px 5px 4px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--muted);
  font-size:.6rem;
  font-weight:800;
  white-space:nowrap;
}
.trip-route-playback-speed select{
  width:auto;
  min-width:58px;
  height:26px;
  padding:0 20px 0 7px;
  border:0;
  border-left:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--text);
  font-size:.68rem;
  font-weight:850;
}
.trip-route-playback-follow{grid-area:follow;min-height:34px;margin:0}
.trip-route-playback-follow.is-active{
  border-color:color-mix(in srgb,var(--accent) 48%,var(--line));
  background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));
  color:var(--accent);
}
.trip-route-playback output{
  grid-area:status;
  text-align:left;
  white-space:normal;
}
.trip-route-playback>small{
  grid-area:progress;
  align-self:center;
  color:var(--muted);
  font-size:.62rem;
  font-weight:820;
  text-align:right;
  white-space:nowrap;
}
.route-geo-playback-marker{
  --playback-bearing:0deg;
}
.route-geo-playback-marker::before{
  content:"";
  position:absolute;
  left:50%;
  top:-11px;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-bottom:10px solid #fff;
  transform:translateX(-50%) rotate(var(--playback-bearing));
  transform-origin:50% 22px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
@media(max-width:760px){
  .trip-route-playback{
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "buttons range range"
      "speed follow progress"
      "status status status";
  }
  .trip-route-playback>small{text-align:right}
  .location-map-head-actions .button{flex:1 1 auto}
}
@media(max-width:500px){
  .trip-route-playback{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:
      "buttons buttons"
      "range range"
      "speed follow"
      "progress progress"
      "status status";
  }
  .trip-route-playback-buttons{justify-content:flex-start}
  .trip-route-playback-speed,.trip-route-playback-follow{width:100%;justify-content:center}
  .trip-route-playback>small{text-align:left}
  .location-geofence-focus{grid-template-columns:31px minmax(0,1fr)}
  .location-geofence-map-link{display:none}
}

/* Leap Hub 1.12.53 — alertas agrupados por incidente, filtros e histórico compacto. */
.alerts-feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 66%,transparent)}
.alerts-feed-toolbar>small{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;color:var(--muted-2);font-size:.63rem;line-height:1.35;text-align:right}
.alerts-feed-toolbar>small i{display:grid;place-items:center;width:20px;height:20px;flex:0 0 auto;border-radius:7px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-style:normal;font-weight:950}
.alerts-filter-chips{display:flex;align-items:center;gap:5px;min-width:0;overflow-x:auto;scrollbar-width:none}
.alerts-filter-chips::-webkit-scrollbar{display:none}
.alerts-filter-chips button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font:inherit;font-size:.67rem;font-weight:800;white-space:nowrap;cursor:pointer;transition:.15s ease}
.alerts-filter-chips button:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--text)}
.alerts-filter-chips button.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent)}
.alerts-filter-chips button span{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,currentColor 10%,transparent);font-size:.61rem}
.alerts-feed-group{position:relative;align-items:start;padding-block:14px}
.alerts-feed-group[hidden]{display:none!important}
.alerts-feed-group.resolved{background:color-mix(in srgb,var(--accent) 3%,transparent)}
.alerts-feed-group.resolved .alerts-feed-symbol{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}
.alerts-feed-group.resolved .alerts-feed-copy>p{color:var(--muted)}
.alerts-feed-title{flex-wrap:wrap}
.alerts-occurrence-badge,.alerts-resolved-badge{display:inline-flex;align-items:center;min-height:21px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;font-size:.59rem;font-weight:850;line-height:1;white-space:nowrap}
.alerts-occurrence-badge{border-color:color-mix(in srgb,var(--warning) 26%,var(--line));background:color-mix(in srgb,var(--warning) 7%,transparent);color:var(--warning)}
.alerts-resolved-badge{border-color:color-mix(in srgb,var(--accent) 28%,var(--line));background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent)}
.alerts-feed-history{margin-top:8px;max-width:720px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface-2) 52%,transparent);overflow:hidden}
.alerts-feed-history>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:7px 10px;list-style:none;color:var(--muted);font-size:.64rem;font-weight:800;cursor:pointer}
.alerts-feed-history>summary::-webkit-details-marker{display:none}
.alerts-feed-history>summary:after{content:"›";order:3;color:var(--muted-2);font-size:.9rem;transition:transform .15s ease}
.alerts-feed-history[open]>summary:after{transform:rotate(90deg);color:var(--accent)}
.alerts-feed-history>summary small{margin-left:auto;color:var(--muted-2);font-size:.59rem;font-weight:650}
.alerts-feed-history ol{display:grid;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.alerts-feed-history li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);color:var(--muted);font-size:.62rem}
.alerts-feed-history li:last-child{border-bottom:0}
.alerts-feed-history li small{color:var(--muted-2);font-size:.58rem;text-align:right}
.alerts-feed-history li.more{color:var(--accent)}
.alerts-feed-actions{align-self:center}
.alerts-row-button{display:inline-flex;width:auto;min-width:34px;padding:0 8px;gap:5px}
.alerts-row-button b{font-size:.61rem;font-weight:850}
.alerts-row-button.read:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}
.alerts-filter-empty{display:flex;align-items:center;justify-content:center;gap:11px;min-height:118px;padding:22px;color:var(--muted)}
.alerts-filter-empty[hidden]{display:none!important}
.alerts-filter-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));color:var(--accent);font-weight:900}
.alerts-filter-empty strong,.alerts-filter-empty small{display:block}.alerts-filter-empty small{margin-top:3px;color:var(--muted-2);font-size:.65rem}
.alerts-grouping-hint{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 11px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.alerts-grouping-hint>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent) 11%,var(--surface-2));color:var(--accent);font-weight:950}
.alerts-grouping-hint strong,.alerts-grouping-hint small{display:block}.alerts-grouping-hint strong{font-size:.72rem}.alerts-grouping-hint small{margin-top:2px;color:var(--muted);font-size:.61rem;line-height:1.35}
@media(max-width:860px){
  .alerts-feed-toolbar{align-items:stretch;flex-direction:column;padding:8px 10px}
  .alerts-feed-toolbar>small{justify-content:flex-start;text-align:left}
  .alerts-feed-group{grid-template-columns:31px minmax(0,1fr)}
  .alerts-feed-actions{grid-column:2;justify-content:flex-start;margin-top:2px}
}
@media(max-width:520px){
  .alerts-feed-toolbar>small{font-size:.59rem}
  .alerts-filter-chips{margin-inline:-2px;padding-inline:2px}
  .alerts-feed-title strong{flex-basis:100%;white-space:normal}
  .alerts-feed-copy p{font-size:.72rem}
  .alerts-feed-copy>small{line-height:1.45}
  .alerts-row-button{width:34px;padding:0;justify-content:center}
  .alerts-row-button b{display:none}
  .alerts-feed-history>summary small{display:none}
  .alerts-feed-history li{align-items:flex-start;flex-direction:column;gap:2px}
  .alerts-feed-history li small{text-align:left}
}

/* Leap Hub 1.12.54 — planejador de rotas estilo navegação, busca em portal e marcador oficial. */
.address-suggestion-list[data-address-portal="1"]{
  position:fixed!important;
  inset:auto;
  z-index:10000!important;
  margin:0!important;
  padding:8px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 98%,transparent);
  box-shadow:0 26px 70px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(22px);
  scrollbar-width:thin;
}
.address-suggestion-list[data-address-portal="1"][hidden]{display:none!important}
.address-suggestion-list[data-address-portal="1"].opens-upward{transform-origin:bottom center}
.address-suggestion-list[data-address-portal="1"] .address-suggestion-option{min-height:58px;padding:9px 10px;border-radius:13px}
.address-suggestion-list[data-address-portal="1"] .address-suggestion-option+ .address-suggestion-option{margin-top:2px}
.address-suggestion-list[data-address-portal="1"] .address-suggestion-icon{width:38px;height:38px;border-radius:12px;font-size:.92rem}
.address-suggestion-list[data-address-portal="1"] .address-suggestion-option strong{font-size:.86rem;line-height:1.28}
.address-suggestion-list[data-address-portal="1"] .address-suggestion-option small{font-size:.69rem;line-height:1.28}
.address-autocomplete.is-open .address-autocomplete-control{border-color:color-mix(in srgb,var(--accent) 82%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent)}
.address-autocomplete.has-selection .address-autocomplete-control{border-color:color-mix(in srgb,var(--success) 55%,var(--line))}
.address-autocomplete.has-selection .address-autocomplete-control>span{color:var(--success)}

.route-planner-map-shell{border-radius:22px;box-shadow:0 22px 70px rgba(0,0,0,.18)}
.route-search-overlay{width:min(470px,calc(100% - 32px))}
.route-search-overlay form{gap:12px;padding:16px;border-radius:20px;border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 72px rgba(0,0,0,.34)}
.route-search-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:2px 2px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 86%,transparent)}
.route-search-head>div{min-width:0}
.route-search-head .eyebrow{display:block;margin-bottom:4px;font-size:.61rem}
.route-search-head strong,.route-search-head small{display:block}
.route-search-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem}
.route-search-head small{margin-top:3px;color:var(--muted);font-size:.69rem;line-height:1.35}
.route-swap-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));color:var(--accent);font-size:1.1rem;font-weight:950;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.route-swap-button:hover,.route-swap-button:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--surface-2));outline:none;transform:translateY(-1px)}
.route-search-stack{position:relative;gap:9px;padding-left:0}
.route-search-stack::before{content:"";position:absolute;z-index:0;left:17px;top:48px;bottom:48px;width:2px;border-radius:999px;background:linear-gradient(to bottom,color-mix(in srgb,var(--success) 74%,transparent),color-mix(in srgb,var(--accent) 45%,transparent),color-mix(in srgb,var(--info) 74%,transparent));pointer-events:none}
.route-search-row{position:relative;z-index:1;align-items:end}
.route-search-overlay .address-autocomplete>label{padding-left:2px;font-size:.67rem;font-weight:850;letter-spacing:.02em}
.route-search-overlay .address-autocomplete-control{min-height:52px;border-radius:15px;background:color-mix(in srgb,var(--surface-2) 93%,transparent)}
.route-search-overlay .address-autocomplete-control input{height:50px;font-size:.91rem;font-weight:720}
.route-search-overlay .address-autocomplete-control>span{position:relative;z-index:2;width:34px;height:34px;margin-left:1px;border-radius:11px;background:var(--surface);box-shadow:0 4px 14px rgba(0,0,0,.14);font-size:0}
.route-search-overlay .origin-row .address-autocomplete-control>span::after{content:"A";font-size:.7rem;font-weight:950;color:var(--success)}
.route-search-overlay .destination-row .address-autocomplete-control>span::after{content:"B";font-size:.7rem;font-weight:950;color:var(--info)}
.route-waypoint-row .address-autocomplete-control>span::after{content:"•";font-size:1.15rem;font-weight:950;color:#9b85ff}
.route-search-row-actions{padding-bottom:0}
.route-search-icon{height:52px;border-radius:15px;background:color-mix(in srgb,var(--surface-2) 94%,transparent)}
.route-search-icon.add-stop{color:#9b85ff}
.route-waypoint-row{border-radius:15px;background:color-mix(in srgb,var(--surface-2) 90%,transparent)}
.route-location-status{display:flex;align-items:center;gap:7px;min-height:28px;padding:6px 9px;border-radius:10px;background:color-mix(in srgb,var(--surface-2) 66%,transparent);line-height:1.35}
.route-location-status::before{content:"◎";color:var(--accent);font-weight:900}
.route-search-actions{grid-template-columns:48px 48px minmax(0,1fr);align-items:stretch}
.route-search-actions .route-action-icon{display:grid;place-items:center;min-width:0;width:48px;height:52px;padding:0;border-radius:15px;font-size:1.05rem}
.route-search-actions .route-calculate{display:grid;place-items:center;align-content:center;gap:2px;min-height:52px;margin:0;border-radius:15px}
.route-search-actions .route-calculate span,.route-search-actions .route-calculate small{display:block}
.route-search-actions .route-calculate span{font-size:.84rem;font-weight:900}
.route-search-actions .route-calculate small{font-size:.61rem;font-weight:700;opacity:.78}
.route-planner-preview-map .route-geo-map-controls{top:16px;right:16px;border-radius:14px}
.route-planner-preview-map .route-geo-map-status{top:auto;left:auto;right:16px;bottom:34px;max-width:min(360px,calc(100% - 32px));border-radius:11px}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image{width:102px;min-width:102px;height:62px;padding:1px 4px;border:0;border-radius:18px;background:transparent;box-shadow:none;filter:drop-shadow(0 11px 12px rgba(0,0,0,.42));transform:translate(-50%,-58%)}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image:hover,.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image:focus-visible{transform:translate(-50%,-58%) scale(1.08);box-shadow:none}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image::after{inset:12px 25px 4px;border-color:var(--accent);opacity:.34}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image img{filter:drop-shadow(0 7px 5px rgba(0,0,0,.34)) saturate(1.04)}
.route-planner-preview-map .route-geo-marker.start,.route-planner-preview-map .route-geo-marker.end{width:38px;min-width:38px;height:38px;padding:0}

body[data-theme="light"] .address-suggestion-list[data-address-portal="1"]{background:rgba(255,255,255,.99);box-shadow:0 24px 62px rgba(29,50,68,.24)}
@media(prefers-color-scheme:light){body[data-theme="system"] .address-suggestion-list[data-address-portal="1"]{background:rgba(255,255,255,.99);box-shadow:0 24px 62px rgba(29,50,68,.24)}}

@media(max-width:700px){
  .address-suggestion-list[data-address-portal="1"]{border-radius:18px;padding:7px;box-shadow:0 24px 64px rgba(0,0,0,.5)}
  .route-search-overlay form{padding:12px;border-radius:18px}
  .route-search-head{padding-bottom:9px}
  .route-search-head small{display:none}
  .route-search-stack::before{left:17px}
  .route-search-overlay .address-autocomplete-control{min-height:50px}
  .route-search-overlay .address-autocomplete-control input{height:48px}
  .route-search-icon{height:50px}
  .route-search-actions{grid-template-columns:48px 48px minmax(0,1fr)}
  .route-search-actions .route-calculate{grid-column:auto}
  .route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image{width:86px;min-width:86px;height:54px}
}
@media(max-width:430px){
  .route-search-actions{grid-template-columns:44px 44px minmax(0,1fr)}
  .route-search-actions .route-action-icon{width:44px;height:50px}
  .route-search-actions .route-calculate{grid-column:auto}
  .route-search-head strong{font-size:.9rem}
}

/* Leap Hub 1.12.55 — planejador de rota e menu de localização */
.route-location-menu[data-route-location-portal="1"]{
  position:fixed!important;
  z-index:10020!important;
  top:auto;
  right:auto;
  bottom:auto;
  left:auto;
  width:300px;
  max-width:calc(100vw - 24px);
  max-height:calc(100vh - 24px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:8px;
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 98%,transparent);
  box-shadow:0 24px 70px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.025) inset;
  backdrop-filter:blur(22px);
  transform-origin:top right;
}
.route-location-menu[data-route-location-portal="1"].opens-upward{transform-origin:bottom right}
.route-location-menu[data-route-location-portal="1"][hidden]{display:none!important}
.route-location-menu[data-route-location-portal="1"]>button{min-height:58px}
body.route-location-menu-open{overflow-x:hidden}

.route-geo-marker.waypoint.energy{background:#0a8f70}
.route-geo-marker.charger.nearby{background:#d27c16}
.route-geo-marker.fuel{min-width:38px;height:38px;padding:0 7px;background:#5c6474;border-color:#fff;font-size:.92rem}
.route-map-legend i.nearby{background:#d27c16;box-shadow:0 0 0 4px color-mix(in srgb,#d27c16 18%,transparent)}
.route-map-legend i.fuel{background:#5c6474;box-shadow:0 0 0 4px color-mix(in srgb,#5c6474 20%,transparent)}
.route-map-legend i.recommended{background:#0a8f70}

.route-corridor-panel{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface-2) 74%,transparent);overflow:hidden}
.route-corridor-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;cursor:pointer;list-style:none}
.route-corridor-panel>summary::-webkit-details-marker{display:none}
.route-corridor-panel>summary span,.route-corridor-panel>summary strong,.route-corridor-panel>summary small{display:block}
.route-corridor-panel>summary small{margin-top:3px;color:var(--muted);font-size:.72rem}
.route-corridor-panel>summary>b{color:var(--muted);transition:transform .18s ease}
.route-corridor-panel[open]>summary>b{transform:rotate(180deg)}
.route-corridor-list{display:grid;gap:9px;padding:0 12px 12px}
.route-corridor-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:14px;background:var(--surface)}
.route-corridor-item>div:first-child{min-width:0}
.route-corridor-item strong,.route-corridor-item p,.route-corridor-item small{display:block}
.route-corridor-item p{margin:4px 0;color:var(--muted);font-size:.75rem;line-height:1.35}
.route-corridor-item small{color:var(--muted-2);font-size:.68rem;line-height:1.35}
.route-corridor-item>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.route-corridor-item.fuel{border-color:color-mix(in srgb,#7c8595 38%,var(--line))}
.route-reev-strategy{grid-template-columns:repeat(2,minmax(0,1fr))}
.route-reev-strategy label span{min-height:76px}

@media(max-width:700px){
  .route-location-menu[data-route-location-portal="1"]{right:auto!important;bottom:auto!important;left:auto!important;width:min(300px,calc(100vw - 24px))!important;border-radius:16px}
  .route-corridor-item{grid-template-columns:1fr}
  .route-corridor-item>div:last-child{justify-content:flex-start}
  .route-reev-strategy{grid-template-columns:1fr}
}

/* Leap Hub 1.12.56 — planejador recolhível e escolha de navegação */
.route-search-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.route-planner-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));color:var(--text);font-size:.72rem;font-weight:900;cursor:pointer;white-space:nowrap}
.route-planner-toggle:hover,.route-planner-toggle:focus-visible{border-color:var(--accent);outline:none;background:color-mix(in srgb,var(--accent) 16%,var(--surface-2))}
.route-planner-toggle b{color:var(--accent);font-size:1rem;transition:transform .18s ease}
.route-search-overlay.is-planned:not(.is-collapsed) .route-planner-toggle b{transform:rotate(180deg)}
.route-planner-expanded{display:grid;gap:12px;min-width:0}
.route-planner-compact{display:none;gap:8px;min-width:0;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}
.route-planner-compact>.status-badge{justify-self:start}
.route-planner-compact-route{display:grid;grid-template-columns:28px minmax(0,1fr) auto 28px minmax(0,1fr);gap:7px;align-items:center;min-width:0}
.route-planner-compact-route>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--surface);font-size:.66rem;font-weight:950}
.route-planner-compact-route>span:first-child{color:var(--success)}
.route-planner-compact-route>span:nth-of-type(2){color:var(--info)}
.route-planner-compact-route strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.route-planner-compact-route b{color:var(--muted);font-size:.82rem}
.route-planner-compact>small{color:var(--muted);font-size:.66rem;line-height:1.35}
.route-search-overlay.is-collapsed{width:min(440px,calc(100% - 32px))}
.route-search-overlay.is-collapsed form{gap:8px;padding:12px 14px}
.route-search-overlay.is-collapsed .route-search-head{padding:0;border-bottom:0}
.route-search-overlay.is-collapsed .route-search-head small{display:none}
.route-search-overlay.is-collapsed .route-swap-button{display:none}
.route-search-overlay.is-collapsed .route-planner-compact{display:grid}
.route-search-overlay.is-collapsed .route-planner-expanded{display:none}

.route-navigation-dialog{width:min(560px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 28px));padding:0;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.5);overflow:hidden}
.route-navigation-dialog::backdrop{background:rgba(2,8,18,.68);backdrop-filter:blur(5px)}
.route-navigation-sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit}
.route-navigation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}
.route-navigation-head>div{min-width:0}
.route-navigation-head h2{margin:3px 0 0;font-size:1.28rem}
.route-navigation-head p{margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.4;overflow-wrap:anywhere}
.route-navigation-head>button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:1.25rem;cursor:pointer}
.route-navigation-head>button:hover,.route-navigation-head>button:focus-visible{border-color:var(--accent);outline:none}
.route-navigation-content{display:grid;gap:12px;padding:16px 18px;overflow:auto}
.route-navigation-options{display:grid;gap:9px}
.route-navigation-option{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:68px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text);text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.route-navigation-option[hidden]{display:none!important}
.route-navigation-option:hover,.route-navigation-option:focus-visible{border-color:var(--accent);outline:none;background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));transform:translateY(-1px)}
.route-navigation-option>span:nth-child(2){display:grid;gap:3px;min-width:0}
.route-navigation-option strong,.route-navigation-option small{display:block}
.route-navigation-option strong{font-size:.86rem}
.route-navigation-option small{color:var(--muted);font-size:.69rem;line-height:1.35}
.route-navigation-option>b{color:var(--accent);font-size:1rem}
.route-navigation-brand{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--surface);box-shadow:0 6px 18px rgba(0,0,0,.16);font-size:1rem;font-weight:950}
.route-navigation-brand.google{color:#4285f4}
.route-navigation-brand.waze{color:#22a9e0}
.route-navigation-brand.apple{color:var(--text);font-size:1.2rem}
.route-navigation-brand.share{color:var(--accent)}
.route-navigation-warning{margin:0;font-size:.72rem;line-height:1.45}
.route-navigation-stages{display:grid;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface-2) 88%,transparent)}
.route-navigation-stages[hidden]{display:none!important}
.route-navigation-stages>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.route-navigation-stages>header>div{min-width:0}
.route-navigation-stages h3{margin:3px 0 0;font-size:.96rem}
.route-navigation-stages p{margin:5px 0 0;color:var(--muted);font-size:.7rem;line-height:1.4}
.route-navigation-stage-list{display:grid;gap:9px}
.route-navigation-stage{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.route-navigation-stage-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));color:var(--accent);font-size:.78rem;font-weight:950}
.route-navigation-stage-copy{display:grid;gap:3px;min-width:0}
.route-navigation-stage-copy strong{font-size:.8rem}
.route-navigation-stage-copy small{color:var(--muted);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}
.route-navigation-stage-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.route-navigation-stage-actions .button{white-space:nowrap}
.route-navigation-footer{display:flex;justify-content:flex-end;padding:13px 18px;border-top:1px solid var(--line)}

@media(min-width:701px){
  .route-search-overlay.is-planned:not(.is-collapsed) form{max-height:calc(100vh - 190px);overflow:auto;overscroll-behavior:contain}
}
@media(max-width:700px){
  .route-search-overlay.is-collapsed{width:100%}
  .route-search-overlay.is-collapsed form{padding:10px 12px;box-shadow:none}
  .route-planner-compact-route{grid-template-columns:26px minmax(0,1fr) auto 26px minmax(0,1fr)}
  .route-search-head-actions{gap:6px}
  .route-planner-toggle{min-height:40px;padding:0 10px}
  .route-navigation-dialog{width:100vw;max-width:none;max-height:88dvh;margin:auto 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:22px 22px 0 0}
  .route-navigation-head{padding:16px}
  .route-navigation-content{padding:14px}
  .route-navigation-stages>header{align-items:stretch;flex-direction:column}
  .route-navigation-stages>header .button{align-self:flex-start}
  .route-navigation-stage{grid-template-columns:34px minmax(0,1fr)}
  .route-navigation-stage-actions{grid-column:1/-1;justify-content:stretch}
  .route-navigation-stage-actions .button{flex:1 1 140px}
  .route-navigation-footer{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .route-planner-compact-route{grid-template-columns:26px minmax(0,1fr);gap:6px 8px}
  .route-planner-compact-route>b{display:none}
  .route-planner-compact-route>span:nth-of-type(2){grid-row:2}
  .route-planner-toggle span{display:none}
  .route-planner-toggle{width:42px;padding:0}
}

/* 1.12.58 — marcador oficial do veículo sem fundo artificial */
.route-geo-marker.vehicle.has-vehicle-image{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.route-geo-marker.vehicle.has-vehicle-image::after{display:none}
.route-geo-marker.vehicle.has-vehicle-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.38));
  pointer-events:none;
}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image{
  width:120px;
  min-width:120px;
  height:64px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:none;
  transform:translate(-50%,-60%);
}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image:hover,
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image:focus-visible{
  transform:translate(-50%,-60%) scale(1.06);
  box-shadow:none;
}
.route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image img{
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 10px 7px rgba(0,0,0,.42)) saturate(1.03);
}
@media(max-width:720px){
  .route-planner-preview-map .route-geo-marker.vehicle.has-vehicle-image{
    width:98px;
    min-width:98px;
    height:54px;
  }
}

/* 1.12.59 — B10/C10 oficial no ponto exato do mapa */
.route-geo-marker.vehicle.has-vehicle-image{
  width:94px;
  min-width:94px;
  height:54px;
  transform:translate(-50%,-70%);
}
.route-geo-marker.vehicle.has-vehicle-image:hover,
.route-geo-marker.vehicle.has-vehicle-image:focus-visible{
  transform:translate(-50%,-70%) scale(1.07);
  box-shadow:none;
}
.cockpit-live-map .route-geo-marker.vehicle.has-vehicle-image,
.vehicle-location-map .route-geo-marker.vehicle.has-vehicle-image{
  width:100px;
  min-width:100px;
  height:58px;
}
@media(max-width:620px){
  .route-geo-marker.vehicle.has-vehicle-image{
    width:82px;
    min-width:82px;
    height:48px;
  }
  .cockpit-live-map .route-geo-marker.vehicle.has-vehicle-image,
  .vehicle-location-map .route-geo-marker.vehicle.has-vehicle-image{
    width:88px;
    min-width:88px;
    height:50px;
  }
}

/* 1.12.60 — mapa mais limpo, controles rápidos e detalhes sem sobreposição */
.route-geo-marker.charger-cluster{
  min-width:42px;
  height:42px;
  padding:0;
  border:3px solid rgba(255,255,255,.96);
  background:linear-gradient(145deg,#f59e0b,#d97706);
  color:#fff;
  box-shadow:0 9px 24px rgba(0,0,0,.34);
  z-index:4;
}
.route-geo-marker.charger-cluster>span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 5px;border-radius:999px;background:rgba(7,18,31,.42);font-size:.73rem;font-weight:950}
.route-geo-marker.charger-cluster:hover,.route-geo-marker.charger-cluster:focus-visible{transform:translate(-50%,-50%) scale(1.1)}
.route-geo-marker.is-selected{z-index:8;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 28%,transparent),0 12px 30px rgba(0,0,0,.42)}
.route-geo-marker.vehicle.has-vehicle-image.is-selected{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 68%,transparent))}
.route-geo-map-controls button[data-route-map-quick-fit],
.route-geo-map-controls button[data-route-map-quick-vehicle]{font-size:1rem}
@media(min-width:901px){
  .route-planner-map-shell .route-geo-map-popup{
    left:auto;
    right:16px;
    bottom:16px;
    width:min(400px,calc(100% - 500px));
    max-height:calc(100% - 32px);
    overflow:auto;
    overscroll-behavior:contain;
  }
}
@media(max-width:900px){
  .route-planner-map-shell .route-geo-map-popup{
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
    max-height:min(58dvh,460px);
    overflow:auto;
    overscroll-behavior:contain;
  }
}
@media(max-width:620px){
  .route-geo-marker.charger-cluster{min-width:38px;height:38px}
  .route-geo-marker.charger-cluster>span{min-width:23px;height:23px;font-size:.68rem}
}


/* 1.12.61 — gestos móveis e planejamento BEV/REEV */
.route-geo-map-stage[data-map-two-finger-pan="1"]{
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.route-geo-map-stage[data-map-two-finger-pan="1"].is-dragging{
  cursor:grabbing;
}
@media (pointer:coarse){
  .route-geo-map-stage[data-map-two-finger-pan="1"] .route-geo-map-controls button{
    min-width:42px;
    min-height:42px;
  }
  .route-geo-map-gesture-hint{
    max-width:min(320px,calc(100% - 40px));
    white-space:normal;
  }
}


/* 1.12.62 — acompanhamento ao vivo de rota BEV/REEV */
.route-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.route-live-start{min-width:150px}.route-live-start.is-active{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.route-live-trip[hidden]{display:none!important}
.route-live-trip{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:1900;width:min(920px,calc(100vw - 28px));transform:translateX(-50%);pointer-events:none}
.route-live-sheet{pointer-events:auto;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:24px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.34);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.route-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px 13px}.route-live-head h2{margin:6px 0 2px;font-size:1.18rem}.route-live-head p{margin:0;color:var(--muted);font-size:.82rem;max-width:620px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-live-head-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.route-live-status{display:inline-flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.route-live-status i{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}.route-live-status.is-live{color:var(--success)}.route-live-status.is-warning{color:var(--warning)}.route-live-status.is-offline{color:var(--danger)}.route-live-status.is-live i{animation:route-live-pulse 1.8s infinite}
@keyframes route-live-pulse{0%,100%{transform:scale(.85);opacity:.72}50%{transform:scale(1.15);opacity:1}}
.route-live-progress{height:4px;background:color-mix(in srgb,var(--muted) 16%,transparent)}.route-live-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--success));transition:width .55s ease}
.route-live-body{padding:14px 18px 16px}.route-live-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.route-live-metrics article,.route-live-reev article{min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.route-live-metrics small,.route-live-reev small{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.route-live-metrics strong,.route-live-reev strong{display:block;margin-top:4px;font-size:1.25rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-live-metrics span,.route-live-reev span{display:block;margin-top:3px;color:var(--muted);font-size:.68rem}
.route-live-reev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.route-live-reev[hidden]{display:none!important}
.route-live-insights{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:9px;margin-top:9px}.route-live-next,.route-live-advice{padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.route-live-insights h3{margin:4px 0;font-size:.98rem}.route-live-insights p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.42}.route-live-advice{position:relative;border-left:4px solid var(--muted)}.route-live-advice.is-success{border-left-color:var(--success)}.route-live-advice.is-warning{border-left-color:var(--warning)}.route-live-advice.is-critical{border-left-color:var(--danger)}.route-live-advice-actions{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}
.route-live-secondary{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.route-live-secondary span{padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);border:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:700}
.route-live-safety{display:flex;align-items:center;gap:8px;margin-top:9px;padding:8px 10px;border-radius:11px;background:color-mix(in srgb,var(--warning) 8%,var(--surface-2));font-size:.72rem}.route-live-safety strong{white-space:nowrap}.route-live-safety span{color:var(--muted)}
.route-live-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.route-live-trip.is-minimized{width:min(560px,calc(100vw - 24px))}.route-live-trip.is-minimized .route-live-body{display:none}.route-live-trip.is-minimized .route-live-head{align-items:center;padding:11px 13px}.route-live-trip.is-minimized .route-live-head h2{font-size:1rem;margin:2px 0}.route-live-trip.is-minimized .route-live-head p{display:none}.route-live-trip.is-minimized .route-live-head-actions .danger{display:none}
body.route-live-active .route-search-overlay.is-planned:not(:focus-within){opacity:.92}
@media(max-width:900px){.route-live-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.route-live-reev{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.route-result-actions{width:100%;justify-content:stretch}.route-result-actions .button{flex:1}.route-live-trip{bottom:0;width:100%;padding:0;transform:translateX(-50%)}.route-live-sheet{border-radius:22px 22px 0 0;border-bottom:0;max-height:min(78vh,680px);overflow:auto}.route-live-head{position:sticky;top:0;z-index:2;padding:12px 12px 10px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(16px)}.route-live-head-actions{gap:5px}.route-live-head-actions .button{padding-inline:9px}.route-live-body{padding:10px 12px max(14px,env(safe-area-inset-bottom))}.route-live-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.route-live-metrics article,.route-live-reev article{padding:9px}.route-live-metrics strong,.route-live-reev strong{font-size:1.05rem}.route-live-insights{grid-template-columns:1fr}.route-live-safety{align-items:flex-start;flex-direction:column;gap:2px}.route-live-footer{position:sticky;bottom:0;padding-top:8px;background:linear-gradient(transparent,var(--surface) 30%)}.route-live-trip.is-minimized{width:calc(100% - 16px);bottom:max(8px,env(safe-area-inset-bottom))}.route-live-trip.is-minimized .route-live-sheet{border-radius:18px;border-bottom:1px solid var(--line)}.route-live-trip.is-minimized .route-live-head-actions [data-route-live-follow]{display:none}}

/* 1.12.63 — acompanhamento de viagem mais resiliente e legível. */
.route-live-more{margin-top:9px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 82%,transparent);overflow:hidden}
.route-live-more>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none;user-select:none}.route-live-more>summary::-webkit-details-marker{display:none}.route-live-more>summary span{display:grid;gap:2px}.route-live-more>summary strong{font-size:.8rem}.route-live-more>summary small{color:var(--muted);font-size:.68rem}.route-live-more>summary b{font-size:1.15rem;transition:transform .18s ease}.route-live-more[open]>summary b{transform:rotate(90deg)}
.route-live-more-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:0 10px 10px}.route-live-more-grid article{min-width:0;padding:9px 10px;border-radius:11px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 82%,transparent)}.route-live-more-grid small{display:block;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.025em}.route-live-more-grid strong{display:block;margin-top:4px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route-live-trip.is-arrived .route-live-sheet{border-color:color-mix(in srgb,var(--success) 64%,var(--line));box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 0 3px color-mix(in srgb,var(--success) 12%,transparent)}.route-live-trip.is-arrived .route-live-progress span{width:100%!important;background:var(--success)}
.route-live-secondary [data-route-live-screen]{display:inline-flex;align-items:center;gap:5px}.route-live-secondary [data-route-live-screen]::before{content:'◉';font-size:.58rem;color:var(--accent)}
@media(max-width:900px){.route-live-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.route-live-more>summary{padding:9px 10px}.route-live-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 8px 8px}.route-live-more-grid article{padding:8px}.route-live-more-grid strong{font-size:.74rem}.route-live-trip.is-minimized .route-live-secondary,.route-live-trip.is-minimized .route-live-more{display:none}}


/* Diagnóstico vivo de presença e telemetria no painel administrativo. */
.admin-live-status{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
.admin-live-status small{color:var(--muted);font-weight:700}
@media (max-width:720px){.admin-live-status{justify-content:flex-start}.admin-live-status small{width:100%}}

/* 1.12.66 — resumo discreto do plano de recarga e acompanhamento ao vivo. */
.route-charge-brief{margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface-2) 86%,transparent);overflow:hidden}
.route-charge-brief>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;cursor:pointer;list-style:none;user-select:none}.route-charge-brief>summary::-webkit-details-marker{display:none}.route-charge-brief>summary>span:nth-child(2){display:grid;gap:2px;min-width:0}.route-charge-brief>summary strong{font-size:.85rem}.route-charge-brief>summary small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-charge-brief>summary>b{color:var(--accent);font-size:.72rem}.route-charge-brief[open]>summary>b{font-size:0}.route-charge-brief[open]>summary>b::after{content:'Ocultar';font-size:.72rem}
.route-charge-brief-icon,.route-live-charge-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-size:1rem;font-weight:900}
.route-charge-brief-list{display:grid;gap:6px;padding:0 10px 10px}.route-charge-brief-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:11px;background:var(--surface)}.route-charge-brief-row>span,.route-live-charge-row>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));color:var(--accent);font-size:.68rem;font-weight:900}.route-charge-brief-row>div,.route-live-charge-row>div{min-width:0;display:grid;gap:2px}.route-charge-brief-row strong,.route-live-charge-row strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-charge-brief-row small,.route-live-charge-row small{color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-charge-brief-row>b,.route-live-charge-row>b{font-size:.72rem;white-space:nowrap}.route-energy-plan-warning{margin-top:12px}
.route-live-charge-plan[hidden]{display:none!important}.route-live-charge-plan{position:relative;margin-top:8px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--surface-2));overflow:hidden}.route-live-charge-plan>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 50px 9px 11px;cursor:pointer;list-style:none;user-select:none}.route-live-charge-plan>summary::-webkit-details-marker{display:none}.route-live-charge-plan>summary>span:nth-child(2){min-width:0;display:grid;gap:1px}.route-live-charge-plan>summary>span:nth-child(2) small{color:var(--muted);font-size:.61rem;letter-spacing:.04em}.route-live-charge-plan>summary>span:nth-child(2) strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-live-charge-meta{display:grid;justify-items:end;gap:1px}.route-live-charge-meta b{font-size:.8rem;white-space:nowrap}.route-live-charge-meta small{color:var(--muted);font-size:.65rem;white-space:nowrap}.route-live-charge-add{position:absolute;z-index:3;top:9px;right:9px;display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:10px;background:var(--surface);color:var(--accent);font-family:inherit;font-size:1.05rem;font-weight:900;line-height:1;box-shadow:0 5px 14px rgba(0,0,0,.2);cursor:pointer}.route-live-charge-add:hover{transform:translateY(-1px);border-color:var(--accent)}.route-live-charge-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.route-live-charge-add:disabled{cursor:wait;opacity:.72;transform:none}.route-live-charge-add[hidden]{display:none!important}.route-live-charge-list{display:grid;gap:5px;padding:0 8px 8px}.route-live-charge-row{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
.route-live-trip.is-minimized .route-live-charge-plan{display:none}
@media(max-width:640px){.route-charge-brief>summary{padding:10px}.route-charge-brief>summary small{white-space:normal;line-height:1.3}.route-charge-brief-row{grid-template-columns:23px minmax(0,1fr);padding:8px}.route-charge-brief-row>b{grid-column:2}.route-live-charge-plan>summary{grid-template-columns:auto minmax(0,1fr)}.route-live-charge-meta{grid-column:2;justify-items:start}.route-live-charge-row{grid-template-columns:22px minmax(0,1fr)}.route-live-charge-row>b{grid-column:2}}

/* 1.12.67 — acompanhamento mais claro, sem poluir o mapa. */
.route-live-status.is-waiting{color:var(--accent)}
.route-live-advice[aria-live="polite"]{contain:layout paint}
.route-live-advice-actions [hidden]{display:none!important}
.route-live-advice.is-critical .route-live-advice-actions [data-route-live-recalculate],
.route-live-advice.is-warning .route-live-advice-actions [data-route-live-recalculate]{border-color:color-mix(in srgb,var(--warning) 42%,var(--line))}
.route-live-charge-plan[open]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}
@media(max-width:560px){.route-live-footer{display:grid;grid-template-columns:1fr 1fr}.route-live-footer .button{width:100%;justify-content:center}.route-live-advice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.route-live-advice-actions .button{width:100%;justify-content:center}.route-live-advice-actions [data-route-live-advice-add]:not([hidden]),.route-live-advice-actions [data-route-live-recalculate]:not([hidden]){grid-column:1/-1}}

/* 1.12.69 — rota ativa global, instalação PWA e push */
[data-global-active-route-host]:empty,
[data-pwa-install-host]:empty { display: none; }
.global-active-route {
    position: fixed;
    left: max(16px, env(safe-area-inset-left));
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 1250;
    max-width: 720px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(119, 213, 255, .25);
    border-radius: 22px;
    background: rgba(8, 19, 34, .94);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .38);
    backdrop-filter: blur(18px);
}
.global-active-route-main {
    min-width: 0;
    flex: 1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    color: #fff;
    text-align: left;
    cursor: pointer;
}
.global-active-route-main:hover { background: rgba(255, 255, 255, .05); }
.global-active-route-pulse {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #4be28f;
    box-shadow: 0 0 0 6px rgba(75, 226, 143, .13);
    animation: global-route-pulse 2s infinite;
}
.global-active-route.is-stale .global-active-route-pulse { background: #ffbd5c; box-shadow: 0 0 0 6px rgba(255, 189, 92, .13); animation: none; }
@keyframes global-route-pulse { 50% { box-shadow: 0 0 0 11px rgba(75, 226, 143, 0); } }
.global-active-route-copy { min-width: 0; display: grid; gap: 2px; }
.global-active-route-copy small { color: #8fa8c2; font-size: 10px; letter-spacing: .08em; }
.global-active-route-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.global-active-route-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #b9c8d7; font-size: 12px; }
.global-active-route-metrics { display: grid; justify-items: end; gap: 1px; }
.global-active-route-metrics b { font-size: 16px; }
.global-active-route-metrics small { color: #8fa8c2; white-space: nowrap; }
.global-active-route-arrow { font-size: 26px; color: #77d5ff; }
.global-active-route-close {
    width: 44px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.08);
    background: transparent;
    color: #8fa8c2;
    font-size: 22px;
    cursor: pointer;
}
.global-active-route-close:hover { color: #fff; background: rgba(255,255,255,.05); }
.pwa-install-card {
    position: fixed;
    left: max(16px, env(safe-area-inset-left));
    right: max(16px, env(safe-area-inset-right));
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 1300;
    max-width: 620px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(119, 213, 255, .24);
    border-radius: 20px;
    background: rgba(8, 19, 34, .97);
    color: #fff;
    box-shadow: 0 22px 65px rgba(0,0,0,.42);
}
body:has(.global-active-route) .pwa-install-card { bottom: calc(92px + env(safe-area-inset-bottom)); }
.pwa-install-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: linear-gradient(145deg, #52d8ff, #327bff); font-weight: 900; font-size: 22px; }
.pwa-install-card > div:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.pwa-install-card strong { font-size: 14px; }
.pwa-install-card span { color: #aebed0; font-size: 12px; }
.pwa-install-close { border: 0; background: transparent; color: #8fa8c2; font-size: 20px; cursor: pointer; }
.alerts-push-action { display: flex; align-items: center; gap: 10px; padding: 0 4px 10px; }
.alerts-push-action small { color: var(--muted, #708096); }
@media (max-width: 640px) {
    .global-active-route { left: 8px; right: 8px; bottom: calc(76px + env(safe-area-inset-bottom)); border-radius: 18px; }
    .global-active-route-main { gap: 9px; padding: 10px 11px; }
    .global-active-route-copy small { max-width: 44vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .global-active-route-copy span { max-width: 50vw; }
    .global-active-route-metrics b { font-size: 14px; }
    .global-active-route-close { width: 38px; }
    .pwa-install-card { left: 8px; right: 8px; bottom: calc(76px + env(safe-area-inset-bottom)); grid-template-columns: auto minmax(0, 1fr) auto; }
    .pwa-install-card .button { grid-column: 2; justify-self: start; }
    .pwa-install-close { position: absolute; top: 5px; right: 7px; }
    body:has(.global-active-route) .pwa-install-card { bottom: calc(150px + env(safe-area-inset-bottom)); }
}


/* 1.12.70 — acesso persistente e restauração segura da rota */
.auth-persistent-note {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    margin: -2px 0 14px;
    color: var(--muted, #91a0b1);
    font-size: .84rem;
    line-height: 1.45;
}
.auth-persistent-note > span {
    display: inline-grid;
    place-items: center;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    border-radius: 999px;
    background: rgba(104, 211, 172, .14);
    color: #68d3ac;
    font-weight: 900;
}

/* Comandos remotos assíncronos — 1.12.76 */
.remote-command-live-feedback{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.12);font-size:.76rem;line-height:1.35;transition:opacity .18s ease,transform .18s ease}.remote-command-live-feedback[hidden]{display:none}.remote-command-live-feedback.is-floating{position:fixed;right:18px;bottom:18px;z-index:1200;width:min(390px,calc(100vw - 36px));margin:0}.remote-command-live-feedback.is-success{border-color:color-mix(in srgb,var(--success) 52%,var(--line));background:color-mix(in srgb,var(--success) 10%,var(--surface))}.remote-command-live-feedback.is-error{border-color:color-mix(in srgb,var(--danger) 52%,var(--line));background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.remote-command-live-feedback.is-warning{border-color:color-mix(in srgb,var(--warning) 52%,var(--line));background:color-mix(in srgb,var(--warning) 10%,var(--surface))}.remote-command-feedback-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 42%,transparent);animation:remote-command-pulse 1.45s ease-out infinite}.remote-command-live-feedback.is-success .remote-command-feedback-dot{background:var(--success);animation:none}.remote-command-live-feedback.is-error .remote-command-feedback-dot{background:var(--danger);animation:none}.remote-command-live-feedback.is-warning .remote-command-feedback-dot{background:var(--warning)}
.remote-action-button.is-remote-processing,.quick-command-button.is-remote-processing{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;overflow:hidden;cursor:wait!important;opacity:1!important}.quick-command-button.is-remote-processing{min-height:82px;flex-direction:row;text-align:left}.remote-command-progress-copy{display:grid;gap:2px;min-width:0}.remote-command-progress-copy strong{font-size:.78rem;line-height:1.15}.remote-command-progress-copy small{color:inherit;opacity:.78;font-size:.61rem;line-height:1.2}.remote-command-spinner{flex:0 0 22px;width:22px;height:22px;border:3px solid color-mix(in srgb,currentColor 26%,transparent);border-top-color:currentColor;border-radius:50%;animation:remote-command-spin .8s linear infinite}.is-remote-success .remote-command-spinner{border:0;display:grid;place-items:center;animation:none}.is-remote-success .remote-command-spinner::before{content:'✓';font-size:1rem;font-weight:900}.is-remote-error .remote-command-spinner{border:0;display:grid;place-items:center;animation:none}.is-remote-error .remote-command-spinner::before{content:'!';font-size:1rem;font-weight:900}.remote-action-button.is-remote-success,.quick-command-button.is-remote-success{border-color:color-mix(in srgb,var(--success) 62%,var(--line));background:color-mix(in srgb,var(--success) 15%,var(--surface-2));color:var(--success)}.remote-action-button.is-remote-error,.quick-command-button.is-remote-error{border-color:color-mix(in srgb,var(--danger) 62%,var(--line));background:color-mix(in srgb,var(--danger) 13%,var(--surface-2));color:var(--danger)}
@keyframes remote-command-spin{to{transform:rotate(360deg)}}@keyframes remote-command-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 42%,transparent)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(max-width:620px){.remote-command-live-feedback.is-floating{right:10px;bottom:10px;width:calc(100vw - 20px)}.quick-command-button.is-remote-processing{min-height:68px}.remote-command-progress-copy strong{font-size:.75rem}}


/* 1.12.77 — assistente central, slim, contextual e falada. */
.global-assistant-backdrop{display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(14px,3vw,36px)!important;background:rgba(2,9,18,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.global-assistant-backdrop.hidden{display:none!important}
.global-assistant-sheet{position:relative!important;width:min(760px,calc(100vw - 28px))!important;height:auto!important;max-height:min(84dvh,820px)!important;margin:auto!important;padding:0!important;overflow:auto!important;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line))!important;border-radius:26px!important;background:color-mix(in srgb,var(--surface) 97%,transparent)!important;box-shadow:0 30px 90px rgba(0,0,0,.46)!important}
.global-assistant-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 20px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 84%,transparent)}
.global-assistant-brand{display:flex;align-items:flex-start;gap:12px;min-width:0}.global-assistant-brand-orb{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,var(--accent),#69b7ff);color:#041523;font-size:1.15rem;font-weight:900;box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 22%,transparent)}
.global-assistant-brand h2{margin:3px 0 2px;font-size:1.2rem}.global-assistant-brand p{margin:0;max-width:570px;color:var(--muted);font-size:.78rem;line-height:1.42}
.global-assistant-head-actions{display:flex;align-items:center;gap:8px}.assistant-voice-toggle{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);cursor:pointer}.assistant-voice-toggle span{font-size:.7rem}.assistant-voice-toggle b{font-size:.7rem;white-space:nowrap}.assistant-voice-toggle.is-active{border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface-2));color:var(--accent)}
.assistant-live-context{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 20px 8px}.assistant-context-card{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.assistant-context-card small,.assistant-context-card strong,.assistant-context-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-context-card small{color:var(--muted-2);font-size:.58rem;letter-spacing:.07em}.assistant-context-card strong{margin-top:4px;font-size:.9rem}.assistant-context-card span{margin-top:2px;color:var(--muted);font-size:.65rem}.assistant-context-card.is-charging{border-color:color-mix(in srgb,var(--success) 38%,var(--line))}.assistant-context-card.is-route{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.assistant-context-card.is-warning{border-color:color-mix(in srgb,var(--warning) 52%,var(--line))}.assistant-context-card.is-loading strong{animation:pulse 1.2s infinite}
.assistant-tool-row{display:flex;gap:7px;overflow-x:auto;padding:2px 20px 10px;scrollbar-width:none}.assistant-tool-row::-webkit-scrollbar{display:none}.assistant-tool-row a{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:760;text-decoration:none}.assistant-tool-row a:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 7%,transparent)}.assistant-tool-row a span{color:var(--accent)}
.global-assistant-sheet>[data-global-assistant-form]{padding:0 20px}.global-assistant-query{display:grid!important;grid-template-columns:minmax(0,1fr) 40px auto!important;gap:7px!important;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:16px;background:var(--surface-2)}.global-assistant-query input{min-height:42px!important;padding:8px 10px!important;border:0!important;background:transparent!important;box-shadow:none!important}.assistant-query-icon{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:color-mix(in srgb,var(--surface) 78%,transparent);color:var(--text);cursor:pointer}.assistant-query-icon.is-listening{background:color-mix(in srgb,var(--danger) 15%,var(--surface));color:var(--danger);animation:pulse 1s infinite}.assistant-send-button{min-height:40px!important;padding:8px 13px!important;border-radius:12px!important}.assistant-send-button b{margin-left:6px}
.global-assistant-suggestions{display:flex!important;flex-wrap:nowrap!important;gap:7px!important;overflow-x:auto;margin:8px 0 0!important;padding:0 20px 6px!important;scrollbar-width:none}.global-assistant-suggestions::-webkit-scrollbar{display:none}.global-assistant-suggestions .smart-chip{flex:0 0 auto;min-height:32px!important;padding:6px 10px!important;font-size:.66rem!important;border-radius:999px!important}
.global-assistant-result{grid-template-columns:42px minmax(0,1fr)!important;align-items:start!important;gap:11px!important;min-height:96px!important;max-height:260px;overflow:auto;margin:7px 20px 0!important;padding:14px!important;border-radius:16px!important}.global-assistant-result .smart-orb{width:40px!important;height:40px!important;border-radius:13px!important;font-size:1rem!important}.global-assistant-result>div>strong{font-size:.88rem}.global-assistant-result .assistant-rich-text{font-size:.79rem;line-height:1.48}.global-assistant-result .assistant-rich-text p{margin:4px 0!important}.global-assistant-result .assistant-rich-text ul,.global-assistant-result .assistant-rich-text ol{margin:6px 0;padding-left:18px}.global-assistant-result small{margin-top:7px;font-size:.6rem!important}
.global-assistant-actions{min-height:34px!important;margin:7px 20px 0!important}.global-assistant-actions>span{font-size:.65rem!important}.global-assistant-actions .button{min-height:32px;padding:6px 10px}
.global-assistant-history-controls{margin:5px 20px 12px!important}.global-assistant-history-controls small{font-size:.62rem}.global-assistant-history{max-height:190px;overflow:auto;margin:0 20px 16px!important;padding:10px!important;border-radius:14px!important}.global-assistant-history article{padding:8px 0!important}.global-assistant-history article strong{font-size:.72rem}.global-assistant-history article p{font-size:.68rem!important}
body[data-theme="light"] .global-assistant-backdrop{background:rgba(22,34,48,.32)}
@media(max-width:760px){.global-assistant-backdrop{align-items:center!important;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important}.global-assistant-sheet{width:100%!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:22px!important}.global-assistant-head{padding:15px 15px 11px}.global-assistant-brand-orb{flex-basis:36px;width:36px;height:36px;border-radius:12px}.global-assistant-brand p{display:none}.assistant-voice-toggle b{display:none}.assistant-voice-toggle{width:36px;justify-content:center;padding:7px}.assistant-live-context{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 15px 7px}.assistant-tool-row{padding:2px 15px 8px}.global-assistant-sheet>[data-global-assistant-form]{padding:0 15px}.global-assistant-suggestions{padding-inline:15px!important}.global-assistant-result{margin-inline:15px!important;max-height:230px}.global-assistant-actions{margin-inline:15px!important}.global-assistant-history-controls{margin-inline:15px!important}.global-assistant-history{margin-inline:15px!important}.global-assistant-query{grid-template-columns:minmax(0,1fr) 40px!important}.assistant-send-button{grid-column:1/-1!important;width:100%}.assistant-send-button b{display:none}}
@media(max-width:420px){.assistant-live-context{gap:6px}.assistant-context-card{padding:8px 9px}.assistant-context-card strong{font-size:.82rem}.global-assistant-result{grid-template-columns:34px minmax(0,1fr)!important;padding:11px!important}.global-assistant-result .smart-orb{width:32px!important;height:32px!important;border-radius:11px!important}.global-assistant-brand h2{font-size:1.05rem}}

/* 1.12.78 — contexto completo, ações seguras e múltiplos veículos. */
.assistant-vehicle-picker{padding:10px 20px 0}.assistant-vehicle-picker label{display:grid;grid-template-columns:auto minmax(170px,1fr);align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.assistant-vehicle-picker label>span{color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.assistant-vehicle-picker select{min-height:36px;padding:6px 32px 6px 10px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:10px;background:var(--surface);color:var(--text);font-size:.74rem;font-weight:760}
.assistant-response-extras{display:grid;gap:8px;margin:8px 20px 0}.assistant-answer-details{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent);overflow:hidden}.assistant-answer-details summary{padding:9px 11px;color:var(--muted);font-size:.7rem;font-weight:800;cursor:pointer;list-style:none}.assistant-answer-details summary::-webkit-details-marker{display:none}.assistant-answer-details summary::after{content:'+';float:right;color:var(--accent)}.assistant-answer-details[open] summary::after{content:'−'}.assistant-answer-details dl{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:0;margin:0;padding:0 11px 10px}.assistant-answer-details dt,.assistant-answer-details dd{margin:0;padding:7px 0;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent);font-size:.68rem;line-height:1.35}.assistant-answer-details dt{color:var(--muted)}.assistant-answer-details dd{color:var(--text);font-weight:720;text-align:right}.assistant-answer-actions{display:flex;flex-wrap:wrap;gap:7px}.assistant-action-button{min-height:34px!important;padding:7px 11px!important;font-size:.68rem!important;text-decoration:none}.assistant-action-button.warning{border-color:color-mix(in srgb,var(--warning) 46%,var(--line));background:color-mix(in srgb,var(--warning) 10%,var(--surface-2));color:var(--warning)}
body[data-theme="light"] .assistant-vehicle-picker label,body[data-theme="light"] .assistant-answer-details{background:#f4f8fb;border-color:#cbd9e6}body[data-theme="light"] .assistant-vehicle-picker label>span,body[data-theme="light"] .assistant-answer-details summary,body[data-theme="light"] .assistant-answer-details dt{color:#4f6073}body[data-theme="light"] .assistant-answer-details dd{color:#10243a}
@media(max-width:760px){.assistant-vehicle-picker{padding:9px 15px 0}.assistant-response-extras{margin-inline:15px}.assistant-vehicle-picker label{grid-template-columns:1fr;gap:5px}.assistant-vehicle-picker select{width:100%}.assistant-answer-actions{display:grid;grid-template-columns:1fr 1fr}.assistant-action-button{width:100%;justify-content:center}.assistant-answer-details dl{grid-template-columns:minmax(82px,.8fr) minmax(0,1.2fr)}}
@media(max-width:420px){.assistant-answer-actions{grid-template-columns:1fr}.assistant-answer-details dt,.assistant-answer-details dd{font-size:.64rem}.global-assistant-sheet{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}}

/* 1.12.79 — rotas persistentes, retomada segura e histórico realizado. */
.route-save.is-saved{border-color:color-mix(in srgb,var(--success) 48%,var(--line));background:color-mix(in srgb,var(--success) 10%,var(--surface-2));color:var(--success)}
.route-journey-library{display:grid;gap:16px}.route-journey-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.route-journey-columns>section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow-soft)}.route-journey-columns>section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.route-journey-columns>section>header h3{margin:0;font-size:.94rem}.route-journey-columns>section>header span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent);font-size:.7rem;font-weight:850}.route-journey-list{display:grid;gap:10px}.route-journey-card{display:grid;gap:11px;padding:13px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);transition:border-color .18s ease,transform .18s ease}.route-journey-card:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));transform:translateY(-1px)}.route-journey-card.status-active{border-color:color-mix(in srgb,var(--success) 36%,var(--line));background:color-mix(in srgb,var(--success) 6%,var(--surface-2))}.route-journey-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.route-journey-card-head small{color:var(--muted-2);font-size:.62rem;white-space:nowrap}.route-journey-path{display:grid;grid-template-columns:24px minmax(0,1fr) auto 24px minmax(0,1fr);align-items:center;gap:7px}.route-journey-path>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:8px;color:var(--accent);font-size:.62rem;font-weight:900}.route-journey-path>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.route-journey-path>i{color:var(--muted-2);font-style:normal}.route-journey-meta{display:flex;flex-wrap:wrap;gap:5px}.route-journey-meta span{padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--muted);font-size:.61rem}.route-journey-card>.button{justify-self:end}.route-journey-empty{display:grid;gap:4px;min-height:112px;place-content:center;padding:18px;border:1px dashed var(--line);border-radius:15px;text-align:center}.route-journey-empty strong{font-size:.78rem}.route-journey-empty span{color:var(--muted);font-size:.68rem;line-height:1.4}
body[data-theme="light"] .route-journey-columns>section{background:#fff;border-color:#cbd9e6}body[data-theme="light"] .route-journey-card{background:#f5f8fb;border-color:#d3dee8}body[data-theme="light"] .route-journey-card.status-active{background:#edf9f5;border-color:#9ed6c4}body[data-theme="light"] .route-journey-meta span{background:#e8eff5;color:#405369}
@media(max-width:820px){.route-journey-columns{grid-template-columns:1fr}.route-journey-columns>section{padding:13px}.route-journey-card{padding:12px}.route-journey-card>.button{width:100%;justify-content:center}}
@media(max-width:480px){.route-journey-card-head{align-items:flex-start}.route-journey-card-head small{white-space:normal;text-align:right}.route-journey-path{grid-template-columns:22px minmax(0,1fr);gap:6px}.route-journey-path>i{display:none}.route-journey-path>span{width:22px;height:22px}.route-journey-path>strong{white-space:normal;line-height:1.25}.route-result-actions .route-save{flex-basis:100%}}

/* 1.12.83 — laboratório administrativo de veículos demo */
.admin-demo-lab { display: grid; gap: 20px; }
.admin-demo-primary-grid { align-items: start; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); }
.admin-demo-create-form { display: grid; gap: 14px; margin-top: 18px; }
.admin-demo-create-form > label { display: grid; gap: 7px; }
.admin-demo-profile-preview { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface-2) 88%, transparent); }
.admin-demo-profile-preview span { color: var(--text); font-weight: 750; }
.admin-demo-profile-preview strong { color: var(--muted); font-size: .84rem; font-weight: 550; }
.admin-demo-feature-list { display: grid; gap: 11px; padding: 4px 0 0; margin: 0; list-style: none; }
.admin-demo-feature-list li { position: relative; padding-left: 25px; color: var(--muted); }
.admin-demo-feature-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: var(--success); font-weight: 800; }
.admin-demo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 16px; }
.admin-demo-card { display: grid; gap: 16px; min-width: 0; }
.admin-demo-vehicle-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.admin-demo-vehicle-meta > span { display: grid; gap: 4px; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: color-mix(in srgb, var(--surface-2) 82%, transparent); }
.admin-demo-vehicle-meta small { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.admin-demo-vehicle-meta strong { display: flex; align-items: center; gap: 7px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-demo-vehicle-meta i { width: 13px; height: 13px; flex: 0 0 13px; border-radius: 50%; background: var(--demo-color, #777); border: 1px solid rgba(255,255,255,.35); box-shadow: 0 0 0 2px rgba(0,0,0,.12); }
.admin-demo-actions { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.admin-demo-refresh-form { display: flex; align-items: end; flex: 1 1 330px; gap: 9px; }
.admin-demo-refresh-form label { display: grid; flex: 1 1 190px; gap: 5px; min-width: 180px; }
.admin-demo-refresh-form select { min-height: 40px; }

@media (max-width: 900px) {
  .admin-demo-primary-grid { grid-template-columns: 1fr; }
  .admin-demo-vehicle-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .admin-demo-grid { grid-template-columns: 1fr; }
  .admin-demo-vehicle-meta { grid-template-columns: 1fr 1fr; }
  .admin-demo-actions, .admin-demo-refresh-form { align-items: stretch; flex-direction: column; }
  .admin-demo-actions .button, .admin-demo-refresh-form .button, .admin-demo-refresh-form label { width: 100%; }
}

/* 1.12.83 — privacidade do modo demo agregado */
.admin-demo-profile-preview small { display: block; margin-top: 5px; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.admin-demo-profile-preview small.is-ready { color: var(--success); }
.admin-demo-profile-preview small.is-protected { color: var(--warning); }
.admin-demo-vehicle-meta { grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); }
.admin-demo-privacy-note { margin: 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: color-mix(in srgb, var(--surface-2) 86%, transparent); font-size: .82rem; line-height: 1.45; }
.admin-demo-policy-foot { display: grid; gap: 4px; margin-top: 17px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 13px; background: color-mix(in srgb, var(--surface-2) 88%, transparent); }
.admin-demo-policy-foot strong { color: var(--text); }
.admin-demo-policy-foot span { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.admin-demo-exclusion-list li::before { content: '×'; color: var(--warning); }
@media (max-width: 560px) {
  .admin-demo-vehicle-meta { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 390px) {
  .admin-demo-vehicle-meta { grid-template-columns: 1fr; }
}

/* 1.12.84 — reativação administrativa dos participantes Beta */
.beta-engagement-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.beta-engagement-activation{display:grid;gap:18px}.beta-engagement-activation.is-active{border-color:color-mix(in srgb,var(--success) 38%,var(--line));background:color-mix(in srgb,var(--success) 5%,var(--surface))}.beta-engagement-activation form{display:grid;gap:14px}.beta-email-preview-card{display:grid;gap:16px}.beta-email-preview-controls{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end}.beta-email-preview-frame{display:block;width:100%;height:720px;border:1px solid var(--line);border-radius:18px;background:#eef3f8}.beta-email-test-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 88%,transparent)}.beta-email-test-bar span{min-width:0;color:var(--muted);font-size:.82rem}.beta-email-test-bar strong{color:var(--text);word-break:break-all}.beta-engagement-settings-grid .card form{display:grid;gap:14px}.beta-engagement-settings-grid .alert{margin:12px 0}.beta-engagement-activation .release-meta{margin:0}.beta-engagement-activation .page-actions{justify-content:flex-start}.beta-engagement-activation .page-actions form{display:block}.beta-engagement-activation .inline-check{margin:0}.beta-engagement-activation input[name="confirmation"]{text-transform:uppercase;letter-spacing:.08em;font-weight:800}.beta-email-preview-card iframe{color-scheme:light}
body[data-theme="light"] .beta-email-test-bar{background:#f4f8fb;border-color:#cbd9e6}
@media(max-width:900px){.beta-engagement-settings-grid{grid-template-columns:1fr}.beta-email-preview-controls{grid-template-columns:1fr 1fr}.beta-email-preview-controls .button{grid-column:1/-1;width:100%}.beta-email-preview-frame{height:760px}}
@media(max-width:620px){.beta-email-preview-controls{grid-template-columns:1fr}.beta-email-preview-controls .button{grid-column:auto}.beta-email-test-bar{align-items:stretch;flex-direction:column}.beta-email-test-bar .button{width:100%;justify-content:center}.beta-email-preview-frame{height:820px}.beta-engagement-activation .page-actions{display:grid;grid-template-columns:1fr}.beta-engagement-activation .page-actions form,.beta-engagement-activation .page-actions .button{width:100%}}

/* 1.12.87 — sistema visual administrativo, contraste e responsividade unificados. */
.admin-context-bar{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;width:min(1480px,calc(100% - 48px));margin:16px auto 0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface) 95%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.admin-context-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent);font-size:1rem;font-weight:900}
.admin-context-copy{display:grid;gap:2px;min-width:0}.admin-context-copy small{color:var(--accent);font-size:.61rem;font-weight:850;letter-spacing:.12em}.admin-context-copy strong{overflow:hidden;color:var(--text);font-size:.92rem;text-overflow:ellipsis;white-space:nowrap}.admin-context-copy span{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.admin-context-meta{display:flex;align-items:center;gap:10px}.admin-context-meta>span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.66rem;font-weight:760;white-space:nowrap}.admin-context-meta .button{white-space:nowrap}
.admin-interface .content-shell>main{width:min(1480px,calc(100% - 48px));margin-inline:auto;padding-top:20px}
.admin-interface .page-heading,.admin-interface .cockpit-page-head{align-items:flex-end;gap:18px;margin:0 0 16px;padding:20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 12px 36px rgba(0,0,0,.08)}
.admin-interface .page-heading h1,.admin-interface .cockpit-page-head h1{margin:4px 0 6px;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.06;letter-spacing:-.035em}.admin-interface .page-heading p,.admin-interface .cockpit-page-head p{max-width:760px;margin:0;color:var(--muted);line-height:1.55}
.admin-interface .page-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.admin-interface .page-actions form{margin:0}
.admin-interface .card,.admin-interface .cockpit-panel,.admin-interface .table-card,.admin-interface .settings-card{border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 97%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.06)}
.admin-interface .card,.admin-interface .cockpit-panel,.admin-interface .settings-card{padding:18px}.admin-interface .content-grid,.admin-interface .dashboard-grid,.admin-interface .form-grid{gap:12px}.admin-interface .card-heading,.admin-interface .section-heading{align-items:flex-start;gap:12px;margin-bottom:14px}.admin-interface .card-heading h2,.admin-interface .section-heading h2{margin:2px 0;color:var(--text);font-size:1.02rem;line-height:1.3}.admin-interface .card-heading p,.admin-interface .section-heading p{color:var(--muted);line-height:1.5}
.admin-interface label{color:var(--text);font-weight:720}.admin-interface label>small,.admin-interface .field-help,.admin-interface .form-help{color:var(--muted);font-weight:500;line-height:1.45}.admin-interface input:not([type="checkbox"]):not([type="radio"]),.admin-interface select,.admin-interface textarea{border-color:color-mix(in srgb,var(--line) 92%,var(--text));background:color-mix(in srgb,var(--surface-2) 87%,var(--surface));color:var(--text)}.admin-interface input::placeholder,.admin-interface textarea::placeholder{color:var(--muted-2);opacity:1}.admin-interface input:focus,.admin-interface select:focus,.admin-interface textarea:focus{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);outline:0}
.admin-interface .alert{border-radius:14px;line-height:1.5}.admin-interface .status-badge,.admin-interface .pill,.admin-interface .tag{font-weight:800}.admin-interface hr{border-color:var(--line)}
.admin-interface .table-card{min-width:0;overflow:auto;padding:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.admin-interface .table-responsive{min-width:0;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.admin-interface table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0}.admin-interface table th{color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.055em;text-align:left;text-transform:uppercase}.admin-interface table th,.admin-interface table td{padding:12px 13px;border-bottom:1px solid color-mix(in srgb,var(--line) 84%,transparent);vertical-align:middle}.admin-interface table tbody tr:last-child td{border-bottom:0}.admin-interface table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.admin-interface .empty-state{min-height:150px;padding:24px;border:1px dashed var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 62%,transparent)}
.admin-interface [data-global-assistant-launch].assistant-open{border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));color:var(--accent)}
.global-assistant-backdrop[data-assistant-context="admin"] .global-assistant-brand-orb{background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 22%,var(--surface-2)),color-mix(in srgb,var(--info) 18%,var(--surface-2)))}
.global-assistant-backdrop[data-assistant-context="admin"] .assistant-context-card.is-environment{border-color:color-mix(in srgb,var(--info) 32%,var(--line))}

body[data-theme="light"].admin-interface .admin-context-bar,body[data-theme="light"].admin-interface .page-heading,body[data-theme="light"].admin-interface .cockpit-page-head,body[data-theme="light"].admin-interface .card,body[data-theme="light"].admin-interface .cockpit-panel,body[data-theme="light"].admin-interface .table-card,body[data-theme="light"].admin-interface .settings-card{border-color:#cbd9e6;background:#fff;color:#10243a;box-shadow:0 10px 30px rgba(35,61,86,.07)}
body[data-theme="light"].admin-interface .admin-context-icon{border-color:#b9d8d4;background:#e9f8f5;color:#087861}body[data-theme="light"].admin-interface .admin-context-copy strong,body[data-theme="light"].admin-interface .page-heading h1,body[data-theme="light"].admin-interface .cockpit-page-head h1,body[data-theme="light"].admin-interface .card-heading h2,body[data-theme="light"].admin-interface .section-heading h2,body[data-theme="light"].admin-interface label{color:#10243a}body[data-theme="light"].admin-interface .admin-context-copy span,body[data-theme="light"].admin-interface .admin-context-meta>span,body[data-theme="light"].admin-interface .page-heading p,body[data-theme="light"].admin-interface .cockpit-page-head p,body[data-theme="light"].admin-interface .card-heading p,body[data-theme="light"].admin-interface .section-heading p,body[data-theme="light"].admin-interface label>small,body[data-theme="light"].admin-interface .field-help,body[data-theme="light"].admin-interface .form-help{color:#52667a}body[data-theme="light"].admin-interface .admin-context-copy small{color:#087861}
body[data-theme="light"].admin-interface input:not([type="checkbox"]):not([type="radio"]),body[data-theme="light"].admin-interface select,body[data-theme="light"].admin-interface textarea{border-color:#bfcfdd;background:#f7fafc;color:#10243a}body[data-theme="light"].admin-interface input::placeholder,body[data-theme="light"].admin-interface textarea::placeholder{color:#718397}body[data-theme="light"].admin-interface table th{color:#53677c}body[data-theme="light"].admin-interface table td{color:#183047}body[data-theme="light"].admin-interface table th,body[data-theme="light"].admin-interface table td{border-bottom-color:#dbe4ec}body[data-theme="light"].admin-interface table tbody tr:hover td{background:#f0f8f7}body[data-theme="light"].admin-interface .empty-state{border-color:#c5d4e1;background:#f7fafc;color:#52667a}
@media(prefers-color-scheme:light){body[data-theme="system"].admin-interface .admin-context-bar,body[data-theme="system"].admin-interface .page-heading,body[data-theme="system"].admin-interface .cockpit-page-head,body[data-theme="system"].admin-interface .card,body[data-theme="system"].admin-interface .cockpit-panel,body[data-theme="system"].admin-interface .table-card,body[data-theme="system"].admin-interface .settings-card{border-color:#cbd9e6;background:#fff;color:#10243a}body[data-theme="system"].admin-interface .admin-context-copy strong,body[data-theme="system"].admin-interface .page-heading h1,body[data-theme="system"].admin-interface .cockpit-page-head h1,body[data-theme="system"].admin-interface .card-heading h2,body[data-theme="system"].admin-interface .section-heading h2,body[data-theme="system"].admin-interface label{color:#10243a}body[data-theme="system"].admin-interface .admin-context-copy span,body[data-theme="system"].admin-interface .page-heading p,body[data-theme="system"].admin-interface .cockpit-page-head p,body[data-theme="system"].admin-interface label>small{color:#52667a}body[data-theme="system"].admin-interface input:not([type="checkbox"]):not([type="radio"]),body[data-theme="system"].admin-interface select,body[data-theme="system"].admin-interface textarea{border-color:#bfcfdd;background:#f7fafc;color:#10243a}body[data-theme="system"].admin-interface table th{color:#53677c}body[data-theme="system"].admin-interface table td{color:#183047}}

@media(max-width:900px){.admin-context-bar{grid-template-columns:42px minmax(0,1fr);width:min(100% - 28px,1480px)}.admin-context-icon{width:42px;height:42px}.admin-context-meta{grid-column:1/-1;justify-content:space-between;padding-top:9px;border-top:1px solid var(--line)}.admin-interface .content-shell>main{width:min(100% - 28px,1480px)}.admin-interface .page-heading,.admin-interface .cockpit-page-head{align-items:flex-start;flex-direction:column}.admin-interface .page-actions{justify-content:flex-start;width:100%}}
@media(max-width:620px){.admin-context-bar{width:calc(100% - 20px);margin-top:10px;padding:11px;border-radius:15px}.admin-context-copy span{white-space:normal;line-height:1.35}.admin-context-meta{align-items:stretch;flex-direction:column}.admin-context-meta>span{text-align:center}.admin-context-meta .button{width:100%;justify-content:center}.admin-interface .content-shell>main{width:calc(100% - 20px);padding-top:12px;padding-bottom:max(96px,calc(82px + env(safe-area-inset-bottom)))}.admin-interface .page-heading,.admin-interface .cockpit-page-head{margin-bottom:12px;padding:15px;border-radius:16px}.admin-interface .page-heading h1,.admin-interface .cockpit-page-head h1{font-size:1.65rem}.admin-interface .card,.admin-interface .cockpit-panel,.admin-interface .settings-card{padding:14px;border-radius:15px}.admin-interface .page-actions{display:grid;grid-template-columns:1fr}.admin-interface .page-actions>*,.admin-interface .page-actions form,.admin-interface .page-actions .button{width:100%}.admin-interface .page-actions .button{justify-content:center}.admin-interface .form-grid{grid-template-columns:1fr!important}.admin-interface table{min-width:620px}.admin-interface table th,.admin-interface table td{padding:10px 11px}.admin-interface .table-card,.admin-interface .table-responsive{margin-inline:-4px}.admin-interface .content-grid,.admin-interface .dashboard-grid{grid-template-columns:1fr!important}}

/* 1.12.88 — preferências visuais reais, diretório de usuários e localização privada. */
body[data-resolved-theme="light"]{--bg:#edf3f7;--bg-soft:#f6f9fb;--surface:#fff;--surface-2:#f4f8fa;--surface-3:#e7eef4;--text:#102438;--muted:#506579;--muted-2:#687c90;--line:#c9d6e1;--accent:#087861;--accent-dark:#dff4ee;--shadow:0 16px 42px rgba(34,57,79,.1);color-scheme:light;background:radial-gradient(circle at 90% -10%,rgba(73,177,210,.13),transparent 34%),var(--bg)}
body[data-resolved-theme="light"] .card,body[data-resolved-theme="light"] .cockpit-panel,body[data-resolved-theme="light"] .table-card,body[data-resolved-theme="light"] .settings-card,body[data-resolved-theme="light"] dialog{border-color:var(--line);background:#fff;color:var(--text);box-shadow:var(--shadow)}
body[data-resolved-theme="light"] .sidebar{border-color:var(--line);background:rgba(248,251,253,.97)}body[data-resolved-theme="light"] .topbar{border-color:var(--line);background:rgba(237,243,247,.9)}
body[data-resolved-theme="light"] input:not([type="checkbox"]):not([type="radio"]),body[data-resolved-theme="light"] select,body[data-resolved-theme="light"] textarea{border-color:#b8c9d7;background:#fff;color:var(--text)}body[data-resolved-theme="light"] input:disabled,body[data-resolved-theme="light"] select:disabled,body[data-resolved-theme="light"] textarea:disabled{border-color:#d4dee7;background:#edf2f6;color:#566b7e;opacity:1}body[data-resolved-theme="light"] input::placeholder,body[data-resolved-theme="light"] textarea::placeholder{color:#718397;opacity:1}
body[data-resolved-theme="light"] .button.ghost,body[data-resolved-theme="light"] .button.secondary,body[data-resolved-theme="light"] .icon-button,body[data-resolved-theme="light"] .health-chip,body[data-resolved-theme="light"] .version-chip{border-color:#c3d1dc;background:#f1f6f9;color:#183047}body[data-resolved-theme="light"] .eyebrow,body[data-resolved-theme="light"] .text-link{color:#087861}body[data-resolved-theme="light"] code{color:#245e91}
body[data-resolved-theme="light"] .alert.info{border-color:#9fc4e9;background:#edf6ff;color:#234e75}body[data-resolved-theme="light"] .alert.warning{border-color:#e0bb77;background:#fff7e8;color:#6c4810}body[data-resolved-theme="light"] .alert.success{border-color:#91cfbd;background:#ebf8f4;color:#17614e}body[data-resolved-theme="light"] .alert.error{border-color:#e6a2aa;background:#fff0f2;color:#812e3a}
body[data-resolved-theme="light"] .preference-check,body[data-resolved-theme="light"] .settings-link-card,body[data-resolved-theme="light"] .consent-row,body[data-resolved-theme="light"] .permission-row,body[data-resolved-theme="light"] .release-queue-item,body[data-resolved-theme="light"] .notification-card{border-color:var(--line);background:#f6f9fb;color:var(--text)}

.density-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.density-preview article{display:grid;gap:5px;min-height:118px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 86%,transparent)}.density-preview article.is-selected{border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent)}.density-preview span{color:var(--accent);font-size:.7rem;font-weight:850;text-transform:uppercase}.density-preview strong{font-size:.78rem}.density-preview i{display:block;height:7px;border-radius:999px;background:color-mix(in srgb,var(--muted) 18%,transparent)}.density-preview article:last-child{min-height:94px;padding-block:10px;gap:3px}
body[data-density="compact"]{--topbar:62px;--radius:16px}body[data-density="compact"] .content-shell>main{padding-top:18px}body[data-density="compact"] .page-heading,body[data-density="compact"] .cockpit-page-head{margin-bottom:12px}body[data-density="compact"] .card,body[data-density="compact"] .cockpit-panel,body[data-density="compact"] .settings-card{padding:13px}body[data-density="compact"] .metric-grid,body[data-density="compact"] .content-grid,body[data-density="compact"] .dashboard-grid,body[data-density="compact"] .account-settings-grid{gap:10px;margin-bottom:12px}body[data-density="compact"] .metric-card{min-height:92px}body[data-density="compact"] .card-heading{margin-bottom:10px}body[data-density="compact"] label{gap:5px;margin-bottom:10px}body[data-density="compact"] input:not([type="checkbox"]):not([type="radio"]),body[data-density="compact"] select,body[data-density="compact"] textarea{min-height:38px;padding:7px 10px}body[data-density="compact"] .nav-item{min-height:37px;padding:6px 9px}body[data-density="compact"] .settings-link-card{min-height:56px;padding:8px 10px}body[data-density="compact"] th,body[data-density="compact"] td{padding:9px 11px}body[data-density="compact"] .button{min-height:38px;padding:8px 13px}body[data-density="compact"] .button.compact{min-height:31px;padding:5px 9px}

.location-display-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.location-display-option{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:start;gap:10px;min-height:116px;margin:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 82%,transparent);cursor:pointer}.location-display-option input{position:absolute;width:1px;height:1px;opacity:0}.location-display-option>span:nth-of-type(2){display:grid;gap:5px}.location-display-option strong,.location-display-option small{display:block}.location-display-option small{color:var(--muted);font-weight:500;line-height:1.4}.location-display-option>i{display:none;color:var(--accent);font-style:normal;font-weight:900}.location-display-option.is-selected,.location-display-option:has(input:checked){border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.location-display-option.is-selected>i,.location-display-option:has(input:checked)>i{display:block}.location-display-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:1.05rem}.location-display-note{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:color-mix(in srgb,var(--surface-2) 75%,transparent)}.location-display-note>span{color:var(--success);font-weight:900}.location-privacy-reveal{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:180px}.location-privacy-reveal>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2);color:var(--accent);font-size:1.3rem}.location-privacy-reveal h2{margin:4px 0}.location-privacy-reveal p{margin:0}.location-geofence-private>.button{margin-top:14px}

.admin-user-directory{display:grid;gap:14px}.admin-user-directory .page-heading{margin-bottom:0}.user-directory-metrics{margin-bottom:0}.user-directory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:14px}.user-directory-toolbar>label{flex:1 1 360px;max-width:560px;margin:0}.user-directory-filters{display:flex;flex-wrap:wrap;gap:7px}.user-directory-filters .is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface-2));color:var(--accent)}.user-role-groups{display:grid;gap:14px}.user-role-section>.card-heading{padding:18px 18px 4px;margin:0}.user-role-section[hidden],tr[hidden]{display:none!important}.user-directory-empty{margin:0}.admin-user-editor{display:grid;gap:14px}

@media(max-width:820px){.location-display-options{grid-template-columns:1fr}.location-display-option{min-height:0}.location-privacy-reveal{grid-template-columns:44px minmax(0,1fr)}.location-privacy-reveal>.button{grid-column:1/-1;width:100%}.user-directory-toolbar{align-items:stretch;flex-direction:column}.user-directory-toolbar>label{max-width:none;width:100%}.user-directory-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.user-directory-filters .button{width:100%}.density-preview{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body[data-density="compact"] input:not([type="checkbox"]):not([type="radio"]),body[data-density="compact"] select,body[data-density="compact"] textarea,body[data-density="compact"] .button{min-height:44px}.admin-user-directory .user-role-section{padding:14px}.admin-user-directory .user-role-section>.card-heading{padding:0 0 12px}.admin-user-directory .table-responsive{margin:0;overflow:visible}.admin-user-directory table,.admin-user-directory tbody,.admin-user-directory tr,.admin-user-directory td{display:block;width:100%;min-width:0}.admin-user-directory thead{display:none}.admin-user-directory tbody{display:grid;gap:10px}.admin-user-directory tr{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.admin-user-directory td{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;padding:7px 0!important;border:0!important}.admin-user-directory td::before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.admin-user-directory td:first-child{grid-template-columns:1fr}.admin-user-directory td:first-child::before{display:none}.admin-user-directory td:last-child .button{width:100%}.user-directory-filters{grid-template-columns:1fr}.density-preview{grid-template-columns:1fr}}

/* 1.12.89 — configurações contidas, navegáveis e com salvamento inteligente. */
.account-settings-cockpit,.account-settings-grid,.personal-preferences-card,.personal-preferences-card>form,.preference-section,.location-display-preference,.location-display-options,.location-display-note{width:100%;max-width:100%;min-width:0}.personal-preferences-card>form{display:grid}.personal-preferences-card .card-heading>div,.location-display-option>span{min-width:0}.personal-preferences-card h2,.personal-preferences-card h3,.personal-preferences-card p,.personal-preferences-card strong,.personal-preferences-card small{overflow-wrap:anywhere}.personal-preferences-card [id]{scroll-margin-top:calc(var(--topbar) + 88px)}
.account-settings-section-nav{position:sticky;top:calc(var(--topbar) + 8px);z-index:18;display:flex;align-items:center;gap:6px;width:100%;max-width:100%;padding:7px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 91%,transparent);box-shadow:0 12px 28px rgba(0,0,0,.1);backdrop-filter:blur(18px);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.account-settings-section-nav::-webkit-scrollbar{display:none}.account-settings-section-nav a{flex:0 0 auto;padding:8px 12px;border:1px solid transparent;border-radius:10px;color:var(--muted);font-size:.72rem;font-weight:800;text-decoration:none;white-space:nowrap;transition:.16s ease}.account-settings-section-nav a:hover,.account-settings-section-nav a.is-active{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent)}
.density-preference-preview{display:grid;min-width:0}.density-preference-preview .density-preview{min-width:0;margin-top:0}.density-preference-preview .density-preview article{min-width:0}.location-display-preference{overflow:hidden}.location-display-options{align-items:stretch}.location-display-option{max-width:100%;overflow:hidden}.location-display-option small{overflow-wrap:anywhere}.location-display-note small{min-width:0;overflow-wrap:anywhere}
.account-preference-savebar{position:sticky;bottom:12px;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 16px 38px rgba(0,0,0,.2);backdrop-filter:blur(18px)}.account-preference-savebar.is-dirty{border-color:color-mix(in srgb,var(--warning) 48%,var(--line));background:color-mix(in srgb,var(--warning) 7%,var(--surface))}.account-preference-save-state{display:flex;align-items:center;gap:11px;min-width:0}.account-preference-save-state>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border:1px solid color-mix(in srgb,var(--success) 38%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--success) 10%,var(--surface-2));color:var(--success);font-weight:900}.account-preference-savebar.is-dirty .account-preference-save-state>span{border-color:color-mix(in srgb,var(--warning) 44%,var(--line));background:color-mix(in srgb,var(--warning) 12%,var(--surface-2));color:var(--warning)}.account-preference-save-state strong,.account-preference-save-state small{display:block}.account-preference-save-state small{margin-top:3px;color:var(--muted);line-height:1.35}.account-preference-save-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.account-preference-save-actions .button:disabled{cursor:not-allowed;filter:saturate(.45);opacity:.56;transform:none}
body[data-resolved-theme="light"] .account-settings-section-nav,body[data-resolved-theme="light"] .account-preference-savebar{border-color:#c5d3df;background:rgba(255,255,255,.93);box-shadow:0 12px 28px rgba(38,61,82,.12)}body[data-resolved-theme="light"] .account-preference-savebar.is-dirty{border-color:#d4ae65;background:rgba(255,249,235,.96)}
@media(max-width:820px){.account-settings-section-nav{top:calc(var(--topbar) + 5px);margin-inline:0}.personal-preferences-card .card-heading{align-items:stretch;flex-direction:column}.personal-preferences-card .card-heading .button{width:100%}.account-preference-savebar{align-items:stretch;flex-direction:column}.account-preference-save-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.account-preference-save-actions .button{width:100%}}
@media(max-width:620px){.account-settings-section-nav{top:5px;margin-inline:0;padding:5px;border-radius:12px}.account-settings-section-nav a{padding:8px 10px}.personal-preferences-card{overflow:hidden!important}.personal-preferences-card>form,.preference-section,.location-display-options,.location-display-option{min-width:0!important;max-width:100%!important}.location-display-option{grid-template-columns:36px minmax(0,1fr) 18px;padding:12px}.location-display-icon{width:36px;height:36px}.account-preference-savebar{bottom:max(82px,calc(70px + env(safe-area-inset-bottom)));margin-inline:-2px;padding:11px}.account-preference-save-actions{grid-template-columns:1fr}.account-preference-save-state{align-items:flex-start}.account-preference-save-state>span{width:32px;height:32px;flex-basis:32px}}

/* 1.12.95 — recuperação de conta segura, clara e responsiva. */
.auth-recovery-link{display:flex;justify-content:flex-end;margin:-5px 0 15px;font-size:.82rem}.auth-secondary-action{margin:18px 0 0!important;text-align:center}.auth-security-note{display:grid;gap:4px;margin-top:20px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--accent) 6%,var(--surface-2));font-size:.78rem}.auth-security-note strong{color:var(--text)}.auth-security-note span{color:var(--muted);line-height:1.45}.recovery-layout{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr)}.recovery-steps{display:grid;gap:10px;max-width:590px;margin-top:28px}.recovery-steps span{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:700}.recovery-steps b{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));color:var(--accent)}.password-requirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:-4px 0 16px}.password-requirements span{padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.68rem;text-align:center;line-height:1.35}.recovery-expired-card{max-width:520px;margin:8vh auto;text-align:center}.recovery-expired-card .button{margin:20px 0 14px}.recovery-expired-card .text-link{display:inline-flex}.auth-card .alert span{display:block;margin-top:4px;line-height:1.45}
body[data-resolved-theme="light"] .auth-security-note,body[data-resolved-theme="light"] .password-requirements span,body[data-resolved-theme="light"] .recovery-steps b{background:#f4f8fb;border-color:#cbd8e3}
@media(max-width:820px){.recovery-layout{grid-template-columns:1fr}.recovery-layout .auth-card{justify-self:stretch;max-width:none}.recovery-steps{margin-bottom:10px}.password-requirements{grid-template-columns:1fr}.auth-recovery-link{justify-content:flex-start}}

/* 1.12.96 · recuperação de conta e política de senha */
.recovery-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.recovery-submit-hint{display:block;min-height:1.25em;margin-top:9px;color:var(--muted);font-size:.72rem;line-height:1.4;text-align:center}
.recovery-request-status{align-items:flex-start}
.password-input-wrap{position:relative;display:flex;align-items:center}
.password-input-wrap input{padding-right:84px}
.password-visibility{position:absolute;right:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:.7rem;font-weight:850;cursor:pointer}
.password-visibility:hover,.password-visibility:focus-visible{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));color:var(--text);outline:none}
.password-live{display:grid;gap:9px;margin:-4px 0 16px;padding:13px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}
.password-live>strong{font-size:.8rem}
.password-live>small{color:var(--muted);font-size:.7rem;line-height:1.45}
.password-strength-track{height:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--muted) 18%,transparent)}
.password-strength-track i{display:block;width:0;height:100%;border-radius:inherit;background:var(--muted-2);transition:width .22s ease,background-color .22s ease}
.password-strength-track i[data-state="weak"]{background:var(--danger)}
.password-strength-track i[data-state="fair"]{background:var(--warning)}
.password-strength-track i[data-state="good"],.password-strength-track i[data-state="strong"]{background:var(--success)}
.password-requirements span[data-state="valid"]{border-color:color-mix(in srgb,var(--success) 48%,var(--line));background:color-mix(in srgb,var(--success) 8%,var(--surface-2));color:var(--success)}
.password-requirements span[data-state="invalid"]{border-color:color-mix(in srgb,var(--danger) 48%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface-2));color:var(--danger)}
.password-requirements span[data-state="info"]{border-color:color-mix(in srgb,var(--accent) 36%,var(--line));color:var(--accent)}
.password-match-status{display:block;min-height:1.2em;margin-top:-7px;color:var(--muted);font-size:.7rem}
.password-match-status[data-state="valid"]{color:var(--success)}
.password-match-status[data-state="invalid"]{color:var(--danger)}
.password-caps-warning{margin:-8px 0 14px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--warning) 8%,var(--surface-2));color:var(--warning);font-size:.74rem;font-weight:800}
button[data-recovery-submit]:disabled,button[data-password-submit]:disabled{cursor:not-allowed;opacity:.66}
body[data-resolved-theme="light"] .password-live,body[data-resolved-theme="light"] .password-visibility{background:#f4f8fb}
@media(max-width:520px){.password-input-wrap input{padding-right:76px}.password-visibility{right:6px;padding:0 8px}.password-live{padding:11px}}

/* 1.12.97 · cancelamento preventivo e validade visível da recuperação */
.recovery-expiry{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));font-size:.76rem;line-height:1.35}.recovery-expiry strong{color:var(--text)}.recovery-expiry span{color:var(--accent);font-weight:850;text-align:right}.recovery-expiry.is-warning{border-color:color-mix(in srgb,var(--warning) 48%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--surface-2))}.recovery-expiry.is-warning span{color:var(--warning)}.recovery-expiry.is-expired{border-color:color-mix(in srgb,var(--danger) 48%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface-2))}.recovery-expiry.is-expired span,.danger-link{color:var(--danger)!important}.danger-link:hover,.danger-link:focus-visible{color:color-mix(in srgb,var(--danger) 76%,white)!important}.recovery-expiry+.recovery-expiring-form{margin-top:0}.recovery-expiring-form[aria-disabled="true"]{opacity:.72}.recovery-expiring-form[aria-disabled="true"] input{cursor:not-allowed}.auth-card .button.danger{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:color-mix(in srgb,var(--danger) 18%,var(--surface-2));color:#fff}.auth-card .button.danger:hover,.auth-card .button.danger:focus-visible{background:color-mix(in srgb,var(--danger) 28%,var(--surface-2))}
body[data-resolved-theme="light"] .recovery-expiry{background:#f4f8fb}body[data-resolved-theme="light"] .recovery-expiry.is-warning{background:#fff9eb}body[data-resolved-theme="light"] .recovery-expiry.is-expired{background:#fff1f3}
@media(max-width:520px){.recovery-expiry{align-items:flex-start;flex-direction:column}.recovery-expiry span{text-align:left}}

/* 1.12.98 · instalação PWA orientada por navegador e referência segura da recuperação */
.pwa-install-dialog-backdrop{position:fixed;inset:0;z-index:1800;display:grid;place-items:center;padding:20px;background:rgba(2,8,16,.72);backdrop-filter:blur(8px)}
.pwa-install-dialog{position:relative;width:min(100%,520px);max-height:min(86vh,720px);overflow:auto;padding:26px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.52)}
.pwa-install-dialog h2{margin:7px 38px 8px 0;font-size:clamp(1.3rem,4vw,1.8rem);line-height:1.15}.pwa-install-dialog>p{margin:0;color:var(--muted);line-height:1.55}.pwa-install-dialog ol{display:grid;gap:10px;margin:20px 0;padding:0;list-style:none}.pwa-install-dialog li{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);line-height:1.45}.pwa-install-dialog li b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.pwa-install-dialog>small{display:block;margin:0 0 18px;color:var(--muted-2);line-height:1.5}.pwa-install-dialog-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:22px;cursor:pointer}.pwa-install-dialog-close:hover,.pwa-install-dialog-close:focus-visible{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));color:var(--text);outline:none}
.recovery-reference{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;margin:0 0 12px;padding:11px 13px;border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--surface-2))}.recovery-reference span{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.recovery-reference strong{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem;letter-spacing:.035em;text-align:right}.recovery-reference small{grid-column:1/-1;color:var(--muted-2);font-size:.68rem;line-height:1.4}
body[data-resolved-theme="light"] .pwa-install-dialog,body[data-resolved-theme="light"] .pwa-install-dialog li,body[data-resolved-theme="light"] .pwa-install-dialog-close,body[data-resolved-theme="light"] .recovery-reference{background:#fff;border-color:#c7d6e2}body[data-resolved-theme="light"] .pwa-install-dialog li{background:#f5f8fb}
@media(max-width:560px){.pwa-install-dialog-backdrop{align-items:end;padding:10px}.pwa-install-dialog{width:100%;max-height:88vh;padding:22px 16px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 14px 14px}.recovery-reference{grid-template-columns:1fr}.recovery-reference strong{text-align:left}}

/* 1.12.99 — instalação PWA visível, direta quando o navegador permite. */
.public-header{justify-content:space-between;gap:16px}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.app-install-entry{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:8px 13px;
  border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  color:var(--text);
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}
.app-install-entry[hidden]{display:none!important}
.app-install-entry:hover,.app-install-entry:focus-visible{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 72%,var(--line));
  background:color-mix(in srgb,var(--accent) 16%,var(--surface));
  outline:none;
}
.app-install-entry:disabled{cursor:wait;opacity:.68;transform:none}
.app-install-entry-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:8px;
  background:linear-gradient(145deg,var(--accent),#65cce7);
  color:#052119;
  font-size:1rem;
  font-weight:950;
  line-height:1;
}
.app-install-entry.is-ready::after{
  content:"";
  position:absolute;
  top:5px;
  right:5px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--success,var(--accent));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--success,var(--accent)) 14%,transparent);
}
.public-app-install-entry{margin-left:auto}
.pwa-install-card{animation:pwa-install-card-in .28s ease both}
@keyframes pwa-install-card-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.pwa-install-card .button{white-space:nowrap}
.pwa-install-dialog .button+.button{margin-top:10px}
.pwa-install-ios-visual{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin:18px 0 6px;
}
.pwa-install-ios-visual>div{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));
}
.pwa-install-ios-visual span{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:9px;
  background:color-mix(in srgb,var(--accent) 16%,var(--surface));
  color:var(--accent);
  font-size:.72rem;
  font-weight:950;
}
.pwa-install-ios-visual b{min-width:0;font-size:.78rem;line-height:1.2}
.pwa-install-ios-visual i{font-style:normal;color:var(--accent);font-size:1.35rem;font-weight:900}
.pwa-install-ios-visual em{color:var(--muted-2);font-size:.68rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
body[data-resolved-theme="light"] .app-install-entry{background:#f5f9fc;border-color:#bfd4df;color:#17283a}
body[data-resolved-theme="light"] .pwa-install-ios-visual>div{background:#f5f9fc;border-color:#c7d6e2}
@media(max-width:760px){
  .topbar{padding-left:14px;padding-right:14px}
  .topbar-actions{gap:7px}
  .topbar-install-entry{padding:7px 9px}
  .topbar-install-entry>span:last-child{display:none}
  .topbar-install-entry .app-install-entry-icon{width:27px;height:27px}
}
@media(max-width:560px){
  .public-header{height:auto;min-height:74px;padding-top:max(12px,var(--mobile-safe-top));padding-bottom:12px}
  .public-app-install-entry{padding:7px 10px}
  .public-app-install-entry>span:last-child{font-size:.72rem}
  .pwa-install-card{grid-template-columns:auto minmax(0,1fr);padding:13px 42px 13px 12px}
  .pwa-install-card .button{grid-column:1/-1;width:100%;justify-self:stretch}
  .pwa-install-ios-visual{grid-template-columns:1fr;gap:8px}
  .pwa-install-ios-visual em{text-align:center}
}

/* 1.12.100 — Cadastro WEG WEMOB e escolha segura de integração */
.wallbox-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wallbox-integration-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.wallbox-integration-option:hover{transform:translateY(-1px);border-color:var(--accent)}
.wallbox-integration-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-2))}
.wallbox-integration-option input{margin-top:3px}
.wallbox-integration-option span{display:grid;gap:5px;min-width:0}
.wallbox-integration-option strong{font-size:.83rem;line-height:1.25}
.wallbox-integration-option small{color:var(--muted);font-size:.69rem;line-height:1.45}
.wallbox-integration-option b{align-self:start;padding:4px 6px;border-radius:999px;background:var(--surface);color:var(--muted-2);font-size:.56rem;letter-spacing:.06em;white-space:nowrap}
.wallbox-weg-note{margin-top:10px}
.wallbox-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wallbox-provider-card{display:grid;gap:14px}
.wallbox-provider-status{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.wallbox-provider-status strong{font-size:.82rem}
.wallbox-provider-status span{color:var(--muted);font-size:.7rem;line-height:1.5}
.wallbox-method-switch{display:grid;gap:10px}
.wallbox-method-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wallbox-method-switch-grid label{display:flex;align-items:flex-start;gap:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.wallbox-method-switch-grid label:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface-2))}
.wallbox-method-switch-grid span{display:grid;gap:3px}
.wallbox-method-switch-grid strong{font-size:.76rem}
.wallbox-method-switch-grid small{color:var(--muted);font-size:.64rem;line-height:1.35}
@media(max-width:760px){.wallbox-integration-grid,.wallbox-provider-grid,.wallbox-method-switch-grid{grid-template-columns:minmax(0,1fr)}.wallbox-integration-option{grid-template-columns:auto minmax(0,1fr)}.wallbox-integration-option b{grid-column:2;justify-self:start}}

/* Wallbox multimarcas 1.12.101 */
.wallbox-brand-guide{display:grid;gap:6px;margin-top:14px;padding:14px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--info) 26%,var(--line));background:color-mix(in srgb,var(--info) 8%,var(--surface-2))}
.wallbox-brand-guide strong{font-size:.86rem;color:var(--text)}
.wallbox-brand-guide span{font-size:.78rem;line-height:1.5;color:var(--muted)}
.wallbox-brand-guide small{font-size:.7rem;color:var(--muted-2)}
.wallbox-manufacturer-guide{align-self:start}
.wallbox-guide-steps{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.wallbox-guide-steps li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 82%,transparent)}
.wallbox-guide-steps i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-style:normal;font-weight:900;font-size:.72rem}
.wallbox-guide-steps span{font-size:.76rem;line-height:1.5;color:var(--text)}
.wallbox-guide-notes{display:grid;gap:7px;margin:14px 0 0;padding:12px 14px 12px 30px;border-radius:13px;background:color-mix(in srgb,var(--warning) 8%,var(--surface-2));border:1px solid color-mix(in srgb,var(--warning) 24%,var(--line));color:var(--muted);font-size:.72rem;line-height:1.45}
@media(max-width:760px){.wallbox-brand-guide{padding:12px}.wallbox-guide-steps li{padding:10px}.wallbox-guide-notes{padding-left:28px}}

/* Wallbox múltiplos equipamentos e exclusão protegida 1.12.102 */
.wallbox-archived-grid {
    display: grid;
    gap: 12px;
}
.wallbox-archived-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .24));
    border-radius: 16px;
    background: var(--surface-soft, rgba(148, 163, 184, .06));
}
.wallbox-archived-card > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.wallbox-archived-card small {
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .72;
}
.wallbox-archived-card strong,
.wallbox-archived-card span {
    overflow-wrap: anywhere;
}
.wallbox-archived-card span {
    font-size: .86rem;
    opacity: .72;
}
.wallbox-delete-zone details {
    margin-top: 14px;
    border-top: 1px solid rgba(239, 68, 68, .18);
    padding-top: 12px;
}
.wallbox-delete-zone summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--danger, #dc2626);
}
.wallbox-delete-form {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}
.wallbox-delete-form > small {
    line-height: 1.45;
    opacity: .76;
}
.wallbox-form-actions {
    flex-wrap: wrap;
}
@media (max-width: 720px) {
    .wallbox-archived-card {
        align-items: stretch;
        flex-direction: column;
    }
    .wallbox-archived-card form,
    .wallbox-archived-card .button {
        width: 100%;
    }
    .wallbox-form-actions .button {
        width: 100%;
    }
}

/* Diagnóstico intuitivo de conexão de carregadores 1.12.103 */
.wallbox-health-card {
    overflow: hidden;
}
.wallbox-health-card .card-heading {
    align-items: flex-start;
    gap: 1rem;
}
.wallbox-health-score {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    min-width: 5.3rem;
    padding: .7rem .85rem;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .28));
    border-radius: 1rem;
    background: var(--surface-soft, rgba(148, 163, 184, .08));
    white-space: nowrap;
}
.wallbox-health-score strong {
    font-size: 1.55rem;
    line-height: 1;
}
.wallbox-health-score span {
    margin-left: .15rem;
    font-size: .72rem;
    opacity: .72;
}
.wallbox-health-score.success {
    border-color: rgba(34, 197, 94, .34);
    background: rgba(34, 197, 94, .09);
}
.wallbox-health-score.warning {
    border-color: rgba(245, 158, 11, .36);
    background: rgba(245, 158, 11, .09);
}
.wallbox-health-score.danger {
    border-color: rgba(239, 68, 68, .36);
    background: rgba(239, 68, 68, .09);
}
.wallbox-health-status {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .55rem .8rem;
    margin: 1rem 0;
    padding: .9rem 1rem;
    border-radius: 1rem;
    background: var(--surface-soft, rgba(148, 163, 184, .08));
}
.wallbox-health-status strong {
    font-size: .76rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    opacity: .72;
}
.wallbox-health-status p {
    grid-column: 1 / -1;
    margin: 0;
    line-height: 1.5;
}
.wallbox-health-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin: .9rem 0;
}
.wallbox-health-check {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
    min-height: 5rem;
    padding: .8rem;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .24));
    border-radius: .95rem;
    background: var(--surface, rgba(15, 23, 42, .03));
}
.wallbox-health-check i {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .75rem;
    font-style: normal;
    font-weight: 800;
    background: rgba(148, 163, 184, .13);
}
.wallbox-health-check strong,
.wallbox-health-check span {
    display: block;
}
.wallbox-health-check strong {
    margin-bottom: .2rem;
    font-size: .88rem;
}
.wallbox-health-check span {
    font-size: .78rem;
    line-height: 1.45;
    opacity: .78;
}
.wallbox-health-check.passed {
    border-color: rgba(34, 197, 94, .24);
}
.wallbox-health-check.passed i {
    color: rgb(22, 163, 74);
    background: rgba(34, 197, 94, .12);
}
.wallbox-health-check.failed {
    border-color: rgba(239, 68, 68, .28);
}
.wallbox-health-check.failed i {
    color: rgb(220, 38, 38);
    background: rgba(239, 68, 68, .12);
}
.wallbox-health-check.warning {
    border-color: rgba(245, 158, 11, .28);
}
.wallbox-health-check.warning i,
.wallbox-health-check.pending i {
    color: rgb(217, 119, 6);
    background: rgba(245, 158, 11, .12);
}
.wallbox-health-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1rem;
    margin: .4rem 0 1rem;
    font-size: .72rem;
    opacity: .68;
}
.wallbox-health-card form {
    margin: 0;
}
@media (max-width: 720px) {
    .wallbox-health-card .card-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .wallbox-health-score {
        min-width: 4.6rem;
        padding: .6rem .7rem;
    }
    .wallbox-health-score strong {
        font-size: 1.25rem;
    }
    .wallbox-health-grid {
        grid-template-columns: 1fr;
    }
    .wallbox-health-status {
        grid-template-columns: 1fr;
    }
    .wallbox-health-status p {
        grid-column: auto;
    }
    .wallbox-health-card form .button {
        width: 100%;
    }
}

/* Wallbox functions — 1.12.104 */
.wallbox-function-overview {
    scroll-margin-top: 6rem;
}
.wallbox-function-overview > .card.span-2:first-child {
    grid-column: 1 / -1;
}
.wallbox-function-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}
.wallbox-function-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: .95rem;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .22));
    border-radius: 1rem;
    background: color-mix(in srgb, var(--card-bg, #fff) 94%, transparent);
}
.wallbox-function-card.disabled {
    opacity: .68;
}
.wallbox-function-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    margin-bottom: .65rem;
}
.wallbox-function-card header > i {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .7rem;
    font-style: normal;
    font-weight: 800;
    background: rgba(59, 130, 246, .11);
}
.wallbox-function-card > strong {
    font-size: .95rem;
}
.wallbox-function-card > p {
    flex: 1;
    margin: .35rem 0 .65rem;
    font-size: .78rem;
    line-height: 1.45;
    opacity: .78;
}
.wallbox-function-card form {
    margin: 0;
}
.wallbox-function-card form .button {
    width: 100%;
}
.wallbox-function-reason {
    display: block;
    min-height: 2.1rem;
    margin: 0 0 .6rem;
    font-size: .7rem;
    line-height: 1.35;
    color: var(--warning-color, #b45309);
}
.wallbox-current-presets {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .8rem;
}
.wallbox-current-presets form {
    margin: 0;
}
.wallbox-current-chip {
    min-width: 4.25rem;
    min-height: 2.35rem;
    padding: .45rem .7rem;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .24));
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}
.wallbox-current-chip:hover:not(:disabled) {
    border-color: currentColor;
    transform: translateY(-1px);
}
.wallbox-current-chip:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.wallbox-vendor-controls {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
}
.wallbox-vendor-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, auto);
    align-items: center;
    gap: 1rem;
    padding: .85rem;
    border: 1px solid var(--border-color, rgba(148, 163, 184, .22));
    border-radius: .9rem;
}
.wallbox-vendor-control.disabled {
    opacity: .65;
}
.wallbox-vendor-control p,
.wallbox-vendor-control small {
    display: block;
    margin: .25rem 0 0;
    font-size: .75rem;
    line-height: 1.4;
    opacity: .76;
}
.wallbox-vendor-control form {
    display: grid;
    grid-template-columns: minmax(9rem, 1fr) auto;
    gap: .5rem;
    align-items: center;
    margin: 0;
}
.wallbox-vendor-control select {
    min-width: 0;
}
.wallbox-advanced-commands {
    margin-top: 1rem;
}
.wallbox-advanced-commands .card {
    box-shadow: none;
}
@media (max-width: 1100px) {
    .wallbox-function-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .wallbox-function-grid {
        grid-template-columns: 1fr;
    }
    .wallbox-vendor-control {
        grid-template-columns: 1fr;
    }
    .wallbox-vendor-control form {
        grid-template-columns: 1fr;
    }
    .wallbox-vendor-control form .button,
    .wallbox-function-overview .card-heading form .button {
        width: 100%;
    }
    .wallbox-function-overview .card-heading {
        align-items: stretch;
    }
}

/* Leap Hub 1.12.123 · recuperação separada por ambiente */
.recovery-environment-choice{margin:18px 0;padding:0;border:0;min-width:0}.recovery-environment-choice legend{margin-bottom:10px;font-weight:700;color:var(--text)}.recovery-environment-choice .login-environment-grid{margin:0}.recovery-environment-choice .login-environment-card{cursor:pointer;grid-template-columns:24px minmax(0,1fr);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.recovery-environment-choice .login-environment-card input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.recovery-environment-choice .login-environment-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 17%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-2))}.recovery-environment-choice .login-environment-card:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}


/* 1.12.138 — controles diretos no painel do veículo e acompanhamento central */
.cockpit-control-row{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));position:relative;scroll-margin-top:86px}.cockpit-control-form{margin:0;min-width:0}.cockpit-control-button{width:100%;min-height:68px;border:1px solid transparent;background:transparent;font:inherit;cursor:pointer}.cockpit-control-button strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cockpit-control-button:disabled{cursor:not-allowed;opacity:.38;transform:none!important}.cockpit-control-row.is-locked .cockpit-action:last-child{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-2))}.cockpit-control-row>.remote-command-live-feedback{grid-column:1/-1;margin:0 0 6px}.cockpit-control-button.is-remote-processing{min-height:68px;flex-direction:column}.cockpit-control-button.is-remote-processing .remote-command-progress-copy small{display:none}
.remote-command-dialog{width:min(480px,calc(100vw - 28px));padding:0;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:22px;background:var(--surface);color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.46)}.remote-command-dialog::backdrop{background:rgba(1,10,20,.68);backdrop-filter:blur(5px)}.remote-command-dialog-shell{position:relative;display:grid;justify-items:center;gap:16px;padding:30px 28px 24px;text-align:center}.remote-command-dialog-close{position:absolute;top:13px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:1.35rem;cursor:pointer}.remote-command-dialog-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,var(--surface-2));color:var(--accent)}.remote-command-dialog-icon[data-state="success"]{background:color-mix(in srgb,var(--success) 14%,var(--surface-2));color:var(--success)}.remote-command-dialog-icon[data-state="error"],.remote-command-dialog-icon[data-state="warning"]{background:color-mix(in srgb,var(--warning) 14%,var(--surface-2));color:var(--warning)}.remote-command-dialog-icon[data-state="cancelled"]{background:var(--surface-2);color:var(--muted)}.remote-command-dialog-icon[data-state="success"] .remote-command-spinner,.remote-command-dialog-icon[data-state="cancelled"] .remote-command-spinner,.remote-command-dialog-icon[data-state="warning"] .remote-command-spinner,.remote-command-dialog-icon[data-state="error"] .remote-command-spinner{border:0;animation:none}.remote-command-dialog-icon[data-state="success"] .remote-command-spinner::before{content:'✓';font-size:1.6rem;font-weight:900}.remote-command-dialog-icon[data-state="cancelled"] .remote-command-spinner::before{content:'×';font-size:1.7rem;font-weight:900}.remote-command-dialog-icon[data-state="warning"] .remote-command-spinner::before,.remote-command-dialog-icon[data-state="error"] .remote-command-spinner::before{content:'!';font-size:1.6rem;font-weight:900}.remote-command-dialog-copy{display:grid;gap:7px}.remote-command-dialog-copy small{color:var(--accent);font-size:.66rem;font-weight:800;letter-spacing:.14em}.remote-command-dialog-copy h2,.remote-command-dialog-copy p{margin:0}.remote-command-dialog-copy h2{font-size:1.35rem}.remote-command-dialog-copy p{color:var(--muted);line-height:1.55}.remote-command-dialog-actions{display:flex;gap:10px;justify-content:center;width:100%}.remote-command-dialog-actions .button{min-width:140px}.remote-command-dialog-note{margin:0;color:var(--muted);font-size:.67rem;line-height:1.4}
@media(max-width:980px){.cockpit-control-row{grid-template-columns:repeat(4,minmax(70px,1fr))}}
@media(max-width:560px){.cockpit-control-row{grid-template-columns:repeat(4,minmax(62px,1fr));gap:3px}.cockpit-control-button{min-height:62px}.cockpit-control-button small{font-size:.52rem}.remote-command-dialog-shell{padding:28px 18px 20px}.remote-command-dialog-actions{flex-direction:column}.remote-command-dialog-actions .button{width:100%}}


/* Leap Hub 1.12.148 — atualização conjunta e controles compactos. */
.combined-update-progress{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;border-color:color-mix(in srgb,var(--success) 45%,var(--line));background:color-mix(in srgb,var(--success) 6%,var(--surface))}.combined-update-progress h2,.combined-update-progress p{margin:0}.combined-update-progress p{margin-top:5px;color:var(--muted);font-size:.78rem}.combined-update-progress form{margin:0;flex:0 0 auto}.remote-command-dialog[open]{position:fixed;inset:0;margin:auto}.remote-command-dialog-actions:has(>[hidden]){justify-content:center}@media(max-width:620px){.combined-update-progress{display:grid}.combined-update-progress form,.combined-update-progress .button{width:100%}.cockpit-control-row{grid-template-columns:repeat(4,minmax(62px,1fr))}}

/* Leap Hub 1.12.150 — todos os controles do veículo em carrossel compacto. */
.cockpit-control-carousel{position:relative;display:grid;gap:5px;min-width:0;scroll-margin-top:86px}
.owner-cockpit .compact-dashboard-vehicle .cockpit-control-carousel{grid-area:commands;align-self:end;width:100%;min-width:0;margin:0}
.cockpit-control-carousel>.remote-command-live-feedback{margin:0 38px 2px}
.cockpit-control-carousel-viewport{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:5px;min-width:0}
.cockpit-control-carousel-track.cockpit-command-row{display:flex!important;grid-template-columns:none!important;gap:5px;width:100%;min-width:0;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;padding:2px 1px 4px}
.cockpit-control-carousel-track::-webkit-scrollbar{display:none}
.cockpit-control-carousel-track>.cockpit-control-form,.cockpit-control-carousel-track>.cockpit-action{flex:0 0 clamp(74px,7.5vw,88px);scroll-snap-align:start;min-width:0}
.cockpit-control-carousel-track .cockpit-control-button{min-height:68px;padding:8px 4px}
.cockpit-control-carousel-track .cockpit-control-button>span{width:31px;height:31px}
.cockpit-control-carousel-track .cockpit-control-button strong{font-size:.64rem;white-space:normal;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cockpit-control-carousel-arrow{display:grid;place-items:center;width:32px;height:48px;padding:0;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);color:var(--text);font:800 1.35rem/1 inherit;cursor:pointer;transition:.16s ease}
.cockpit-control-carousel-arrow:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 52%,var(--line));color:var(--accent);transform:translateY(-1px)}
.cockpit-control-carousel-arrow:disabled{opacity:.22;cursor:default;transform:none}
.cockpit-control-carousel.is-static .cockpit-control-carousel-arrow{visibility:hidden}
.cockpit-control-carousel-footer{display:flex;align-items:center;justify-content:center;gap:7px;min-height:10px;color:var(--muted);font-size:.55rem;font-weight:800;letter-spacing:.08em}
.cockpit-control-carousel-footer>i{display:block;width:54px;height:3px;overflow:hidden;border-radius:999px;background:var(--surface-3)}
.cockpit-control-carousel-footer>i>b{display:block;width:var(--carousel-progress,7%);height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}
.cockpit-control-carousel.is-static .cockpit-control-carousel-footer{display:none}
.owner-cockpit .compact-dashboard-vehicle .cockpit-control-carousel .cockpit-command-row{grid-area:auto;grid-template-columns:none;width:100%}
.cockpit-command-setup-dialog{width:min(560px,calc(100vw - 24px))}
.cockpit-command-setup-title{display:flex;align-items:flex-start;gap:12px;min-width:0}
.cockpit-command-setup-title>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));color:var(--accent);font-size:1.15rem}
.cockpit-command-setup-title small{display:block;margin-bottom:3px;color:var(--accent);font-size:.62rem;font-weight:900;letter-spacing:.12em}
.cockpit-command-setup-title h2,.cockpit-command-setup-title p{margin:0}
.cockpit-command-setup-title p{margin-top:4px;color:var(--muted);font-size:.75rem;line-height:1.45}
.cockpit-command-setup-form{display:grid;gap:16px}
.cockpit-command-field,.cockpit-command-destination-grid label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:700}
.cockpit-command-field select,.cockpit-command-destination-grid input{width:100%}
.cockpit-command-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cockpit-command-destination-grid .wide{grid-column:1/-1}
@media(max-width:760px){
  .owner-cockpit .compact-dashboard-vehicle .cockpit-control-carousel{width:100%}
  .cockpit-control-carousel-viewport{grid-template-columns:30px minmax(0,1fr) 30px;gap:3px}
  .cockpit-control-carousel-arrow{width:29px;height:44px;border-radius:12px}
  .cockpit-control-carousel-track>.cockpit-control-form,.cockpit-control-carousel-track>.cockpit-action{flex-basis:74px}
  .cockpit-control-carousel-track .cockpit-control-button{min-height:62px}
  .cockpit-control-carousel>.remote-command-live-feedback{margin-inline:33px}
}
@media(max-width:520px){
  .cockpit-control-carousel-track>.cockpit-control-form,.cockpit-control-carousel-track>.cockpit-action{flex-basis:70px}
  .cockpit-control-carousel-track .cockpit-control-button strong{font-size:.6rem}
  .cockpit-command-destination-grid{grid-template-columns:1fr}
  .cockpit-command-destination-grid .wide{grid-column:auto}
}

/* Leap Hub 1.12.151 — controles em duas linhas compactas com carrossel responsivo. */
.cockpit-control-carousel-track.cockpit-command-row{
  display:grid!important;
  grid-template-rows:repeat(2,minmax(62px,auto))!important;
  grid-template-columns:none!important;
  grid-auto-flow:column;
  grid-auto-columns:clamp(74px,7.4vw,88px);
  align-items:stretch;
  gap:5px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:1px;
  padding:2px 1px 4px;
}
.cockpit-control-carousel-track>.cockpit-control-form,
.cockpit-control-carousel-track>.cockpit-action{
  flex:none!important;
  width:auto!important;
  min-width:0;
  height:100%;
  scroll-snap-align:start;
}
.cockpit-control-carousel-track .cockpit-control-button{
  height:100%;
  min-height:62px;
  padding:7px 4px;
}
.cockpit-control-carousel-track .cockpit-control-button>span{width:29px;height:29px}
.cockpit-control-carousel-arrow{height:72px}
.owner-cockpit .compact-dashboard-vehicle .cockpit-control-carousel{align-self:center}
@media(min-width:1180px){
  .cockpit-control-carousel-track.cockpit-command-row{grid-auto-columns:minmax(76px,1fr)}
}
@media(max-width:760px){
  .cockpit-control-carousel-track.cockpit-command-row{
    grid-template-rows:repeat(2,minmax(58px,auto))!important;
    grid-auto-columns:72px;
    gap:4px;
  }
  .cockpit-control-carousel-track .cockpit-control-button{min-height:58px;padding:6px 3px}
  .cockpit-control-carousel-track .cockpit-control-button>span{width:27px;height:27px}
  .cockpit-control-carousel-arrow{height:66px}
}
@media(max-width:520px){
  .cockpit-control-carousel-track.cockpit-command-row{grid-auto-columns:68px}
  .cockpit-control-carousel-track .cockpit-control-button strong{font-size:.58rem}
}

/* Leap Hub 1.12.152 — senha sob demanda e segurança dentro dos ajustes. */
.remote-password-dialog .remote-command-dialog-shell{gap:14px}
.remote-password-dialog .remote-password-lock{font-size:1.55rem;font-weight:900;line-height:1}
.remote-password-form{display:grid;gap:12px;width:100%;text-align:left}
.remote-password-form label{display:grid;gap:7px;margin:0;color:var(--text);font-size:.78rem;font-weight:800}
.remote-password-form input{width:100%;min-height:48px;font-size:1rem}
.remote-password-error{margin:0;padding:9px 11px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--danger) 8%,var(--surface-2));color:var(--danger);font-size:.74rem;line-height:1.4}
.remote-password-actions{display:flex;justify-content:flex-end;gap:9px;width:100%}
.vehicle-settings-standard-integrations>.remote-security-panel{margin:0}
.vehicle-controls-security-link{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:12px 14px}
.vehicle-controls-security-link p,.vehicle-controls-security-link h3{margin:0}
.vehicle-controls-security-link p{margin-top:3px;color:var(--muted);font-size:.74rem}
@media(max-width:620px){
  .remote-password-actions,.vehicle-controls-security-link{display:grid;grid-template-columns:1fr}
  .remote-password-actions .button,.vehicle-controls-security-link .button{width:100%}
}



/* Leap Hub 1.12.155 — estado confirmado visível em cada controle. */
.cockpit-control-carousel-track.cockpit-command-row{grid-template-rows:repeat(2,minmax(72px,auto))!important}
.cockpit-control-carousel-track .cockpit-control-button{min-height:72px;gap:2px}
.cockpit-control-carousel-track .cockpit-control-button strong{line-height:1.08}
.cockpit-control-status{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem!important;line-height:1.1;font-weight:800;color:var(--muted)}
.cockpit-control-button[data-control-status-kind="active"] .cockpit-control-status{color:var(--accent)}
.cockpit-control-button[data-control-status-kind="secure"] .cockpit-control-status{color:var(--success)}
.cockpit-control-button[data-control-status-kind="inactive"] .cockpit-control-status{color:var(--muted)}
.cockpit-control-button[data-control-status-kind="unknown"] .cockpit-control-status{color:var(--warning)}
.cockpit-control-button[data-control-status-kind="ready"] .cockpit-control-status{color:var(--muted)}
@media(max-width:760px){.cockpit-control-carousel-track.cockpit-command-row{grid-template-rows:repeat(2,minmax(68px,auto))!important}.cockpit-control-carousel-track .cockpit-control-button{min-height:68px}.cockpit-control-status{font-size:.5rem!important}}


/* 1.12.159 — seletor de destino por mapa e pesquisa de endereço */
.destination-picker-dialog{width:min(850px,calc(100vw - 22px));max-width:850px;max-height:min(94dvh,940px)}
.destination-picker-dialog .leap-form-dialog-shell{max-height:min(94dvh,940px)}
.destination-picker-dialog .leap-form-dialog-body{padding:0}
.destination-picker-dialog .cockpit-command-setup-form{display:grid;min-height:0}
.destination-map-picker{display:grid;grid-template-rows:minmax(320px,45dvh) auto;min-height:0}
.destination-map-picker-map-shell{position:relative;min-height:320px;overflow:hidden;border-bottom:1px solid var(--line)}
.destination-map-picker-map{position:absolute;inset:0;width:100%;height:100%;min-height:100%;border:0;border-radius:0}
.destination-map-picker-tools{position:absolute;z-index:8;left:10px;bottom:10px;display:flex;gap:6px}
.destination-map-picker-tools button{display:flex;align-items:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 95%,transparent);color:var(--text);font-size:.67rem;font-weight:850;box-shadow:0 8px 22px rgba(0,0,0,.2);backdrop-filter:blur(10px);cursor:pointer}
.destination-map-picker-tools button:hover,.destination-map-picker-tools button:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}
.destination-map-picker-tools button:disabled{opacity:.55;cursor:wait}
.destination-map-picker-instruction{position:absolute;z-index:8;right:10px;bottom:10px;max-width:min(310px,calc(100% - 210px));padding:8px 10px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 95%,transparent);color:var(--muted);font-size:.64rem;font-weight:750;box-shadow:0 8px 22px rgba(0,0,0,.2);backdrop-filter:blur(10px)}
.destination-map-picker-sheet{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.8fr);gap:11px;padding:14px 16px 4px}
.destination-map-picker-sheet .destination-address-search{grid-column:1/-1}
.destination-selected-address{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.destination-selected-address>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent)}
.destination-selected-address small,.destination-selected-address strong{display:block}.destination-selected-address small{color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.08em}.destination-selected-address strong{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem}
.destination-name-field{display:grid;gap:6px;margin:0;color:var(--muted);font-size:.7rem;font-weight:800}.destination-name-field>span{display:flex;justify-content:space-between;gap:8px}.destination-name-field small{font-size:.6rem;font-weight:700}.destination-name-field input{width:100%}
.destination-picker-dialog .leap-form-dialog-actions{position:sticky;bottom:0;z-index:12;margin-top:6px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px)}
.route-point-pick-hint{position:absolute;z-index:25;left:50%;top:18px;transform:translateX(-50%);max-width:calc(100% - 150px);padding:9px 13px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);font-size:.72rem;font-weight:850;box-shadow:0 10px 28px rgba(0,0,0,.28);backdrop-filter:blur(12px);pointer-events:none}
.route-geo-map-stage.is-point-picking{cursor:crosshair;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 70%,transparent)}
.route-map-pick-button.is-active{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 18%,var(--surface-2))!important;color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
@media(max-width:700px){.destination-picker-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0}.destination-picker-dialog .leap-form-dialog-shell{height:100dvh;max-height:none}.destination-map-picker{grid-template-rows:minmax(300px,44dvh) auto}.destination-map-picker-map-shell{min-height:300px}.destination-map-picker-sheet{grid-template-columns:1fr;padding:12px 12px 4px}.destination-map-picker-sheet .destination-address-search{grid-column:auto}.destination-map-picker-instruction{right:8px;bottom:8px;max-width:calc(100% - 190px);font-size:.6rem}.destination-map-picker-tools{left:8px;bottom:8px}.destination-map-picker-tools button{padding:7px 8px}.route-point-pick-hint{top:10px;max-width:calc(100% - 100px);font-size:.66rem}}


/* v1.12.161 · pneus fáceis de entender */
.tire-understanding-banner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin:18px 0;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow)}
.tire-understanding-banner.success{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.tire-understanding-banner.warning{border-color:color-mix(in srgb,var(--warning) 50%,var(--line))}.tire-understanding-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:1.4rem;font-weight:950}.tire-understanding-banner.warning .tire-understanding-icon{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}
.tire-understanding-banner h2{margin:4px 0}.tire-understanding-banner p{margin:0}.tire-understanding-banner small{display:block;margin-top:7px;color:var(--muted-2)}
.tire-vehicle-overview{position:relative;display:grid;grid-template-columns:minmax(190px,1fr) minmax(180px,.72fr) minmax(180px,.72fr);grid-template-rows:1fr 1fr;gap:18px;min-height:520px;margin:18px 0;padding:28px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 7%,transparent),transparent 42%),linear-gradient(145deg,var(--surface),var(--surface-2));overflow:hidden}
.tire-car-silhouette{position:relative;grid-column:1;grid-row:1/3;align-self:center;justify-self:center;width:min(220px,75%);height:390px;border:2px solid color-mix(in srgb,var(--muted-2) 45%,transparent);border-radius:80px 80px 54px 54px;background:linear-gradient(180deg,color-mix(in srgb,var(--text) 8%,transparent),color-mix(in srgb,var(--text) 3%,transparent));box-shadow:inset 0 0 0 14px color-mix(in srgb,var(--surface) 75%,transparent)}
.tire-car-glass{position:absolute;left:20%;right:20%;top:12%;height:26%;border-radius:55% 55% 30% 30%;background:color-mix(in srgb,var(--info) 13%,transparent);border:1px solid color-mix(in srgb,var(--info) 20%,transparent)}.tire-car-body{position:absolute;left:24%;right:24%;bottom:12%;height:28%;border-radius:26px;background:color-mix(in srgb,var(--text) 5%,transparent)}
.tire-wheel-panel{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:13px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface-2) 84%,transparent)}
.tire-wheel-panel.front_left{grid-column:2;grid-row:1}.tire-wheel-panel.front_right{grid-column:3;grid-row:1}.tire-wheel-panel.rear_left{grid-column:2;grid-row:2}.tire-wheel-panel.rear_right{grid-column:3;grid-row:2}
.tire-wheel-panel.success{border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.tire-wheel-panel.rolled_back{border-color:color-mix(in srgb,var(--danger) 52%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--surface-2))}
.tire-wheel-visual{display:grid;place-items:center;width:38px;height:78px;border-radius:14px;background:linear-gradient(90deg,#151a21,#444c57 45%,#181d24);box-shadow:inset 0 0 0 3px rgba(255,255,255,.04)}.tire-wheel-visual span{width:2px;height:54px;border-radius:2px;background:rgba(255,255,255,.18)}
.tire-wheel-copy{display:grid;gap:5px}.tire-pressure-value{font-size:clamp(1.35rem,2.3vw,1.85rem);letter-spacing:-.03em}.tire-temperature-value{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.78rem}.tire-temperature-value b{color:var(--muted-2);font-weight:750}.tire-wheel-copy .status-badge{justify-self:start}.tire-wheel-copy small{color:var(--muted-2);line-height:1.4}
.tire-details-disclosure{margin:18px 0;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);overflow:hidden}.tire-details-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:15px 18px;cursor:pointer;list-style:none}.tire-details-disclosure>summary::-webkit-details-marker{display:none}.tire-details-disclosure>summary span{display:grid;gap:4px}.tire-details-disclosure>summary small{color:var(--muted)}.tire-details-disclosure>summary b{transition:transform .18s ease}.tire-details-disclosure[open]>summary b{transform:rotate(90deg)}.tire-details-body{padding:0 18px 18px}.tire-card-temperature{margin:6px 0 0!important;color:var(--muted);font-size:.76rem}.tire-card-temperature strong{color:var(--text)}
@media(max-width:980px){.tire-vehicle-overview{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;min-height:0}.tire-car-silhouette{grid-column:1/3;grid-row:1;width:150px;height:265px}.tire-wheel-panel.front_left{grid-column:1;grid-row:2}.tire-wheel-panel.front_right{grid-column:2;grid-row:2}.tire-wheel-panel.rear_left{grid-column:1;grid-row:3}.tire-wheel-panel.rear_right{grid-column:2;grid-row:3}}
@media(max-width:620px){.tire-understanding-banner{grid-template-columns:1fr}.tire-vehicle-overview{grid-template-columns:1fr;padding:16px}.tire-car-silhouette{grid-column:1;grid-row:1;width:125px;height:220px}.tire-wheel-panel.front_left,.tire-wheel-panel.front_right,.tire-wheel-panel.rear_left,.tire-wheel-panel.rear_right{grid-column:1;grid-row:auto}.tire-temperature-value{font-size:.74rem}.tire-details-body{padding:0 12px 12px}}


/* v1.12.162 · acessibilidade, atualização e toque consistente */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.app-update-banner{position:fixed;z-index:10050;left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:820px;margin-inline:auto;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.42);backdrop-filter:blur(18px);transform:translateY(18px);opacity:0;transition:opacity .18s ease,transform .18s ease}
.app-update-banner.is-visible{transform:none;opacity:1}.app-update-banner[hidden]{display:none!important}.app-update-banner strong{display:block;margin:2px 0;font-size:1rem}.app-update-banner p{margin:0;color:var(--muted);font-size:.82rem}.app-update-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,white);outline-offset:3px}
@media(pointer:coarse){:where(button,.button,.icon-button,.cockpit-action,.mobile-nav-item){min-height:44px}.icon-button{min-width:44px}}
@media(max-width:680px){.app-update-banner{align-items:stretch;flex-direction:column}.app-update-actions{display:grid;grid-template-columns:1fr 1fr}.app-update-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.app-update-banner{transform:none}}


/* v1.12.165 · centro de conforto por capacidade real */
.vehicle-comfort-dialog{width:min(860px,calc(100vw - 28px));max-width:860px}.vehicle-comfort-dialog .leap-form-dialog-shell{max-height:min(90dvh,820px)}
.vehicle-comfort-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-comfort-metric{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.vehicle-comfort-metric>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:1.1rem}.vehicle-comfort-metric small{display:block;color:var(--muted);font-size:.65rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.vehicle-comfort-metric strong{display:block;margin-top:3px;font-size:.98rem}.vehicle-comfort-metric p{margin:4px 0 0;color:var(--muted-2);font-size:.7rem;line-height:1.35}
.vehicle-comfort-controls{display:grid;gap:12px;margin-top:20px}.vehicle-comfort-section-title small{color:var(--accent);font-size:.65rem;font-weight:900;letter-spacing:.08em}.vehicle-comfort-section-title h3{margin:3px 0 0}.vehicle-comfort-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:16px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.vehicle-comfort-feature>header{grid-column:1;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px}.vehicle-comfort-feature>header>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.vehicle-comfort-feature header small{color:var(--muted);font-size:.6rem;font-weight:850;letter-spacing:.06em}.vehicle-comfort-feature h3{margin:2px 0 0;font-size:.96rem}.vehicle-comfort-feature header b{padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:.68rem}.vehicle-comfort-feature.unknown header b{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.vehicle-comfort-feature>p{grid-column:1;margin:0;color:var(--muted);font-size:.75rem}.vehicle-comfort-action-form{grid-column:2;grid-row:1/3;align-self:center}.vehicle-comfort-action-form .button{min-width:170px}.vehicle-comfort-note{margin-top:18px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--info) 35%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--info) 7%,var(--surface-2))}.vehicle-comfort-note p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
@media(max-width:760px){.vehicle-comfort-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0}.vehicle-comfort-dialog .leap-form-dialog-shell{height:100dvh;max-height:none}.vehicle-comfort-metrics{grid-template-columns:1fr 1fr}.vehicle-comfort-feature{grid-template-columns:1fr}.vehicle-comfort-feature>header,.vehicle-comfort-feature>p,.vehicle-comfort-action-form{grid-column:1;grid-row:auto}.vehicle-comfort-action-form .button{width:100%}}
@media(max-width:480px){.vehicle-comfort-metrics{grid-template-columns:1fr}.vehicle-comfort-feature>header{grid-template-columns:38px minmax(0,1fr)}.vehicle-comfort-feature header b{grid-column:2;justify-self:start}.vehicle-comfort-dialog .leap-form-dialog-body{padding-inline:12px}}


/* v1.12.166 · atenção e recuperação de conexão */
.connection-recovery-dialog{width:min(620px,calc(100vw - 28px));padding:0;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.42)}.connection-recovery-dialog::backdrop{background:rgba(3,12,24,.74);backdrop-filter:blur(7px)}.connection-recovery-shell{position:relative;padding:28px}.connection-recovery-shell h2{margin:6px 42px 8px 0;font-size:clamp(1.3rem,3vw,1.8rem)}.connection-recovery-shell>p{color:var(--muted);line-height:1.55}.connection-recovery-shell ol{display:grid;gap:9px;margin:20px 0;padding-left:22px;color:var(--text)}.connection-recovery-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.connection-recovery-actions form{display:inline-flex}.connection-recovery-dialog .dialog-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:1.4rem;cursor:pointer}.vehicle-attention-center{margin-block:14px}.vehicle-attention-center>p{margin:0;color:var(--muted)}.vehicle-attention-list{display:grid;gap:9px}.vehicle-attention-list>a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);color:inherit;text-decoration:none}.vehicle-attention-list>a>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--warning) 13%,transparent);color:var(--warning);font-weight:900}.vehicle-attention-list strong,.vehicle-attention-list small{display:block}.vehicle-attention-list small{margin-top:3px;color:var(--muted)}.vehicle-attention-list b{color:var(--muted)}.admin-sync-repair-card{display:flex;justify-content:space-between;align-items:center;gap:22px}.admin-sync-repair-card p{margin-bottom:0;color:var(--muted)}.admin-user-connection-list{display:grid;gap:10px}.admin-user-connection-row{display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(220px,1.6fr) auto;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.admin-user-connection-row strong,.admin-user-connection-row small{display:block}.admin-user-connection-row small,.admin-user-connection-row p{color:var(--muted)}.admin-user-connection-row p{margin:0;font-size:.8rem}.admin-user-connection-row>div:last-child{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
@media(max-width:760px){.connection-recovery-dialog{width:calc(100vw - 18px);border-radius:20px}.connection-recovery-shell{padding:22px 18px}.connection-recovery-actions,.connection-recovery-actions form,.connection-recovery-actions .button{width:100%}.admin-sync-repair-card{align-items:stretch;flex-direction:column}.admin-sync-repair-card form,.admin-sync-repair-card .button{width:100%}.admin-user-connection-row{grid-template-columns:1fr}.admin-user-connection-row>div:last-child{justify-content:stretch}.admin-user-connection-row>div:last-child form,.admin-user-connection-row>div:last-child .button{width:100%}}

/* v1.12.167 · resumo semanal simples e somente leitura */
.weekly-report-heading{align-items:flex-end}.weekly-report-heading-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.weekly-report-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(420px,.9fr);gap:24px;align-items:center;margin:16px 0;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface))}.weekly-report-hero.warning{border-color:color-mix(in srgb,var(--warning) 42%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 8%,var(--surface)),var(--surface))}.weekly-report-hero.success{border-color:color-mix(in srgb,var(--success) 38%,var(--line))}.weekly-report-hero h2{margin:5px 0 8px;font-size:clamp(1.45rem,3vw,2.25rem)}.weekly-report-hero p{margin:0;color:var(--muted);line-height:1.55}.weekly-report-hero dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.weekly-report-hero dl>div{padding:13px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.weekly-report-hero dt{color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.weekly-report-hero dd{margin:4px 0 0;font-weight:850}.weekly-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.weekly-report-metric{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.weekly-report-metric>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:900}.weekly-report-metric small,.weekly-report-metric strong,.weekly-report-metric p{display:block}.weekly-report-metric small{color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.weekly-report-metric strong{margin-top:4px;font-size:1.08rem}.weekly-report-metric p{margin:4px 0 8px;color:var(--muted);font-size:.72rem;line-height:1.35}.weekly-trend{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;font-size:.65rem;font-weight:850}.weekly-trend.success{background:color-mix(in srgb,var(--success) 13%,transparent);color:var(--success)}.weekly-trend.warning{background:color-mix(in srgb,var(--warning) 13%,transparent);color:var(--warning)}.weekly-trend.neutral{background:var(--surface-3);color:var(--muted)}.weekly-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.weekly-report-attention-list{display:grid;gap:9px}.weekly-report-attention{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);color:inherit;text-decoration:none}.weekly-report-attention>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--info);font-weight:900}.weekly-report-attention.warning>span{background:color-mix(in srgb,var(--warning) 13%,transparent);color:var(--warning)}.weekly-report-attention strong{display:block}.weekly-report-attention p{margin:3px 0 0;color:var(--muted);font-size:.75rem;line-height:1.4}.weekly-report-attention>b{color:var(--muted)}.weekly-report-empty{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--success) 30%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--success) 6%,var(--surface-2))}.weekly-report-empty>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-weight:900}.weekly-report-empty p{margin:3px 0 0;color:var(--muted);font-size:.74rem}.weekly-report-empty.compact{margin-top:2px}.weekly-comparison-head,.weekly-comparison-list>div{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 1fr;gap:10px;align-items:center}.weekly-comparison-head{padding:0 10px 8px;color:var(--muted);font-size:.63rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.weekly-comparison-list{display:grid}.weekly-comparison-list>div{padding:11px 10px;border-top:1px solid var(--line)}.weekly-comparison-list span{color:var(--muted)}.weekly-comparison-list strong{color:var(--text)}.weekly-comparison-list small{color:var(--muted)}.weekly-tire-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.weekly-tire{padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.weekly-tire.low{border-color:color-mix(in srgb,var(--warning) 42%,var(--line));background:color-mix(in srgb,var(--warning) 6%,var(--surface-2))}.weekly-tire small,.weekly-tire strong,.weekly-tire span{display:block}.weekly-tire small{color:var(--muted)}.weekly-tire strong{margin:4px 0}.weekly-tire span{color:var(--muted);font-size:.72rem}.weekly-maintenance-list{display:grid;gap:9px}.weekly-maintenance-row{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.weekly-maintenance-row>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.weekly-maintenance-row strong,.weekly-maintenance-row small{display:block}.weekly-maintenance-row small{margin-top:3px;color:var(--muted)}.weekly-report-muted{color:var(--muted)}.weekly-report-actions{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:14px 0}.weekly-report-actions h2,.weekly-report-actions p{margin:4px 0}.weekly-report-actions p{color:var(--muted)}.weekly-report-actions nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.vehicle-weekly-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-block:14px}.vehicle-weekly-preview-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:13px}.vehicle-weekly-preview-metrics span{padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:.76rem}.vehicle-weekly-preview-metrics strong{margin-right:4px}.vehicle-weekly-preview .button{white-space:nowrap}
@media(max-width:1040px){.weekly-report-metrics{grid-template-columns:1fr 1fr}.weekly-report-hero{grid-template-columns:1fr}.weekly-report-grid{grid-template-columns:1fr}}
@media(max-width:680px){.weekly-report-heading{align-items:stretch}.weekly-report-heading-actions{display:grid;grid-template-columns:1fr 1fr}.weekly-report-heading-actions .button{width:100%}.weekly-report-metrics{grid-template-columns:1fr}.weekly-report-hero{padding:18px}.weekly-report-hero dl{grid-template-columns:1fr 1fr}.weekly-tire-grid{grid-template-columns:1fr}.weekly-report-actions,.vehicle-weekly-preview{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.weekly-report-actions nav{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.weekly-report-actions .button,.vehicle-weekly-preview .button{width:100%}}
@media(max-width:430px){.weekly-report-hero dl,.weekly-report-heading-actions,.weekly-report-actions nav{grid-template-columns:1fr}.weekly-comparison-head,.weekly-comparison-list>div{grid-template-columns:minmax(0,1.2fr) .8fr .8fr;font-size:.74rem}}
@media print{.app-shell>aside,.app-shell>header,.mobile-nav,.weekly-report-heading-actions,.weekly-report-actions,.app-update-banner{display:none!important}.app-shell,.app-main{display:block!important}.app-main{padding:0!important}.weekly-report-hero,.weekly-report-metric,.weekly-report-grid>.card{break-inside:avoid;box-shadow:none}.weekly-report-heading a{display:none}.weekly-report-heading{margin-top:0}}

/* v1.12.168 · prioridade visual: carro primeiro, avisos sob demanda */
.vehicle-attention-dialog{width:min(680px,calc(100vw - 28px));max-height:min(86dvh,780px);padding:0;overflow:auto;border:1px solid color-mix(in srgb,var(--warning) 34%,var(--line));border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 32px 100px rgba(0,0,0,.48)}
.vehicle-attention-dialog::backdrop{background:rgba(3,12,24,.76);backdrop-filter:blur(7px)}
.vehicle-attention-dialog-shell{position:relative;padding:27px}
.vehicle-attention-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-right:42px;margin-bottom:16px}
.vehicle-attention-dialog-head h2{margin:5px 0 4px;font-size:clamp(1.35rem,3vw,1.9rem)}
.vehicle-attention-dialog-head p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}
.vehicle-attention-dialog .dialog-close{position:absolute;right:15px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:1.4rem;cursor:pointer}
.vehicle-attention-dialog .dialog-close:hover,.vehicle-attention-dialog .dialog-close:focus-visible{color:var(--text);outline:2px solid var(--accent);outline-offset:2px}
.vehicle-attention-guide{margin:0 0 14px;padding:15px;border:1px solid color-mix(in srgb,var(--warning) 30%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--warning) 6%,var(--surface-2))}
.vehicle-attention-guide h3{margin:0 0 6px;font-size:1rem}.vehicle-attention-guide>p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}
.vehicle-attention-guide ol{display:grid;gap:7px;margin:13px 0;padding-left:21px;font-size:.78rem;line-height:1.45}
.vehicle-attention-guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.vehicle-attention-guide-actions form{display:inline-flex}
.vehicle-attention-dialog .vehicle-attention-list{margin-top:10px}
.vehicle-attention-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.vehicle-attention-fab{position:fixed;z-index:88;right:10px;bottom:50px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,var(--warning) 54%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--warning);box-shadow:0 16px 44px rgba(0,0,0,.34);backdrop-filter:blur(16px);cursor:pointer}
.vehicle-attention-fab>span{font-size:1.1rem;font-weight:950;line-height:1}.vehicle-attention-fab>b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:.61rem;line-height:1}
.vehicle-attention-fab:hover,.vehicle-attention-fab:focus-visible{transform:translateY(-1px);border-color:var(--warning);outline:none;color:color-mix(in srgb,var(--warning) 82%,#fff)}
.vehicle-weekly-preview{margin-top:22px;margin-bottom:0}
@media(max-width:760px){.vehicle-attention-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);border-radius:20px}.vehicle-attention-dialog-shell{padding:21px 17px}.vehicle-attention-dialog-head{display:grid;padding-right:36px}.vehicle-attention-guide-actions,.vehicle-attention-guide-actions form,.vehicle-attention-guide-actions .button,.vehicle-attention-dialog-actions,.vehicle-attention-dialog-actions .button{width:100%}.vehicle-attention-dialog-actions{display:grid}.vehicle-attention-fab{right:max(9px,env(safe-area-inset-right));bottom:calc(112px + env(safe-area-inset-bottom));width:42px;height:42px}.vehicle-weekly-preview{grid-template-columns:1fr}.vehicle-weekly-preview .button{width:100%}}
@media(prefers-reduced-motion:reduce){.vehicle-attention-fab{transition:none}.vehicle-attention-fab:hover{transform:none}}

/* v1.12.169 · configurações por objetivo, sincronização unificada e ABRP guiado */
.vehicle-settings-page{display:grid;gap:14px}
.settings-workspace-nav{position:sticky;top:calc(var(--app-header-height,64px) + 8px);z-index:33;display:flex;gap:7px;max-width:100%;padding:7px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.13);backdrop-filter:blur(14px);overflow-x:auto;scrollbar-width:none}
.settings-workspace-nav::-webkit-scrollbar{display:none}
.settings-workspace-nav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border-radius:11px;color:var(--muted);font-size:.72rem;font-weight:850;text-decoration:none;white-space:nowrap}
.settings-workspace-nav a span{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:var(--surface-2);color:var(--text);font-size:.78rem}
.settings-workspace-nav a:hover,.settings-workspace-nav a:focus-visible{background:var(--surface-2);color:var(--text);outline:2px solid var(--accent);outline-offset:1px}
.vehicle-settings-standard-integrations{display:grid;gap:14px}
.vehicle-settings-standard-integrations>.cockpit-panel{scroll-margin-top:132px;border-radius:18px;padding:18px}
.vehicle-settings-page .settings-section{scroll-margin-top:132px}
.settings-status-hero{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:start;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.settings-status-hero-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-size:1.35rem;font-weight:900}
.settings-status-hero small{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.12em}
.settings-status-hero h3{margin:3px 0 5px;font-size:1.05rem}
.settings-status-hero p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.5}
.settings-status-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.settings-status-facts>span{display:grid;gap:4px;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.settings-status-facts small{color:var(--muted);font-size:.59rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.settings-status-facts strong{font-size:.75rem;line-height:1.35;overflow-wrap:anywhere}
.settings-primary-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.settings-primary-actions form{margin:0}
.settings-help-disclosure{margin-top:12px}
.settings-help-disclosure>summary{min-height:52px}
.settings-help-disclosure .charging-compact-body{display:grid;gap:12px}
.settings-help-disclosure form{margin:0}
.settings-simple-note{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--muted);font-size:.72rem;line-height:1.45}
.settings-simple-note b{color:var(--text)}
.abrp-settings-standard-panel>.cockpit-panel-head{margin-bottom:12px}
.abrp-setup-layout{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);gap:12px;margin-top:12px}
.abrp-setup-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none;counter-reset:abrp-step}
.abrp-setup-steps li{counter-increment:abrp-step;display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.abrp-setup-steps li:before{content:counter(abrp-step);display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-size:.73rem;font-weight:950}
.abrp-setup-steps strong,.abrp-setup-steps small{display:block}.abrp-setup-steps strong{font-size:.76rem}.abrp-setup-steps small{margin-top:3px;color:var(--muted);font-size:.66rem;line-height:1.4}
.abrp-connection-checks{display:grid;gap:8px}
.abrp-connection-check{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.abrp-connection-check>i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--surface-2);font-style:normal;font-size:.67rem;font-weight:950}
.abrp-connection-check.success>i{background:color-mix(in srgb,var(--success) 16%,var(--surface));color:var(--success)}
.abrp-connection-check.warning>i,.abrp-connection-check.planned>i{background:color-mix(in srgb,var(--warning) 16%,var(--surface));color:var(--warning)}
.abrp-connection-check.neutral>i{color:var(--muted)}
.abrp-connection-check span{display:grid;gap:2px}.abrp-connection-check strong{font-size:.72rem}.abrp-connection-check small{color:var(--muted);font-size:.63rem}.abrp-connection-check b{font-size:.63rem;white-space:nowrap}
.abrp-simple-form{display:grid;gap:11px;margin:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.abrp-simple-form>label:not(.consent-row){display:grid;gap:5px}.abrp-simple-form label>small{color:var(--muted);font-size:.65rem;line-height:1.4}
.abrp-privacy-box{display:grid;gap:7px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.abrp-privacy-box strong{font-size:.72rem}.abrp-privacy-box p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.45}
.abrp-data-pills{display:flex;flex-wrap:wrap;gap:6px}.abrp-data-pills span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.61rem;font-weight:800}
.abrp-diagnostic-disclosure{margin-top:12px}.abrp-diagnostic-disclosure .abrp-native-diagnostic{margin:0}.abrp-global-admin-link{margin-top:8px}
.abrp-settings-standard-panel .form-actions{margin-top:0}
.vehicle-settings-page #automation:target,.vehicle-settings-page #abrp:target,.vehicle-settings-page #remote-security:target,.vehicle-settings-page #vehicle-profile-settings:target,.vehicle-settings-page #vehicle-resources-settings:target{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}
@media(max-width:900px){.settings-status-facts{grid-template-columns:1fr}.abrp-setup-layout{grid-template-columns:1fr}.settings-workspace-nav{top:calc(var(--app-header-height,58px) + 6px)}}
@media(max-width:620px){.vehicle-settings-standard-integrations>.cockpit-panel{padding:14px;border-radius:15px}.settings-workspace-nav{margin-inline:-4px;padding:6px;border-radius:14px}.settings-workspace-nav a{min-height:42px}.settings-status-hero{grid-template-columns:40px minmax(0,1fr);padding:12px}.settings-status-hero-icon{width:40px;height:40px;border-radius:12px}.settings-primary-actions,.settings-primary-actions form,.settings-primary-actions .button{width:100%}.abrp-connection-check{grid-template-columns:24px minmax(0,1fr)}.abrp-connection-check b{grid-column:2;justify-self:start}.abrp-simple-form{padding:11px}}

/* v1.12.170 · atalhos prioritários no topo, sem cartão externo */
.vehicle-detail-controls-first{margin-top:0;scroll-margin-top:112px}
.vehicle-primary-shortcuts{position:relative;margin:0 0 12px;border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.10);scroll-margin-top:96px}
.vehicle-primary-shortcuts .cockpit-action{min-height:66px}
.vehicle-primary-shortcuts .cockpit-action>span{background:color-mix(in srgb,var(--accent) 10%,var(--surface-3));color:var(--accent)}
.vehicle-primary-shortcuts .cockpit-action:hover,.vehicle-primary-shortcuts .cockpit-action:focus-visible{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-2));outline:none}
.vehicle-section-nav{position:sticky;top:calc(var(--app-header-height,64px) + 8px);z-index:34;display:flex;gap:8px;max-width:100%;margin:12px 0 18px;padding:7px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:17px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 12px 32px rgba(0,0,0,.16);backdrop-filter:blur(16px);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
.vehicle-section-nav::-webkit-scrollbar{display:none}
.vehicle-section-nav a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 13px;border-radius:12px;color:var(--muted);font-size:.74rem;font-weight:850;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.vehicle-section-nav a:hover,.vehicle-section-nav a:focus-visible{background:var(--surface-2);color:var(--text);outline:2px solid var(--accent);outline-offset:1px}
.vehicle-detail-primary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.vehicle-detail-primary>.cockpit-panel,.cockpit-secondary-grid>.cockpit-panel,.vehicle-unified-dashboard>.vehicle-details-bar{scroll-margin-top:132px}
.vehicle-unified-dashboard>.vehicle-details-bar{margin:18px 0 20px;border-radius:16px}
.vehicle-unified-dashboard>.cockpit-page-head{margin-bottom:12px}
.vehicle-unified-dashboard>.cockpit-page-head .dashboard-ai-cta{min-height:42px}
@media(max-width:900px){.vehicle-detail-primary{grid-template-columns:1fr}.vehicle-section-nav{top:calc(var(--app-header-height,58px) + 6px)}}
@media(max-width:820px){.vehicle-primary-shortcuts{grid-auto-flow:column;grid-auto-columns:minmax(88px,1fr);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:8px;scrollbar-width:none}.vehicle-primary-shortcuts::-webkit-scrollbar{display:none}.vehicle-primary-shortcuts .cockpit-action{scroll-snap-align:start;min-height:66px}.vehicle-primary-shortcuts .cockpit-action strong{white-space:normal;overflow:visible;text-overflow:clip}}
@media(max-width:760px){.vehicle-primary-shortcuts{margin-inline:-1px;padding:7px;border-radius:14px}.vehicle-primary-shortcuts .cockpit-action{min-width:84px;padding-inline:5px}.vehicle-section-nav{margin-inline:-4px;padding:6px;border-radius:15px}.vehicle-section-nav a{min-height:42px;padding-inline:12px}.vehicle-unified-dashboard>.vehicle-details-bar{margin-top:14px}}
@media(max-width:410px){.vehicle-primary-shortcuts{grid-auto-columns:minmax(80px,1fr)}.vehicle-primary-shortcuts .cockpit-action strong{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.vehicle-primary-shortcuts .cockpit-action{scroll-behavior:auto}}

/* v1.12.171 · informações essenciais no topo e popup de atenção menos intrusivo */
.vehicle-unified-dashboard>.vehicle-top-tools{margin:0 0 14px;border-radius:16px;scroll-margin-top:112px}
.vehicle-unified-dashboard>.vehicle-top-tools>summary{min-height:58px}
.vehicle-unified-dashboard>.vehicle-top-tools[open]{margin-bottom:16px}
.vehicle-unified-dashboard>.vehicle-top-tools .vehicle-details-bar-body{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.vehicle-unified-dashboard>.vehicle-top-tools .vehicle-details-bar-body{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.vehicle-unified-dashboard>.vehicle-top-tools{margin-bottom:10px}.vehicle-unified-dashboard>.vehicle-top-tools .vehicle-details-bar-body{grid-template-columns:1fr}.vehicle-unified-dashboard>.vehicle-top-tools .vehicle-detail-link{min-height:58px}}

/* v1.12.172 · veículo superior por modelo e unidade de pressão da conta */
.tire-visual-card{margin:18px 0;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,var(--surface),var(--surface-2));box-shadow:var(--shadow);overflow:hidden}
.tire-visual-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}
.tire-visual-card-head h2{margin:4px 0}.tire-visual-card-head p{margin:0}.tire-unit-badge{display:grid;min-width:150px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--accent) 8%,var(--surface-2));text-align:right}
.tire-unit-badge small{color:var(--muted-2);font-size:.58rem;font-weight:950;letter-spacing:.1em}.tire-unit-badge strong{color:var(--accent);font-size:1.45rem;line-height:1.1}.tire-unit-badge em{margin-top:3px;color:var(--muted);font-size:.6rem;font-style:normal}
.tire-vehicle-overview{position:relative;display:grid;grid-template-columns:minmax(170px,.85fr) minmax(230px,1.15fr) minmax(170px,.85fr);grid-template-rows:1fr 1fr;align-items:center;gap:22px;min-height:570px;margin:0;padding:30px;background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 8%,transparent),transparent 46%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,#000),var(--surface-2));overflow:hidden}
.tire-car-stage{grid-column:2;grid-row:1/3;align-self:center;justify-self:center;display:grid;justify-items:center;gap:10px;width:min(300px,100%);margin:0;color:var(--tire-car-color,#F2F1EC)}
.tire-car-top-view{display:block;width:100%;max-height:500px;filter:drop-shadow(0 24px 34px rgba(0,0,0,.34));overflow:visible}
.tire-car-shadow{fill:rgba(0,0,0,.28)}.tire-car-wheels rect{fill:#11151b;stroke:#59616c;stroke-width:2}.tire-car-main-body{fill:currentColor;stroke:color-mix(in srgb,currentColor 58%,#111);stroke-width:2.2}.tire-car-hood,.tire-car-roof-svg{fill:url(#tire-car-shine-c10);stroke:rgba(255,255,255,.10);stroke-width:1}.model-b10 .tire-car-hood,.model-b10 .tire-car-roof-svg{fill:url(#tire-car-shine-b10)}
.tire-car-glass-svg,.tire-car-rear-glass-svg{fill:#101820;stroke:#536171;stroke-width:1.4}.tire-car-highlight{fill:rgba(255,255,255,.10)}.tire-car-center-line{fill:none;stroke:rgba(255,255,255,.10);stroke-width:1}.tire-car-front-light,.tire-car-rear-light{fill:none;stroke:#e8f5ff;stroke-width:3;stroke-linecap:round}.tire-car-rear-light{stroke:#ff666d}.tire-car-mirrors path{fill:currentColor;stroke:rgba(0,0,0,.45);stroke-width:1.5}
.tire-car-stage figcaption{display:grid;justify-items:center;gap:2px;text-align:center}.tire-car-stage figcaption strong{font-size:.82rem}.tire-car-stage figcaption span{color:var(--muted);font-size:.7rem}
.tire-wheel-panel{position:relative;display:block;min-width:0;padding:16px 17px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface-2) 91%,transparent);box-shadow:0 12px 24px rgba(0,0,0,.12)}
.tire-wheel-panel.front_left{grid-column:1;grid-row:1}.tire-wheel-panel.front_right{grid-column:3;grid-row:1}.tire-wheel-panel.rear_left{grid-column:1;grid-row:2}.tire-wheel-panel.rear_right{grid-column:3;grid-row:2}
.tire-wheel-panel.success{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent),0 12px 24px rgba(0,0,0,.12)}.tire-wheel-panel.rolled_back{border-color:color-mix(in srgb,var(--danger) 70%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface-2))}.tire-wheel-panel.neutral{border-style:dashed}
.tire-wheel-copy{display:grid;gap:6px}.tire-pressure-value{color:var(--accent);font-size:clamp(1.3rem,2.25vw,1.9rem);letter-spacing:-.03em}.tire-wheel-panel.rolled_back .tire-pressure-value{color:var(--danger)}.tire-temperature-value{display:flex;justify-content:space-between;gap:9px;color:var(--text);font-size:.75rem}.tire-temperature-value b{color:var(--muted-2);font-weight:750}.tire-wheel-copy .status-badge{justify-self:start}.tire-wheel-copy small{color:var(--muted-2);font-size:.66rem;line-height:1.38}
@media(min-width:781px){.tire-wheel-panel.front_left:after,.tire-wheel-panel.rear_left:after,.tire-wheel-panel.front_right:before,.tire-wheel-panel.rear_right:before{content:"";position:absolute;top:50%;width:22px;height:1px;background:color-mix(in srgb,var(--accent) 35%,var(--line))}.tire-wheel-panel.front_left:after,.tire-wheel-panel.rear_left:after{right:-23px}.tire-wheel-panel.front_right:before,.tire-wheel-panel.rear_right:before{left:-23px}}
@media(max-width:900px){.tire-vehicle-overview{grid-template-columns:minmax(145px,.85fr) minmax(200px,1fr) minmax(145px,.85fr);gap:14px;padding:22px}.tire-wheel-panel{padding:13px}.tire-wheel-copy small{display:none}}
@media(max-width:780px){.tire-visual-card-head{align-items:flex-start;padding:16px}.tire-unit-badge{min-width:125px}.tire-vehicle-overview{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;gap:10px;min-height:0;padding:16px}.tire-car-stage{grid-column:1/3;grid-row:2;width:min(245px,72vw)}.tire-wheel-panel.front_left{grid-column:1;grid-row:1}.tire-wheel-panel.front_right{grid-column:2;grid-row:1}.tire-wheel-panel.rear_left{grid-column:1;grid-row:3}.tire-wheel-panel.rear_right{grid-column:2;grid-row:3}.tire-wheel-panel{padding:12px}.tire-wheel-copy .status-badge{font-size:.54rem}}
@media(max-width:520px){.tire-visual-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.tire-visual-card-head p{font-size:.68rem}.tire-unit-badge{min-width:98px;padding:9px 10px}.tire-unit-badge em{display:none}.tire-vehicle-overview{padding:11px;gap:8px}.tire-car-stage{width:min(220px,76vw)}.tire-wheel-panel{padding:10px;border-radius:13px}.tire-pressure-value{font-size:1.18rem}.tire-temperature-value{display:grid;gap:1px;font-size:.64rem}.tire-wheel-copy .status-badge{display:none}.tire-wheel-copy small{display:none}}



/* v1.12.173 · arte realmente distinta para B10/C10 e destaque da roda afetada */
.tire-car-model-svg{overflow:visible}.tire-car-stage.model-b10{width:min(340px,100%)}.tire-car-stage.model-c10{width:min(300px,100%)}.tire-car-stage.model-generic{width:min(300px,100%);color:#d7dce3}
.tire-model-shadow{fill:rgba(0,0,0,.34)}.tire-model-cladding{fill:#151c24;stroke:#4c5663;stroke-width:2}.tire-model-body{fill:var(--tire-car-color,currentColor);stroke:color-mix(in srgb,var(--tire-car-color,currentColor) 58%,#111);stroke-width:2.4}.tire-model-body.generic{fill:#d7dce3;stroke:#727b86}
.tire-model-hood{fill:url(#tire-c10-body-shine);stroke:rgba(255,255,255,.14);stroke-width:1}.model-b10 .tire-model-hood{fill:url(#tire-b10-body-shine)}
.tire-model-windshield,.tire-model-panoramic,.tire-model-rear-glass{fill:url(#tire-c10-glass);stroke:#536171;stroke-width:1.5}.model-b10 .tire-model-windshield,.model-b10 .tire-model-panoramic,.model-b10 .tire-model-rear-glass{fill:url(#tire-b10-glass)}.tire-model-panoramic.generic{fill:#111b24}
.tire-model-roof-divider,.tire-model-door-seam,.tire-model-bumper-line{fill:none;stroke:rgba(235,245,255,.20);stroke-width:1.35;stroke-linecap:round}.tire-model-front-signature,.tire-model-rear-signature{fill:none;stroke:#eaf8ff;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.tire-model-rear-signature{stroke:#ff6973}.tire-model-badge{fill:#dffcf4;stroke:#081018;stroke-width:1}
.tire-model-mirrors path{fill:var(--tire-car-color,currentColor);stroke:#202832;stroke-width:1.7}.tire-model-wheel .tire-wheel-core{fill:#11151b;stroke:#626c78;stroke-width:2}.tire-model-wheel .tire-wheel-tread{fill:none;stroke:#353d47;stroke-width:1.2;stroke-linecap:round}.tire-model-wheel .tire-wheel-halo{fill:transparent;stroke:transparent;stroke-width:2}
.tire-model-wheel.status-ok .tire-wheel-core{stroke:color-mix(in srgb,var(--accent) 55%,#626c78)}.tire-model-wheel.status-low .tire-wheel-core{stroke:var(--danger);stroke-width:3}.tire-model-wheel.status-low .tire-wheel-halo{fill:color-mix(in srgb,var(--danger) 18%,transparent);stroke:color-mix(in srgb,var(--danger) 75%,transparent)}.tire-model-wheel.status-unknown .tire-wheel-core{stroke-dasharray:4 3;opacity:.72}
.tire-wheel-panel.rolled_back{box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 25%,transparent),0 14px 30px color-mix(in srgb,var(--danger) 12%,transparent)}
@media(max-width:780px){.tire-car-stage.model-b10{width:min(270px,78vw)}.tire-car-stage.model-c10,.tire-car-stage.model-generic{width:min(235px,72vw)}}
@media(max-width:520px){.tire-car-stage.model-b10{width:min(245px,80vw)}.tire-car-stage.model-c10,.tire-car-stage.model-generic{width:min(215px,74vw)}}


/* v1.12.174 · wallboxes claras, vínculo explícito e configurações OCPP em português */
.wallbox-standard-card-interactive{overflow:hidden}.wallbox-standard-card-link{display:block;color:inherit;text-decoration:none}.wallbox-standard-card-link>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 13px 10px;border-bottom:1px solid var(--line)}.wallbox-standard-card-link>header>div{display:grid;gap:2px;min-width:0}.wallbox-standard-card-link>header small{color:var(--muted-2);font-size:.59rem;font-weight:850;letter-spacing:.08em}.wallbox-standard-card-link>header strong{overflow:hidden;font-size:.88rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.wallbox-standard-card-link>header span:not(.status-badge){overflow:hidden;color:var(--muted);font-size:.64rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.wallbox-standard-card-link .cockpit-detail-list{padding:0 13px}.wallbox-standard-card-interactive>footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:auto;padding:10px 13px;border-top:1px solid var(--line);font-size:.68rem}.wallbox-standard-card-interactive>footer a{display:flex;width:100%;align-items:center;justify-content:space-between;color:var(--muted);font-weight:750;text-decoration:none}.wallbox-standard-card-interactive>footer a b{color:var(--accent);font-size:1rem}.wallbox-inline-link-form{display:flex;align-items:center;gap:8px;margin:0;padding:10px 13px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--warning) 6%,transparent)}.wallbox-inline-link-form .button{width:100%;justify-content:center}.wallbox-list-controls{display:grid;gap:10px;padding:12px 13px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 45%,transparent)}.wallbox-list-controls>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.wallbox-list-controls>div:first-child strong{font-size:.73rem}.wallbox-list-controls>div:first-child a{color:var(--accent);font-size:.67rem;font-weight:800;text-decoration:none}.wallbox-list-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.wallbox-list-control-grid form{min-width:0;margin:0}.wallbox-list-control-button{display:flex;width:100%;min-height:44px;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3);color:var(--text);font:inherit;font-size:.68rem;font-weight:800;text-align:left;cursor:pointer}.wallbox-list-control-button i{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-style:normal}.wallbox-list-control-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-3))}.wallbox-list-control-button:disabled{cursor:not-allowed;opacity:.48}.wallbox-list-controls details{margin:0}.wallbox-list-controls details summary{cursor:pointer;color:var(--muted);font-size:.67rem;font-weight:800}.wallbox-list-controls .wallbox-current-presets{margin-top:8px}.wallbox-unlinked-notice{margin-bottom:14px}.wallbox-vehicle-link-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin:12px 0 0}.wallbox-vehicle-link-form label{margin:0}.wallbox-vehicle-link-form small{grid-column:1/-1;color:var(--muted);font-size:.65rem;line-height:1.45}.ocpp-mate-url-guide code,.ocpp-effective-endpoint code{overflow-wrap:anywhere}.ocpp-effective-endpoint{margin:13px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.ocpp-effective-endpoint summary{cursor:pointer;color:var(--muted);font-size:.7rem;font-weight:800}.ocpp-effective-endpoint code{display:block;margin-top:8px;color:var(--text);font-size:.7rem}.ocpp-configuration-card{grid-column:1/-1}.ocpp-config-groups{display:grid;gap:16px;margin-top:16px}.ocpp-config-group{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.ocpp-config-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 15px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 4%,var(--surface-2))}.ocpp-config-group>header h3{margin:0;font-size:.9rem}.ocpp-config-group>header p{max-width:760px;margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}.ocpp-config-group>header>span{flex:0 0 auto;color:var(--muted);font-size:.65rem;font-weight:800}.ocpp-config-list{display:grid}.ocpp-config-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px);gap:18px;align-items:center;padding:14px 15px;border-bottom:1px solid var(--line)}.ocpp-config-item:last-child{border-bottom:0}.ocpp-config-copy{min-width:0}.ocpp-config-copy>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ocpp-config-copy strong{font-size:.78rem}.ocpp-config-copy p{margin:5px 0 9px;color:var(--muted);font-size:.68rem;line-height:1.5}.ocpp-config-copy dl{display:flex;gap:14px;flex-wrap:wrap;margin:0}.ocpp-config-copy dl div{display:flex;gap:5px;align-items:baseline}.ocpp-config-copy dt{color:var(--muted-2);font-size:.61rem;font-weight:800}.ocpp-config-copy dd{margin:0;font-size:.68rem;font-weight:800}.ocpp-config-copy details{margin-top:8px}.ocpp-config-copy details summary{cursor:pointer;color:var(--muted-2);font-size:.61rem}.ocpp-config-copy details code{display:inline-block;margin-top:6px;color:var(--muted);font-size:.62rem;overflow-wrap:anywhere}.ocpp-config-action{min-width:0}.ocpp-config-action .ocpp-config-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;margin:0}.ocpp-config-action .ocpp-config-form input,.ocpp-config-action .ocpp-config-form select{min-width:0;width:100%;margin:0}.ocpp-config-readonly{display:block;padding:9px 10px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:.66rem;text-align:center}.ocpp-config-input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.ocpp-config-input-with-unit input{border:0!important;border-radius:0!important}.ocpp-config-input-with-unit span{padding:0 9px;color:var(--muted);font-size:.68rem;font-weight:800}.ocpp-config-technical{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.ocpp-config-technical>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 15px;cursor:pointer;list-style:none}.ocpp-config-technical>summary::-webkit-details-marker{display:none}.ocpp-config-technical>summary span{display:grid;gap:3px}.ocpp-config-technical>summary strong{font-size:.8rem}.ocpp-config-technical>summary small{color:var(--muted);font-size:.65rem}.ocpp-config-technical[open]>summary b{transform:rotate(90deg)}
@media(max-width:820px){.ocpp-config-item{grid-template-columns:minmax(0,1fr)}.ocpp-config-action .ocpp-config-form{grid-template-columns:minmax(0,1fr) auto}.wallbox-vehicle-link-form{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.wallbox-standard-card-link>header{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.wallbox-standard-card-link>header .status-badge{justify-self:start}.wallbox-list-control-grid{grid-template-columns:minmax(0,1fr)}.ocpp-config-group>header{display:grid}.ocpp-config-item{padding:13px}.ocpp-config-action .ocpp-config-form{grid-template-columns:minmax(0,1fr)}.ocpp-config-action .ocpp-config-form .button{width:100%;justify-content:center}.wallbox-vehicle-link-form .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.wallbox-list-control-button{transition:none!important}}

/* 1.12.180 — detalhe da wallbox slim, status canônico e configurações isoladas. */
.wallbox-slim-head .heading-actions{align-items:center}
.wallbox-live-overview{display:grid;gap:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 94%,var(--accent)),var(--surface-2));box-shadow:0 14px 44px rgba(0,0,0,.14)}
.wallbox-live-overview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid var(--line)}
.wallbox-live-overview>header h2{margin:3px 0 2px;font-size:1.32rem;letter-spacing:-.025em}
.wallbox-live-overview>header p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.45}
.wallbox-live-pulse{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface-3)}
.wallbox-live-pulse i{width:9px;height:9px;border-radius:50%;background:var(--muted)}
.wallbox-live-pulse.success{border-color:color-mix(in srgb,var(--success) 44%,var(--line));background:color-mix(in srgb,var(--success) 10%,var(--surface-3))}.wallbox-live-pulse.success i{background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 14%,transparent)}
.wallbox-live-pulse.warning{border-color:color-mix(in srgb,var(--warning) 44%,var(--line))}.wallbox-live-pulse.warning i{background:var(--warning)}
.wallbox-live-pulse.planned i{background:var(--accent)}
.wallbox-live-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.wallbox-live-metrics article{display:grid;align-content:start;gap:4px;min-width:0;padding:15px 16px;border-right:1px solid var(--line)}
.wallbox-live-metrics article:last-child{border-right:0}
.wallbox-live-metrics small{color:var(--muted-2);font-size:.59rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.wallbox-live-metrics strong{overflow:hidden;font-size:.83rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.wallbox-operation-section{display:grid;gap:15px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.wallbox-operation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.wallbox-operation-head h2{margin:3px 0 3px;font-size:1.05rem}.wallbox-operation-head p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45}
.wallbox-function-grid-slim{grid-template-columns:repeat(4,minmax(0,1fr))}
.wallbox-function-grid-slim .wallbox-function-card{min-height:0;padding:13px}
.wallbox-function-grid-slim .wallbox-function-card p{display:none}
.wallbox-function-grid-slim .wallbox-function-card header{margin-bottom:8px}
.wallbox-function-grid-slim .wallbox-function-card strong{font-size:.74rem}
.wallbox-function-grid-slim .wallbox-function-card .button{width:100%;justify-content:center;margin-top:10px}
.wallbox-current-inline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:13px;border-top:1px solid var(--line)}
.wallbox-current-inline>div:first-child{display:grid;gap:2px}.wallbox-current-inline>div:first-child strong{font-size:.76rem}.wallbox-current-inline>div:first-child small{color:var(--muted);font-size:.64rem}
.wallbox-usage-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wallbox-usage-link{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.wallbox-usage-link:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 5%,var(--surface-2))}
.wallbox-usage-link>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent);font-weight:850}
.wallbox-usage-link>div{display:grid;gap:2px;min-width:0}.wallbox-usage-link strong{font-size:.73rem}.wallbox-usage-link small{overflow:hidden;color:var(--muted);font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.wallbox-usage-link b{color:var(--accent);font-size:1rem}
.wallbox-settings-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px;max-height:min(94dvh,980px)}
.wallbox-settings-dialog .leap-form-dialog-shell{max-height:min(94dvh,980px)}
.wallbox-settings-dialog .leap-form-dialog-body{overflow:auto}
.wallbox-settings-content{display:grid;gap:10px}
.wallbox-settings-content>.wallbox-detail-disclosure{margin:0}
.wallbox-settings-content .wallbox-detail-disclosure-body{padding:13px}
.wallbox-settings-technical-grid{margin:0}
.wallbox-detail-cockpit.is-offline .wallbox-live-overview{border-color:var(--line)}

@media(max-width:1100px){.wallbox-live-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.wallbox-live-metrics article:nth-child(3){border-right:0}.wallbox-live-metrics article:nth-child(-n+3){border-bottom:1px solid var(--line)}.wallbox-function-grid-slim{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wallbox-slim-head{gap:12px}.wallbox-slim-head .heading-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.wallbox-slim-head .heading-actions .status-badge{grid-column:1/-1;justify-self:start}.wallbox-slim-head .heading-actions .button{width:100%;justify-content:center}.wallbox-live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.wallbox-live-metrics article:nth-child(3){border-right:1px solid var(--line)}.wallbox-live-metrics article:nth-child(2n){border-right:0}.wallbox-live-metrics article:nth-child(-n+4){border-bottom:1px solid var(--line)}.wallbox-function-grid-slim{grid-template-columns:1fr 1fr}.wallbox-current-inline{display:grid}.wallbox-usage-links{grid-template-columns:1fr}.wallbox-settings-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0}.wallbox-settings-dialog .leap-form-dialog-shell{height:100dvh;max-height:none}.wallbox-settings-dialog .leap-form-dialog-head{position:sticky;top:0;z-index:3;background:var(--surface)}.wallbox-settings-dialog .leap-form-dialog-actions{position:sticky;bottom:0;z-index:3}}
@media(max-width:480px){.wallbox-live-overview>header{padding:14px}.wallbox-live-metrics article{padding:12px}.wallbox-live-metrics strong{font-size:.74rem}.wallbox-operation-section{padding:14px}.wallbox-function-grid-slim{grid-template-columns:1fr}.wallbox-function-grid-slim .wallbox-function-card p{display:block}.wallbox-slim-head .heading-actions{grid-template-columns:1fr}.wallbox-slim-head .heading-actions .status-badge{grid-column:auto}.wallbox-detail-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 1.12.182 — controles da wallbox legíveis em temas claro/escuro e ações técnicas isoladas. */
.wallbox-operation-section{
    background:linear-gradient(145deg,color-mix(in srgb,var(--surface-2) 96%,var(--accent)),var(--surface-2));
}
.wallbox-function-grid-slim{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:12px;
}
.wallbox-function-card{
    min-height:178px;
    border-color:color-mix(in srgb,var(--line) 76%,var(--accent));
    background:color-mix(in srgb,var(--surface-3) 96%,var(--accent));
    color:var(--text);
    box-shadow:0 8px 24px rgba(0,0,0,.1);
    opacity:1;
}
.wallbox-function-card.disabled,
.wallbox-function-card.is-disabled{
    opacity:1;
    border-color:var(--line);
    background:color-mix(in srgb,var(--surface-2) 92%,var(--muted));
}
.wallbox-function-card header>i{
    color:var(--accent);
    background:color-mix(in srgb,var(--accent) 14%,var(--surface-3));
    border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));
}
.wallbox-function-card>strong{
    color:var(--text);
    font-size:.82rem;
    line-height:1.3;
}
.wallbox-function-card>p{
    display:block;
    color:var(--muted);
    opacity:1;
}
.wallbox-function-card.is-disabled>strong,
.wallbox-function-card.is-disabled>p{
    color:color-mix(in srgb,var(--text) 72%,var(--muted));
}
.wallbox-function-reason,
.wallbox-function-ready{
    display:block;
    min-height:2.1rem;
    margin:0 0 .65rem;
    padding:7px 9px;
    border-radius:8px;
    font-size:.68rem;
    line-height:1.4;
}
.wallbox-function-reason{
    color:color-mix(in srgb,var(--warning) 76%,var(--text));
    background:color-mix(in srgb,var(--warning) 10%,var(--surface-3));
    border:1px solid color-mix(in srgb,var(--warning) 24%,var(--line));
}
.wallbox-function-ready{
    color:color-mix(in srgb,var(--success) 74%,var(--text));
    background:color-mix(in srgb,var(--success) 8%,var(--surface-3));
    border:1px solid color-mix(in srgb,var(--success) 20%,var(--line));
}
.wallbox-function-card .button:disabled,
.wallbox-function-card .button[aria-disabled="true"]{
    opacity:1;
    color:color-mix(in srgb,var(--text) 64%,var(--muted));
    border-color:var(--line);
    background:color-mix(in srgb,var(--surface-3) 88%,var(--muted));
    box-shadow:none;
    cursor:not-allowed;
}
.wallbox-function-card.risk-high:not(.is-disabled),
.wallbox-function-card.risk-critical:not(.is-disabled){
    border-color:color-mix(in srgb,var(--danger) 28%,var(--line));
}
.wallbox-advanced-action-section{
    display:grid;
    gap:14px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface-2);
}
.wallbox-function-grid-advanced{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
    margin-top:0;
}
.wallbox-function-grid-advanced .wallbox-function-card{
    min-height:196px;
}
.wallbox-settings-dialog .wallbox-advanced-action-section .card-heading{
    margin-bottom:0;
}
@media(max-width:620px){
    .wallbox-function-grid-slim,
    .wallbox-function-grid-advanced{grid-template-columns:1fr}
    .wallbox-function-card{min-height:0}
}

/* 1.12.186 — administração de veículos responsiva e leve */
.admin-vehicle-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface-2) 86%,transparent)}
.admin-vehicle-toolbar>small{grid-column:1/-1;color:var(--muted);font-size:.72rem;font-weight:700}
.admin-vehicle-search{margin:0;min-width:0}
.admin-vehicle-search>span{color:var(--muted);font-size:.72rem}
.admin-vehicle-toolbar-actions{display:flex;gap:8px;align-items:center}
.admin-vehicles-card{padding:0;overflow:hidden}
.admin-vehicles-table-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-gutter:stable both-edges;touch-action:pan-x pan-y;background:var(--surface)}
.admin-vehicles-table{min-width:1180px}
.admin-vehicles-table th:first-child,.admin-vehicles-table td:first-child{position:sticky;left:0;z-index:2;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:8px 0 16px -14px rgba(0,0,0,.7)}
.admin-vehicles-table th:first-child{z-index:3}
.admin-vehicles-table-scroll::-webkit-scrollbar{height:12px}
.admin-vehicles-table-scroll::-webkit-scrollbar-track{background:color-mix(in srgb,var(--surface-2) 82%,transparent);border-radius:999px}
.admin-vehicles-table-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 45%,var(--muted));border:3px solid color-mix(in srgb,var(--surface-2) 82%,transparent);border-radius:999px}
.admin-vehicles-table-scroll{scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--accent) 45%,var(--muted)) color-mix(in srgb,var(--surface-2) 82%,transparent)}
.admin-table-scroll-hint{padding:9px 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--muted);font-size:.7rem;font-weight:750}
.admin-vehicle-pagination{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;padding:14px;border-top:1px solid var(--line)}
.admin-vehicle-page{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.75rem;font-weight:850;text-decoration:none;background:var(--surface-2)}
.admin-vehicle-page.current{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}
.button.is-disabled{opacity:.45;pointer-events:none}
.admin-vehicle-row-action{white-space:nowrap}

@media(max-width:760px){
  .admin-vehicle-toolbar{grid-template-columns:1fr;align-items:stretch}
  .admin-vehicle-toolbar-actions{width:100%}
  .admin-vehicle-toolbar-actions .button{flex:1}
  .admin-table-scroll-hint{font-size:.68rem}
}

@media(max-width:680px){
  .admin-vehicles-card{padding:12px;background:transparent;border:0;box-shadow:none}
  .admin-vehicles-card .admin-live-status{margin-bottom:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
  .admin-table-scroll-hint{margin-bottom:10px;border:1px solid var(--line);border-radius:12px;text-align:center}
  .admin-vehicles-table-scroll{overflow:visible;background:transparent;scrollbar-gutter:auto}
  .admin-vehicles-table{display:block;min-width:0;width:100%}
  .admin-vehicles-table thead{display:none}
  .admin-vehicles-table tbody{display:grid;gap:12px}
  .admin-vehicles-table tr{display:grid;gap:0;width:100%;padding:4px 14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--surface),var(--surface-2));box-shadow:var(--shadow);overflow:hidden}
  .admin-vehicles-table td,.admin-vehicles-table td:first-child{position:static;display:grid;grid-template-columns:minmax(96px,.38fr) minmax(0,1fr);align-items:start;gap:12px;width:100%;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:transparent;box-shadow:none;overflow-wrap:anywhere}
  .admin-vehicles-table td:last-child{border-bottom:0}
  .admin-vehicles-table td::before{content:attr(data-label);color:var(--muted-2);font-size:.61rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;font-weight:900}
  .admin-vehicles-table td>small,.admin-vehicles-table td>strong,.admin-vehicles-table td>a,.admin-vehicles-table td>span{min-width:0;max-width:100%}
  .admin-vehicles-table td[data-label="Veículo"]{padding-top:13px}
  .admin-vehicles-table td[data-label="Veículo"] strong{font-size:.98rem;color:var(--text)}
  .admin-vehicles-table .status-badge{white-space:normal;text-align:left}
  .admin-vehicle-row-action .button{width:100%}
  .admin-vehicle-pagination{padding:14px 0 0;border-top:0}
}

/* 1.12.187 — separação entre operação administrativa e experiência do proprietário */
.admin-interface .sidebar .brand small{color:var(--accent,#62c8ff);font-weight:700;letter-spacing:.04em}
.admin-interface .admin-profile-grid{align-items:stretch}
.admin-interface .admin-profile-grid>.cockpit-panel{min-width:0}
.admin-interface .admin-profile-cockpit .settings-link-card{min-height:76px}
.admin-interface .admin-profile-cockpit .status-badge{align-self:flex-start}
.admin-interface .admin-cockpit .cockpit-command-row,.admin-interface .admin-cockpit .cockpit-shortcut-strip{scrollbar-width:thin}
@media(max-width:720px){
  .admin-interface .admin-profile-grid{display:grid;grid-template-columns:minmax(0,1fr)}
  .admin-interface .admin-profile-cockpit .cockpit-page-head{align-items:flex-start}
  .admin-interface .admin-profile-cockpit .cockpit-shortcut-strip{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:8px}
  .admin-interface .admin-profile-cockpit .cockpit-shortcut-strip>a{flex:0 0 min(42vw,150px)}
  .admin-interface .admin-profile-cockpit .settings-link-card{grid-template-columns:auto minmax(0,1fr) auto}
}

/* 1.12.188 — operador proprietário e laboratório demo protegido */
.demo-operator-card,.demo-owner-selection{display:grid;gap:16px;min-width:0}.demo-owner-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;margin-top:4px}.demo-owner-search label{margin:0}.demo-owner-selection select{min-height:48px}.demo-operator-card>.alert{margin:0}.owner-interface .admin-demo-lab{width:100%}.owner-interface .admin-demo-primary-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}.owner-interface .admin-demo-card{background:color-mix(in srgb,var(--surface) 97%,transparent)}
body[data-theme="light"] .demo-operator-card,body[data-theme="light"] .demo-owner-selection,body[data-theme="light"] .owner-interface .admin-demo-card{background:#fff;border-color:#d1dde8}
@media(max-width:900px){.demo-owner-search{grid-template-columns:1fr 1fr}.demo-owner-search label{grid-column:1/-1}.owner-interface .admin-demo-primary-grid{grid-template-columns:1fr}}
@media(max-width:560px){.demo-owner-search{grid-template-columns:1fr}.demo-owner-search label{grid-column:auto}.demo-owner-search .button{width:100%}.demo-operator-card .button,.demo-owner-selection .button{width:100%}.admin-demo-card .cockpit-panel-head{align-items:flex-start;flex-direction:column}.admin-demo-card .status-badge{align-self:flex-start}.admin-demo-actions form{width:100%}}

/* v1.12.189 · camada global de UX, acessibilidade e responsividade */
.responsive-table-shell{position:relative;display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;touch-action:pan-x pan-y;border-radius:14px;outline:none}
.responsive-table-shell>table{min-width:max(720px,100%)}
.responsive-table-shell.is-overflowing{padding-bottom:8px}
.responsive-table-shell.is-overflowing::after{content:attr(data-scroll-hint);position:sticky;left:12px;display:inline-flex;align-items:center;min-height:27px;margin:5px 0 0;padding:4px 9px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.02em;pointer-events:none;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.responsive-table-shell.is-at-end::after{opacity:0}
.responsive-table-shell::-webkit-scrollbar{height:12px}
.responsive-table-shell::-webkit-scrollbar-track{background:color-mix(in srgb,var(--surface-2) 82%,transparent);border-radius:999px}
.responsive-table-shell::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 48%,var(--muted));border:3px solid color-mix(in srgb,var(--surface-2) 82%,transparent);border-radius:999px}
.responsive-table-shell{scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--accent) 48%,var(--muted)) color-mix(in srgb,var(--surface-2) 82%,transparent)}
.responsive-table-shell:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,white);outline-offset:3px}
:where(button,.button,.icon-button,input,select,textarea){touch-action:manipulation}
img,svg,video,canvas{max-width:100%}
dialog,.modal-card{max-height:min(92dvh,920px)}
@media(max-width:720px){
  input,select,textarea{font-size:16px}
  .button,button:not(.toast-close):not(.icon-button){min-height:44px}
  .icon-button{min-width:44px;min-height:44px}
  dialog[open],.modal-card{width:calc(100vw - 14px)!important;max-width:calc(100vw - 14px)!important;max-height:calc(100dvh - 14px)!important;margin:auto!important;border-radius:18px!important}
  .responsive-table-shell{margin-inline:0;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:var(--surface)}
  .responsive-table-shell>table{min-width:680px}
  .responsive-table-shell.is-overflowing::after{position:sticky;bottom:4px}
  .page-actions>.button,.page-actions>a.button{white-space:normal;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* v1.12.190 · experiência diária do proprietário */
.owner-context-bar{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:16px;margin:12px clamp(16px,2vw,28px) 0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface-2) 90%,transparent));box-shadow:0 12px 30px rgba(0,0,0,.10);min-width:0}
.owner-context-state{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.owner-context-state .vehicle-context-dot{width:12px;height:12px}
.owner-context-state>b{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--surface);border-radius:999px;background:var(--danger);color:#fff;font-size:.61rem}
.owner-context-copy{display:grid;gap:2px;min-width:0}.owner-context-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-2);font-size:.62rem;font-weight:850;letter-spacing:.055em}.owner-context-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem}.owner-context-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.76rem}
.owner-context-metrics{display:flex;align-items:stretch;gap:8px}.owner-context-metrics>span{display:grid;gap:1px;min-width:82px;padding:8px 11px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-2) 82%,transparent)}.owner-context-metrics small{color:var(--muted-2);font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850}.owner-context-metrics strong{font-size:.91rem}
.owner-context-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.owner-context-actions .button{white-space:nowrap}
.owner-context-bar.is-offline,.owner-context-bar.is-stale{border-color:color-mix(in srgb,var(--warning) 38%,var(--line))}.owner-context-bar.is-error,.owner-context-bar.is-faulted{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}
.mobile-nav-more{appearance:none;-webkit-appearance:none;border:0;font:inherit;cursor:pointer}.mobile-nav-more.active{color:var(--accent)}
.global-assistant-backdrop[data-assistant-context="vehicle"] .global-assistant-suggestions{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:6px}.global-assistant-backdrop[data-assistant-context="vehicle"] .global-assistant-suggestions .smart-chip{flex:0 0 auto;max-width:min(74vw,260px);white-space:normal;text-align:left}
@media(max-width:1080px){.owner-context-bar{grid-template-columns:auto minmax(160px,1fr) auto}.owner-context-actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px}.owner-context-actions .button{flex:0 1 auto}}
@media(max-width:760px){.owner-context-bar{grid-template-columns:auto minmax(0,1fr);gap:10px;margin:8px 12px 0;padding:11px 12px;border-radius:16px}.owner-context-state{width:38px;height:38px;border-radius:12px}.owner-context-copy small{white-space:normal;line-height:1.25}.owner-context-copy strong{font-size:.94rem}.owner-context-metrics{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.owner-context-metrics>span{min-width:0;padding:8px 10px}.owner-context-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:9px}.owner-context-actions .button{width:100%;min-width:0;padding-inline:9px}.owner-context-actions .owner-context-switch{grid-column:1/-1}.mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav-more{color:var(--muted);background:transparent}.owner-interface .content-shell>main{padding-top:12px}}
@media(max-width:420px){.owner-context-actions{grid-template-columns:1fr}.owner-context-actions .owner-context-switch{grid-column:auto}.owner-context-copy span{font-size:.7rem}.owner-context-metrics strong{font-size:.86rem}}

/* v1.12.195 · matriz de saúde das conexões e incidentes administrativos */
.admin-connection-center{display:grid;gap:16px;margin-top:16px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);min-width:0}
.admin-connection-center>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.admin-connection-center>header h3{margin:3px 0 4px}.admin-connection-center>header p{max-width:700px;margin:0;color:var(--muted);font-size:.82rem}
.admin-connection-summary{display:flex;flex:0 0 auto;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.admin-connection-summary>span{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.72rem;white-space:nowrap}.admin-connection-summary b{color:var(--text)}
.admin-connection-group{display:grid;gap:9px}.admin-connection-group h4{margin:0;color:var(--muted-2);font-size:.69rem;letter-spacing:.09em;text-transform:uppercase}
.admin-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.admin-connection-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:11px;min-width:0;min-height:104px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.admin-connection-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}
.admin-connection-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 5px color-mix(in srgb,var(--muted) 12%,transparent)}
.admin-connection-card.is-healthy .admin-connection-dot{background:var(--success);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 13%,transparent)}
.admin-connection-card.is-degraded .admin-connection-dot{background:var(--warning);box-shadow:0 0 0 5px color-mix(in srgb,var(--warning) 15%,transparent)}
.admin-connection-card.is-down .admin-connection-dot{background:var(--danger);box-shadow:0 0 0 5px color-mix(in srgb,var(--danger) 14%,transparent)}
.admin-connection-card.is-down{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.admin-connection-card.is-degraded{border-color:color-mix(in srgb,var(--warning) 38%,var(--line))}
.admin-connection-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.admin-connection-title strong{font-size:.86rem;overflow-wrap:anywhere}.admin-connection-title b{display:inline-flex;align-items:center;flex:0 0 auto;padding:3px 7px;border:1px solid currentColor;border-radius:999px;color:var(--muted);font-size:.63rem;line-height:1}.admin-connection-card.is-healthy .admin-connection-title b{color:var(--success)}.admin-connection-card.is-degraded .admin-connection-title b{color:var(--warning)}.admin-connection-card.is-down .admin-connection-title b{color:var(--danger)}
.admin-connection-card p{margin:5px 0 0;color:var(--muted);font-size:.74rem;line-height:1.45;overflow-wrap:anywhere}.admin-connection-arrow{align-self:center;color:var(--muted);font-size:1.25rem}
.admin-connection-optional{border-top:1px solid var(--line);padding-top:12px}.admin-connection-optional summary{cursor:pointer;color:var(--muted);font-size:.76rem;font-weight:850}.admin-connection-optional[open] summary{margin-bottom:10px;color:var(--text)}
.admin-connection-empty,.admin-system-alert-empty{grid-column:1/-1;display:grid;gap:3px;padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:.78rem}
.admin-system-alert-list{display:grid;gap:9px}.admin-system-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.admin-system-alert.warning{border-color:color-mix(in srgb,var(--warning) 36%,var(--line))}.admin-system-alert.critical{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}
.admin-system-alert-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--accent)}.admin-system-alert.warning .admin-system-alert-dot{background:var(--warning)}.admin-system-alert.critical .admin-system-alert-dot{background:var(--danger)}.admin-system-alert.resolved .admin-system-alert-dot{background:var(--success)}
.admin-system-alert-title{display:flex;justify-content:space-between;gap:12px}.admin-system-alert-title strong{overflow-wrap:anywhere}.admin-system-alert-title span{flex:0 0 auto;color:var(--muted);font-size:.68rem;font-weight:800}.admin-system-alert p{margin:5px 0;color:var(--muted);font-size:.8rem;overflow-wrap:anywhere}.admin-system-alert small{color:var(--muted-2);font-size:.68rem}
body[data-theme="light"] .admin-connection-center,body[data-theme="light"] .admin-connection-card,body[data-theme="light"] .admin-system-alert{background:#fff;border-color:#d4dee8}body[data-theme="light"] .admin-connection-card.is-down{border-color:#e9a2aa}body[data-theme="light"] .admin-connection-card.is-degraded{border-color:#dfbd74}
@media(max-width:860px){.admin-connection-center>header{flex-direction:column}.admin-connection-summary{justify-content:flex-start}.admin-connection-grid{grid-template-columns:1fr}}
@media(max-width:520px){.admin-connection-center{padding:13px}.admin-connection-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.admin-connection-summary>span{justify-content:center;white-space:normal;text-align:center}.admin-connection-title{display:grid;gap:2px}.admin-connection-title b{justify-self:start}.admin-system-alert-title{display:grid;gap:3px}}
.admin-worker-critical,.admin-worker-ok{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:18px;padding:17px;border:1px solid color-mix(in srgb,var(--danger) 48%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));box-shadow:0 14px 34px rgba(0,0,0,.12)}
.admin-worker-critical>span,.admin-worker-ok>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--danger) 18%,var(--surface-2));color:var(--danger);font-size:1.2rem;font-weight:950}.admin-worker-critical strong,.admin-worker-ok strong{display:block}.admin-worker-critical p,.admin-worker-ok p{margin:4px 0;color:var(--muted);font-size:.82rem}.admin-worker-critical code{display:block;width:100%;max-width:780px;margin-top:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:.72rem;white-space:normal;overflow-wrap:anywhere}
.admin-worker-ok{grid-template-columns:auto minmax(0,1fr);border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 6%,var(--surface))}.admin-worker-ok>span{background:color-mix(in srgb,var(--success) 15%,var(--surface-2));color:var(--success)}
.admin-health-connections{margin-bottom:18px}.admin-health-connections .admin-connection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1080px){.admin-health-connections .admin-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-worker-critical{grid-template-columns:auto minmax(0,1fr)}.admin-worker-critical>.page-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:700px){.admin-health-connections .admin-connection-grid{grid-template-columns:1fr}.admin-worker-critical,.admin-worker-ok{grid-template-columns:auto minmax(0,1fr);align-items:start}.admin-worker-critical>.page-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.admin-worker-critical>.page-actions .button{width:100%}}

/* v1.12.197 · leitura REEV separada da ficha técnica */
.vehicle-powertrain-overview{display:grid;gap:16px;margin-top:20px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,var(--surface)),color-mix(in srgb,var(--surface-2) 94%,transparent));box-shadow:var(--shadow);min-width:0}
.vehicle-powertrain-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;min-width:0}.vehicle-powertrain-head>div{min-width:0}.vehicle-powertrain-head h2{margin:4px 0 6px}.vehicle-powertrain-head p{max-width:760px;margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}.vehicle-powertrain-head .status-badge{flex:0 0 auto}
.vehicle-powertrain-overview .powertrain-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.vehicle-powertrain-overview .metric-card{min-width:0}.vehicle-powertrain-note{margin:0;padding:13px 15px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--muted);font-size:.78rem;line-height:1.55}.vehicle-powertrain-note strong{color:var(--text)}
.vehicle-catalog-disclosure{border-top:1px solid var(--line);padding-top:13px}.vehicle-catalog-disclosure>summary{cursor:pointer;color:var(--text);font-size:.8rem;font-weight:850}.vehicle-catalog-disclosure[open]>summary{margin-bottom:12px}.vehicle-catalog-disclosure-body .vehicle-product-card{margin:0;box-shadow:none}
body[data-theme="light"] .vehicle-powertrain-overview{background:#fff;border-color:#c8dbe8}
@media(max-width:980px){.vehicle-powertrain-overview .powertrain-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vehicle-powertrain-overview{margin-top:14px;padding:14px;border-radius:17px}.vehicle-powertrain-head{display:grid;gap:10px}.vehicle-powertrain-head .status-badge{justify-self:start}.vehicle-powertrain-overview .powertrain-metrics{grid-template-columns:1fr}.vehicle-catalog-disclosure-body .vehicle-product-card{padding:14px}.vehicle-product-card .driver-details dd{max-width:100%}}

/* v1.12.200 · catálogo comercial, cobrança e cupons */
.plan-feature-group{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}
.plan-feature-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 14px;cursor:pointer;list-style:none}.plan-feature-group>summary::-webkit-details-marker{display:none}.plan-feature-group>summary::after{content:"›";color:var(--muted);font-size:1.25rem;transform:rotate(90deg);transition:transform .16s ease}.plan-feature-group:not([open])>summary::after{transform:rotate(0)}.plan-feature-group>summary span{margin-left:auto;color:var(--muted);font-size:.7rem}.plan-feature-group-body{display:grid;gap:8px;padding:0 10px 10px}.plan-feature-group-body .plan-feature-row{margin:0;background:var(--surface)}
.plan-price small{margin-left:4px;color:var(--muted);font-size:.72rem;font-weight:700}.plan-card>.plan-price{margin-bottom:4px}.plan-card>.plan-price+small{margin-bottom:16px;color:var(--muted)}
#billing-foundation,#billing-coupons{scroll-margin-top:90px}#billing-foundation ol{display:grid;gap:8px;padding-left:22px;color:var(--muted)}#billing-foundation li::marker{color:var(--accent);font-weight:900}#billing-coupons fieldset{margin:13px 0;padding:13px;border:1px solid var(--line);border-radius:13px}#billing-coupons legend{padding:0 6px;color:var(--muted);font-size:.76rem;font-weight:800}#billing-coupons fieldset .environment-rollout{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:720px){.plan-feature-group>summary{align-items:flex-start}.plan-feature-group>summary span{white-space:nowrap}#billing-coupons fieldset .environment-rollout{grid-template-columns:1fr}}
