
/* ================================================================
   EduCantina 4.0.8 — Revisão Final e Otimização
   Acabamento, acessibilidade, consistência e desempenho visual.
   ================================================================ */
:root{
 --ec-final-focus:0 0 0 3px rgba(30,108,251,.14);
 --ec-final-fast:.15s ease;
}
html{scroll-behavior:smooth}
body{min-height:100vh}
button,a,input,select,textarea{outline:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
 box-shadow:var(--ec-final-focus)!important;
 outline:2px solid transparent!important;
}
button,.btn,.menu-link,.panel,.card,a{
 transition:
  background-color var(--ec-final-fast),
  border-color var(--ec-final-fast),
  color var(--ec-final-fast),
  transform var(--ec-final-fast),
  box-shadow var(--ec-final-fast)!important;
}
img{max-width:100%;height:auto}
svg{max-width:100%}
[hidden]{display:none!important}

/* Corrige vazamentos horizontais */
html,body{max-width:100%;overflow-x:hidden}
.layout,.main,.content,.panel,.card,.tablewrap{min-width:0}
.tablewrap{overflow:auto!important}
pre,code{white-space:pre-wrap;word-break:break-word}

/* Estados vazios */
.empty,.premium-empty,.cart-empty,.kitchen-empty{
 color:#8392A2!important;
 text-align:center!important;
}
.empty:before,.premium-empty:before{
 content:"○";
 display:block;
 font-size:20px;
 color:#C0CCD5;
 margin-bottom:5px;
}

/* Alertas */
.flash,.alert{
 border-radius:11px!important;
 box-shadow:0 5px 16px rgba(10,46,77,.05)!important;
}
.flash.ok,.alert.success{
 background:#E9F9EE!important;
 border-color:#CDEFD8!important;
 color:#10803A!important;
}
.flash.error,.alert.danger{
 background:#FDECEC!important;
 border-color:#F4CACA!important;
 color:#B42318!important;
}
.flash.warning,.alert.warning{
 background:#FFF4DF!important;
 border-color:#F4DFB5!important;
 color:#9A5A00!important;
}

/* Skeleton/loading opcional */
.ec-loading{
 position:relative;
 overflow:hidden;
 background:#EEF2F5!important;
 color:transparent!important;
}
.ec-loading:after{
 content:"";
 position:absolute;
 inset:0;
 transform:translateX(-100%);
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
 animation:ecShimmer 1.3s infinite;
}
@keyframes ecShimmer{100%{transform:translateX(100%)}}

/* Redução de movimento */
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  scroll-behavior:auto!important;
  transition-duration:.01ms!important;
 }
}

/* Contraste e modo escuro do sistema sem inverter a identidade */
@media(prefers-color-scheme:dark){
 body:not(.force-light){
  color-scheme:light;
 }
}

/* Responsividade geral */
@media(max-width:900px){
 .premium-page-head h2{line-height:1.1!important}
 .premium-page-head p{line-height:1.4!important}
 .panel-head{gap:8px!important}
 .panel-head>div{min-width:0}
 .panel-head h2{overflow-wrap:anywhere}
}
@media(max-width:600px){
 .btn{min-height:42px!important}
 input,select,textarea{font-size:16px!important}
 .tablewrap{border-radius:11px!important}
 table{min-width:640px}
}

/* Safe areas do PWA */
@supports(padding:max(0px)){
 body.role-parent.action-portal .parent-app,
 body.action-staff .content,
 body.action-pdv .content{
  padding-bottom:max(88px,calc(74px + env(safe-area-inset-bottom)))!important;
 }
}

/* Impressão global */
@media print{
 body{background:#fff!important;color:#000!important}
 .side,.topbar,.mobile-app-nav,.staff-mobile-nav,.no-print{
  display:none!important;
 }
 .main{margin:0!important}
 .content{padding:0!important}
 .panel,.card{
  box-shadow:none!important;
  break-inside:avoid;
 }
 a[href]:after{content:none!important}
}

.ec-release-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:2px 5px;border-radius:999px;background:#EAF2FF;color:#1E6CFB;border:1px solid #D5E4FF;font-size:5.8px;font-weight:900;letter-spacing:.06em}
