/* ========================================================================== 
   ALFRED — LAYOUT INTEGRITY / PF + PJ
   Final responsive contract. Loaded after every legacy/product stylesheet.
   It fixes geometry only: no product rules, no colors/copy, no API behavior.
   ========================================================================== */

/* Shared containment ------------------------------------------------------- */
#screen-detalhe,
#screen-conta,
#screen-cadastro,
#screen-partner-dashboard{
  max-width:100vw!important;
  overflow-x:clip!important;
}
#screen-detalhe #detalhe-conteudo,
#screen-detalhe #detalhe-gated,
#screen-conta .conta-shell,
#screen-partner-dashboard .partner-shell,
#screen-partner-dashboard .partner-tab-content,
#screen-partner-dashboard #pd-home,
#screen-partner-dashboard #pd-agendamentos-list,
#screen-partner-dashboard #pd-historico-list{
  min-width:0!important;
  max-width:100%!important;
}
#screen-detalhe img,
#screen-conta img,
#screen-cadastro img,
#screen-partner-dashboard img{
  max-width:100%;
}

/* PF — vehicle / Score ---------------------------------------------------- */
#screen-detalhe .vehicle-score-card,
#screen-detalhe .vehicle-score-card .vsc-body,
#screen-detalhe .vehicle-score-card .vsc-left,
#screen-detalhe .vehicle-score-card .vsc-right{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
#screen-detalhe .vehicle-score-card .vsc-name,
#screen-detalhe .vehicle-score-card .vsc-spec strong,
#screen-detalhe .vehicle-score-card .vsc-stat-val,
#screen-detalhe .vsc-score-title,
#screen-detalhe .vsc-score-text{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Tablet/mobile: the Score panel is an inset block inside the vehicle card.
   Never combine width:100% with side margins — that was the mobile overflow. */
@media(max-width:980px){
  #screen-detalhe .vehicle-score-card .vsc-body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    overflow:hidden!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-left{
    width:100%!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-right,
  #screen-detalhe .vehicle-score-card .vsc-right.score-range-preparing{
    box-sizing:border-box!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    margin:0 16px 16px!important;
  }
  #screen-detalhe .vsc-prep-simple{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
  }
}

@media(max-width:640px){
  #screen-detalhe .det-inner{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  #screen-detalhe .vehicle-score-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-left{
    padding:20px!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-right,
  #screen-detalhe .vehicle-score-card .vsc-right.score-range-preparing{
    width:auto!important;
    margin:0 12px 12px!important;
  }
  #screen-detalhe .vsc-prep-simple{
    padding:20px!important;
  }
  #screen-detalhe .vsc-prep-simple-top{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    row-gap:10px!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-specs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px 16px!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-spec{
    min-width:0!important;
    max-width:none!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-stats{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #screen-detalhe .section-hdr{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:6px 14px!important;
  }
  #screen-detalhe .section-hdr h2{
    min-width:0!important;
    margin:0!important;
  }
  #screen-detalhe .section-hdr span{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  #screen-detalhe .cta-btn,
  #screen-detalhe #registrar-servico-wrap,
  #screen-detalhe .tab-body,
  #screen-detalhe .upload-card,
  #screen-detalhe .servico-card,
  #screen-detalhe .service-card,
  #screen-detalhe .empty-state{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #screen-detalhe input,
  #screen-detalhe select,
  #screen-detalhe textarea,
  #screen-detalhe button{
    max-width:100%!important;
  }
}

@media(max-width:360px){
  #screen-detalhe .vehicle-score-card .vsc-specs,
  #screen-detalhe .vehicle-score-card .vsc-stats{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #screen-detalhe .vehicle-score-card .vsc-right,
  #screen-detalhe .vehicle-score-card .vsc-right.score-range-preparing{
    margin:0 10px 10px!important;
  }
}

/* PF — account ------------------------------------------------------------ */
#screen-conta .conta-shell,
#screen-conta .conta-vehicle-hero,
#screen-conta .conta-consulta-card,
#screen-conta .conta-link-card,
#screen-conta .conta-profile-card,
#screen-conta .conta-vehicle-row,
#screen-conta .servico-card,
#screen-conta .service-card{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
#screen-conta .conta-inline-form,
#screen-conta .conta-grid-2{
  min-width:0!important;
}
#screen-conta .conta-inline-form>* ,
#screen-conta .conta-grid-2>*{
  min-width:0!important;
}
#screen-conta .conta-vehicle-top,
#screen-conta .conta-vehicle-actions,
#screen-conta .conta-section-head{
  min-width:0!important;
}

@media(max-width:700px){
  #screen-conta .conta-shell{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #screen-conta .conta-grid-2,
  #screen-conta .conta-inline-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  #screen-conta .conta-inline-form button{
    width:100%!important;
    min-width:0!important;
  }
  #screen-conta .conta-vehicle-top{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
  }
  #screen-conta .conta-vehicle-name{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  #screen-conta .conta-vehicle-actions>*{
    max-width:100%!important;
  }
  #screen-conta .conta-vehicle-row{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
  }
  #screen-conta .conta-vehicle-row-info{
    min-width:0!important;
    flex:1 1 180px!important;
  }
}

/* PF — vehicle creation / onboarding forms ------------------------------- */
#screen-cadastro .cad-inner,
#screen-cadastro .cad-card,
#screen-cadastro .form-group,
#screen-cadastro .grid-2-gap,
#screen-cadastro .upload-zone,
#screen-cadastro .fipe-validation-card{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
@media(max-width:700px){
  #screen-cadastro .cad-inner{
    width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #screen-cadastro .grid-2-gap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  #screen-cadastro .cad-actions,
  #screen-cadastro .panel-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  #screen-cadastro .cad-actions>*,
  #screen-cadastro .panel-actions>*{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

/* PJ — dashboard ---------------------------------------------------------- */
#screen-partner-dashboard .pj-private-topbar__inner,
#screen-partner-dashboard .partner-tabs,
#screen-partner-dashboard .partner-shell,
#screen-partner-dashboard .partner-card,
#screen-partner-dashboard .partner-service-card,
#screen-partner-dashboard .partner-os-card,
#screen-partner-dashboard .partner-os-head,
#screen-partner-dashboard .partner-os-body,
#screen-partner-dashboard .partner-os-footer,
#screen-partner-dashboard .partner-services-summary,
#screen-partner-dashboard .pd-services-toolbar,
#screen-partner-dashboard .pd-service-filters,
#screen-partner-dashboard .pd-home-metrics,
#screen-partner-dashboard .pd-home-calendar{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
#screen-partner-dashboard .partner-grid-2,
#screen-partner-dashboard .partner-inline-form,
#screen-partner-dashboard .partner-service-main,
#screen-partner-dashboard .partner-service-actions,
#screen-partner-dashboard .partner-os-vehicle,
#screen-partner-dashboard .partner-os-data-list{
  min-width:0!important;
}
#screen-partner-dashboard input,
#screen-partner-dashboard select,
#screen-partner-dashboard textarea,
#screen-partner-dashboard button{
  box-sizing:border-box!important;
  max-width:100%!important;
}
#screen-partner-dashboard .partner-card-badges,
#screen-partner-dashboard .pd-service-filters,
#screen-partner-dashboard .partner-os-head,
#screen-partner-dashboard .partner-os-footer{
  flex-wrap:wrap!important;
}

/* Home grids keep a stable rhythm and never force horizontal scrolling. */
@media(min-width:901px){
  #screen-partner-dashboard .pd-home-metrics{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #screen-partner-dashboard .pd-home-calendar{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  #screen-partner-dashboard .partner-os-body{
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
  }
  #screen-partner-dashboard .partner-services-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-partner-dashboard .partner-services-summary p{
    grid-column:1/-1!important;
  }
}

@media(max-width:768px){
  #screen-partner-dashboard .partner-shell,
  #screen-partner-dashboard .partner-shell.wide,
  #screen-partner-dashboard .partner-shell.partner-shell-no-pad{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
    overflow:visible!important;
  }
  #screen-partner-dashboard .pd-home-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-partner-dashboard .pd-home-calendar{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #screen-partner-dashboard .partner-grid-2,
  #screen-partner-dashboard .partner-grid-2.spaced,
  #screen-partner-dashboard .partner-inline-form{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  #screen-partner-dashboard .partner-service-card.partner-agenda-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
  #screen-partner-dashboard .partner-agenda-card .partner-service-main,
  #screen-partner-dashboard .partner-agenda-card .partner-service-actions{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #screen-partner-dashboard .partner-agenda-card .partner-service-actions{
    border-left:0!important;
  }
  #screen-partner-dashboard .partner-os-head,
  #screen-partner-dashboard .partner-os-footer,
  #screen-partner-dashboard .pd-services-toolbar{
    align-items:stretch!important;
  }
  #screen-partner-dashboard .partner-os-head>* ,
  #screen-partner-dashboard .partner-os-footer>*{
    min-width:0!important;
    max-width:100%!important;
  }
  #screen-partner-dashboard .partner-os-footer .partner-os-primary,
  #screen-partner-dashboard .partner-os-footer .partner-os-cancel,
  #screen-partner-dashboard .pd-register-service-btn{
    width:100%!important;
    min-width:0!important;
  }
  #screen-partner-dashboard #pd-tab-perfil>.partner-card{
    width:100%!important;
    max-width:100%!important;
    padding:18px!important;
  }
}

@media(max-width:420px){
  #screen-partner-dashboard .pd-home-metrics{
    gap:8px!important;
  }
  #screen-partner-dashboard .pd-home-metrics>div{
    min-width:0!important;
    padding:14px 10px!important;
  }
  #screen-partner-dashboard .pd-home-metrics strong{
    font-size:28px!important;
  }
  #screen-partner-dashboard .pd-home-calendar{
    gap:6px!important;
  }
  #screen-partner-dashboard .pd-home-calendar button{
    min-width:0!important;
    padding-left:3px!important;
    padding-right:3px!important;
  }
  #screen-partner-dashboard .partner-services-summary{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #screen-partner-dashboard .partner-services-summary p{
    grid-column:auto!important;
  }
}

/* PJ — modal/workspace surfaces ------------------------------------------ */
.partner-schedule-workspace-sheet,
.partner-service-workspace-sheet{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:min(780px,calc(100vw - 32px))!important;
}
.partner-schedule-workspace-content,
.partner-service-workspace-content,
.partner-mini-cadastro,
.partner-schedule-details,
.partner-contact-section,
.partner-receipt-field{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
.partner-workspace-topbar{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
}
.partner-workspace-topbar>div:first-child{
  min-width:0!important;
}
.partner-workspace-topbar h2{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:700px){
  .partner-schedule-workspace-sheet,
  .partner-service-workspace-sheet{
    width:100%!important;
    max-width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
  }
  .partner-schedule-workspace-content,
  .partner-service-workspace-content{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .partner-schedule-workspace .partner-grid-2,
  .partner-schedule-workspace .partner-grid-2.spaced,
  .partner-service-workspace .partner-grid-2,
  .partner-service-workspace .partner-grid-2.spaced,
  .partner-schedule-actions,
  .partner-complete-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  .partner-schedule-actions>*,
  .partner-complete-actions>*{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
}

/* PF — confirmação de placa nova usa a largura útil inteira do shell compacto. */
@media(max-width:700px){
  #screen-cadastro .cad-inner{
    padding-left:0!important;
    padding-right:0!important;
  }
}


/* Public vehicle summary ---------------------------------------------------
   Anonymous visitors get a clear, premium Score preview with a real login
   link. Numeric score and evidence remain protected until authentication. */
#screen-detalhe .vehicle-score-card.is-public{cursor:default!important}
#screen-detalhe .vehicle-score-card.is-public .vsc-right.is-public-score{
  cursor:default!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:1px solid #111!important;
  background:#0b0b0a!important;
  box-shadow:6px 6px 0 var(--alf-yellow,#ffd43b)!important;
}
#screen-detalhe .vehicle-score-card.is-public .vsc-right.is-public-score::before{
  content:'';
  position:absolute;
  width:230px;
  height:230px;
  right:-108px;
  top:-118px;
  border:32px solid rgba(255,212,59,.09);
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
}
#screen-detalhe .vsc-stats.is-public{grid-template-columns:minmax(0,1fr)!important}
#screen-detalhe .vsc-public-score{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:28px;
  box-sizing:border-box;
  color:#fff;
}
#screen-detalhe .vsc-public-score-head{
  display:flex;
  align-items:center;
  margin-bottom:26px;
}
#screen-detalhe .vsc-public-score-kicker{
  font-family:var(--alf-font-mono,monospace);
  font-size:10px;
  font-weight:850;
  letter-spacing:.15em;
  color:rgba(255,255,255,.58);
}
#screen-detalhe .vsc-public-score-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-bottom:24px;
}
#screen-detalhe .vsc-public-score-label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border:1px solid rgba(255,212,59,.45);
  border-radius:999px;
  background:rgba(255,212,59,.12);
  color:var(--alf-yellow,#ffd43b);
  font-family:var(--alf-font-mono,monospace);
  font-size:8px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
#screen-detalhe .vsc-public-score-copy>strong{
  max-width:390px;
  color:#fff;
  font-family:var(--alf-font-display,'Space Grotesk',sans-serif);
  font-size:23px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.035em;
}
#screen-detalhe .vsc-public-score-copy p{
  margin:0;
  max-width:430px;
  color:rgba(255,255,255,.64);
  font-size:12px;
  line-height:1.55;
  font-weight:560;
}
#screen-detalhe .vsc-public-levels{
  width:100%;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  margin:0 0 22px;
}
#screen-detalhe .vsc-public-levels span{
  position:relative;
  min-width:0;
  padding-top:10px;
  border-top:4px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.35);
  font-family:var(--alf-font-mono,monospace);
  font-size:7px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.01em;
}
#screen-detalhe .vsc-public-levels span.is-active{
  border-top-color:var(--alf-yellow,#ffd43b);
  color:#fff;
}
#screen-detalhe .vsc-public-levels span.is-active::before{
  content:'';
  position:absolute;
  left:50%;
  top:-7px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--alf-yellow,#ffd43b);
  transform:translateX(-50%);
}
#screen-detalhe .vsc-public-score-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  min-height:52px;
  padding:13px 16px;
  box-sizing:border-box;
  border:2px solid var(--alf-yellow,#ffd43b);
  border-radius:14px;
  background:var(--alf-yellow,#ffd43b);
  color:#0b0b0a!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:900;
  box-shadow:none;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
#screen-detalhe .vsc-public-score-cta b{
  font-size:18px;
  line-height:1;
  transition:transform .16s ease;
}
#screen-detalhe .vsc-public-score-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 0 rgba(255,212,59,.16);
}
#screen-detalhe .vsc-public-score-cta:hover b{transform:translateX(3px)}
#screen-detalhe .vsc-public-score-cta:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}
#screen-detalhe .vsc-public-score-note{
  display:block;
  margin-top:10px;
  color:rgba(255,255,255,.42);
  font-size:9px;
  line-height:1.45;
  font-weight:600;
}
@media(max-width:640px){
  #screen-detalhe .vsc-public-score{padding:22px 20px}
  #screen-detalhe .vsc-public-score-head{margin-bottom:19px}
  #screen-detalhe .vsc-public-score-copy>strong{font-size:21px}
  #screen-detalhe .vsc-public-score-copy p{font-size:11px}
  #screen-detalhe .vsc-public-levels{gap:4px;margin-bottom:18px}
  #screen-detalhe .vsc-public-levels span{font-size:6.5px;padding-top:9px}
  #screen-detalhe .vsc-public-score-cta{min-height:50px;border-radius:13px;font-size:12px}
}

/* Public Score: never expose or fake the numeric value while logged out. */
#screen-detalhe .vsc-public-score.is-preparing .vsc-public-score-copy{margin-bottom:24px}
#screen-detalhe .vsc-public-score.is-preparing .vsc-public-score-copy>strong{max-width:430px;font-size:25px}
#screen-detalhe .vsc-public-score.has-score .vsc-public-score-copy>strong{max-width:430px}
@media(max-width:640px){
  #screen-detalhe .vsc-public-score-head{margin-bottom:22px}
  #screen-detalhe .vsc-public-score.is-preparing .vsc-public-score-copy>strong{font-size:22px}
}

/* --------------------------------------------------------------------------
   20260921 — Canonical action hierarchy
   Primary actions are black. White is reserved for secondary/back/cancel/close
   controls. Yellow remains an accent/status color, not an action fill.
   -------------------------------------------------------------------------- */
:root{
  --alf-action-black:#0b0b0a;
  --alf-action-black-hover:#24231f;
  --alf-action-white:#fff;
  --alf-action-line:#d8d4ca;
}

/* Primary actions */
#screen-busca .ar-search-submit,
#screen-busca .ar-button--yellow,
#screen-detalhe .vsc-public-score-cta,
#screen-detalhe .cta-btn,
#screen-detalhe .btn-enviar,
#screen-cadastro .btn-enviar,
#screen-cadastro .btn-primary,
#screen-conta .conta-btn-solid,
#screen-partner-dashboard .partner-btn,
#screen-partner-dashboard .btn-confirm,
#screen-partner-dashboard .partner-os-primary,
#screen-partner-dashboard [data-action="partner-search-vehicle"],
#screen-partner-dashboard [data-action="partner-register-search"],
#screen-partner-dashboard [data-agenda-reset],
body .pf-service-retry,
body .pf-service-inline-actions>button:first-child,
.fipe-retry,
.login-gate-btn,
.alfred-nav-login-btn{
  background:var(--alf-action-black)!important;
  color:#fff!important;
  border:1px solid var(--alf-action-black)!important;
  box-shadow:none!important;
}
#screen-busca .ar-search-submit:hover,
#screen-busca .ar-button--yellow:hover,
#screen-detalhe .vsc-public-score-cta:hover,
#screen-detalhe .cta-btn:hover,
#screen-detalhe .btn-enviar:hover,
#screen-cadastro .btn-enviar:hover,
#screen-cadastro .btn-primary:hover,
#screen-conta .conta-btn-solid:hover,
#screen-partner-dashboard .partner-btn:hover,
#screen-partner-dashboard .btn-confirm:hover,
#screen-partner-dashboard .partner-os-primary:hover,
#screen-partner-dashboard [data-action="partner-search-vehicle"]:hover,
#screen-partner-dashboard [data-action="partner-register-search"]:hover,
#screen-partner-dashboard [data-agenda-reset]:hover,
body .pf-service-retry:hover,
body .pf-service-inline-actions>button:first-child:hover,
.fipe-retry:hover,
.login-gate-btn:hover,
.alfred-nav-login-btn:hover{
  background:var(--alf-action-black-hover)!important;
  border-color:var(--alf-action-black-hover)!important;
  color:#fff!important;
}

/* Back / cancel / close */
#screen-partner-dashboard .partner-back-btn,
#screen-partner-dashboard [data-action="partner-close-schedule-workspace"],
#screen-partner-dashboard [data-action="partner-close-service-completion"],
#screen-partner-dashboard .partner-profile-cancel,
#screen-partner-dashboard .partner-os-cancel,
#screen-partner-dashboard .btn-cancel,
#screen-partner-dashboard .btn-cancelar,
#screen-detalhe .btn-cancel-register-pf,
body .pf-service-cancel,
body .pf-service-inline-actions>button:last-child,
.back-link,
.inline-return,
.service-detail-close,
.partner-data-close,
.conta-perfil-close,
.partner-workspace-close,
.ui-btn--ghost,
.ui-btn--secondary,
.btn-ghost,
.logout-btn{
  background:var(--alf-action-white)!important;
  color:var(--alf-action-black)!important;
  border:1px solid var(--alf-action-line)!important;
  box-shadow:none!important;
}
#screen-partner-dashboard .partner-back-btn:hover,
#screen-partner-dashboard [data-action="partner-close-schedule-workspace"]:hover,
#screen-partner-dashboard [data-action="partner-close-service-completion"]:hover,
#screen-partner-dashboard .partner-profile-cancel:hover,
#screen-partner-dashboard .partner-os-cancel:hover,
#screen-partner-dashboard .btn-cancel:hover,
#screen-partner-dashboard .btn-cancelar:hover,
#screen-detalhe .btn-cancel-register-pf:hover,
body .pf-service-cancel:hover,
body .pf-service-inline-actions>button:last-child:hover,
.back-link:hover,
.inline-return:hover,
.service-detail-close:hover,
.partner-data-close:hover,
.conta-perfil-close:hover,
.partner-workspace-close:hover,
.ui-btn--ghost:hover,
.ui-btn--secondary:hover,
.btn-ghost:hover,
.logout-btn:hover{
  background:#f7f6f2!important;
  color:var(--alf-action-black)!important;
  border-color:#aaa69d!important;
}

/* Utility buttons stay neutral; they must never compete with the main CTA. */
#screen-partner-dashboard .alf-logo-btn,
#screen-partner-dashboard .partner-attachment-btn,
#screen-partner-dashboard .partner-secondary-btn:not([data-action="partner-search-vehicle"]):not([data-action="partner-register-search"]):not([data-agenda-reset]){
  background:#fff!important;
  color:var(--alf-action-black)!important;
  border:1px solid var(--alf-action-line)!important;
  box-shadow:none!important;
}


/* PJ Serviços — quatro estados sem apertar labels no mobile. */
@media(max-width:640px){
  #screen-partner-dashboard .pd-service-filters{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #screen-partner-dashboard .pd-service-filters button{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
  }
}


/* PJ Serviços — três indicadores + contexto sem desperdício de largura. */
@media(min-width:769px){
  #screen-partner-dashboard .partner-services-summary{
    grid-template-columns:repeat(3,minmax(130px,170px)) minmax(0,1fr)!important;
  }
  #screen-partner-dashboard .partner-services-summary p{grid-column:auto!important}
}
@media(max-width:768px){
  #screen-partner-dashboard .partner-services-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-partner-dashboard .partner-services-summary p{grid-column:1/-1!important}
}

/* --------------------------------------------------------------------------
   20260921 — Logged areas typography and product copy polish
   PF/PJ use one professional type hierarchy: Manrope for interface/readability,
   Space Grotesk for display hierarchy, IBM Plex Mono only for operational data.
   -------------------------------------------------------------------------- */
#screen-conta,
#screen-partner-dashboard{
  font-family:'Manrope',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  font-feature-settings:'kern' 1,'liga' 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
#screen-conta button,
#screen-conta input,
#screen-conta select,
#screen-conta textarea,
#screen-partner-dashboard button,
#screen-partner-dashboard input,
#screen-partner-dashboard select,
#screen-partner-dashboard textarea{
  font-family:'Manrope',Inter,system-ui,sans-serif!important;
}
#screen-conta h1,
#screen-conta h2,
#screen-conta h3,
#screen-conta .conta-section-title,
#screen-conta .conta-vehicle-name,
#screen-conta .conta-empty-title,
#screen-partner-dashboard h1,
#screen-partner-dashboard h2,
#screen-partner-dashboard h3,
#screen-partner-dashboard .partner-section-title,
#screen-partner-dashboard .pd-home-metrics strong,
#screen-partner-dashboard .partner-services-summary strong,
#screen-partner-dashboard .partner-service-simple-head h3{
  font-family:'Space Grotesk','Manrope',system-ui,sans-serif!important;
  letter-spacing:-.035em!important;
}
#screen-conta .form-label,
#screen-partner-dashboard .form-label{
  font-family:'Manrope',Inter,system-ui,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
}
#screen-conta .conta-eyebrow,
#screen-conta .conta-vehicle-plate,
#screen-conta .servico-status,
#screen-conta .servico-type-badge,
#screen-partner-dashboard .cad-eyebrow,
#screen-partner-dashboard .partner-workspace-eyebrow,
#screen-partner-dashboard .servico-status,
#screen-partner-dashboard .partner-fast-badge,
#screen-partner-dashboard .partner-os-id strong{
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace!important;
}
#screen-conta .conta-greeting-sub{
  max-width:560px;
  margin:9px 0 0;
  color:#6c6961;
  font-size:14px;
  line-height:1.55;
  font-weight:600;
}
#screen-conta .conta-section-head .conta-section-sub{
  margin:7px 0 0;
  max-width:620px;
}
#screen-partner-dashboard .pd-home-heading p,
#screen-partner-dashboard .pd-services-toolbar p,
#screen-partner-dashboard .partner-section-sub,
#screen-conta .conta-section-sub,
#screen-conta .conta-empty-sub{
  font-family:'Manrope',Inter,system-ui,sans-serif!important;
  letter-spacing:0!important;
}

/* Vehicle status remains an internal rule, not a visible car-detail component. */
#screen-detalhe .vsc-stats:empty{display:none!important}

#screen-detalhe .vehicle-score-card .vsc-stats{
  grid-template-columns:minmax(0,220px)!important;
  max-width:220px;
}
@media(max-width:640px){
  #screen-detalhe .vehicle-score-card .vsc-stats{
    grid-template-columns:1fr!important;
    max-width:none;
  }
}


/* Alfred verified mark — compact trust signal shared across PF/PJ. */
.alfred-verified-mark{
  display:inline-flex!important;align-items:center!important;gap:6px!important;width:max-content!important;max-width:100%!important;
  min-height:24px!important;padding:3px 8px 3px 4px!important;border:1px solid rgba(9,9,9,.16)!important;border-radius:999px!important;
  background:#fff!important;color:#111!important;font-family:Manrope,Arial,sans-serif!important;font-size:10px!important;font-weight:800!important;
  line-height:1!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important;box-shadow:none!important;
}
.alfred-verified-mark__icon{
  width:16px!important;height:16px!important;flex:0 0 16px!important;display:inline-grid!important;place-items:center!important;
  border-radius:50%!important;background:#111!important;color:#ffd43b!important;font-family:Manrope,Arial,sans-serif!important;font-size:10px!important;
  font-weight:900!important;line-height:1!important;
}
.alfred-verified-mark__text{display:inline-block!important;line-height:1!important}
body .pf-service-provider-badge{margin-top:4px!important;background:#fff!important;color:#111!important;font:800 10px/1 Manrope,Arial,sans-serif!important;padding:3px 8px 3px 4px!important}
body .pf-service-provider.is-verified{background:#fbfaf7!important;border-top-color:#e7e4dc!important}
body .pf-service-provider-label.is-alfred{color:#77736b!important}
#partner-profile-modal .partner-profile-verified-mark{margin:0!important}
#partner-profile-modal .partner-profile-topbar h2{margin-top:8px!important}
#screen-partner-dashboard .partner-data-status.is-verified{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
#screen-partner-dashboard .partner-data-verified-mark{min-height:24px!important}
#screen-partner-dashboard .partner-profile-standard-label{font-size:11px!important;font-weight:750!important;color:#77736b!important}
.service-detail-heading .alfred-verified-mark{margin-bottom:5px!important}
@media(max-width:640px){
  .alfred-verified-mark{min-height:22px!important;font-size:9px!important;padding:3px 7px 3px 4px!important;gap:5px!important}
  .alfred-verified-mark__icon{width:14px!important;height:14px!important;flex-basis:14px!important;font-size:9px!important}
}


/* 20260921 — compact public vehicle desktop + stable partner new-vehicle flow */
@media (min-width:981px){
  #screen-detalhe #detalhe-conteudo > .vehicle-score-card.is-public,
  #screen-detalhe #detalhe-conteudo > .login-gate{
    width:100%!important;
    max-width:900px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-body{
    grid-template-columns:minmax(0,1fr) minmax(350px,390px)!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-left{
    padding:26px 28px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-name{
    font-size:clamp(34px,3vw,43px)!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-right.is-public-score{
    min-height:0!important;
    margin:12px!important;
    padding:0!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score{
    padding:20px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score-head{
    margin-bottom:15px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score-copy{
    gap:6px!important;
    margin-bottom:16px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score-copy>strong{
    font-size:20px!important;
    max-width:340px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score-copy p{
    font-size:11px!important;
    line-height:1.45!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-levels{
    margin-bottom:16px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score-cta{
    min-height:46px!important;
    padding:11px 14px!important;
    font-size:12px!important;
  }
  #screen-detalhe .vehicle-score-card.is-public .vsc-public-score-note{
    margin-top:8px!important;
  }
}

#partner-schedule-modal[data-mode="vehicle"] .partner-schedule-workspace-sheet{
  width:min(720px,calc(100vw - 32px))!important;
  max-width:720px!important;
}
#partner-schedule-modal[data-mode="vehicle"] .partner-schedule-workspace-content{
  padding:22px!important;
}
#partner-schedule-modal[data-mode="vehicle"] .partner-mini-cadastro{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#partner-schedule-modal[data-mode="vehicle"] .fipe-validation-card--partner{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:22px!important;
  border-radius:22px!important;
}
#partner-schedule-modal[data-mode="vehicle"] .partner-contact-section{
  width:100%!important;
  max-width:100%!important;
  margin:20px 0 0!important;
  padding-top:20px!important;
}
@media (min-width:561px){
  #partner-schedule-modal[data-mode="vehicle"] .fipe-validation-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:700px){
  #partner-schedule-modal[data-mode="vehicle"] .partner-schedule-workspace-sheet{
    width:100%!important;
    max-width:100%!important;
  }
  #partner-schedule-modal[data-mode="vehicle"] .partner-schedule-workspace-content{
    padding:14px!important;
  }
  #partner-schedule-modal[data-mode="vehicle"] .fipe-validation-card--partner{
    padding:18px!important;
    border-radius:18px!important;
  }
}

/* ========================================================================== 
   20260922 — ALFRED ACTION SYSTEM / canonical final layer
   Primary action = black. Secondary/cancel/back/close = white.
   Yellow is reserved for status, active navigation and brand accents.
   ========================================================================== */
:root{
  --alf-action-black:#0b0b0a;
  --alf-action-white:#ffffff;
  --alf-action-line:#d8d4ca;
  --alf-action-muted:#6e6a62;
  --alf-action-hover:#f4f2ec;
  --alf-action-radius:14px;
  --alf-action-height:48px;
}

/* Primary actions */
body .partner-btn,
body .conta-btn-solid,
body .btn-enviar,
body .btn-confirm,
body .auth-submit,
body .login-gate-btn,
body .vsc-public-score-cta,
body .alfred-welcome-cta,
body .cta-btn,
body .alfred-nav-login-btn,
body .ar-button--yellow,
body .ar-button--dark,
body .pj-billing-button--yellow,
body .pd-register-service-btn,
body .partner-data-save,
body .modal-doc-btn:not(.outlined),
body .pf-service-retry,
body .pf-service-inline-actions button[data-action="pf-inline-retry-send"]{
  min-height:var(--alf-action-height)!important;
  border:2px solid var(--alf-action-black)!important;
  border-radius:var(--alf-action-radius)!important;
  background:var(--alf-action-black)!important;
  color:var(--alf-action-white)!important;
  box-shadow:none!important;
  font-family:'Manrope',sans-serif!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body .partner-btn:hover,
body .conta-btn-solid:hover,
body .btn-enviar:hover,
body .btn-confirm:hover,
body .auth-submit:hover,
body .login-gate-btn:hover,
body .vsc-public-score-cta:hover,
body .alfred-welcome-cta:hover,
body .cta-btn:hover,
body .alfred-nav-login-btn:hover,
body .ar-button--yellow:hover,
body .ar-button--dark:hover,
body .pj-billing-button--yellow:hover,
body .pd-register-service-btn:hover,
body .partner-data-save:hover,
body .modal-doc-btn:not(.outlined):hover,
body .pf-service-retry:hover{
  background:#242421!important;
  border-color:#242421!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Secondary / utility / cancel / back */
body .partner-secondary-btn,
body .conta-btn-ghost,
body .btn-cancel,
body .btn-cancelar,
body .btn-cancel-register-pf,
body .partner-profile-cancel,
body .conta-profile-cancel,
body .pf-service-cancel,
body .auth-secondary-btn,
body .ar-button--quiet,
body .ar-button--outline-light,
body .partner-back-btn,
body .alf-logo-btn,
body .pj-billing-button:not(.pj-billing-button--yellow){
  min-height:var(--alf-action-height)!important;
  border:1px solid var(--alf-action-line)!important;
  border-radius:var(--alf-action-radius)!important;
  background:var(--alf-action-white)!important;
  color:var(--alf-action-black)!important;
  box-shadow:none!important;
  font-family:'Manrope',sans-serif!important;
  font-weight:800!important;
  text-decoration:none!important;
}
body .partner-secondary-btn:hover,
body .conta-btn-ghost:hover,
body .btn-cancel:hover,
body .btn-cancelar:hover,
body .btn-cancel-register-pf:hover,
body .partner-profile-cancel:hover,
body .conta-profile-cancel:hover,
body .pf-service-cancel:hover,
body .auth-secondary-btn:hover,
body .ar-button--quiet:hover,
body .ar-button--outline-light:hover,
body .partner-back-btn:hover,
body .alf-logo-btn:hover{
  background:var(--alf-action-hover)!important;
  color:var(--alf-action-black)!important;
  border-color:#c8c3b8!important;
  transform:none!important;
  box-shadow:none!important;
}

/* One close-button geometry everywhere. */
body .service-detail-close,
body .score-modal-close,
body .conta-perfil-close,
body .modal-close,
body .file-remove,
body .partner-data-close,
body .partner-workspace-close,
body .partner-profile-close,
body .alfred-welcome-close{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--alf-action-line)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#0b0b0a!important;
  box-shadow:none!important;
  font:700 25px/1 Arial,sans-serif!important;
  transform:none!important;
}
body .service-detail-close::before,
body .service-detail-close::after,
body .score-modal-close::before,
body .score-modal-close::after,
body .conta-perfil-close::before,
body .conta-perfil-close::after,
body .modal-close::before,
body .modal-close::after,
body .file-remove::before,
body .file-remove::after,
body .partner-data-close::before,
body .partner-data-close::after,
body .partner-workspace-close::before,
body .partner-workspace-close::after,
body .partner-profile-close::before,
body .partner-profile-close::after,
body .alfred-welcome-close::before,
body .alfred-welcome-close::after{
  content:none!important;
  display:none!important;
}
body .service-detail-close:hover,
body .score-modal-close:hover,
body .conta-perfil-close:hover,
body .modal-close:hover,
body .file-remove:hover,
body .partner-data-close:hover,
body .partner-workspace-close:hover,
body .partner-profile-close:hover,
body .alfred-welcome-close:hover{
  background:var(--alf-action-hover)!important;
  color:#0b0b0a!important;
  border-color:#bdb7aa!important;
  box-shadow:none!important;
  transform:none!important;
}
body .service-detail-close:focus-visible,
body .score-modal-close:focus-visible,
body .conta-perfil-close:focus-visible,
body .modal-close:focus-visible,
body .file-remove:focus-visible,
body .partner-data-close:focus-visible,
body .partner-workspace-close:focus-visible,
body .partner-profile-close:focus-visible,
body .alfred-welcome-close:focus-visible{
  outline:3px solid rgba(11,11,10,.16)!important;
  outline-offset:2px!important;
}

/* PJ OS / schedule workspaces: same visual contract as the rest of the app. */
#screen-partner-dashboard .partner-schedule-workspace .partner-btn,
#screen-partner-dashboard .partner-service-workspace .partner-btn,
#screen-partner-dashboard #partner-register-modal .partner-btn{
  background:var(--alf-action-black)!important;
  color:#fff!important;
  border-color:var(--alf-action-black)!important;
  box-shadow:none!important;
}
#screen-partner-dashboard .partner-schedule-workspace .partner-secondary-btn,
#screen-partner-dashboard .partner-service-workspace .partner-secondary-btn,
#screen-partner-dashboard #partner-register-modal .partner-secondary-btn{
  background:#fff!important;
  color:var(--alf-action-black)!important;
  border:1px solid var(--alf-action-line)!important;
  box-shadow:none!important;
}

/* Yellow remains valid for selected tabs and semantic state, not actions. */
body .partner-tab-btn.active,
body .pd-service-filters button[aria-pressed="true"],
body .conta-toptab.active{
  box-shadow:none!important;
}
