
/* ================================================================
   EduCantina 3.4.1 — Portal dos Responsáveis e PWA
   Correção visual específica para desktop, tablet e celular.
   ================================================================ */
body.role-parent.action-portal{
  --parent-navy:#123B63;
  --parent-navy-dark:#071D30;
  --parent-blue:#1E6CFB;
  --parent-green:#22C55E;
  --parent-sky:#58B7FF;
  --parent-bg:#F4F7FA;
  background:var(--parent-bg)!important;
}
body.role-parent.action-portal .layout,
body.role-parent.action-portal .main,
body.role-parent.action-portal .content{
  min-height:100vh!important;background:var(--parent-bg)!important;
}
body.role-parent.action-portal .parent-app{
  min-height:100vh!important;padding-bottom:92px!important;
  background:
    radial-gradient(circle at 12% 2%,rgba(30,108,251,.09),transparent 28%),
    radial-gradient(circle at 88% 4%,rgba(34,197,94,.08),transparent 27%),
    linear-gradient(180deg,#F8FBFD 0,#F4F7FA 350px)!important;
}
body.role-parent.action-portal .parent-shell{
  width:min(100%,1180px)!important;max-width:1180px!important;
  margin:auto!important;padding:22px 24px 40px!important;
}

/* Cabeçalho compacto */
body.role-parent.action-portal .parent-top{
  min-height:68px!important;margin:0 0 18px!important;padding:0 3px!important;
  display:flex!important;align-items:center!important;
}
body.role-parent.action-portal .parent-brand{
  gap:11px!important;
}
body.role-parent.action-portal .parent-brand-logo,
body.role-parent.action-portal .parent-brand-fallback{
  width:45px!important;height:45px!important;border-radius:13px!important;
  background:#fff!important;border:1px solid #E1EAF0!important;
  box-shadow:0 7px 20px rgba(18,59,99,.08)!important;padding:5px!important;
}
body.role-parent.action-portal .parent-brand-fallback{
  background:linear-gradient(145deg,#123B63,#1E6CFB)!important;
  color:#fff!important;padding:0!important;
}
body.role-parent.action-portal .parent-brand strong{
  font-size:14px!important;color:#10233A!important;letter-spacing:-.02em!important;
}
body.role-parent.action-portal .parent-brand small{
  font-size:8.5px!important;color:#7B8B9D!important;margin-top:3px!important;
}
body.role-parent.action-portal .parent-user-copy strong{font-size:10px!important;color:#10233A!important}
body.role-parent.action-portal .parent-user-copy a{font-size:8px!important;color:#76889A!important}
body.role-parent.action-portal .parent-user-avatar{
  width:38px!important;height:38px!important;color:#123B63!important;
  border:1px solid #D8E4EC!important;background:#fff!important;
}

/* Hero principal */
body.role-parent.action-portal .parent-hero{
  border-radius:22px!important;padding:25px 26px!important;
  background:
    radial-gradient(circle at 88% 20%,rgba(255,255,255,.14),transparent 22%),
    linear-gradient(135deg,#071D30 0%,#123B63 55%,#1E6CFB 100%)!important;
  border:0!important;box-shadow:0 19px 44px rgba(18,59,99,.20)!important;
}
body.role-parent.action-portal .parent-hero:before{
  content:""!important;position:absolute!important;width:260px!important;height:260px!important;
  border:1px solid rgba(255,255,255,.10)!important;border-radius:50%!important;
  right:-110px!important;left:auto!important;bottom:-160px!important;background:transparent!important;
}
body.role-parent.action-portal .parent-hero:after{
  width:180px!important;height:180px!important;right:-55px!important;top:-95px!important;
  background:rgba(34,197,94,.13)!important;
}
body.role-parent.action-portal .parent-greeting{
  color:#AFC8DB!important;font-size:9px!important;letter-spacing:.025em!important;
}
body.role-parent.action-portal .parent-hero h1{
  font-size:25px!important;margin:5px 0 18px!important;color:#fff!important;
}
body.role-parent.action-portal .child-switcher{gap:8px!important}
body.role-parent.action-portal .child-pill{
  min-width:185px!important;padding:10px 12px!important;border-radius:13px!important;
  background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.17)!important;
}
body.role-parent.action-portal .child-pill.active{
  background:#fff!important;color:#10233A!important;border-color:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.12)!important;
}
body.role-parent.action-portal .child-avatar{
  background:rgba(255,255,255,.12)!important;
}
body.role-parent.action-portal .child-pill.active .child-avatar{
  background:#EAF2FF!important;color:#1E6CFB!important;
}

/* Resumo */
body.role-parent.action-portal .parent-summary{
  display:grid!important;grid-template-columns:1.35fr repeat(3,1fr)!important;
  gap:11px!important;margin-top:14px!important;
}
body.role-parent.action-portal .parent-balance,
body.role-parent.action-portal .parent-stat{
  min-height:116px!important;padding:16px!important;border-radius:15px!important;
  border:1px solid #E4EBF1!important;box-shadow:0 5px 17px rgba(18,59,99,.045)!important;
}
body.role-parent.action-portal .parent-balance{
  background:linear-gradient(145deg,#123B63,#1E6CFB)!important;color:#fff!important;
}
body.role-parent.action-portal .parent-balance strong{font-size:27px!important}
body.role-parent.action-portal .parent-stat{background:#fff!important}
body.role-parent.action-portal .parent-stat small{color:#8493A3!important;font-size:8.5px!important}
body.role-parent.action-portal .parent-stat strong{font-size:18px!important;color:#10233A!important}

/* Painéis */
body.role-parent.action-portal .parent-grid{
  gap:12px!important;margin-top:12px!important;
}
body.role-parent.action-portal .parent-card{
  border:1px solid #E4EBF1!important;border-radius:15px!important;
  box-shadow:0 5px 17px rgba(18,59,99,.045)!important;background:#fff!important;
}
body.role-parent.action-portal .parent-card-head{
  padding:14px 16px!important;background:#fff!important;border-bottom:1px solid #EDF2F6!important;
}
body.role-parent.action-portal .parent-card-head h2{
  font-size:11px!important;color:#10233A!important;letter-spacing:-.015em!important;
}
body.role-parent.action-portal .parent-card-body{padding:16px!important}
body.role-parent.action-portal .control-note,
body.role-parent.action-portal .hint{color:#8291A2!important;font-size:8px!important}
body.role-parent.action-portal .recharge-value{
  min-height:41px!important;border-radius:9px!important;border:1px solid #DCE6ED!important;
  color:#123B63!important;background:#F9FBFD!important;
}
body.role-parent.action-portal .recharge-value:hover{
  border-color:#1E6CFB!important;color:#1E6CFB!important;background:#EEF5FF!important;
}
body.role-parent.action-portal .purchase-item,
body.role-parent.action-portal .charge-item,
body.role-parent.action-portal .block-row,
body.role-parent.action-portal .parent-order-row{
  border:1px solid #E7EDF2!important;border-radius:11px!important;background:#fff!important;
}
body.role-parent.action-portal .tx-icon{
  background:#EAF8EF!important;color:#15823B!important;border-radius:10px!important;
}
body.role-parent.action-portal .tx-icon.debit{background:#FDEEEF!important;color:#BE3348!important}
body.role-parent.action-portal .parent-powered b{color:#1E6CFB!important}

/* Dashboard mobile/PWA */
body.role-parent.action-portal .mobile-app-dashboard{
  border-radius:0!important;background:transparent!important;
}
body.role-parent.action-portal .mobile-app-version{
  display:inline-flex!important;margin:0 0 10px!important;padding:5px 8px!important;
  border-radius:999px!important;background:#EAF2FF!important;color:#1E6CFB!important;
  font-size:6.8px!important;font-weight:850!important;
}
body.role-parent.action-portal .mobile-app-brand{
  padding:1px 1px 12px!important;
}
body.role-parent.action-portal .mobile-app-brand:before{
  content:"";width:34px;height:34px;flex:0 0 34px;
  background:url("brand/educantina-symbol.svg") center/contain no-repeat;
}
body.role-parent.action-portal .mobile-app-brand>div{margin-right:auto}
body.role-parent.action-portal .mobile-app-brand b{font-size:13px!important;color:#10233A!important}
body.role-parent.action-portal .mobile-app-brand small{font-size:7.5px!important;color:#8291A2!important}
body.role-parent.action-portal .mobile-app-brand>span{
  width:35px;height:35px;border-radius:11px;background:#fff;border:1px solid #E4EBF1;
  display:grid;place-items:center;font-size:15px!important;
}
body.role-parent.action-portal .mobile-student{
  border-radius:14px!important;border:1px solid #E4EBF1!important;
  box-shadow:0 5px 16px rgba(18,59,99,.05)!important;padding:11px!important;
}
body.role-parent.action-portal .mobile-avatar{
  background:linear-gradient(145deg,#EAF2FF,#E9F9EE)!important;color:#123B63!important;
}
body.role-parent.action-portal .mobile-balance{
  border-radius:19px!important;padding:18px!important;
  background:
    radial-gradient(circle at 88% 15%,rgba(34,197,94,.25),transparent 27%),
    linear-gradient(140deg,#071D30,#123B63 62%,#1E6CFB)!important;
  box-shadow:0 16px 34px rgba(18,59,99,.21)!important;
}
body.role-parent.action-portal .mobile-balance strong{font-size:27px!important}
body.role-parent.action-portal .mobile-balance button{
  background:rgba(255,255,255,.13)!important;border:1px solid rgba(255,255,255,.22)!important;
  border-radius:10px!important;
}
body.role-parent.action-portal .mobile-title strong{font-size:12px!important;color:#10233A!important}
body.role-parent.action-portal .mobile-title small{font-size:7.5px!important;color:#8A99A8!important}
body.role-parent.action-portal .mobile-actions{
  gap:9px!important;
}
body.role-parent.action-portal .mobile-actions button{
  min-height:105px!important;border-radius:15px!important;border:1px solid #E4EBF1!important;
  box-shadow:0 5px 16px rgba(18,59,99,.045)!important;background:#fff!important;
}
body.role-parent.action-portal .mobile-actions button:nth-child(1) i{background:#EAF8EF!important;color:#15823B!important}
body.role-parent.action-portal .mobile-actions button:nth-child(2) i{background:#EEF5FF!important;color:#1E6CFB!important}
body.role-parent.action-portal .mobile-actions button:nth-child(3) i{background:#FFF4DF!important;color:#A76000!important}
body.role-parent.action-portal .mobile-actions button:nth-child(4) i{background:#F1EEFF!important;color:#7454D8!important}
body.role-parent.action-portal .mobile-actions button:nth-child(5) i{background:#E8F8F7!important;color:#14887C!important}
body.role-parent.action-portal .mobile-actions button:nth-child(6) i{background:#FDEEEF!important;color:#BE3348!important}
body.role-parent.action-portal .mobile-actions b{font-size:10px!important;color:#10233A!important}
body.role-parent.action-portal .mobile-actions span{font-size:7.5px!important}
body.role-parent.action-portal .mobile-last-order{
  border:1px solid #E4EBF1!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 5px 16px rgba(18,59,99,.045)!important;
}
body.role-parent.action-portal .mobile-screen-header{
  background:#fff!important;border-bottom:1px solid #E8EEF3!important;
}
body.role-parent.action-portal .mobile-app-nav{
  background:rgba(255,255,255,.96)!important;border-top:1px solid #E4EBF1!important;
  backdrop-filter:blur(17px)!important;box-shadow:0 -8px 24px rgba(18,59,99,.06)!important;
}
body.role-parent.action-portal .mobile-app-nav button.active{
  color:#1E6CFB!important;background:#EEF5FF!important;
}

/* PWA instalado deve usar dashboard mobile até em tablets */
@media(max-width:900px){
  body.role-parent.action-portal .parent-shell{padding:12px 13px 82px!important}
  body.role-parent.action-portal .parent-top,
  body.role-parent.action-portal .parent-hero,
  body.role-parent.action-portal .parent-summary{display:none!important}
  body.role-parent.action-portal .mobile-app-dashboard{display:none!important}
  body.role-parent.action-portal .mobile-app-dashboard.mobile-active{display:block!important}
  body.role-parent.action-portal .app-view{display:none!important}
  body.role-parent.action-portal .app-view.mobile-active{display:block!important}
  body.role-parent.action-portal .mobile-app-nav{display:grid!important}
}
@media(min-width:901px){
  body.role-parent.action-portal .mobile-app-dashboard,
  body.role-parent.action-portal .mobile-app-nav{display:none!important}
}
@media(max-width:620px){
  body.role-parent.action-portal .parent-shell{padding:10px 11px 82px!important}
  body.role-parent.action-portal .parent-card{border-radius:14px!important}
  body.role-parent.action-portal .parent-card-head{padding:13px 14px!important}
  body.role-parent.action-portal .parent-card-body{padding:14px!important}
}
