/* Parking JP v153 — modelo escolhido: menu superior no PC + layout responsivo no celular
   Somente apresentação: mantém as regras e fluxos da v147. */

:root{
  --v148-gap:14px;
  --v148-radius:14px;
  --v148-border:#dfe8f3;
  --v148-soft:#f7faff;
  --v148-ink:#102d4f;
  --v148-muted:#61748a;
}

html,body,#app{max-width:100%;min-width:0}
body{overflow-x:hidden}
.app-layout,.app-main,#content,.grid,.yard-main,.card{min-width:0}

/* ---------- Desktop / notebook ---------- */
@media (min-width: 981px){
  body.menu-expanded .app-layout{grid-template-columns:210px minmax(0,1fr)!important}
  body:not(.menu-expanded) .app-layout{grid-template-columns:68px minmax(0,1fr)!important}
  .side-menu{padding:18px 12px!important}
  body.menu-expanded .side-menu nav button{padding:11px 12px!important;font-size:13px!important}
  body:not(.menu-expanded) .side-menu nav button{padding:12px 8px!important}
  .app-main{padding:18px 20px 34px!important}

  .option1-grid,.grid.option1-grid{
    grid-template-columns:minmax(285px,310px) minmax(0,1fr)!important;
    gap:14px!important;
    align-items:start!important;
  }

  .register-panel{border-radius:14px!important}
  .register-panel h1{padding:12px 16px!important;font-size:18px!important}
  .register-panel form{padding:13px 0 15px!important;gap:10px!important}
  .register-panel form,
  .register-panel h2,
  .register-panel p,
  .register-panel .success,
  .register-panel .total,
  .register-panel > button,
  .register-panel > .link,
  .register-panel > .hint{margin-left:15px!important;margin-right:15px!important}
  .register-panel label{font-size:12px!important;gap:5px!important}
  .register-panel input,.register-panel select{min-height:39px!important;padding:8px 10px!important;border-radius:9px!important}
  .register-panel .register-primary{min-height:42px!important;padding:9px 12px!important;margin-top:2px!important}
  .register-panel fieldset{padding:10px!important;border-radius:11px!important;margin:0!important}
  .register-panel fieldset legend{font-size:12px!important;font-weight:800!important;padding:0 5px!important}
  #hotel-fields:not([hidden]){display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 9px!important}
  #hotel-fields:not([hidden]) label:nth-of-type(3){grid-column:1/-1!important}
  .pc-multi-photo-fieldset .hint{font-size:11px!important;line-height:1.25!important;margin:2px 0 5px!important}
  .pc-multi-photo-fieldset label{gap:4px!important}
  .pc-multi-photo-fieldset input[type=file]{font-size:11px!important;padding:5px!important;min-height:34px!important}

  .yard-main{gap:12px!important}
  .yard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  .yard-metrics article{
    min-height:72px!important;
    padding:10px 14px!important;
    border-radius:13px!important;
  }
  .yard-metrics article span{font-size:11px!important;line-height:1.15!important}
  .yard-metrics article strong{font-size:28px!important;margin-top:4px!important}

  .yard-main > .card{padding:15px!important;border-radius:14px!important;margin-bottom:0!important}
  .yard-main .section-title{margin-bottom:10px!important;gap:10px!important}
  .yard-main .section-title h2{font-size:18px!important;margin:0!important}
  .yard-main input[type=search]{min-height:40px!important;padding:8px 11px!important}

  /* Tabela do pátio sem barra horizontal no computador */
  .yard-main .scroll{overflow:visible!important;border-radius:11px!important}
  .yard-main .scroll table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .yard-main .scroll th,.yard-main .scroll td{
    min-width:0!important;
    padding:10px 8px!important;
    vertical-align:middle!important;
    overflow-wrap:anywhere!important;
  }
  .yard-main .scroll th{font-size:10px!important;letter-spacing:.025em!important}
  .yard-main .scroll td{font-size:12px!important;line-height:1.18!important}
  .yard-main .scroll td:last-child{min-width:0!important}

  /* tabela normal (sem checkbox) */
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(1){width:29%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(2){width:17%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(3){width:9%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(4){width:21%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(5){width:24%!important}

  /* tabela Hotel / relançamento (com checkbox) */
  .yard-main .scroll table:has([data-hotel-select-all]) th:nth-child(1){width:38px!important}
  .yard-main .scroll table:has([data-hotel-select-all]) th:nth-child(2){width:25%!important}
  .yard-main .scroll table:has([data-hotel-select-all]) th:nth-child(3){width:16%!important}
  .yard-main .scroll table:has([data-hotel-select-all]) th:nth-child(4){width:9%!important}
  .yard-main .scroll table:has([data-hotel-select-all]) th:nth-child(5){width:22%!important}
  .yard-main .scroll table:has([data-hotel-select-all]) th:nth-child(6){width:auto!important}
  .yard-main .scroll table:has([data-hotel-select-all]) td:first-child{text-align:center!important}

  .yard-main .plate-ticket-cell{gap:8px!important;align-items:flex-start!important}
  .yard-main .vehicle-thumb{width:44px!important;height:40px!important;border-radius:8px!important;flex:0 0 44px!important}
  .yard-main .vehicle-plate{font-size:13px!important;font-weight:900!important;line-height:1.05!important}
  .yard-main .vehicle-name{font-size:10px!important;margin-top:2px!important}
  .yard-main .plate-ticket-info small{font-size:10px!important;margin-top:2px!important;line-height:1.15!important}
  .yard-main .ticket-code{display:inline-block!important;padding:2px 7px!important;border-radius:999px!important;background:#eaf2ff!important;color:#1558bd!important;font-weight:800!important}
  .yard-main .guest-name,.yard-main .guest-apartment{display:block!important;font-size:11px!important;line-height:1.25!important}

  .yard-main .row-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    max-width:none!important;
  }
  .yard-main .row-actions > button,
  .yard-main .row-actions > .link{
    min-width:0!important;
    width:100%!important;
    min-height:31px!important;
    padding:5px 6px!important;
    font-size:10.5px!important;
    line-height:1.1!important;
    border-radius:7px!important;
    white-space:nowrap!important;
  }

  /* relançamento mais compacto */
  .yard-main .section-title[style*="margin-top:10px"]{
    margin:8px 0!important;
    padding:8px 10px!important;
    border:1px solid #e4ebf5!important;
    border-radius:10px!important;
    background:#f8fbff!important;
  }
  .yard-main .section-title[style*="margin-top:10px"] strong{font-size:12px!important}
  .yard-main .section-title[style*="margin-top:10px"] small{font-size:10px!important}
  #hotel-relaunch-selected{min-height:34px!important;padding:6px 10px!important;font-size:11px!important}
}

/* Notebook menor / tablet paisagem */
@media (min-width: 761px) and (max-width: 1180px){
  .app-main{padding:14px!important}
  .option1-grid,.grid.option1-grid{grid-template-columns:minmax(270px,295px) minmax(0,1fr)!important;gap:12px!important}
  .yard-main .row-actions{grid-template-columns:1fr!important}
  .yard-main .row-actions > button,.yard-main .row-actions > .link{min-height:29px!important}
  .yard-main .scroll th,.yard-main .scroll td{padding:8px 6px!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(1){width:27%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(2){width:16%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(3){width:9%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(4){width:22%!important}
  .yard-main .scroll table:not(:has([data-hotel-select-all])) th:nth-child(5){width:26%!important}
}

/* ---------- Celular ---------- */
@media (max-width: 760px){
  body{font-size:15px!important;background:#f3f7fc!important}
  .app-header{
    min-height:58px!important;
    padding:7px 9px!important;
    gap:7px!important;
    position:sticky!important;
    top:0!important;
    z-index:90!important;
  }
  .menu-toggle{min-height:40px!important;padding:7px 9px!important;font-size:0!important}
  .menu-toggle::before{content:"☰";font-size:20px!important;line-height:1!important}
  .app-header .brand{min-width:0!important;flex:1 1 auto!important}
  .app-header .brand img{max-width:126px!important;max-height:38px!important}
  .app-header .account{width:auto!important;max-width:none!important;margin-left:auto!important}
  .app-header .account > span,.app-header .account > small{display:none!important}
  .app-header .account .link{min-height:38px!important;padding:7px 10px!important;font-size:12px!important}

  .side-menu{
    top:58px!important;
    width:min(84vw,300px)!important;
    height:calc(100dvh - 58px)!important;
    padding:12px 10px 22px!important;
    border-radius:0 16px 16px 0!important;
  }
  .side-menu nav button{min-height:44px!important;padding:10px 12px!important;font-size:13px!important}
  body.menu-expanded:after{inset:58px 0 0 0!important}

  .app-main,.wrap{padding:8px!important}
  .option1-grid,.grid.option1-grid,.app-main .grid{grid-template-columns:1fr!important;gap:9px!important}
  .card{padding:12px!important;border-radius:13px!important;margin-bottom:9px!important;box-shadow:0 5px 18px rgba(24,55,88,.055)!important}

  .register-panel{order:0!important;padding:0!important;overflow:hidden!important}
  .register-panel h1{padding:10px 12px!important;font-size:16px!important}
  .register-panel form{padding:10px 0 12px!important;gap:8px!important;margin-left:11px!important;margin-right:11px!important}
  .register-panel label{font-size:12px!important;gap:4px!important}
  .register-panel input,.register-panel select,.register-panel textarea{
    min-height:42px!important;
    padding:8px 10px!important;
    border-radius:9px!important;
    font-size:16px!important;
  }
  .register-primary{min-height:44px!important;margin-top:2px!important;font-size:14px!important}
  .register-panel fieldset{padding:9px!important;border-radius:10px!important;margin:0!important}
  .register-panel fieldset legend{font-size:12px!important;font-weight:800!important}
  #hotel-fields:not([hidden]){display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .pc-multi-photo-fieldset .hint{font-size:10.5px!important;line-height:1.25!important;margin:3px 0!important}
  .pc-multi-photo-fieldset input[type=file]{font-size:11px!important;padding:5px!important;min-height:38px!important}

  /* indicadores ficam em uma linha, economizando altura */
  .yard-main{gap:8px!important}
  .yard-metrics,.metrics.yard-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    margin:0!important;
  }
  .yard-metrics article{
    min-height:59px!important;
    padding:8px 7px!important;
    border-radius:11px!important;
    text-align:center!important;
    align-items:center!important;
  }
  .yard-metrics article span{font-size:9px!important;line-height:1.12!important}
  .yard-metrics article strong{font-size:23px!important;margin-top:3px!important}

  .yard-main > .card{padding:10px!important;margin:0!important}
  .yard-main .section-title{margin-bottom:8px!important;gap:6px!important;align-items:center!important}
  .yard-main .section-title h2{font-size:16px!important;margin:0!important}
  .yard-main .section-title #refresh{width:auto!important;min-height:34px!important;padding:5px 8px!important;font-size:11px!important;background:#eef5ff!important}
  .yard-main input[type=search]{min-height:40px!important;padding:8px 10px!important;font-size:16px!important}

  .yard-main .section-title[style*="margin-top:10px"]{
    margin:7px 0!important;
    padding:8px!important;
    flex-direction:row!important;
    align-items:center!important;
    background:#f8fbff!important;
    border:1px solid #e3ebf5!important;
    border-radius:10px!important;
  }
  .yard-main .section-title[style*="margin-top:10px"] strong{font-size:11px!important}
  .yard-main .section-title[style*="margin-top:10px"] small{font-size:9px!important}
  #hotel-relaunch-selected{width:auto!important;min-height:34px!important;padding:6px 8px!important;font-size:10px!important}

  /* lista em cartões: zero rolagem horizontal */
  .yard-main .scroll{overflow:visible!important;border:0!important;background:transparent!important}
  .yard-main .scroll table{min-width:0!important;width:100%!important;display:block!important}
  .yard-main .scroll thead{display:none!important}
  .yard-main .scroll tbody{display:grid!important;gap:7px!important}
  .yard-main .scroll tr{
    display:block!important;
    width:100%!important;
    padding:8px 9px!important;
    border:1px solid #dfe8f3!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 4px 12px rgba(24,55,88,.045)!important;
  }
  .yard-main .scroll td{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    padding:5px 0!important;
    border:0!important;
    border-bottom:1px solid #edf2f7!important;
    font-size:11.5px!important;
    line-height:1.18!important;
    white-space:normal!important;
  }
  .yard-main .scroll td:last-child{border-bottom:0!important;padding-bottom:0!important}
  .yard-main .scroll td::before{
    content:attr(data-label)!important;
    flex:0 0 82px!important;
    max-width:82px!important;
    font-size:8.5px!important;
    line-height:1.2!important;
    font-weight:900!important;
    color:#66798f!important;
    text-transform:uppercase!important;
    letter-spacing:.025em!important;
  }
  .yard-main .scroll td:first-child:has(input[data-hotel-select]){
    padding:2px 0 4px!important;
    border-bottom:0!important;
  }
  .yard-main .scroll td:first-child:has(input[data-hotel-select])::before{display:none!important}
  .yard-main input[data-hotel-select]{width:18px!important;height:18px!important;min-height:0!important;margin:0!important}

  .yard-main .plate-ticket-cell{gap:7px!important;align-items:flex-start!important;flex:1!important;min-width:0!important}
  .yard-main .vehicle-thumb{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:9px!important}
  .yard-main .vehicle-plate{font-size:13px!important;font-weight:900!important}
  .yard-main .vehicle-name{font-size:10px!important;margin-top:1px!important}
  .yard-main .plate-ticket-info small{font-size:9.5px!important;margin-top:2px!important;line-height:1.15!important}
  .yard-main .ticket-code{display:inline-block!important;width:auto!important;padding:2px 6px!important;border-radius:999px!important;background:#eaf2ff!important;color:#1558bd!important;font-weight:900!important}
  .yard-main .guest-name,.yard-main .guest-apartment{display:block!important;font-size:10.5px!important;line-height:1.2!important}

  .yard-main .row-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .yard-main .row-actions > button,
  .yard-main .row-actions > .link{
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px 5px!important;
    border-radius:8px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
  }
  .yard-main .scroll td:last-child::before{display:none!important}
  .yard-main .scroll td:last-child{display:block!important}

  #pc-offline-status{left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;max-width:none!important}
}

@media (max-width: 390px){
  .app-header .brand img{max-width:112px!important}
  .app-main,.wrap{padding:6px!important}
  .card{padding:10px!important}
  .yard-metrics article{padding:7px 4px!important}
  .yard-metrics article span{font-size:8px!important}
  .yard-metrics article strong{font-size:21px!important}
  .yard-main .scroll td::before{flex-basis:72px!important;max-width:72px!important;font-size:8px!important}
  .yard-main .row-actions{gap:4px!important}
  .yard-main .row-actions > button,.yard-main .row-actions > .link{font-size:10px!important;padding:5px 4px!important;min-height:32px!important}
}


/* ======================================================================
   v149 — MENU SUPERIOR NO COMPUTADOR
   Mantém o menu em gaveta no celular. Nenhuma regra operacional é alterada.
   ====================================================================== */
@media (min-width:981px){
  body:not(.operator-shell){background:#eef4fb!important}

  body:not(.operator-shell) .app-header{
    position:sticky!important;
    top:0!important;
    z-index:130!important;
    min-height:72px!important;
    height:72px!important;
    padding:6px 22px!important;
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    background:linear-gradient(90deg,#071a31 0%,#0b2d50 58%,#08233f 100%)!important;
    box-shadow:0 7px 22px rgba(7,26,49,.16)!important;
  }
  body:not(.operator-shell) .menu-toggle{display:none!important}
  body:not(.operator-shell) .app-header .brand.brand-image{
    min-width:0!important;
    flex:0 0 auto!important;
  }
  body:not(.operator-shell) .app-header .brand.brand-image img{
    height:58px!important;
    width:auto!important;
    max-width:300px!important;
    object-fit:contain!important;
  }
  body:not(.operator-shell) .app-header .account{
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    max-width:48vw!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }
  body:not(.operator-shell) .app-header .account .link{
    min-height:36px!important;
    padding:7px 12px!important;
    border-radius:10px!important;
    flex:0 0 auto!important;
  }

  body:not(.operator-shell) .app-layout,
  body:not(.operator-shell).menu-expanded .app-layout,
  body:not(.operator-shell):not(.menu-expanded) .app-layout{
    display:block!important;
    grid-template-columns:none!important;
    min-height:calc(100vh - 72px)!important;
  }

  body:not(.operator-shell) .side-menu,
  body:not(.operator-shell).menu-expanded .side-menu,
  body:not(.operator-shell):not(.menu-expanded) .side-menu{
    position:sticky!important;
    top:72px!important;
    z-index:120!important;
    width:100%!important;
    height:auto!important;
    min-height:52px!important;
    max-height:none!important;
    padding:6px 18px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    transform:none!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    border-radius:0!important;
    background:linear-gradient(90deg,#0b2949 0%,#0d3155 55%,#0a2948 100%)!important;
    box-shadow:0 6px 18px rgba(7,26,49,.12)!important;
  }

  body:not(.operator-shell) .side-menu nav{
    order:1!important;
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:4px!important;
  }
  body:not(.operator-shell) .side-menu nav button,
  body:not(.operator-shell).menu-expanded .side-menu nav button,
  body:not(.operator-shell):not(.menu-expanded) .side-menu nav button{
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    padding:7px 10px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    border-radius:9px!important;
    font-size:11.5px!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  body:not(.operator-shell) .side-menu nav button span,
  body:not(.operator-shell):not(.menu-expanded) .side-menu nav button span{
    display:inline!important;
  }
  body:not(.operator-shell) .side-menu nav button::before,
  body:not(.operator-shell):not(.menu-expanded) .side-menu nav button::before,
  body:not(.operator-shell).menu-expanded .side-menu nav button::before{
    width:auto!important;
    min-width:15px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1!important;
  }
  body:not(.operator-shell) .side-menu nav button.link:hover{
    transform:none!important;
    background:rgba(255,255,255,.10)!important;
  }
  body:not(.operator-shell) .side-menu nav button.active{
    background:linear-gradient(135deg,#3478f6,#2563eb)!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(37,99,235,.28)!important;
  }

  body:not(.operator-shell) .side-menu>label,
  body:not(.operator-shell):not(.menu-expanded) .side-menu>label{
    order:2!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    color:#dceafb!important;
    font-size:10px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  body:not(.operator-shell) .side-menu>label::before{content:"Pátio";font-size:10px!important;opacity:.88}
  body:not(.operator-shell) .side-menu>label select{
    width:auto!important;
    min-width:128px!important;
    max-width:190px!important;
    min-height:36px!important;
    padding:6px 28px 6px 9px!important;
    margin:0!important;
    border-radius:9px!important;
    font-size:11px!important;
    box-shadow:none!important;
  }

  /* O instalador continua disponível no menu móvel, mas não ocupa espaço no topo do PC. */
  body:not(.operator-shell) .side-menu nav .parkingjp-install-button{display:none!important}

  body:not(.operator-shell) .app-main,
  body:not(.operator-shell):not(.menu-expanded) .app-main{
    width:100%!important;
    max-width:1920px!important;
    margin:0 auto!important;
    padding:18px 22px 36px!important;
  }

  /* Área operacional mais larga, aproveitando o espaço liberado pelo menu lateral. */
  body:not(.operator-shell) .option1-grid,
  body:not(.operator-shell) .grid.option1-grid{
    grid-template-columns:minmax(300px,340px) minmax(0,1fr)!important;
    gap:14px!important;
  }

  /* aparência mais próxima do painel escolhido */
  body:not(.operator-shell) .yard-metrics article{
    background:#fff!important;
    border:1px solid #dfe8f3!important;
    box-shadow:0 7px 20px rgba(15,35,70,.055)!important;
  }
  body:not(.operator-shell) .yard-main > .card,
  body:not(.operator-shell) .register-panel{
    box-shadow:0 8px 24px rgba(15,35,70,.055)!important;
  }
}

/* Notebook: mantém menu superior, permitindo duas linhas sem cortar opções. */
@media (min-width:981px) and (max-width:1240px){
  body:not(.operator-shell) .side-menu{align-items:flex-start!important;padding:6px 10px!important}
  body:not(.operator-shell) .side-menu nav{gap:3px!important}
  body:not(.operator-shell) .side-menu nav button{padding:7px 7px!important;font-size:10.5px!important}
  body:not(.operator-shell) .side-menu>label{margin-top:2px!important}
  body:not(.operator-shell) .side-menu>label select{max-width:150px!important;min-width:110px!important}
  body:not(.operator-shell) .option1-grid,
  body:not(.operator-shell) .grid.option1-grid{grid-template-columns:minmax(275px,305px) minmax(0,1fr)!important}
}

/* Celular: cabeçalho limpo + gaveta lateral. */
@media (max-width:760px){
  .app-header{box-shadow:0 5px 16px rgba(7,26,49,.16)!important}
  .app-header .brand.brand-image img{height:36px!important;max-width:132px!important}
  .menu-toggle{border-radius:10px!important}
  .side-menu{box-shadow:14px 0 34px rgba(7,26,49,.22)!important}
  .side-menu>label{margin-bottom:12px!important}
  .side-menu nav{gap:5px!important}
  .side-menu nav button{border-radius:10px!important}
  .parkingjp-install-button{margin-top:8px!important}
}


/* ======================================================================
   v150 — CORREÇÃO DO MENU SUPERIOR + COMPOSIÇÃO DO MODELO ESCOLHIDO
   Corrige a herança flex-direction:column do CSS legado e aproxima a
   operação do mockup aprovado sem alterar regras de negócio.
   ====================================================================== */
@media (min-width:981px){
  body:not(.operator-shell) .side-menu nav,
  body:not(.operator-shell).menu-expanded .side-menu nav,
  body:not(.operator-shell):not(.menu-expanded) .side-menu nav{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    padding:0!important;
  }
  body:not(.operator-shell) .side-menu nav::-webkit-scrollbar{display:none!important}

  body:not(.operator-shell) .side-menu{
    min-height:54px!important;
    height:54px!important;
    padding:6px 18px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body:not(.operator-shell) .side-menu nav button,
  body:not(.operator-shell).menu-expanded .side-menu nav button,
  body:not(.operator-shell):not(.menu-expanded) .side-menu nav button{
    flex:0 0 auto!important;
    min-height:40px!important;
    height:40px!important;
    width:auto!important;
    padding:7px 10px!important;
    text-align:center!important;
  }

  body:not(.operator-shell) .side-menu>label,
  body:not(.operator-shell):not(.menu-expanded) .side-menu>label{
    flex:0 0 auto!important;
    margin-left:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:7px!important;
    height:40px!important;
  }
  body:not(.operator-shell) .side-menu>label::before{
    content:"●"!important;
    color:#22c55e!important;
    font-size:12px!important;
    opacity:1!important;
  }
  body:not(.operator-shell) .side-menu>label select{
    min-width:180px!important;
    max-width:240px!important;
    height:38px!important;
    min-height:38px!important;
    padding:5px 28px 5px 10px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:#0f365e!important;
    color:#fff!important;
    font-weight:800!important;
  }

  body:not(.operator-shell) .app-header{
    min-height:68px!important;
    height:68px!important;
    padding:5px 24px!important;
  }
  body:not(.operator-shell) .app-header .brand.brand-image img{
    height:52px!important;
    max-width:270px!important;
  }
  body:not(.operator-shell) .side-menu{top:68px!important}
  body:not(.operator-shell) .app-layout{min-height:calc(100vh - 122px)!important}

  /* Painel no formato do mockup: métricas em cima; formulário e pátio abaixo. */
  body:not(.operator-shell) .option1-grid,
  body:not(.operator-shell) .grid.option1-grid{
    display:grid!important;
    grid-template-columns:minmax(315px,360px) minmax(0,1fr)!important;
    grid-template-areas:
      "metrics metrics"
      "register vehicles"!important;
    gap:14px!important;
    align-items:start!important;
  }
  body:not(.operator-shell) .option1-grid > .register-panel{
    grid-area:register!important;
    margin:0!important;
  }
  body:not(.operator-shell) .option1-grid > .yard-main{
    display:contents!important;
  }
  body:not(.operator-shell) .option1-grid .yard-metrics{
    grid-area:metrics!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    margin:0!important;
  }
  body:not(.operator-shell) .option1-grid .yard-main > .card{
    grid-area:vehicles!important;
    margin:0!important;
    min-height:100%!important;
  }

  body:not(.operator-shell) .yard-metrics article{
    min-height:82px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:12px 16px!important;
  }
  body:not(.operator-shell) .yard-metrics article span{font-size:12px!important}
  body:not(.operator-shell) .yard-metrics article strong{font-size:30px!important}

  body:not(.operator-shell) .app-main{
    max-width:1680px!important;
    padding:16px 22px 34px!important;
  }

  /* Aparência compacta semelhante ao modelo escolhido. */
  body:not(.operator-shell) .register-panel,
  body:not(.operator-shell) .yard-main > .card,
  body:not(.operator-shell) .yard-metrics article{
    border:1px solid #dbe6f2!important;
    box-shadow:0 7px 22px rgba(15,35,70,.06)!important;
  }
  body:not(.operator-shell) .register-panel h1{
    text-align:left!important;
    font-size:20px!important;
  }
  body:not(.operator-shell) .yard-main .section-title h2{font-size:19px!important}
  body:not(.operator-shell) .yard-main .scroll tr:hover{background:#f7faff!important}
}

/* Notebook: continua horizontal e nunca volta a formar a coluna gigante. */
@media (min-width:981px) and (max-width:1240px){
  body:not(.operator-shell) .side-menu{height:52px!important;min-height:52px!important;padding:5px 10px!important}
  body:not(.operator-shell) .side-menu nav{flex-wrap:nowrap!important;overflow-x:auto!important}
  body:not(.operator-shell) .side-menu nav button{font-size:10px!important;padding:6px 7px!important;min-height:38px!important;height:38px!important}
  body:not(.operator-shell) .side-menu>label select{min-width:145px!important;max-width:170px!important;font-size:10px!important}
  body:not(.operator-shell) .option1-grid,
  body:not(.operator-shell) .grid.option1-grid{
    grid-template-columns:minmax(285px,315px) minmax(0,1fr)!important;
  }
}

/* Mobile do modelo aprovado: métricas primeiro, formulário depois e lista em cartões. */
@media (max-width:760px){
  .option1-grid,.grid.option1-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .option1-grid > .yard-main{display:contents!important}
  .option1-grid .yard-metrics{order:1!important}
  .option1-grid > .register-panel{order:2!important}
  .option1-grid .yard-main > .card{order:3!important}
  .yard-metrics article{box-shadow:0 5px 16px rgba(15,35,70,.05)!important}
}

/* =====================================================================
   v155 — LAYOUT FINAL CORRIGIDO (PC + CELULAR)
   Aparência próxima ao mockup escolhido, preservando toda a lógica.
   ===================================================================== */
body.pc-v154-modern{background:#eef4fb!important;color:#0c2a4d}
body.pc-v154-modern .app-main{background:#eef4fb!important}
body.pc-v154-modern button{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
body.pc-v154-modern button:active{transform:translateY(1px)}
body.pc-v154-modern .card{border-color:#dce7f3!important;box-shadow:0 6px 18px rgba(19,55,91,.055)!important}

/* ---------- Cabeçalho / menu ---------- */
body.pc-v154-modern .app-header{background:linear-gradient(90deg,#052a4d 0%,#07345d 55%,#062744 100%)!important;border:0!important;color:#fff!important}
body.pc-v154-modern .app-header .brand img{filter:none!important}
body.pc-v154-modern .pc-v154-yard-pill,
body.pc-v154-modern .pc-v154-header-online{border:1px solid rgba(255,255,255,.17);background:rgba(5,29,52,.28);color:#fff;border-radius:999px;display:flex;align-items:center;gap:7px;font-weight:800;white-space:nowrap}
body.pc-v154-modern .pc-v154-yard-pill{padding:8px 12px!important;box-shadow:none!important}
body.pc-v154-modern .pc-v154-chevron{font-size:13px;opacity:.85}
body.pc-v154-modern .pc-v154-dot{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.13);display:inline-block;flex:none}
body.pc-v154-modern .pc-v154-online-indicator.offline .pc-v154-dot{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.12)}
body.pc-v154-modern .pc-v154-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf5ff;color:#175cb9;font-weight:900;border:2px solid rgba(255,255,255,.75);flex:none}
body.pc-v154-modern .pc-v154-header-online{padding:7px 10px;font-size:12px}
body.pc-v154-modern .pc-nav-icon{width:22px;height:22px;display:grid;place-items:center;flex:none;color:currentColor}
body.pc-v154-modern .pc-nav-icon svg{width:20px;height:20px}
body.pc-v154-modern #side-menu nav > button::before{display:none!important}

@media (min-width:981px){
  body.pc-v154-modern .app-header{height:74px!important;min-height:74px!important;padding:8px 28px!important;gap:16px!important;position:sticky!important;top:0!important;z-index:140!important}
  body.pc-v154-modern .app-header .brand img{height:55px!important;max-width:280px!important}
  body.pc-v154-modern .app-header .pc-v154-yard-pill{margin-left:auto!important;order:2}
  body.pc-v154-modern .app-header .account{order:3;margin-left:0!important;display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-size:12px!important}
  body.pc-v154-modern .app-header .account .pc-v154-avatar{order:2}
  body.pc-v154-modern .app-header .account #logout{order:3;color:#fff!important;border:1px solid rgba(255,255,255,.13)!important;background:rgba(255,255,255,.06)!important;padding:8px 10px!important}
  body.pc-v154-modern .pc-v154-header-online{display:none!important}

  body.pc-v154-modern .side-menu{top:74px!important;height:64px!important;min-height:64px!important;padding:7px 28px!important;background:linear-gradient(90deg,#062948 0%,#07345d 55%,#062948 100%)!important;box-shadow:0 4px 14px rgba(7,31,56,.12)!important;overflow:visible!important}
  body.pc-v154-modern .side-menu nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:7px!important;overflow:visible!important;align-items:stretch!important}
  body.pc-v154-modern .side-menu nav > button{height:50px!important;min-height:50px!important;padding:6px 14px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;border-radius:9px!important;color:#fff!important;background:transparent!important;font-size:11px!important;font-weight:800!important;line-height:1.1!important;min-width:78px!important}
  body.pc-v154-modern .side-menu nav > button:hover{background:rgba(255,255,255,.08)!important;filter:none!important;transform:none!important}
  body.pc-v154-modern .side-menu nav > button.active{background:linear-gradient(135deg,#3480ff,#1766eb)!important;box-shadow:0 8px 18px rgba(37,99,235,.30)!important}
  body.pc-v154-modern .side-menu nav > button .pc-nav-icon{height:23px!important}
  body.pc-v154-modern .side-menu nav > button .pc-nav-icon svg{width:20px;height:20px}
  body.pc-v154-modern .side-menu nav > button span:not(.pc-nav-icon){display:block!important}
  body.pc-v154-modern .yard-submenu{position:absolute!important;top:60px!important;left:22px!important;z-index:180!important;min-width:240px!important;margin:0!important;padding:10px!important;border:1px solid #dce7f3!important;border-radius:12px!important;background:#fff!important;color:#173251!important;box-shadow:0 16px 38px rgba(6,37,67,.20)!important}
  body.pc-v154-modern .side-menu nav .yard-submenu-item{color:#173251!important}
  body.pc-v154-modern .side-menu nav .yard-submenu-item.selected{color:#1766eb!important;background:#eaf2ff!important}
  body.pc-v154-modern .app-layout{min-height:calc(100vh - 138px)!important}
  body.pc-v154-modern .app-main{max-width:1780px!important;padding:16px 28px 34px!important}

  /* métricas + data + status */
  body.pc-v154-modern .option1-grid .yard-metrics{grid-template-columns:1.12fr 1fr 1fr 1.45fr .8fr!important;gap:12px!important}
  body.pc-v154-modern .yard-metrics > article{min-height:86px!important;padding:12px 14px!important;display:grid!important;grid-template-columns:52px 1fr!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:10px!important;border-radius:14px!important;background:#fff!important}
  body.pc-v154-modern .yard-metrics > article > .pc-v154-metric-icon{grid-column:1;grid-row:1/3}
  body.pc-v154-modern .yard-metrics > article > span:not(.pc-v154-metric-icon){grid-column:2;grid-row:1;font-size:11px!important;color:#29496d!important;font-weight:750!important}
  body.pc-v154-modern .yard-metrics > article > strong{grid-column:2;grid-row:2;font-size:28px!important;margin:0!important;color:#0c2a4d!important}
  body.pc-v154-modern .pc-v154-metric-icon{width:46px;height:46px;border-radius:11px;display:grid!important;place-items:center;background:#eaf2ff;color:#1766eb}
  body.pc-v154-modern .pc-v154-metric-icon svg{width:27px;height:27px}
  body.pc-v154-modern .pc-v154-enter{background:#e7f8ee;color:#18a957}
  body.pc-v154-modern .pc-v154-exit{background:#ffeded;color:#ef3f43}
  body.pc-v154-modern .pc-v154-date-card{grid-template-columns:48px 1fr 34px auto!important;grid-template-rows:1fr!important;column-gap:8px!important}
  body.pc-v154-modern .pc-v154-date-card .pc-v154-calendar{grid-column:1;grid-row:1}
  body.pc-v154-modern .pc-v154-date-text{grid-column:2;grid-row:1;display:grid;gap:2px;color:#15385f}
  body.pc-v154-modern .pc-v154-date-text strong{font-size:12px}
  body.pc-v154-modern .pc-v154-date-text span{font-size:12px}
  body.pc-v154-modern .pc-v154-clock-icon{grid-column:3;grid-row:1;color:#1766eb;display:grid;place-items:center}
  body.pc-v154-modern .pc-v154-clock-icon svg{width:26px;height:26px}
  body.pc-v154-modern .pc-v154-time-text{grid-column:4!important;grid-row:1!important;font-size:25px!important;margin:0!important;white-space:nowrap}
  body.pc-v154-modern .pc-v154-online-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;grid-template-columns:none!important;background:#fff!important}
  body.pc-v154-modern .pc-v154-online-main{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:#10a84e;color:#fff;font-weight:900;font-size:13px}
  body.pc-v154-modern .pc-v154-online-card.offline .pc-v154-online-main{background:#d8392f}
  body.pc-v154-modern .pc-v154-online-card small{color:#687d95;font-size:10px}

  /* área principal */
  body.pc-v154-modern .option1-grid,body.pc-v154-modern .grid.option1-grid{grid-template-columns:minmax(350px,420px) minmax(0,1fr)!important;gap:14px!important}
  body.pc-v154-modern .register-panel,body.pc-v154-modern .yard-main > .card{border-radius:14px!important;background:#fff!important}
  body.pc-v154-modern .register-panel h1,body.pc-v154-modern .yard-main .section-title h2{font-size:18px!important;font-weight:900!important;color:#0c2a4d!important;display:flex!important;align-items:center!important;gap:8px!important}
  body.pc-v154-modern .pc-v154-title-icon{display:inline-grid;place-items:center;color:#1766eb}
  body.pc-v154-modern .pc-v154-title-icon svg{width:24px;height:24px}
  body.pc-v154-modern .register-panel h1{padding:14px 16px!important;border-bottom:1px solid #e7eef7!important}
  body.pc-v154-modern .register-panel form{padding:12px 16px 16px!important;margin:0!important}
  body.pc-v154-modern .register-panel input,body.pc-v154-modern .register-panel select{border-color:#d7e3ef!important;background:#fff!important}
  body.pc-v154-modern .register-primary{background:linear-gradient(135deg,#0d75ff,#1766eb)!important;box-shadow:0 8px 18px rgba(23,102,235,.20)!important}
  body.pc-v154-modern .yard-main > .card{padding:14px!important}
  body.pc-v154-modern .yard-main .section-title{padding:2px 2px 8px!important}
  body.pc-v154-modern .yard-main .section-title #refresh{font-size:11px!important;padding:7px 10px!important;background:#eef5ff!important;color:#1766eb!important}
  body.pc-v154-modern .yard-main .scroll{border:1px solid #e1e9f3!important;border-radius:11px!important;overflow:hidden!important}
  body.pc-v154-modern .yard-main table{background:#fff!important}
  body.pc-v154-modern .yard-main thead{background:#edf3f9!important}
  body.pc-v154-modern .yard-main th{background:#edf3f9!important;color:#29496d!important;font-size:10px!important;font-weight:900!important}
  body.pc-v154-modern .yard-main td{border-bottom:1px solid #e7eef6!important}
  body.pc-v154-modern .vehicle-thumb{width:52px!important;height:44px!important;border-radius:9px!important}
  body.pc-v154-modern .vehicle-plate{font-size:14px!important;color:#102d4f!important}
  body.pc-v154-modern .ticket-code{background:#e7f0ff!important;color:#1766eb!important;padding:2px 7px!important;border-radius:999px!important;font-weight:900!important}
  body.pc-v154-modern .row-actions{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;align-items:center!important}
  body.pc-v154-modern .row-actions > .pc-v154-row-menu{display:contents!important}
  body.pc-v154-modern .pc-v154-more{display:none!important}
  body.pc-v154-modern .row-actions button{min-height:34px!important;padding:6px 10px!important;font-size:11px!important;border-radius:8px!important}
  body.pc-v154-modern .row-actions button[data-exit]{background:#0d6dff!important;color:#fff!important;display:inline-flex!important;align-items:center!important;gap:4px!important}
  body.pc-v154-modern .pc-v154-exit-icon svg{width:16px;height:16px}
  body.pc-v154-modern .row-actions button.link{background:#fff!important;color:#1766eb!important;border:1px solid #dce7f3!important}
}

/* ---------- CELULAR ---------- */
@media (max-width:760px){
  body.pc-v154-modern{background:#edf4fb!important}
  body.pc-v154-modern .app-header{height:82px!important;min-height:82px!important;padding:10px 12px!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:7px!important;position:sticky!important;top:0!important;z-index:220!important}
  body.pc-v154-modern .app-header .brand{order:1!important;flex:1 1 auto!important;min-width:0!important}
  body.pc-v154-modern .app-header .brand img{height:42px!important;max-width:170px!important}
  body.pc-v154-modern .pc-v154-yard-pill{order:2!important;padding:7px 9px!important;font-size:11px!important;max-width:116px!important;overflow:hidden!important}
  body.pc-v154-modern .pc-v154-yard-pill span:nth-child(2){overflow:hidden;text-overflow:ellipsis}
  body.pc-v154-modern .pc-v154-header-online{order:3!important;display:none!important}
  body.pc-v154-modern .menu-toggle{order:4!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;padding:0!important;font-size:27px!important;line-height:1!important;color:#fff!important;background:transparent!important;border:0!important}
  body.pc-v154-modern .app-header .account{display:none!important}

  body.pc-v154-modern .side-menu{position:fixed!important;top:82px!important;left:0!important;bottom:0!important;width:min(82vw,320px)!important;height:auto!important;max-height:none!important;z-index:210!important;padding:14px 12px!important;background:#072c4f!important;box-shadow:18px 0 42px rgba(2,26,49,.28)!important;transform:translateX(-105%)!important;display:block!important;overflow-y:auto!important}
  body.pc-v154-modern .side-menu.is-open,body.pc-v154-modern.menu-expanded .side-menu{transform:translateX(0)!important}
  body.pc-v154-modern .side-menu nav{display:flex!important;flex-direction:column!important;gap:6px!important}
  body.pc-v154-modern .side-menu nav > button{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;text-align:left!important;padding:11px 12px!important;color:#fff!important;border-radius:10px!important;font-size:13px!important}
  body.pc-v154-modern .side-menu nav > button.active{background:#1766eb!important}
  body.pc-v154-modern .side-menu nav > button .pc-nav-icon{width:22px!important}
  body.pc-v154-modern .side-menu nav > button span:not(.pc-nav-icon){display:inline!important}
  body.pc-v154-modern .yard-submenu{margin:4px 0 8px 12px!important;border-left:2px solid rgba(255,255,255,.15)!important;color:#fff!important}
  body.pc-v154-modern .side-menu nav .yard-submenu-item{color:#e9f3ff!important}

  body.pc-v154-modern .app-main{padding:9px!important;background:#edf4fb!important}
  body.pc-v154-modern .feedback:empty{display:none!important}
  body.pc-v154-modern .option1-grid,body.pc-v154-modern .grid.option1-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  body.pc-v154-modern .option1-grid > .yard-main{display:contents!important}
  body.pc-v154-modern .option1-grid .yard-metrics{order:1!important}
  body.pc-v154-modern .option1-grid > .register-panel{order:2!important}
  body.pc-v154-modern .option1-grid .yard-main > .card{order:3!important}

  body.pc-v154-modern .yard-metrics,body.pc-v154-modern .metrics.yard-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0!important}
  body.pc-v154-modern .yard-metrics > article{min-height:86px!important;padding:9px 4px!important;border-radius:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;text-align:center!important;background:#fff!important;border:1px solid #dce7f3!important;box-shadow:0 5px 14px rgba(20,54,88,.04)!important}
  body.pc-v154-modern .yard-metrics > article:nth-child(n+4){display:none!important}
  body.pc-v154-modern .pc-v154-metric-icon{width:38px;height:38px;border-radius:10px;display:grid!important;place-items:center;background:#eaf2ff;color:#1766eb;margin-bottom:2px}
  body.pc-v154-modern .pc-v154-metric-icon svg{width:23px;height:23px}
  body.pc-v154-modern .pc-v154-enter{background:#e9f8ee;color:#18a957}
  body.pc-v154-modern .pc-v154-exit{background:#ffeded;color:#ef3f43}
  body.pc-v154-modern .yard-metrics > article > span:not(.pc-v154-metric-icon){font-size:9px!important;line-height:1.05!important;color:#556f8b!important;font-weight:750!important;order:3}
  body.pc-v154-modern .yard-metrics > article > strong{font-size:25px!important;line-height:1!important;margin:0!important;color:#0c2a4d!important;order:2}

  body.pc-v154-modern .register-panel{border-radius:13px!important;margin:0!important;background:#fff!important;overflow:hidden!important}
  body.pc-v154-modern .register-panel h1{font-size:17px!important;padding:12px 13px!important;margin:0!important;border-bottom:1px solid #e5edf6!important;display:flex!important;align-items:center!important;gap:7px!important}
  body.pc-v154-modern .pc-v154-title-icon{display:inline-grid;color:#1766eb}
  body.pc-v154-modern .pc-v154-title-icon svg{width:22px;height:22px}
  body.pc-v154-modern .register-panel form{padding:10px 12px 12px!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.pc-v154-modern .register-panel form > label:first-of-type{grid-column:1!important}
  body.pc-v154-modern .register-panel form > label:has(select[name="rate_category"]){grid-column:2!important}
  body.pc-v154-modern .register-panel form > #member-info,body.pc-v154-modern .register-panel form > input[type="hidden"]{grid-column:1/-1!important}
  body.pc-v154-modern .register-panel form > fieldset,body.pc-v154-modern .register-panel form > label:has(input[name="vehicle_model"]),body.pc-v154-modern .register-panel form > label:has(input[name="notes"]),body.pc-v154-modern .register-panel form > .pc-multi-photo-fieldset{grid-column:1/-1!important}
  body.pc-v154-modern .register-panel .register-primary{grid-column:1/-1!important;min-height:43px!important;margin:0!important;background:#0d6dff!important;border-radius:8px!important;font-size:13px!important}
  body.pc-v154-modern .register-panel input,body.pc-v154-modern .register-panel select{min-height:39px!important;font-size:14px!important;padding:7px 9px!important}
  body.pc-v154-modern #hotel-fields:not([hidden]){grid-template-columns:1fr 1fr!important;gap:7px!important}
  body.pc-v154-modern #hotel-fields:not([hidden]) label:nth-of-type(3){grid-column:1/-1!important}

  body.pc-v154-modern .yard-main > .card{padding:11px!important;border-radius:13px!important;margin:0!important;background:#fff!important}
  body.pc-v154-modern .yard-main .section-title{display:flex!important;flex-direction:row!important;align-items:center!important;margin-bottom:8px!important;gap:7px!important}
  body.pc-v154-modern .yard-main .section-title h2{font-size:17px!important;margin:0!important;display:flex!important;align-items:center!important;gap:7px!important}
  body.pc-v154-modern .yard-main .section-title #refresh{margin-left:auto!important;width:auto!important;min-height:30px!important;padding:5px 8px!important;background:transparent!important;color:#1766eb!important;font-size:10px!important}
  body.pc-v154-modern .yard-main input[type="search"]{height:41px!important;min-height:41px!important;border-radius:9px!important;font-size:13px!important;padding:8px 10px!important;background:#fff!important;border-color:#d9e5f1!important}
  body.pc-v154-modern .yard-main .section-title[style*="margin-top:10px"]{font-size:10px!important;padding:6px!important;margin:7px 0!important}

  /* cartões de veículos — formato do mockup */
  body.pc-v154-modern .yard-main .scroll{overflow:visible!important;border:0!important;background:transparent!important}
  body.pc-v154-modern .yard-main .scroll table{display:block!important;width:100%!important;min-width:0!important}
  body.pc-v154-modern .yard-main .scroll thead{display:none!important}
  body.pc-v154-modern .yard-main .scroll tbody{display:grid!important;gap:8px!important}
  body.pc-v154-modern .yard-main .scroll tr{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr) .72fr 82px!important;grid-template-areas:"plate plate action" "entry type action" "guest guest action"!important;column-gap:7px!important;row-gap:0!important;width:100%!important;padding:10px!important;border:1px solid #dce7f3!important;border-radius:13px!important;background:#fff!important;box-shadow:0 5px 15px rgba(20,54,88,.045)!important}
  body.pc-v154-modern .yard-main .scroll td{width:auto!important;min-width:0!important;padding:4px 0!important;border:0!important;display:flex!important;align-items:center!important;gap:6px!important;font-size:10.5px!important;line-height:1.15!important;white-space:normal!important}
  body.pc-v154-modern .yard-main .scroll td::before{display:none!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Placa / Ticket"]{grid-area:plate!important;align-items:flex-start!important;padding:0 0 5px!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Entrada"]{grid-area:entry!important;border-top:1px solid #edf2f7!important;padding-top:7px!important;align-items:flex-start!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Tipo"]{grid-area:type!important;border-top:1px solid #edf2f7!important;padding-top:7px!important;align-items:flex-start!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Hóspede / Apartamento"]{grid-area:guest!important;border-top:1px solid #edf2f7!important;padding-top:7px!important;display:grid!important;grid-template-columns:18px 1fr 1fr!important;align-items:start!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Ação"]{grid-area:action!important;display:block!important;padding:0!important;align-self:stretch!important}
  body.pc-v154-modern .yard-main .scroll td:has([data-hotel-select]){display:none!important}

  body.pc-v154-modern .plate-ticket-cell{display:flex!important;gap:9px!important;align-items:flex-start!important;width:100%!important}
  body.pc-v154-modern .vehicle-thumb{width:66px!important;height:58px!important;flex:0 0 66px!important;border-radius:10px!important;object-fit:cover!important;background:#f2f6fb!important}
  body.pc-v154-modern .plate-ticket-info{min-width:0!important;display:block!important}
  body.pc-v154-modern .vehicle-plate{display:block!important;font-size:15px!important;line-height:1.05!important;font-weight:950!important;color:#092a50!important}
  body.pc-v154-modern .vehicle-name{font-size:11px!important;font-weight:850!important;color:#1c3554!important;margin-top:2px!important}
  body.pc-v154-modern .plate-ticket-info small:not(.vehicle-name):not(.ticket-code){font-size:10px!important;color:#3f5d7d!important;margin-top:2px!important}
  body.pc-v154-modern .ticket-code{font-size:10px!important;display:inline-block!important;width:auto!important;margin-top:3px!important;padding:3px 7px!important;background:#e7f0ff!important;color:#1766eb!important;border-radius:999px!important;font-weight:900!important}

  body.pc-v154-modern .pc-v154-cell-icon,body.pc-v154-modern .pc-v154-guest-icon,body.pc-v154-modern .pc-v154-apt-icon{display:inline-grid!important;place-items:center!important;color:#0d5cb8!important;flex:none}
  body.pc-v154-modern .pc-v154-cell-icon svg,body.pc-v154-modern .pc-v154-guest-icon svg,body.pc-v154-modern .pc-v154-apt-icon svg{width:17px;height:17px}
  body.pc-v154-modern td[data-label="Entrada"]::after{content:"Entrada";position:absolute;opacity:0;pointer-events:none}
  body.pc-v154-modern td[data-label="Entrada"]{color:#1f3c5d!important}
  body.pc-v154-modern td[data-label="Tipo"]{color:#1f3c5d!important}
  body.pc-v154-modern .guest-name,body.pc-v154-modern .guest-apartment{font-size:10px!important;line-height:1.15!important;color:#4b6580!important;display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important}
  body.pc-v154-modern .guest-name strong,body.pc-v154-modern .guest-apartment strong{font-size:10.5px!important;color:#0b2d50!important;white-space:normal!important;overflow-wrap:anywhere!important}
  body.pc-v154-modern .guest-apartment{grid-column:3!important}
  body.pc-v154-modern .pc-v154-guest-icon{grid-column:1!important;grid-row:1!important}

  body.pc-v154-modern .row-actions{position:relative!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;height:100%!important;gap:6px!important;margin:0!important}
  body.pc-v154-modern .row-actions > button[data-exit]{order:2!important;margin-top:auto!important;width:100%!important;min-height:54px!important;padding:7px 4px!important;border-radius:9px!important;background:#0d6dff!important;color:#fff!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;font-size:11px!important;font-weight:850!important;box-shadow:0 7px 16px rgba(13,109,255,.20)!important}
  body.pc-v154-modern .pc-v154-exit-icon svg{width:22px;height:22px}
  body.pc-v154-modern .pc-v154-more{order:1!important;display:grid!important;place-items:center!important;align-self:flex-end!important;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:9px!important;background:#f3f7fc!important;color:#173b65!important;border:1px solid #dce7f3!important}
  body.pc-v154-modern .pc-v154-more svg{width:20px;height:20px}
  body.pc-v154-modern .pc-v154-row-menu{display:none!important;position:absolute!important;right:0!important;top:38px!important;z-index:50!important;min-width:118px!important;padding:6px!important;border-radius:10px!important;background:#fff!important;border:1px solid #dce7f3!important;box-shadow:0 12px 28px rgba(12,42,77,.18)!important}
  body.pc-v154-modern .pc-v154-row-menu.is-open{display:grid!important;gap:4px!important}
  body.pc-v154-modern .pc-v154-row-menu button{width:100%!important;min-height:32px!important;padding:6px 8px!important;border-radius:7px!important;background:#f5f9fe!important;color:#1766eb!important;font-size:10px!important;border:0!important;text-align:left!important}

  body.pc-v154-modern #pc-offline-status{left:10px!important;right:auto!important;bottom:8px!important;max-width:calc(100vw - 20px)!important;font-size:10px!important;padding:8px 10px!important}
}

@media (max-width:390px){
  body.pc-v154-modern .app-header .brand img{height:37px!important;max-width:142px!important}
  body.pc-v154-modern .pc-v154-yard-pill{font-size:10px!important;max-width:100px!important;padding:6px 7px!important}
  body.pc-v154-modern .yard-main .scroll tr{grid-template-columns:minmax(0,1fr) .68fr 72px!important;padding:8px!important}
  body.pc-v154-modern .vehicle-thumb{width:58px!important;height:52px!important;flex-basis:58px!important}
  body.pc-v154-modern .vehicle-plate{font-size:14px!important}
  body.pc-v154-modern .row-actions > button[data-exit]{min-height:50px!important;font-size:10px!important}
}


/* =====================================================================
   v155 — correção visual do PC
   No desktop o mockup usa tabela compacta. Os ícones internos dos cartões
   são exclusivos do celular e não podem aumentar a altura das linhas.
   ===================================================================== */
@media (min-width:761px){
  body.pc-v154-modern .pc-v154-cell-icon,
  body.pc-v154-modern .pc-v154-guest-icon,
  body.pc-v154-modern .pc-v154-apt-icon,
  body.pc-v154-modern .pc-v154-exit-icon,
  body.pc-v154-modern .pc-v154-row-menu,
  body.pc-v154-modern .pc-v154-more{display:none!important}

  body.pc-v154-modern .yard-main .scroll svg{
    max-width:22px!important;
    max-height:22px!important;
  }
  body.pc-v154-modern .yard-main .scroll tr{
    min-height:0!important;
    height:auto!important;
  }
  body.pc-v154-modern .yard-main .scroll td{
    min-height:0!important;
    height:auto!important;
  }
  body.pc-v154-modern .yard-main .row-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    height:auto!important;
  }
  body.pc-v154-modern .yard-main .row-actions > button,
  body.pc-v154-modern .yard-main .row-actions > .link{
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    height:34px!important;
    padding:6px 10px!important;
    border-radius:8px!important;
    font-size:11px!important;
    line-height:1!important;
    flex:0 0 auto!important;
  }
  body.pc-v154-modern .yard-main .row-actions > button[data-exit]{
    display:inline-flex!important;
    flex-direction:row!important;
    margin:0!important;
    min-height:34px!important;
    height:34px!important;
    width:auto!important;
    padding:6px 12px!important;
    box-shadow:0 5px 12px rgba(13,109,255,.16)!important;
  }
}


/* =====================================================================
   v157 — menu superior mais limpo no computador
   Principais: Pátio, Meu caixa, Mensalistas, Contratos, Dashboard.
   Demais áreas ficam em “Mais”. No celular a gaveta continua completa.
   ===================================================================== */
@media (min-width:981px){
  body.pc-v154-modern #side-menu nav{position:relative!important}
  body.pc-v154-modern .pc-v157-more-wrap{position:relative!important;height:50px!important;display:flex!important;align-items:stretch!important;flex:0 0 auto!important}
  body.pc-v154-modern .pc-v157-more-trigger{height:50px!important;min-height:50px!important;min-width:78px!important;padding:6px 12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#fff!important;font-size:11px!important;font-weight:800!important;line-height:1.05!important;box-shadow:none!important}
  body.pc-v154-modern .pc-v157-more-trigger:hover{background:rgba(255,255,255,.08)!important;filter:none!important;transform:none!important}
  body.pc-v154-modern .pc-v157-more-trigger.active{background:linear-gradient(135deg,#3480ff,#1766eb)!important;box-shadow:0 8px 18px rgba(37,99,235,.30)!important}
  body.pc-v154-modern .pc-v157-more-icon{width:22px;height:22px;display:grid;place-items:center}
  body.pc-v154-modern .pc-v157-more-icon svg{width:21px;height:21px}
  body.pc-v154-modern .pc-v157-more-chevron{position:absolute;right:7px;bottom:5px;font-size:10px;opacity:.7}
  body.pc-v154-modern .pc-v157-more-menu{display:none!important;position:absolute!important;right:0!important;top:56px!important;z-index:250!important;min-width:245px!important;padding:8px!important;border:1px solid #dce7f3!important;border-radius:13px!important;background:#fff!important;box-shadow:0 18px 44px rgba(6,37,67,.24)!important}
  body.pc-v154-modern .pc-v157-more-menu.is-open{display:grid!important;gap:4px!important}
  body.pc-v154-modern .pc-v157-more-menu > button[data-view]{width:100%!important;height:auto!important;min-height:44px!important;min-width:0!important;padding:8px 10px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;border-radius:9px!important;background:transparent!important;color:#173251!important;text-align:left!important;font-size:12px!important;font-weight:800!important;box-shadow:none!important}
  body.pc-v154-modern .pc-v157-more-menu > button[data-view]:hover{background:#f1f6fd!important;color:#1766eb!important}
  body.pc-v154-modern .pc-v157-more-menu > button[data-view].active,
  body.pc-v154-modern .pc-v157-more-menu > button[data-view][aria-current="page"]{background:#eaf2ff!important;color:#1766eb!important}
  body.pc-v154-modern .pc-v157-more-menu > button[data-view] .pc-nav-icon{width:22px!important;height:22px!important;display:grid!important;place-items:center!important;flex:none!important}
  body.pc-v154-modern .pc-v157-more-menu > button[data-view] .pc-nav-icon svg{width:20px!important;height:20px!important}
  body.pc-v154-modern .pc-v157-more-menu > button[data-view] span:not(.pc-nav-icon){display:inline!important}
}
@media (max-width:980px){
  body.pc-v154-modern .pc-v157-more-wrap{display:none!important}
}


/* =====================================================================
   v158 — uma única barra de menu no desktop + “Mais” funcional
   ===================================================================== */
.pc-v158-duplicate-menu,
.pc-v158-duplicate-menu-shell{display:none!important}

@media (min-width:981px){
  body.pc-v154-modern #side-menu nav > button.pc-v158-secondary-source{display:none!important}
  body.pc-v154-modern .pc-v158-more-wrap{position:relative!important;height:50px!important;display:flex!important;align-items:stretch!important;flex:0 0 auto!important}
  body.pc-v154-modern .pc-v158-more-trigger{height:50px!important;min-height:50px!important;min-width:78px!important;padding:6px 12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#fff!important;font-size:11px!important;font-weight:800!important;line-height:1.05!important;box-shadow:none!important;cursor:pointer!important}
  body.pc-v154-modern .pc-v158-more-trigger:hover{background:rgba(255,255,255,.08)!important;filter:none!important;transform:none!important}
  body.pc-v154-modern .pc-v158-more-trigger.active{background:linear-gradient(135deg,#3480ff,#1766eb)!important;box-shadow:0 8px 18px rgba(37,99,235,.30)!important}
  body.pc-v154-modern .pc-v158-more-icon{width:22px!important;height:22px!important;display:grid!important;place-items:center!important}
  body.pc-v154-modern .pc-v158-more-icon svg{width:21px!important;height:21px!important}
  body.pc-v154-modern .pc-v158-more-chevron{position:absolute!important;right:7px!important;bottom:5px!important;font-size:10px!important;opacity:.72!important}
  body.pc-v154-modern .pc-v158-more-menu{display:none!important;position:absolute!important;right:0!important;top:56px!important;z-index:1000!important;min-width:245px!important;padding:8px!important;border:1px solid #dce7f3!important;border-radius:13px!important;background:#fff!important;box-shadow:0 18px 44px rgba(6,37,67,.24)!important}
  body.pc-v154-modern .pc-v158-more-menu.is-open{display:grid!important;gap:4px!important}
  body.pc-v154-modern .pc-v158-more-item{width:100%!important;min-height:44px!important;padding:8px 10px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#173251!important;text-align:left!important;font-size:12px!important;font-weight:800!important;box-shadow:none!important;cursor:pointer!important}
  body.pc-v154-modern .pc-v158-more-item:hover{background:#f1f6fd!important;color:#1766eb!important}
  body.pc-v154-modern .pc-v158-more-item.active{background:#eaf2ff!important;color:#1766eb!important}
  body.pc-v154-modern .pc-v158-more-item .pc-nav-icon{width:22px!important;height:22px!important;display:grid!important;place-items:center!important;flex:none!important}
  body.pc-v154-modern .pc-v158-more-item .pc-nav-icon svg{width:20px!important;height:20px!important}
}
@media (max-width:980px){
  body.pc-v154-modern .pc-v158-more-wrap{display:none!important}
  body.pc-v154-modern #side-menu nav > button.pc-v158-secondary-source{display:flex!important}
}

/* =====================================================================
   v159 — dropdown Mais robusto + um único botão de menu no celular
   ===================================================================== */
@media (min-width:981px){
  body.pc-v154-modern #side-menu,
  body.pc-v154-modern #side-menu nav{overflow:visible!important}
  body.pc-v154-modern #side-menu nav{position:relative!important}
  body.pc-v154-modern .pc-v159-more-wrap{position:relative!important;height:50px!important;display:flex!important;align-items:stretch!important;flex:0 0 auto!important}
  body.pc-v154-modern .pc-v159-more-trigger{height:50px!important;min-height:50px!important;min-width:78px!important;padding:6px 12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#fff!important;font-size:11px!important;font-weight:800!important;line-height:1.05!important;box-shadow:none!important;cursor:pointer!important;position:relative!important}
  body.pc-v154-modern .pc-v159-more-trigger:hover{background:rgba(255,255,255,.08)!important}
  body.pc-v154-modern .pc-v159-more-trigger.active{background:linear-gradient(135deg,#3480ff,#1766eb)!important;box-shadow:0 8px 18px rgba(37,99,235,.30)!important}
  body.pc-v154-modern .pc-v159-more-icon{width:22px!important;height:22px!important;display:grid!important;place-items:center!important}
  body.pc-v154-modern .pc-v159-more-icon svg{width:21px!important;height:21px!important}
  body.pc-v154-modern .pc-v159-more-chevron{position:absolute!important;right:7px!important;bottom:5px!important;font-size:10px!important;opacity:.72!important}
  body.pc-v154-modern #side-menu nav > button.pc-v159-secondary-source{display:none!important}
}
.pc-v159-more-portal{display:none;position:fixed;z-index:2147483000;min-width:245px;max-width:min(320px,calc(100vw - 20px));padding:8px;border:1px solid #dce7f3;border-radius:13px;background:#fff;box-shadow:0 18px 44px rgba(6,37,67,.28)}
.pc-v159-more-portal.is-open{display:grid;gap:4px}
.pc-v159-more-item{width:100%;min-height:44px;padding:8px 10px;display:flex;align-items:center;justify-content:flex-start;gap:10px;border:0;border-radius:9px;background:transparent;color:#173251;text-align:left;font-size:12px;font-weight:800;box-shadow:none;cursor:pointer}
.pc-v159-more-item:hover{background:#f1f6fd;color:#1766eb}
.pc-v159-more-item.active{background:#eaf2ff;color:#1766eb}
.pc-v159-more-item .pc-nav-icon{width:22px;height:22px;display:grid;place-items:center;flex:none}
.pc-v159-more-item .pc-nav-icon svg{width:20px;height:20px}

@media (max-width:980px){
  body.pc-v154-modern .pc-v159-more-wrap{display:none!important}
  body.pc-v154-modern #side-menu nav > button.pc-v159-secondary-source{display:flex!important}
}

/* Evita o ícone de menu duplicado: o CSS legado criava um ☰ no ::before
   enquanto o JavaScript também escrevia outro ☰ dentro do botão. */
@media (max-width:760px){
  body.pc-v154-modern #menu-toggle::before,
  body.pc-v154-modern .menu-toggle::before{content:none!important;display:none!important}
  body.pc-v154-modern #menu-toggle,
  body.pc-v154-modern .menu-toggle{font-size:0!important;overflow:hidden!important}
  body.pc-v154-modern .pc-v159-hamburger{width:26px;height:26px;display:grid;place-items:center;color:#fff;pointer-events:none}
  body.pc-v154-modern .pc-v159-hamburger svg{width:26px;height:26px;display:block}
}


/* ==========================================================
   v160 — correção dos cards Data/Hora e Online no desktop
   Evita heranças das métricas que aumentavam textos internos.
   ========================================================== */
@media (min-width:761px){
  body.pc-v154-modern .pc-v154-date-card{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:48px minmax(92px,1fr) 30px auto!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    justify-items:stretch!important;
    column-gap:10px!important;
    overflow:hidden!important;
  }
  body.pc-v154-modern .pc-v154-date-card .pc-v154-calendar{
    grid-column:1!important;
    grid-row:1!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
  }
  body.pc-v154-modern .pc-v154-date-card .pc-v154-calendar svg{
    width:25px!important;
    height:25px!important;
  }
  body.pc-v154-modern .pc-v154-date-text{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:3px!important;
    line-height:1.1!important;
    color:#15385f!important;
  }
  body.pc-v154-modern .yard-metrics article .pc-v154-date-text strong{
    display:block!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.05!important;
    font-weight:850!important;
    white-space:nowrap!important;
    color:#0c2a4d!important;
  }
  body.pc-v154-modern .yard-metrics article .pc-v154-date-text span{
    display:block!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:700!important;
    white-space:nowrap!important;
    color:#335879!important;
  }
  body.pc-v154-modern .pc-v154-clock-icon{
    grid-column:3!important;
    grid-row:1!important;
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    color:#1766eb!important;
  }
  body.pc-v154-modern .pc-v154-clock-icon svg{
    width:24px!important;
    height:24px!important;
  }
  body.pc-v154-modern .yard-metrics article .pc-v154-time-text{
    grid-column:4!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    color:#0c2a4d!important;
  }

  body.pc-v154-modern .pc-v154-online-card{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    padding:12px 10px!important;
    overflow:hidden!important;
    text-align:center!important;
  }
  body.pc-v154-modern .pc-v154-online-main{
    flex:none!important;
    width:auto!important;
    max-width:100%!important;
    min-height:38px!important;
    padding:8px 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border-radius:999px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.pc-v154-modern .yard-metrics article .pc-v154-online-main span{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:900!important;
    color:#fff!important;
  }
  body.pc-v154-modern .pc-v154-online-main .pc-v154-dot{
    width:10px!important;
    height:10px!important;
    flex:0 0 10px!important;
    border-radius:50%!important;
    background:#22dc75!important;
    box-shadow:0 0 0 3px rgba(34,220,117,.14)!important;
  }
  body.pc-v154-modern .pc-v154-online-card.offline .pc-v154-online-main .pc-v154-dot{
    background:#fff!important;
    box-shadow:0 0 0 3px rgba(255,255,255,.16)!important;
  }
  body.pc-v154-modern .yard-metrics article .pc-v154-online-sub{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.1!important;
    font-weight:650!important;
    color:#687d95!important;
    white-space:nowrap!important;
    text-align:center!important;
  }
}

/* Em telas de PC mais estreitas, evita espremer Data/Hora e Online. */
@media (min-width:761px) and (max-width:1180px){
  body.pc-v154-modern .option1-grid .yard-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body.pc-v154-modern .pc-v154-date-card{
    grid-column:1 / span 2!important;
  }
  body.pc-v154-modern .pc-v154-online-card{
    grid-column:3!important;
  }
}


/* =====================================================================
   v161 — acabamento final do layout
   ===================================================================== */
@media (min-width:981px){
  /* O instalador deixa de ocupar a barra principal e aparece dentro de Mais. */
  body.pc-v154-modern #side-menu nav > .parkingjp-install-button{
    display:none!important;
  }
  body.pc-v154-modern .pc-v159-more-portal .pc-v161-install-more{
    margin-top:5px!important;
    padding-top:11px!important;
    border-top:1px solid #e5edf6!important;
    border-radius:0 0 9px 9px!important;
  }

  /* Já existe status no topo; evita informação duplicada no canto da tela. */
  body.pc-v154-modern #pc-offline-status{
    display:none!important;
  }

  /* Mais espaço para os indicadores operacionais; data/hora e status ficam menores. */
  body.pc-v154-modern .option1-grid .yard-metrics{
    grid-template-columns:1.2fr 1.15fr 1.15fr 1.1fr .72fr!important;
    gap:11px!important;
  }
  body.pc-v154-modern .pc-v154-date-card{
    grid-template-columns:42px minmax(92px,1fr) 28px auto!important;
    column-gap:7px!important;
  }
  body.pc-v154-modern .pc-v154-date-card .pc-v154-calendar{
    width:40px!important;
    height:40px!important;
  }
  body.pc-v154-modern .pc-v154-date-card .pc-v154-calendar svg{
    width:23px!important;
    height:23px!important;
  }
  body.pc-v154-modern .pc-v154-date-text strong{font-size:12px!important;line-height:1.1!important}
  body.pc-v154-modern .pc-v154-date-text span{font-size:10.5px!important;line-height:1.1!important}
  body.pc-v154-modern .pc-v154-clock-icon svg{width:22px!important;height:22px!important}
  body.pc-v154-modern .pc-v154-time-text{font-size:23px!important}
  body.pc-v154-modern .pc-v154-online-main{
    padding:8px 12px!important;
    font-size:12px!important;
  }

  /* Formulário mais compacto para o botão Registrar Entrada aparecer mais cedo. */
  body.pc-v154-modern .register-panel h1{
    padding:11px 14px!important;
    font-size:17px!important;
  }
  body.pc-v154-modern .register-panel form{
    padding:9px 14px 12px!important;
    gap:7px!important;
  }
  body.pc-v154-modern .register-panel label{
    gap:3px!important;
    font-size:11.5px!important;
  }
  body.pc-v154-modern .register-panel input,
  body.pc-v154-modern .register-panel select{
    min-height:37px!important;
    padding:7px 10px!important;
  }
  body.pc-v154-modern .register-panel fieldset{
    padding:7px 9px!important;
  }
  body.pc-v154-modern .register-panel fieldset legend{
    font-size:11.5px!important;
  }
  body.pc-v154-modern .pc-multi-photo-fieldset{
    padding:7px 9px!important;
  }
  body.pc-v154-modern .pc-multi-photo-fieldset .hint{
    margin:1px 0 3px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
  body.pc-v154-modern .register-primary{
    min-height:38px!important;
  }

  /* Hierarquia visual da linha do veículo. */
  body.pc-v154-modern .plate-ticket-info{
    line-height:1.04!important;
  }
  body.pc-v154-modern .vehicle-plate{
    display:block!important;
    font-size:15px!important;
    font-weight:950!important;
    letter-spacing:.1px!important;
  }
  body.pc-v154-modern .vehicle-name{
    display:block!important;
    font-size:10.5px!important;
    font-weight:850!important;
    color:#243f5f!important;
    margin-top:1px!important;
  }
  body.pc-v154-modern .plate-ticket-info small:not(.vehicle-name):not(.ticket-code){
    display:block!important;
    font-size:10px!important;
    margin-top:2px!important;
  }
  body.pc-v154-modern .ticket-code{
    display:inline-block!important;
    margin-top:3px!important;
    font-size:10.5px!important;
  }
  body.pc-v154-modern .yard-main td{
    padding-top:9px!important;
    padding-bottom:9px!important;
    vertical-align:middle!important;
  }
}

@media (max-width:980px){
  /* No celular o status continua disponível, porém menor e sem cobrir os cartões. */
  body.pc-v154-modern #pc-offline-status{
    max-width:calc(100vw - 24px)!important;
    min-height:34px!important;
    padding:6px 10px!important;
    right:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    font-size:10px!important;
    border-radius:999px!important;
  }
}


/* Parking JP v162 — seletor de pátio no cabeçalho mobile */
@media (max-width:760px){
  body.pc-v154-modern .pc-v154-yard-pill{cursor:pointer!important;position:relative!important;z-index:240!important}
  .pc-v162-yard-picker{position:fixed;z-index:10050;background:#fff;border:1px solid #d9e5f2;border-radius:14px;padding:8px;box-shadow:0 18px 48px rgba(4,31,58,.28);display:flex;flex-direction:column;gap:5px;max-height:min(62vh,430px);overflow:auto}
  .pc-v162-yard-title{padding:6px 9px 4px;color:#8295aa;font-size:11px;font-weight:900;letter-spacing:.06em}
  .pc-v162-yard-option{appearance:none;width:100%;border:0;background:#fff;color:#153250;border-radius:10px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px;box-shadow:none;font:inherit}
  .pc-v162-yard-option strong{font-size:14px;line-height:1.2;color:#102f50}
  .pc-v162-yard-option small{font-size:11px;line-height:1.2;color:#70849a}
  .pc-v162-yard-option.selected{background:#eaf2ff}
  .pc-v162-yard-option.selected strong{color:#1766eb}
  .pc-v162-yard-option:active{background:#dfeaff}
}

/* =====================================================================
   Parking JP v163 — acabamento mobile + correção do card ONLINE
   - Mobile: ações secundárias no menu ⋮ e cartões mais compactos.
   - Mobile: status fixo inferior não cobre mais o conteúdo; status vai ao topo.
   - Desktop: card ONLINE centralizado e sem texto cortado.
   ===================================================================== */

/* Status ONLINE no desktop: badge inteiro, centralizado e subtexto abaixo. */
@media (min-width:761px){
  body.pc-v154-modern .pc-v154-online-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:10px 8px!important;
    text-align:center!important;
    overflow:visible!important;
  }
  body.pc-v154-modern .pc-v154-online-card .pc-v154-online-main{
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:92px!important;
    max-width:none!important;
    min-height:36px!important;
    padding:8px 13px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  body.pc-v154-modern .pc-v154-online-card .pc-v154-online-label{
    display:inline-block!important;
    width:auto!important;
    min-width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    color:#fff!important;
  }
  body.pc-v154-modern .pc-v154-online-card .pc-v154-online-sub{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
    font-size:10px!important;
    line-height:1.15!important;
    color:#687d95!important;
  }
}

@media (max-width:760px){
  /* O status deixa de flutuar embaixo e passa a ficar no cabeçalho. */
  body.pc-v154-modern #pc-offline-status{display:none!important}
  body.pc-v154-modern .pc-v154-header-online{
    order:3!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:72px!important;
    min-height:30px!important;
    padding:6px 8px!important;
    border-radius:999px!important;
    gap:5px!important;
    background:#0aa84d!important;
    border:0!important;
    color:#fff!important;
    font-size:9.5px!important;
    font-weight:900!important;
    line-height:1!important;
  }
  body.pc-v154-modern .pc-v154-header-online.offline{background:#c9362d!important}
  body.pc-v154-modern .pc-v154-header-online .pc-v154-dot{
    width:8px!important;
    height:8px!important;
    flex:0 0 8px!important;
    background:#25e878!important;
    box-shadow:none!important;
  }
  body.pc-v154-modern .pc-v154-header-online.offline .pc-v154-dot{background:#fff!important}
  body.pc-v154-modern .pc-v154-header-online .pc-v154-online-label{
    display:inline!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#fff!important;
    font-size:9.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  /* Cabeçalho cabe melhor em aparelhos menores. */
  body.pc-v154-modern .app-header{gap:5px!important;padding-left:9px!important;padding-right:9px!important}
  body.pc-v154-modern .app-header .brand img{max-width:132px!important;height:38px!important}
  body.pc-v154-modern .pc-v154-yard-pill{max-width:102px!important;padding:6px 7px!important;font-size:10px!important}
  body.pc-v154-modern .menu-toggle{width:38px!important;height:38px!important;min-width:38px!important}

  /* Cartão do veículo: menos altura e melhor distribuição. */
  body.pc-v154-modern .yard-main .scroll tbody{gap:7px!important}
  body.pc-v154-modern .yard-main .scroll tr{
    grid-template-columns:minmax(0,1fr) .62fr 70px!important;
    grid-template-areas:"plate plate action" "entry type action" "guest guest action"!important;
    column-gap:7px!important;
    padding:8px!important;
    border-radius:12px!important;
  }
  body.pc-v154-modern .yard-main .scroll td{padding:3px 0!important;font-size:10px!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Placa / Ticket"]{padding-bottom:4px!important}
  body.pc-v154-modern .yard-main .scroll td[data-label="Entrada"],
  body.pc-v154-modern .yard-main .scroll td[data-label="Tipo"],
  body.pc-v154-modern .yard-main .scroll td[data-label="Hóspede / Apartamento"]{
    padding-top:5px!important;
  }
  body.pc-v154-modern .vehicle-thumb{
    width:52px!important;
    height:46px!important;
    flex:0 0 52px!important;
    border-radius:9px!important;
  }
  body.pc-v154-modern .plate-ticket-cell{gap:7px!important}
  body.pc-v154-modern .vehicle-plate{font-size:14px!important}
  body.pc-v154-modern .vehicle-name{font-size:10px!important}
  body.pc-v154-modern .plate-ticket-info small:not(.vehicle-name):not(.ticket-code){font-size:9px!important}
  body.pc-v154-modern .ticket-code{font-size:9.5px!important;padding:2px 6px!important;margin-top:2px!important}
  body.pc-v154-modern .pc-v154-cell-icon svg,
  body.pc-v154-modern .pc-v154-guest-icon svg,
  body.pc-v154-modern .pc-v154-apt-icon svg{width:15px!important;height:15px!important}
  body.pc-v154-modern .guest-name,
  body.pc-v154-modern .guest-apartment{font-size:9px!important;line-height:1.1!important}
  body.pc-v154-modern .guest-name strong,
  body.pc-v154-modern .guest-apartment strong{font-size:9.7px!important}

  /* Ação principal + menu de três pontos. */
  body.pc-v154-modern .row-actions{
    gap:5px!important;
    min-width:0!important;
  }
  body.pc-v154-modern .row-actions > button[data-exit]{
    min-height:46px!important;
    height:auto!important;
    padding:5px 3px!important;
    border-radius:8px!important;
    font-size:10px!important;
  }
  body.pc-v154-modern .pc-v154-exit-icon svg{width:19px!important;height:19px!important}
  body.pc-v154-modern .pc-v154-more{
    width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:8px!important;
  }
  body.pc-v154-modern .pc-v154-more svg{width:18px!important;height:18px!important}
  body.pc-v154-modern .pc-v154-row-menu{right:0!important;top:34px!important;min-width:126px!important;z-index:120!important}

  /* Se alguma renderização antiga deixar Foto/Editar fora do menu,
     o JS v163 os move para o ⋮. Enquanto isso, evita que estourem o cartão. */
  body.pc-v154-modern .row-actions > button[data-photo],
  body.pc-v154-modern .row-actions > button[data-edit-vehicle],
  body.pc-v154-modern .row-actions > button[data-hotel-relaunch]{
    max-width:100%!important;
  }
}

@media (max-width:360px){
  body.pc-v154-modern .app-header .brand img{max-width:108px!important;height:34px!important}
  body.pc-v154-modern .pc-v154-yard-pill{max-width:90px!important;font-size:9.5px!important}
  body.pc-v154-modern .pc-v154-header-online{max-width:60px!important;padding:6px!important;font-size:0!important}
  body.pc-v154-modern .pc-v154-header-online .pc-v154-online-label{font-size:0!important}
  body.pc-v154-modern .pc-v154-header-online .pc-v154-online-label::after{content:"ON";font-size:9px!important}
}


/* =====================================================================
   Parking JP v183 — menu desktop reconstruído em base limpa
   ===================================================================== */
@media (min-width:981px){
  body.pc-v183-onebar .app-header{
    display:none!important;
  }

  body.pc-v183-onebar #side-menu.side-menu{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:90px!important;
    min-height:90px!important;
    max-height:90px!important;
    margin:0!important;
    padding:0 26px!important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
    background:linear-gradient(180deg,#0b355f 0%,#082b4d 100%)!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:0 8px 24px rgba(5,35,61,.15)!important;
    transform:none!important;
    z-index:300!important;
  }

  body.pc-v183-onebar #side-menu > label,
  body.pc-v183-onebar #side-menu > .operator-tenant-name{
    display:none!important;
  }

  body.pc-v183-onebar #side-menu nav{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:10px!important;
    overflow:visible!important;
    position:relative!important;
  }

  body.pc-v183-onebar #side-menu nav > .yard-submenu{
    display:none!important;
  }

  body.pc-v183-onebar #side-menu nav > button.pc-v183-secondary-source{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  body.pc-v183-onebar #side-menu nav > [data-parkingjp-install]{
    display:none!important;
  }

  body.pc-v183-onebar .pc-v183-brand{
    flex:0 0 205px!important;
    width:205px!important;
    height:64px!important;
    margin:0 8px 0 0!important;
    padding:0 18px 0 0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    border-right:1px solid rgba(255,255,255,.13)!important;
    text-decoration:none!important;
  }

  body.pc-v183-onebar .pc-v183-brand img{
    width:auto!important;
    height:50px!important;
    max-width:188px!important;
    object-fit:contain!important;
  }

  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary,
  body.pc-v183-onebar .pc-v183-more-trigger{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:86px!important;
    height:64px!important;
    min-height:64px!important;
    padding:7px 11px!important;
    border:1px solid transparent!important;
    border-radius:14px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    background:transparent!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    cursor:pointer!important;
  }

  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary:hover,
  body.pc-v183-onebar .pc-v183-more-trigger:hover{
    background:rgba(255,255,255,.075)!important;
    border-color:rgba(255,255,255,.08)!important;
  }

  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary.active,
  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary[aria-current="page"],
  body.pc-v183-onebar .pc-v183-more-trigger.active{
    background:linear-gradient(145deg,#3181ff 0%,#1766ed 100%)!important;
    border-color:rgba(255,255,255,.16)!important;
    box-shadow:0 9px 22px rgba(23,102,237,.28),inset 0 1px 0 rgba(255,255,255,.14)!important;
  }

  body.pc-v183-onebar #side-menu nav .pc-nav-icon{
    width:27px!important;
    height:27px!important;
    display:grid!important;
    place-items:center!important;
    color:currentColor!important;
  }

  body.pc-v183-onebar #side-menu nav .pc-nav-icon svg{
    width:25px!important;
    height:25px!important;
  }

  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary span:not(.pc-nav-icon),
  body.pc-v183-onebar .pc-v183-more-trigger > span:not(.pc-v183-more-icon):not(.pc-v183-chevron){
    font-size:13px!important;
    font-weight:850!important;
  }

  body.pc-v183-onebar .pc-v183-more-wrap{
    flex:0 0 auto!important;
    height:64px!important;
    display:flex!important;
    align-items:stretch!important;
    position:relative!important;
  }

  body.pc-v183-onebar .pc-v183-more-trigger{
    position:relative!important;
  }

  body.pc-v183-onebar .pc-v183-more-icon{
    width:27px!important;
    height:27px!important;
    display:grid!important;
    place-items:center!important;
  }

  body.pc-v183-onebar .pc-v183-more-icon svg{
    width:25px!important;
    height:25px!important;
  }

  body.pc-v183-onebar .pc-v183-chevron{
    position:absolute!important;
    right:5px!important;
    bottom:7px!important;
    color:#c9dced!important;
    font-size:11px!important;
  }

  body.pc-v183-onebar .pc-v183-right{
    margin-left:auto!important;
    min-width:0!important;
    height:58px!important;
    padding-left:14px!important;
    border-left:1px solid rgba(255,255,255,.13)!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex:0 0 auto!important;
  }

  body.pc-v183-onebar .pc-v183-yard-pill{
    position:static!important;
    margin:0!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    padding:0 12px!important;
    border-radius:13px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    font-size:12.5px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }

  body.pc-v183-onebar .pc-v183-yard-pill:hover{
    background:rgba(255,255,255,.095)!important;
  }

  body.pc-v183-onebar .pc-v183-yard-home{
    width:21px!important;
    height:21px!important;
    display:grid!important;
    place-items:center!important;
  }
  body.pc-v183-onebar .pc-v183-yard-home svg{width:20px!important;height:20px!important}

  body.pc-v183-onebar .pc-v183-account{
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    background:transparent!important;
    color:#fff!important;
    white-space:nowrap!important;
  }

  body.pc-v183-onebar .pc-v183-account .pc-v154-avatar{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(145deg,#3181ff,#1766ed)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:850!important;
    order:-1!important;
  }

  body.pc-v183-onebar .pc-v183-email{
    max-width:185px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    color:#fff!important;
    font-size:11.5px!important;
    font-weight:700!important;
  }

  body.pc-v183-onebar .pc-v183-logout{
    height:40px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    border:0!important;
    border-left:1px solid rgba(255,255,255,.14)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:800!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }

  body.pc-v183-onebar .pc-v183-logout:hover{
    background:rgba(255,255,255,.06)!important;
  }

  body.pc-v183-onebar .pc-v183-logout-icon{
    width:19px!important;
    height:19px!important;
    display:grid!important;
    place-items:center!important;
  }
  body.pc-v183-onebar .pc-v183-logout-icon svg{width:19px!important;height:19px!important}

  body.pc-v183-onebar .app-layout{
    display:block!important;
    min-height:calc(100vh - 90px)!important;
  }

  body.pc-v183-onebar .app-main{
    margin-left:0!important;
    width:100%!important;
    max-width:none!important;
    padding-top:18px!important;
  }

  body.pc-v183-onebar .pc-v154-header-online{
    display:none!important;
  }

  /* ONLINE: badge em cima, "Sincronizado" abaixo, sem sobreposição */
  body.pc-v183-onebar .pc-v154-online-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:8px!important;
    overflow:hidden!important;
  }

  body.pc-v183-onebar .pc-v154-online-card .pc-v154-online-main{
    position:static!important;
    width:auto!important;
    min-width:94px!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 12px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    white-space:nowrap!important;
  }

  body.pc-v183-onebar .pc-v154-online-card .pc-v154-online-sub{
    position:static!important;
    display:block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    line-height:1.1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  /* O status flutuante só aparece quando há algo que realmente exige atenção. */
  body.pc-v183-onebar #pc-offline-status.is-online{
    display:none!important;
  }
}

/* Portais do desktop, fora da barra para nunca serem cortados */
.pc-v183-more-portal,
.pc-v183-yard-picker{
  display:none;
  position:fixed;
  z-index:2147483000;
  padding:9px;
  border:1px solid #d9e6f2;
  border-radius:15px;
  background:#fff;
  box-shadow:0 22px 54px rgba(6,37,64,.25);
}
.pc-v183-more-portal.is-open{display:grid;gap:4px}
.pc-v183-yard-picker{display:grid;gap:4px}

.pc-v183-more-item,
.pc-v183-yard-option{
  width:100%;
  min-height:46px;
  padding:9px 11px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#173251;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  text-align:left;
  font-size:12.5px;
  font-weight:800;
  box-shadow:none;
  cursor:pointer;
}
.pc-v183-more-item:hover,
.pc-v183-yard-option:hover{background:#f1f6fb;color:#1766eb}
.pc-v183-more-item.active,
.pc-v183-yard-option.selected{background:#eaf2ff;color:#1766eb}
.pc-v183-more-item .pc-nav-icon{width:22px;height:22px;display:grid;place-items:center;flex:none}
.pc-v183-more-item .pc-nav-icon svg{width:20px;height:20px}

.pc-v183-yard-title{
  padding:7px 9px 10px;
  color:#7d91a6;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.pc-v183-yard-home{width:34px;height:34px;border-radius:9px;background:#eef5ff;display:grid;place-items:center;flex:none}
.pc-v183-yard-home svg{width:19px;height:19px}
.pc-v183-yard-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.pc-v183-yard-copy strong{font-size:13px}
.pc-v183-yard-copy small{font-size:10.5px;color:#7890a8;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Notebook: comprime sem jogar itens importantes para fora */
@media (min-width:981px) and (max-width:1450px){
  body.pc-v183-onebar #side-menu.side-menu{padding-left:14px!important;padding-right:14px!important}
  body.pc-v183-onebar #side-menu nav{gap:6px!important}
  body.pc-v183-onebar .pc-v183-brand{flex-basis:155px!important;width:155px!important;padding-right:10px!important;margin-right:2px!important}
  body.pc-v183-onebar .pc-v183-brand img{height:42px!important;max-width:145px!important}
  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary,
  body.pc-v183-onebar .pc-v183-more-trigger{min-width:72px!important;padding-left:7px!important;padding-right:7px!important}
  body.pc-v183-onebar #side-menu nav > button.pc-v183-primary span:not(.pc-nav-icon),
  body.pc-v183-onebar .pc-v183-more-trigger > span:not(.pc-v183-more-icon):not(.pc-v183-chevron){font-size:11.5px!important}
  body.pc-v183-onebar .pc-v183-email{display:none!important}
  body.pc-v183-onebar .pc-v183-right{padding-left:7px!important;gap:6px!important}
  body.pc-v183-onebar .pc-v183-yard-pill{padding-left:8px!important;padding-right:8px!important;font-size:11.5px!important}
}

/* Mobile: um único hambúrguer e status online sem cobrir os veículos */
@media (max-width:760px){
  #menu-toggle::before,
  .menu-toggle::before{content:none!important;display:none!important}
  #pc-offline-status.is-online{display:none!important}
}


/* Parking JP v185 — botão Sair isolado e clicável */
#pc-force-logout{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:2147482000!important;
}


/* =====================================================================
   Parking JP v192 — toolbar independente e clicável
   ===================================================================== */
@media (min-width:981px){
  body.pc-v192-toolbar-on #app > .app-header,
  body.pc-v192-toolbar-on #app #side-menu{
    display:none!important;
    pointer-events:none!important;
  }

  body.pc-v192-toolbar-on #app .app-layout{
    display:block!important;
    min-height:calc(100vh - 90px)!important;
  }

  body.pc-v192-toolbar-on #app .app-main{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    padding-top:18px!important;
  }

  .pc-v192-toolbar{
    width:100%;
    height:90px;
    padding:0 26px;
    display:flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(180deg,#0b355f 0%,#082b4d 100%);
    box-shadow:0 8px 24px rgba(5,35,61,.15);
    color:#fff;
    position:relative;
    z-index:10000;
  }

  .pc-v192-brand{
    flex:0 0 205px;
    width:205px;
    height:64px;
    padding-right:18px;
    margin-right:4px;
    display:flex;
    align-items:center;
    border-right:1px solid rgba(255,255,255,.13);
  }

  .pc-v192-brand img{
    width:auto;
    height:50px;
    max-width:188px;
    object-fit:contain;
  }

  .pc-v192-nav{
    display:flex;
    align-items:center;
    gap:8px;
    height:100%;
    min-width:0;
  }

  .pc-v192-nav-btn{
    min-width:86px;
    height:64px;
    padding:7px 11px;
    border:1px solid transparent;
    border-radius:14px;
    background:transparent;
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    font:800 13px/1.05 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
    white-space:nowrap;
    cursor:pointer;
    pointer-events:auto;
    position:relative;
    z-index:1;
  }

  .pc-v192-nav-btn:hover{
    background:rgba(255,255,255,.075);
    border-color:rgba(255,255,255,.08);
  }

  .pc-v192-nav-btn.active{
    background:linear-gradient(145deg,#3181ff 0%,#1766ed 100%);
    border-color:rgba(255,255,255,.16);
    box-shadow:0 9px 22px rgba(23,102,237,.28),inset 0 1px 0 rgba(255,255,255,.14);
  }

  .pc-v192-icon{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
  }
  .pc-v192-icon svg{width:25px;height:25px}

  .pc-v192-more-wrap{height:64px;display:flex;align-items:stretch}
  .pc-v192-chevron{
    position:absolute;
    right:5px;
    bottom:6px;
    font-size:11px;
    color:#c9dced;
  }

  .pc-v192-right{
    margin-left:auto;
    height:58px;
    padding-left:14px;
    border-left:1px solid rgba(255,255,255,.13);
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }

  .pc-v192-yard{
    height:48px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:13px;
    background:rgba(255,255,255,.055);
    color:#fff;
    display:flex;
    align-items:center;
    gap:7px;
    font-size:12.5px;
    font-weight:800;
    white-space:nowrap;
    cursor:pointer;
  }
  .pc-v192-yard:hover{background:rgba(255,255,255,.095)}
  .pc-v192-yard-home{width:21px;height:21px;display:grid;place-items:center}
  .pc-v192-yard-home svg{width:20px;height:20px}
  .pc-v192-dot{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.1)}
  .pc-v192-down{color:#d6e6f4}

  .pc-v192-avatar{
    width:40px;
    height:40px;
    border-radius:999px;
    background:linear-gradient(145deg,#3181ff,#1766ed);
    border:1px solid rgba(255,255,255,.18);
    display:grid;
    place-items:center;
    font-size:14px;
    font-weight:850;
    flex:none;
  }

  .pc-v192-email{
    max-width:185px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11.5px;
    font-weight:700;
  }

  .pc-v192-logout{
    height:40px;
    padding:0 10px;
    border:0;
    border-left:1px solid rgba(255,255,255,.14);
    background:transparent;
    color:#fff;
    display:flex;
    align-items:center;
    gap:6px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    pointer-events:auto;
  }
  .pc-v192-logout:hover{background:rgba(255,255,255,.06)}
  .pc-v192-logout span{width:19px;height:19px;display:grid;place-items:center}
  .pc-v192-logout svg{width:19px;height:19px}

  .pc-v192-more-panel,
  .pc-v192-yard-panel{
    display:none;
    position:fixed;
    z-index:2147483000;
    padding:9px;
    border:1px solid #d9e6f2;
    border-radius:15px;
    background:#fff;
    box-shadow:0 22px 54px rgba(6,37,64,.25);
  }
  .pc-v192-more-panel.is-open,
  .pc-v192-yard-panel{display:grid;gap:4px}

  .pc-v192-panel-title{
    padding:7px 9px 10px;
    color:#7d91a6;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
  }

  .pc-v192-panel-item{
    width:100%;
    min-height:46px;
    padding:9px 11px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#173251;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    text-align:left;
    font-size:12.5px;
    font-weight:800;
    cursor:pointer;
  }
  .pc-v192-panel-item:hover{background:#f1f6fb;color:#1766eb}
  .pc-v192-panel-item.active{background:#eaf2ff;color:#1766eb}
  .pc-v192-panel-item > span:last-child{display:flex;flex-direction:column;gap:2px}
  .pc-v192-panel-item small{color:#7890a8;font-size:10.5px;text-transform:uppercase}

  .pc-v192-small-icon{width:30px;height:30px;display:grid;place-items:center;flex:none}
  .pc-v192-small-icon svg{width:20px;height:20px}

  /* ONLINE sem texto sobreposto */
  body.pc-v192-toolbar-on .pc-v154-online-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    overflow:hidden!important;
  }
  body.pc-v192-toolbar-on .pc-v154-online-card .pc-v154-online-main,
  body.pc-v192-toolbar-on .pc-v154-online-card .pc-v154-online-sub{
    position:static!important;
    margin:0!important;
  }
  body.pc-v192-toolbar-on .pc-v154-online-card .pc-v154-online-sub{
    display:block!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
}

@media (min-width:981px) and (max-width:1450px){
  .pc-v192-toolbar{padding-left:14px;padding-right:14px;gap:6px}
  .pc-v192-brand{flex-basis:155px;width:155px;padding-right:10px}
  .pc-v192-brand img{height:42px;max-width:145px}
  .pc-v192-nav{gap:4px}
  .pc-v192-nav-btn{min-width:72px;padding-left:7px;padding-right:7px;font-size:11.5px}
  .pc-v192-right{padding-left:7px;gap:6px}
  .pc-v192-email{display:none}
  .pc-v192-yard{padding-left:8px;padding-right:8px;font-size:11.5px}
}

@media (max-width:980px){
  .pc-v192-toolbar,
  .pc-v192-more-panel,
  .pc-v192-yard-panel{display:none!important}
}


/* =====================================================================
   Parking JP v192 — menu igual ao modelo da segunda foto
   ===================================================================== */
@media (min-width:981px){
  body.pc-v192-toolbar-on .pc-v192-toolbar{
    height:126px!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr auto!important;
    grid-template-rows:68px 58px!important;
    gap:0!important;
    background:linear-gradient(180deg,#0b355f 0%,#082b4d 100%)!important;
    box-shadow:0 8px 24px rgba(5,35,61,.15)!important;
  }

  body.pc-v192-toolbar-on .pc-v192-brand{
    grid-column:1!important;
    grid-row:1!important;
    align-self:stretch!important;
    width:auto!important;
    height:68px!important;
    padding:0 28px!important;
    margin:0!important;
    border-right:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }

  body.pc-v192-toolbar-on .pc-v192-brand img{
    height:50px!important;
    max-width:205px!important;
  }

  body.pc-v192-toolbar-on .pc-v192-right{
    grid-column:2!important;
    grid-row:1!important;
    align-self:stretch!important;
    height:68px!important;
    margin:0!important;
    padding:0 26px 0 18px!important;
    border-left:0!important;
    display:flex!important;
    align-items:center!important;
    gap:11px!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav{
    grid-column:1 / 3!important;
    grid-row:2!important;
    width:100%!important;
    height:58px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    border-top:1px solid rgba(255,255,255,.05)!important;
    background:rgba(4,34,62,.20)!important;
    overflow:visible!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav-btn{
    min-width:0!important;
    width:auto!important;
    height:50px!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#fff!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    font-size:13.5px!important;
    font-weight:800!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav-btn:hover{
    background:rgba(255,255,255,.06)!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav-btn.active{
    background:linear-gradient(145deg,#3181ff 0%,#1766ed 100%)!important;
    box-shadow:0 6px 16px rgba(23,102,237,.24)!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav-btn > .pc-v192-icon{
    display:none!important;
  }

  body.pc-v192-toolbar-on .pc-v192-more-wrap{
    height:50px!important;
    display:flex!important;
    align-items:stretch!important;
  }

  body.pc-v192-toolbar-on .pc-v192-more{
    position:relative!important;
    padding-right:22px!important;
  }

  body.pc-v192-toolbar-on .pc-v192-chevron{
    right:7px!important;
    bottom:auto!important;
    top:50%!important;
    transform:translateY(-46%)!important;
  }

  body.pc-v192-toolbar-on .pc-v192-install{
    height:50px!important;
    margin-left:4px!important;
    padding:0 15px!important;
    border:1px solid rgba(133,180,255,.62)!important;
    border-radius:12px!important;
    background:rgba(41,104,211,.45)!important;
    color:#fff!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:1px!important;
    font-family:inherit!important;
    cursor:pointer!important;
    white-space:nowrap!important;
  }

  body.pc-v192-toolbar-on .pc-v192-install strong{
    font-size:14px!important;
    font-weight:850!important;
    line-height:1.1!important;
  }

  body.pc-v192-toolbar-on .pc-v192-install small{
    font-size:10px!important;
    font-weight:700!important;
    color:#dbeafe!important;
    line-height:1.1!important;
  }

  body.pc-v192-toolbar-on .pc-v192-install:hover{
    background:rgba(49,129,255,.58)!important;
  }

  body.pc-v192-toolbar-on .pc-v192-yard{
    height:42px!important;
    padding:0 12px!important;
    border-radius:12px!important;
  }

  body.pc-v192-toolbar-on .pc-v192-avatar{
    width:38px!important;
    height:38px!important;
  }

  body.pc-v192-toolbar-on .pc-v192-logout{
    height:40px!important;
    padding:0 11px!important;
    border-left:0!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.045)!important;
  }

  body.pc-v192-toolbar-on #app .app-layout{
    min-height:calc(100vh - 126px)!important;
  }
}

@media (min-width:981px) and (max-width:1450px){
  body.pc-v192-toolbar-on .pc-v192-brand{
    padding-left:18px!important;
    padding-right:16px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-brand img{
    height:44px!important;
    max-width:175px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-right{
    padding-right:14px!important;
    gap:7px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-email{
    display:none!important;
  }
  body.pc-v192-toolbar-on .pc-v192-nav{
    gap:2px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-nav-btn{
    padding-left:10px!important;
    padding-right:10px!important;
    font-size:12px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-install{
    padding-left:11px!important;
    padding-right:11px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-install strong{
    font-size:12.5px!important;
  }
  body.pc-v192-toolbar-on .pc-v192-install small{
    font-size:9px!important;
  }
}

@media (max-width:980px){
  .pc-v192-toolbar,
  .pc-v192-more-panel,
  .pc-v192-yard-panel{
    display:none!important;
  }
}


/* =====================================================================
   Parking JP v192 — GARANTIA DE MENU ÚNICO NO DESKTOP
   ===================================================================== */
@media (min-width:981px){
  body.pc-v192-toolbar-on .app-header,
  body.pc-v192-toolbar-on #side-menu,
  body.pc-v192-toolbar-on .owner-header,
  body.pc-v192-toolbar-on .owner-side-menu,
  body.pc-v192-toolbar-on .operator-top-nav,
  body.pc-v192-toolbar-on .pc-top-nav,
  body.pc-v192-toolbar-on .desktop-nav{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  body.pc-v192-toolbar-on #app .app-layout{
    display:block!important;
    width:100%!important;
    margin:0!important;
    min-height:calc(100vh - 126px)!important;
  }

  body.pc-v192-toolbar-on #app .app-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  /* Mantém apenas a toolbar nova */
  body.pc-v192-toolbar-on > .pc-v192-toolbar{
    display:grid!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /* Corrige o seletor de pátio para não herdar tamanhos de ícones antigos */
  body.pc-v192-toolbar-on .pc-v192-yard-home{
    width:21px!important;
    height:21px!important;
    min-width:21px!important;
    min-height:21px!important;
    display:grid!important;
    place-items:center!important;
  }

  body.pc-v192-toolbar-on .pc-v192-yard-home svg{
    width:20px!important;
    height:20px!important;
    max-width:20px!important;
    max-height:20px!important;
  }

  body.pc-v192-toolbar-on .pc-v192-yard{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
  }
}


/* Parking JP v192 — operador: somente Pátio, Caixa e Mensalistas */
@media (min-width:981px){
  body.pc-v192-toolbar-on .pc-v192-nav{
    align-items:center!important;
  }
  body.pc-v192-toolbar-on .pc-v192-nav-btn{
    min-width:110px!important;
  }
}


/* Parking JP v192 — operador: exatamente 3 opções */
@media (min-width:981px){
  body.pc-v192-toolbar-on .pc-v192-nav{
    justify-content:flex-start!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav-btn{
    min-width:112px!important;
  }
}


/* Parking JP v192 — operador no layout novo, somente 3 menus */
@media (min-width:981px){
  body.pc-v192-toolbar-on .pc-v192-nav{
    justify-content:flex-start!important;
  }

  body.pc-v192-toolbar-on .pc-v192-nav-btn{
    min-width:112px!important;
  }

  /* Somente OPERADOR esconde Mais e Baixar aplicativo.
     Administrador continua com o menu completo. */
  body.pc-v192-toolbar-on .pc-v192-toolbar[data-operator-mode="1"] .pc-v192-more-wrap,
  body.pc-v192-toolbar-on .pc-v192-toolbar[data-operator-mode="1"] .pc-v192-install{
    display:none!important;
  }
}


/* Parking JP v192 — administrador mantém menu completo */
@media (min-width:981px){
  body.pc-v192-toolbar-on .pc-v192-toolbar[data-operator-mode="0"] .pc-v192-more-wrap{
    display:flex!important;
  }

  body.pc-v192-toolbar-on .pc-v192-toolbar[data-operator-mode="0"] .pc-v192-install{
    display:flex!important;
  }
}
