/* Institutional visual pass.
   Scope: presentation polish only; no business-rule changes. */

:root{
  --shadow:0 18px 60px rgba(11,18,32,.10);
  --r2:14px;
}

.app.navx-auth{
  background:
    linear-gradient(180deg, #f7faff 0%, #edf4ff 46%, #f5f8ff 100%);
}

.app.navx-auth .navx-main{
  max-width:1040px;
  padding:28px 28px 38px;
}

.app.navx-auth .pilot-card{
  border-color:rgba(11,18,32,.085);
  box-shadow:var(--shadow);
}

.app.navx-auth .navx-sidebar{
  background:linear-gradient(180deg, #263746 0%, #2b3945 58%, #22313d 100%);
}

.navx-sideTop{
  padding:18px 18px 12px;
}

.navx-logoBox{
  width:44px;
  height:44px;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

.navx-brandTitle{
  font-size:14px;
  letter-spacing:0;
}

.navx-brandSub{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.navx-userCard{
  margin:8px 14px 14px;
  border-radius:16px;
}

.navx-avatar,
.navx-mobileTrigger #navxMobileAvatar{
  background:linear-gradient(135deg, rgba(56,189,248,.95), rgba(37,99,235,.85));
  color:#fff;
  box-shadow:0 10px 20px rgba(15,23,42,.16);
}

.navx-userName{
  font-size:13px;
  font-weight:850;
}

.navx-userRole,
.navx-userMeta{
  font-size:11px;
}

.navx-list{
  padding:6px 10px 14px;
  gap:5px;
  overflow:auto;
}

.navx-list::-webkit-scrollbar{
  width:4px;
}

.navx-list::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.18);
  border-radius:99px;
}

.navx-item{
  position:relative;
  min-height:42px;
  border-radius:12px;
  padding:12px 14px 12px 18px;
  font-size:12px;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.navx-item.active{
  box-shadow:none;
  background:rgba(255,255,255,.075);
}

.navx-item.active::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:0 8px 8px 0;
  background:#38bdf8;
}

.navx-divider{
  margin:8px 8px;
}

.home-status-head,
.cardapios-head,
.minhas-reservas-head,
.profile-head,
.rh-readonly-head{
  padding-bottom:4px;
}

.home-status-card h2,
.cardapios-card h2,
.minhas-reservas-card h2,
.profile-card h2,
.rh-readonly-card h2{
  font-size:27px;
  letter-spacing:0;
}

.login-subtitle{
  color:rgba(11,18,32,.68);
}

.home-overview{
  background:
    linear-gradient(135deg, rgba(37,99,235,.10), rgba(22,163,74,.045)),
    linear-gradient(180deg, #fff, #f7fbff);
  border-color:rgba(37,99,235,.12);
}

.home-overview-main strong{
  font-size:28px;
}

.readonly-pill,
.cardapio-pub-badge,
.reserva-status,
.rh-mini-chip,
.rh-id-chip{
  letter-spacing:0;
}

.rh-readonly-card{
  max-width:1040px;
}

.rh-readonly-list-card,
.rh-unidades-card,
.rh-auditoria-card,
.rh-ops-meta-card,
.rh-ops-report-card,
.rh-ops-kpi,
.rh-ops-distribution{
  border-radius:18px;
  box-shadow:0 12px 28px rgba(15,23,42,.055);
}

.rh-colab-item,
.rh-unidade-item,
.rh-audit-item,
.rh-ops-item{
  border-radius:17px;
  box-shadow:0 8px 20px rgba(15,23,42,.045);
}

.rh-colab-actions .btn{
  border-color:rgba(37,99,235,.18);
  background:rgba(37,99,235,.06);
  color:#1e3a8a;
}

.rh-reset-dialog{
  border-radius:18px;
}

.badge{
  background:rgba(255,255,255,.80);
}

@media (max-width:900px){
  .app.navx-auth .navx-main{
    max-width:780px;
    padding:80px 12px 26px;
  }

  .app.navx-auth .navx-mobileHeader{
    background:rgba(255,255,255,.90);
    box-shadow:0 12px 28px rgba(15,23,42,.06);
  }

  .navx-mobileTrigger{
    display:flex;
    align-items:center;
    gap:8px;
    max-width:min(58vw, 270px);
    padding:5px 7px;
  }

  .navx-mobileText{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    min-width:0;
    line-height:1.1;
  }

  .navx-mobileText strong,
  .navx-mobileText small{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .navx-mobileText strong{
    font-size:12px;
    font-weight:900;
    color:var(--text);
  }

  .navx-mobileText small{
    margin-top:2px;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
  }

  .navx-mobileChevron{
    width:9px;
    height:9px;
    border-right:2px solid rgba(11,18,32,.48);
    border-bottom:2px solid rgba(11,18,32,.48);
    transform:rotate(45deg) translateY(-2px);
    transition:transform .18s ease;
    flex:0 0 auto;
  }

  .app.navx-open .navx-mobileChevron{
    transform:rotate(225deg) translateY(-1px);
  }
}

@media (max-width:520px){
  .app.navx-auth .navx-main{
    padding-left:10px;
    padding-right:10px;
  }

  .navx-mobileText{
    display:none;
  }

  .home-status-card h2,
  .cardapios-card h2,
  .minhas-reservas-card h2,
  .profile-card h2,
  .rh-readonly-card h2{
    font-size:24px;
  }
}
