/* Identity, loading states, guided inventory, stock-turn assistant and the shell motion layer. */
.brand-lockup{width:180px;height:auto;overflow:visible;color:inherit}.sidebar>.brand-logo{color:#f8fafc;max-width:calc(100% - 26px)}.sidebar .brand-lockup{width:168px;max-width:100%}.topbar-dealer .brand-lockup{width:150px;color:#171c23}.login-footer .brand-lockup{width:132px;color:#171c23}.startup-loading .brand-lockup{width:200px;color:#171c23}.logo-symbol{transition:fill .25s}
.animated-metric{display:inline-block;font-variant-numeric:tabular-nums;white-space:nowrap}.animated-metric .sr-only{font-size:1px}
.startup-loading{min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 42%,#fff 0,transparent 62%),var(--canvas,#f7f8fa);padding:30px}.startup-loading-inner{display:flex;flex-direction:column;align-items:center;text-align:center;animation:startzy-rise .6s cubic-bezier(.2,.7,.2,1) both}.startup-loading .brand-logo{animation:startzy-breathe 2.4s ease-in-out infinite}.startup-loading-inner p{font-size:14px;font-weight:500;color:#3f4a5a;margin:26px 0 6px}.startup-loading-inner small{font-size:12px;color:#8892a2}.startup-track{width:160px;height:3px;overflow:hidden;border-radius:4px;background:var(--accent-soft,#fff0e8);margin-top:30px}.startup-track i{display:block;width:40%;height:100%;background:var(--accent,#ff632b);border-radius:4px;animation:startzy-loading 1.3s ease-in-out infinite}
body::before{content:'';position:fixed;z-index:200;left:0;top:0;width:35%;height:3px;background:linear-gradient(90deg,transparent,var(--accent) 40%,var(--accent));border-radius:0 3px 3px 0;opacity:0;pointer-events:none;transform:translateX(-110%);transition:opacity .2s}body.network-busy::before{opacity:1;animation:startzy-request 1.2s ease-in-out infinite}
@keyframes startzy-loading{0%{transform:translateX(-110%)}100%{transform:translateX(360%)}}@keyframes startzy-request{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}@keyframes startzy-rise{from{opacity:0;transform:translateY(10px)}}@keyframes startzy-breathe{50%{opacity:.72;transform:scale(.985)}}
.m-flip{transform:rotate(180deg)}
/* Stock-turn assistant (#/estoque/giro). */
.g-workspace-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.g-workspace-intro h2{font-size:20px;letter-spacing:-.6px;margin:0 0 7px;line-height:1.3}.g-workspace-intro p{font-size:11px;color:#7c8798;margin:0;line-height:1.7}.g-workspace-intro .intro-actions{flex-shrink:0}.growth-page .g-stat{padding:18px;gap:14px}.growth-page .g-stat>span{width:37px;height:37px;border-radius:9px}.growth-page .g-stat>span .icon{width:19px;height:19px}.growth-page .g-stat strong{font-size:26px}.growth-page .g-stat p{font-size:11px}.assistant-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.assistant-filters button{padding:9px 14px;border:1px solid #e1e6ed;background:white;font-size:10px;border-radius:20px;color:#758196}.assistant-filters button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.g-focus-cover .g-focus-photo{max-height:240px;min-height:160px;object-fit:cover}.g-focus-cover .g-focus-photo.m-photo-placeholder{min-height:150px}.g-focus-title h2{font-size:19px}.g-priority-list{max-height:560px}
@media(max-width:1150px){.g-giro-layout{grid-template-columns:240px minmax(0,1fr)}.g-giro-right{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.brand-lockup{width:160px}.topbar-dealer .brand-lockup{width:130px}.g-workspace-intro{flex-direction:column;align-items:stretch;gap:12px}.g-workspace-intro>div:first-child{min-width:0}.g-workspace-intro h2{font-size:18px}.g-workspace-intro p{font-size:10px}.g-workspace-intro .intro-actions{width:auto;min-width:0;align-self:flex-start;flex-shrink:1}.g-workspace-intro .outline-btn{padding:9px 11px;font-size:10px;min-height:36px}.g-workspace-intro .outline-btn .icon{width:15px;height:15px}.g-workspace-intro .g-button-count{display:none}.growth-page .g-stat{padding:14px 12px;gap:10px}.growth-page .g-stat strong{font-size:24px}.growth-page .g-stat p{font-size:10px}.growth-page .g-stat>span{width:32px;height:32px}.assistant-filters{gap:6px}.assistant-filters button{padding:9px 11px;font-size:9px}.g-giro-layout{display:flex;flex-direction:column;gap:14px}.g-giro-layout>.panel,.g-giro-right{width:100%}.g-giro-right{display:grid;grid-template-columns:1fr}.g-priority-list{display:flex;flex-direction:row;max-height:none;overflow-x:auto;scroll-snap-type:x proximity}.g-priority{width:240px;flex-shrink:0;scroll-snap-align:start}.g-priorities{padding:15px}.g-priorities>header{margin-bottom:12px}.g-priorities>.g-footnote{margin-top:12px}.g-focus-cover .g-focus-photo{max-height:220px}}

/* Skeleton while the workspace loads (company switch, "Visualizar como"). */
.sh-skeleton{display:flex;flex-direction:column;gap:16px}.sh-skel{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#eceef2 0,#f6f7f9 40%,#eceef2 80%) 0 0/300% 100%;animation:sh-shimmer 1.4s ease-in-out infinite}.sh-skel-intro{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.sh-skel-intro .sh-skel:nth-child(2){height:34px;border-radius:9px}.sh-skel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sh-skel-cols{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:16px}.sh-skel-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px;min-height:150px}.sh-skel-card .sh-skel:nth-child(1){width:45%}.sh-skel-card .sh-skel:nth-child(2){width:70%;height:28px}.sh-skel-card .sh-skel:nth-child(3){width:55%}.sh-skel-card.tall{min-height:320px}.sh-skel-card.tall .sh-skel:nth-child(2){flex:1;width:100%;height:auto}
@keyframes sh-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media(max-width:1180px){.sh-skel-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.sh-skel-cols{grid-template-columns:1fr}}

/* Page transitions between routes (View Transitions API; motion.js falls back to a short fade). */
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-group(sh-page){animation:none}
::view-transition-old(sh-page){animation:sh-page-out .16s ease both}
::view-transition-new(sh-page){animation:sh-page-in .34s cubic-bezier(.2,.7,.2,1) both}
@keyframes sh-page-out{to{opacity:0}}@keyframes sh-page-in{from{opacity:0;transform:translateY(10px)}}

/* Dialog, popovers and drawer: open and close with scale + fade (transition-behavior keeps them visible while closing). */
#app-dialog{opacity:0;transform:translateY(10px) scale(.97);transition:opacity .2s ease,transform .28s cubic-bezier(.32,.72,0,1),overlay .28s allow-discrete,display .28s allow-discrete}
#app-dialog[open]{opacity:1;transform:none}
@starting-style{#app-dialog[open]{opacity:0;transform:translateY(10px) scale(.97)}}
#app-dialog::backdrop{background:#11182000;backdrop-filter:blur(0);transition:background-color .25s ease,backdrop-filter .25s ease,overlay .28s allow-discrete,display .28s allow-discrete}
#app-dialog[open]::backdrop{background:#11182066;backdrop-filter:blur(4px)}
@starting-style{#app-dialog[open]::backdrop{background:#11182000;backdrop-filter:blur(0)}}
.popover{transition:opacity .18s ease,transform .22s cubic-bezier(.32,.72,0,1),display .22s allow-discrete}
.popover:not([hidden]){opacity:1;transform:none}
.popover[hidden]{opacity:0;transform:translateY(-6px) scale(.97)}
@starting-style{.popover:not([hidden]){opacity:0;transform:translateY(-6px) scale(.97)}}
@media(prefers-reduced-motion:reduce){.startup-track i{animation:none;transform:none;width:100%;opacity:.6}.startup-loading .brand-logo,.startup-loading-inner{animation:none}body.network-busy::before{animation:none;transform:none;width:100%;opacity:.7}.logo-symbol,.wz-card{transition:none}.sh-skel{animation:none}::view-transition-old(sh-page),::view-transition-new(sh-page){animation:none}}
/* Fotos de referência do catálogo (genérico). A vitrine do assistente "Adicionar veículo" fica em vehicle-catalogue.css. */
img.catalogue-photo{object-fit:cover;background:#eef0f4}
.catalogue-photo-empty{background:#f2f4f7}
