/* Visual parity bridge from the Apps Script + Supabase track.
   Scope: presentation only. No API, auth, routing, or business-rule changes. */

.app.navx-auth{
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.10), transparent 31rem),
    radial-gradient(circle at 95% 6%, rgba(20,184,166,.07), transparent 28rem),
    linear-gradient(180deg, #f5f8ff 0%, #eef4ff 100%);
}

.app.navx-auth .navx-main{
  max-width:1120px;
}

.app.navx-auth .navx-sidebar{
  background:
    linear-gradient(180deg, rgba(43,57,69,.99), rgba(33,48,60,.99)),
    #2b3945;
  box-shadow:18px 0 42px rgba(15,23,42,.16);
}

.navx-sideTop{
  padding:22px 20px 13px;
}

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

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

.navx-userCard{
  border-radius:18px;
  background:
    linear-gradient(135deg, rgba(59,130,246,.10), rgba(255,255,255,.045)),
    #354655;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.navx-list{
  gap:5px;
}

.navx-item{
  display:flex;
  align-items:center;
  gap:11px;
  position:relative;
  min-height:46px;
  padding:12px 13px;
  border-radius:13px;
  letter-spacing:0;
  transition:background .16s ease, color .16s ease, transform .16s ease;
}

.navx-item:hover{
  transform:translateX(1px);
}

.navx-item.active{
  background:rgba(255,255,255,.105);
  box-shadow:inset 4px 0 0 #38bdf8;
}

.navx-subgroup{
  margin:-2px 0 4px;
  border-left:1px solid rgba(255,255,255,.10);
}

.navx-subitem{
  min-height:40px;
  background:rgba(255,255,255,.025);
}

.navx-subitem.active{
  background:rgba(56,189,248,.12);
  box-shadow:inset 3px 0 0 #38bdf8;
  color:#fff;
}

.navx-subitem.active .navx-icon{
  color:#7dd3fc;
}

.navx-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  color:currentColor;
}

.navx-icon svg{
  width:20px;
  height:20px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.navx-danger .navx-icon{
  color:#fecaca;
}

.rh-module-head{
  min-height:134px;
}

.rh-module-tabs{
  align-items:flex-end;
}

.rh-tab-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.rh-tab-btn::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:3px;
  border:1px solid currentColor;
  opacity:.55;
}

.rh-tab-btn.active::before{
  opacity:.95;
  background:linear-gradient(135deg, #2563eb, #14b8a6);
  border-color:transparent;
}

.rh-operacao-card{
  padding:20px;
  border:1px solid rgba(37,99,235,.10);
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.09), transparent 28rem),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(246,249,255,.92));
  box-shadow:0 18px 42px rgba(15,23,42,.075);
}

.rh-operacao-card .rh-section-head{
  padding:2px 2px 0;
}

.rh-operacao-card .pilot-kicker{
  color:#1d4ed8;
}

.rh-ops-toolbar{
  margin-top:14px;
  align-items:end;
}

.rh-ops-toolbar .field label,
.rh-ops-search-row .input,
.rh-search-row .input{
  font-weight:800;
}

.rh-ops-toolbar .field label{
  color:#1d4ed8;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.04em;
}

.rh-ops-toolbar .input{
  min-height:46px;
  border-color:rgba(37,99,235,.18);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
}

.rh-ops-topgrid{
  margin-top:16px;
}

.rh-ops-meta-card,
.rh-ops-report-card{
  min-height:156px;
}

.rh-ops-recorte-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.rh-ops-title{
  letter-spacing:0;
}

.rh-ops-blocks{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:14px;
}

.rh-ops-report-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
  margin-top:12px;
}

.rh-ops-report-card .rh-ops-export{
  width:100%;
  margin-top:12px;
  border-color:rgba(37,99,235,.16);
  color:#1d4ed8;
  background:rgba(255,255,255,.76);
}

.rh-ops-summary{
  margin-top:16px;
}

.rh-ops-kpi{
  min-height:78px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.rh-ops-distribution{
  min-height:78px;
}

.rh-ops-search-row{
  margin:16px 0 12px;
  padding:14px;
  border:1px solid rgba(37,99,235,.10);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,251,255,.88));
}

.rh-ops-list{
  gap:13px;
}

.rh-ops-item-head{
  border-bottom:1px solid rgba(15,23,42,.06);
  padding-bottom:12px;
  margin-bottom:12px;
}

.rh-ops-item-main{
  align-items:stretch;
}

.rh-ops-audit{
  gap:10px;
}

.rh-ops-audit .rh-ops-block strong,
.rh-ops-action strong{
  color:#0f172a;
}

.rh-ops-action p{
  color:rgba(15,23,42,.68);
}

.rh-mini-chip{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

@media (max-width:900px){
  .navx-icon{
    width:19px;
    height:19px;
    flex-basis:19px;
  }

  .navx-icon svg{
    width:19px;
    height:19px;
  }

  .rh-module-head{
    min-height:auto;
  }

  .rh-ops-blocks,
  .rh-ops-report-stats{
    grid-template-columns:1fr;
  }
}

/* Collaborator-facing cards: closer to the richer Apps Script reservation flow. */
.home-status-card,
.cardapios-card,
.minhas-reservas-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border-color:rgba(15,23,42,.075);
  background:
    radial-gradient(circle at 14% 0%, rgba(37,99,235,.10), transparent 30rem),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,251,255,.94));
  box-shadow:
    0 24px 58px rgba(15,23,42,.10),
    0 8px 22px rgba(15,23,42,.055);
}

.home-status-card::before,
.cardapios-card::before,
.minhas-reservas-card::before{
  content:"";
  position:absolute;
  left:0;
  top:20px;
  bottom:20px;
  width:5px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg, #2563eb, #14b8a6);
}

.home-status-head{
  padding-bottom:4px;
}

.home-status-head h2{
  font-size:28px;
  line-height:1.05;
}

.home-status-head .login-subtitle{
  font-weight:650;
}

.pilot-kicker{
  color:#1d4ed8;
}

.meal-tabs{
  padding:4px;
  border:1px solid rgba(37,99,235,.10);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,249,255,.72));
}

.meal-tab{
  min-height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.70);
  border-color:rgba(15,23,42,.08);
  color:rgba(15,23,42,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
}

.meal-tab.active{
  color:#1d4ed8;
  background:#fff;
  border-color:rgba(37,99,235,.24);
  box-shadow:
    0 10px 20px rgba(37,99,235,.10),
    inset 0 -3px 0 rgba(37,99,235,.42);
}

.home-overview{
  border-radius:22px;
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.15), transparent 26rem),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,248,255,.92));
  border-color:rgba(37,99,235,.16);
}

.home-overview::before{
  content:"";
  width:46px;
  height:46px;
  border-radius:18px;
  border:1px solid rgba(37,99,235,.16);
  background:
    radial-gradient(circle at 50% 50%, rgba(37,99,235,.42) 0 28%, transparent 30%),
    linear-gradient(180deg, rgba(37,99,235,.12), rgba(20,184,166,.08));
  box-shadow:inset 0 0 0 8px rgba(255,255,255,.64);
  grid-row:1;
}

.home-overview-main{
  grid-column:1;
}

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

.home-summary > div,
.home-flag,
.cardapios-summary > div,
.reservas-summary > div{
  position:relative;
  overflow:hidden;
  border-radius:17px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.84));
  border-color:rgba(37,99,235,.10);
}

.home-summary > div::before,
.home-flag::before,
.cardapios-summary > div::before,
.reservas-summary > div::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, rgba(37,99,235,.70), rgba(20,184,166,.52));
}

.home-status-line{
  border-color:rgba(37,99,235,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,251,255,.82));
  color:#334155;
}

.consumo-ticket{
  border-radius:24px;
  border-color:rgba(37,99,235,.12);
  background:
    radial-gradient(circle at 0% 0%, rgba(37,99,235,.08), transparent 22rem),
    linear-gradient(180deg, #fff, rgba(247,250,255,.90));
}

.cardapio-pub-item,
.reserva-item{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border-color:rgba(15,23,42,.08);
  background:linear-gradient(180deg, #fff, rgba(248,251,255,.92));
  box-shadow:0 16px 34px rgba(15,23,42,.065);
}

.cardapio-pub-item::before,
.reserva-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:rgba(37,99,235,.62);
}

.reserva-item.consumida::before{
  background:linear-gradient(180deg, #0f766e, #16a34a);
}

.reserva-item.cancelada::before{
  background:linear-gradient(180deg, #ef4444, #f59e0b);
}

.cardapio-pub-top,
.reserva-top{
  padding-left:4px;
}

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

.cardapio-pub-badge,
.reserva-status{
  min-height:30px;
  padding:7px 10px;
  border-color:rgba(37,99,235,.18);
  background:linear-gradient(180deg, rgba(37,99,235,.10), rgba(255,255,255,.76));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84);
}

.cardapio-pub-meta,
.reserva-meta{
  padding-left:4px;
}

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

.cardapio-pub-choice::before,
.reserva-cardChoiceBox::before{
  background:
    radial-gradient(circle at 50% 50%, rgba(37,99,235,.52) 0 29%, transparent 31%),
    linear-gradient(180deg, rgba(37,99,235,.14), rgba(20,184,166,.08));
}

.cardapio-pub-choice-title,
.reserva-cardChoiceTitle{
  letter-spacing:0;
}

.cardapio-pub-actions,
.reserva-actions{
  border-color:rgba(37,99,235,.10);
}

.btn-cardapio-acao.btn-primary,
.btn-reserva-acao.btn-primary{
  background:linear-gradient(180deg, rgba(37,99,235,.98), rgba(29,78,216,.94));
  box-shadow:0 12px 24px rgba(37,99,235,.18);
}

.btn-cardapio-acao.btn-ghost,
.btn-reserva-acao.btn-ghost{
  color:#1d4ed8;
  border-color:rgba(37,99,235,.16);
  background:rgba(255,255,255,.80);
}

.btn-reserva-acao.btn-danger{
  border-color:rgba(239,68,68,.18);
  background:linear-gradient(180deg, rgba(239,68,68,.08), rgba(255,255,255,.82));
}

.empty-state{
  border-radius:20px;
  border:1px dashed rgba(37,99,235,.18);
  background:
    radial-gradient(circle at 50% 0%, rgba(37,99,235,.08), transparent 18rem),
    rgba(255,255,255,.72);
}

@media (max-width:600px){
  .home-status-card,
  .cardapios-card,
  .minhas-reservas-card{
    border-radius:22px;
  }

  .home-overview{
    grid-template-columns:1fr;
  }

  .home-overview::before{
    grid-row:auto;
  }

  .home-overview-main{
    grid-column:auto;
  }
}
