/* Product essence pass.
   Goal: carry the calm, institutional login experience into authenticated screens.
   Scope: presentation only; no API, auth, route, or business-rule changes. */

:root{
  --product-shadow:0 28px 70px rgba(15,23,42,.105);
  --product-soft-shadow:0 14px 34px rgba(15,23,42,.065);
  --product-border:rgba(37,99,235,.12);
  --product-surface:linear-gradient(180deg, rgba(255,255,255,.985), rgba(248,251,255,.955));
  --product-muted-surface:linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,249,255,.88));
}

.app.navx-auth .home-status-card,
.app.navx-auth .consumo-card,
.app.navx-auth .cardapios-card,
.app.navx-auth .minhas-reservas-card,
.app.navx-auth .profile-card{
  border-radius:28px;
  border-color:rgba(15,23,42,.075);
  background:var(--product-surface);
  box-shadow:var(--product-shadow);
}

.app.navx-auth .home-status-card,
.app.navx-auth .consumo-card,
.app.navx-auth .cardapios-card,
.app.navx-auth .minhas-reservas-card{
  padding:22px;
}

.app.navx-auth .profile-card{
  padding:24px;
}

.home-status-head,
.consumo-head,
.profile-head{
  min-height:86px;
  align-items:flex-start;
  padding-bottom:14px;
}

.home-status-head h2,
.consumo-head h2,
.profile-head h2{
  margin:4px 0 5px;
  font-size:31px;
  line-height:1.02;
}

.home-status-head .login-subtitle,
.consumo-head .login-subtitle,
.profile-head .login-subtitle{
  max-width:58ch;
  color:rgba(11,18,32,.68);
  font-size:15px;
  line-height:1.42;
  font-weight:650;
}

.pilot-kicker{
  color:#1d4ed8;
  font-size:12px;
  line-height:1.1;
  letter-spacing:.06em;
}

.readonly-pill{
  min-height:34px;
  padding:8px 13px;
  border-color:rgba(22,163,74,.22);
  background:linear-gradient(180deg, rgba(22,163,74,.12), rgba(255,255,255,.82));
  box-shadow:0 10px 22px rgba(22,163,74,.07);
}

.home-status-content,
.consumo-content,
.cardapios-list,
.reservas-list{
  margin-top:16px;
}

.meal-tabs{
  margin-top:16px;
  margin-bottom:12px;
}

.meal-tab{
  min-height:46px;
}

.msg{
  border-color:rgba(11,18,32,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.msg.ok,
.msg.info{
  background:linear-gradient(180deg, rgba(22,163,74,.10), rgba(255,255,255,.78));
}

.msg.warn{
  background:linear-gradient(180deg, rgba(245,158,11,.12), rgba(255,255,255,.82));
}

.home-overview,
.consumo-hero,
.consumo-ticket-xl,
.consumo-ticket,
.cardapio-pub-item,
.reserva-item,
.password-card{
  background:var(--product-muted-surface);
  border-color:var(--product-border);
  box-shadow:var(--product-soft-shadow);
}

.home-overview{
  min-height:154px;
  padding:22px;
}

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

.home-overview-state,
.consumo-ticket-state,
.cardapio-pub-badge,
.reserva-status{
  min-height:32px;
  padding-inline:12px;
  font-size:12px;
  letter-spacing:0;
}

.home-summary,
.home-flags,
.consumo-grid,
.cardapios-summary,
.reservas-summary,
.pilot-meta{
  gap:12px;
}

.home-summary > div,
.home-flag,
.consumo-tile,
.cardapios-summary > div,
.reservas-summary > div,
.pilot-tile{
  min-height:78px;
  padding:15px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.88));
  border-color:rgba(37,99,235,.11);
}

.pilot-label{
  color:rgba(15,23,42,.70);
  font-size:11px;
}

.pilot-value,
.home-summary strong,
.home-flag strong,
.cardapios-summary strong,
.reservas-summary strong{
  color:#071120;
}

.consumo-cardapio-line,
.home-status-line{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:14px 16px;
}

.consumo-ticket{
  padding:20px;
}

.consumo-ticket-main strong{
  font-size:23px;
}

.consumo-ticket-meta{
  gap:8px;
}

.consumo-ticket-meta span,
.reserva-cardInlineMeta{
  background:rgba(255,255,255,.84);
}

.cardapios-list,
.reservas-list{
  gap:14px;
}

.cardapio-pub-item,
.reserva-item{
  padding:18px;
  border-radius:24px;
}

.cardapio-pub-title,
.reserva-title{
  font-size:19px;
}

.cardapio-pub-meta,
.reserva-meta{
  font-size:13px;
}

.cardapio-pub-opcoes{
  gap:10px;
}

.cardapio-pub-opcoes li,
.reserva-cardChoiceBox{
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,251,255,.92));
  border-color:rgba(37,99,235,.14);
}

.cardapio-pub-choice-title,
.reserva-cardChoiceTitle{
  font-size:17px;
}

.pilot-actions{
  margin-top:16px;
}

.pilot-actions .btn-primary,
.password-actions .btn-primary{
  min-height:48px;
  border-radius:16px;
  box-shadow:0 16px 32px rgba(37,99,235,.18);
}

.profile-avatar{
  width:62px;
  height:62px;
  border-radius:24px;
  box-shadow:0 16px 30px rgba(37,99,235,.12);
}

.password-card{
  border-radius:24px;
  padding:20px;
}

.password-grid{
  gap:12px;
}

.password-policy{
  border-radius:18px;
}

.rh-module-head{
  background:
    linear-gradient(135deg, rgba(37,99,235,.115), rgba(20,184,166,.055)),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,255,.92));
}

.rh-module-actions .btn,
.rh-module-actions .readonly-pill{
  min-height:44px;
}

.rh-ops-toolbar,
.rh-ops-search-row,
.rh-search-row{
  border-color:rgba(37,99,235,.11);
}

.rh-colab-item,
.rh-ops-item{
  background:var(--product-muted-surface);
}

@media (max-width:900px){
  .app.navx-auth .home-status-card,
  .app.navx-auth .consumo-card,
  .app.navx-auth .cardapios-card,
  .app.navx-auth .minhas-reservas-card,
  .app.navx-auth .profile-card{
    border-radius:24px;
  }

  .home-status-head,
  .consumo-head,
  .profile-head{
    min-height:0;
  }

  .home-status-head h2,
  .consumo-head h2,
  .profile-head h2{
    font-size:29px;
  }

  .consumo-ticket{
    grid-template-columns:auto minmax(0, 1fr);
  }

  .consumo-ticket-state{
    grid-column:1 / -1;
    justify-self:start;
  }

  .rh-module-head{
    gap:14px;
  }
}

@media (max-width:600px){
  .app.navx-auth .home-status-card,
  .app.navx-auth .consumo-card,
  .app.navx-auth .cardapios-card,
  .app.navx-auth .minhas-reservas-card,
  .app.navx-auth .profile-card{
    padding:16px;
    border-radius:22px;
  }

  .home-status-card::before,
  .consumo-card::before,
  .cardapios-card::before,
  .minhas-reservas-card::before{
    top:22px;
    bottom:22px;
  }

  .home-status-head,
  .consumo-head,
  .profile-head{
    gap:12px;
  }

  .home-status-head h2,
  .consumo-head h2,
  .profile-head h2{
    font-size:28px;
  }

  .home-status-head .login-subtitle,
  .consumo-head .login-subtitle,
  .profile-head .login-subtitle{
    font-size:15px;
  }

  .readonly-pill{
    align-self:flex-start;
  }

  .home-overview{
    min-height:0;
    padding:20px;
  }

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

  .home-summary > div,
  .home-flag,
  .consumo-tile,
  .cardapios-summary > div,
  .reservas-summary > div,
  .pilot-tile{
    min-height:74px;
    padding:14px;
  }

  .cardapio-pub-item,
  .reserva-item{
    padding:16px;
    border-radius:22px;
  }

  .cardapio-pub-title,
  .reserva-title{
    font-size:19px;
  }

  .cardapio-pub-choice-title,
  .reserva-cardChoiceTitle{
    font-size:16px;
  }

  .profile-avatar{
    width:58px;
    height:58px;
  }

  .password-card{
    padding:17px;
  }

  .rh-module-head{
    padding:22px 18px 16px;
  }

  .rh-module-head h2{
    font-size:28px;
  }

  .rh-module-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }

  .rh-module-actions .btn,
  .rh-module-actions .readonly-pill{
    width:100%;
  }

  .rh-tab-panel{
    padding:16px;
  }

  .rh-ops-toolbar{
    gap:12px;
    padding:14px;
  }

  .rh-ops-toolbar .input,
  .rh-ops-search-row .input,
  .rh-search-row .input{
    min-width:0;
    width:100%;
    font-size:13px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .rh-ops-topgrid,
  .rh-ops-item-main,
  .rh-ops-blocks,
  .rh-ops-report-stats,
  .rh-ops-audit,
  .rh-ops-summary{
    grid-template-columns:1fr;
  }

  .rh-colab-item,
  .rh-ops-item{
    padding:16px;
  }

  .rh-colab-meta,
  .rh-colab-actions{
    gap:8px;
  }
}
