
/* ============================================================
   EduCantina 2.3 — Professional UI/UX Refresh
   Camada visual. Não altera regras de negócio.
   ============================================================ */

:root{
  --ui-radius-xs:9px;
  --ui-radius-sm:12px;
  --ui-radius:16px;
  --ui-radius-lg:22px;
  --ui-shadow-xs:0 2px 8px rgba(15,23,42,.035);
  --ui-shadow-sm:0 8px 24px rgba(15,23,42,.055);
  --ui-shadow:0 14px 38px rgba(15,23,42,.075);
  --ui-shadow-lg:0 26px 70px rgba(15,23,42,.10);
  --ui-surface:#ffffff;
  --ui-surface-soft:#fbfcfe;
  --ui-line:#e9edf3;
}
body{font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased}
body:not(.login-page){background:
  radial-gradient(circle at 84% 1%,color-mix(in srgb,var(--primary) 5%,transparent),transparent 24rem),
  #f5f7fa;
}
::selection{background:color-mix(in srgb,var(--primary) 18%,transparent)}
button,input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .12s ease}

/* Login */
.login-page{min-height:100vh;background:
  radial-gradient(circle at 10% 15%,rgba(16,185,129,.13),transparent 28rem),
  radial-gradient(circle at 90% 85%,rgba(59,130,246,.10),transparent 28rem),
  linear-gradient(145deg,#f8fafc,#eef3f7)!important}
.login-page>.card{border:1px solid rgba(226,232,240,.9)!important;border-radius:26px!important;box-shadow:0 30px 90px rgba(15,23,42,.13)!important;padding:34px!important}
.login-page .brandmark{letter-spacing:-.04em}
.login-page input{min-height:48px!important;border-radius:13px!important;background:#fbfcfe!important}
.login-page button{min-height:48px;border-radius:13px!important;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 18%,transparent)}

/* Sidebar */
.side{width:auto;background:
  radial-gradient(circle at 15% 8%,rgba(255,255,255,.09),transparent 180px),
  linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,#064e3b),color-mix(in srgb,var(--primary) 62%,#052e2b))!important;
  border-right:1px solid rgba(255,255,255,.08);box-shadow:12px 0 45px rgba(15,23,42,.10)!important}
.brandbox{padding:7px 11px 22px!important;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:15px!important}
.brandlogo,.brand-fallback{box-shadow:0 8px 24px rgba(0,0,0,.10)}
.brand{font-size:23px!important}.brand small{line-height:1.35}
.menu-link,.menu-summary{min-height:48px;border:1px solid transparent!important;border-radius:13px!important;padding:10px 11px!important}
.menu-link:hover,.menu-summary:hover{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.07)!important;transform:translateX(2px)}
.menu-link.active,.menu-group[open]>.menu-summary{background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.10))!important;border-color:rgba(255,255,255,.11)!important;box-shadow:inset 3px 0 0 rgba(255,255,255,.8)}
.submenu{position:relative}.submenu:before{content:"";position:absolute;left:36px;top:3px;bottom:8px;width:1px;background:rgba(255,255,255,.13)}
.submenu a{border-radius:9px!important;transition:.15s}.submenu a:hover,.submenu a.active{padding-left:13px!important}
.profilebox{border-radius:17px!important;background:rgba(255,255,255,.075)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}

/* Header */
.topbar{height:82px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.78)!important;box-shadow:0 4px 20px rgba(15,23,42,.025)}
.page-title h1{font-size:24px!important;font-weight:850!important}.page-title span{font-weight:500}
.menu-toggle{border:1px solid #e8edf3!important;background:#fff!important;box-shadow:var(--ui-shadow-xs)}
.menu-toggle:hover{transform:translateY(-1px);box-shadow:var(--ui-shadow-sm)}
.notify-bell{width:42px;height:42px;border:1px solid #e8edf3;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:#fff;position:relative;box-shadow:var(--ui-shadow-xs)}
.notify-bell span{position:absolute;right:-5px;top:-5px;background:#ef4444;color:#fff;border:2px solid #fff;border-radius:999px;min-width:19px;height:19px;padding:0 4px;display:grid;place-items:center;font-size:9px;font-weight:900}
.top-user .mini-avatar{box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 11%,transparent)}

/* Main rhythm */
.content{padding:30px 32px 38px!important}
.panel,.card{border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow-sm)!important}
.panel{border-radius:var(--ui-radius)!important}
.card{border-radius:var(--ui-radius)!important;overflow:hidden}
.panel:hover{border-color:#e2e8f0}
.titlebar,.panel-head{align-items:center}
.panel-head{background:linear-gradient(180deg,#fff,#fcfdfe);border-radius:var(--ui-radius) var(--ui-radius) 0 0}
.panel-head h2,.titlebar h2{font-weight:850!important;letter-spacing:-.025em!important}
.hint,.muted{line-height:1.45}

/* KPI cards */
.cards{gap:16px!important}
.cards>.card{min-height:142px!important;position:relative;isolation:isolate;transition:.2s ease}
.cards>.card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:color-mix(in srgb,var(--primary) 78%,white);opacity:.85}
.cards>.card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-32px;top:-36px;background:color-mix(in srgb,var(--primary) 5%,transparent);z-index:-1}
.cards>.card:hover{transform:translateY(-2px);box-shadow:var(--ui-shadow)!important}
.metric-icon{border-radius:14px!important;box-shadow:0 8px 18px color-mix(in srgb,currentColor 15%,transparent)}
.metric-value{font-size:27px!important}.metric-label{font-size:11.5px!important;text-transform:uppercase;letter-spacing:.035em}

/* Dashboard */
.action-dashboard .dashboard-grid{gap:17px!important}
.action-dashboard .panel{min-height:100%}
.quick{min-height:83px!important;border-radius:14px!important;display:flex!important;flex-direction:column;justify-content:center;font-weight:750!important}
.quick b{width:36px!important;height:36px!important;border-radius:11px!important}
.quick:hover{transform:translateY(-2px)!important;box-shadow:var(--ui-shadow-sm)!important;background:#fff}
.alert-row{border-radius:14px!important;background:#fff;transition:.18s}
.alert-row:hover{transform:translateX(2px);border-color:#dfe6ee}
.empty-state{border:1px dashed #e5eaf0;border-radius:14px;background:linear-gradient(145deg,#fff,#fbfcfe)}

/* Forms */
.field label,label{color:#334155;font-size:12px!important;letter-spacing:.006em}
input,select,textarea{border-color:#dfe5ec!important;border-radius:12px!important;background:#fff!important;min-height:44px}
textarea{min-height:100px}
input:hover,select:hover,textarea:hover{border-color:#cad4df!important}
input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--primary) 75%,#fff)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 9%,transparent)!important}
.btn{border-radius:11px!important;min-height:40px;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 10%,transparent);transition:.15s ease!important}
.btn:hover{transform:translateY(-1px);filter:saturate(1.04)}
.btn.secondary{background:#f1f5f9!important;border:1px solid #e5eaf0!important;box-shadow:none!important}
.btn.danger{box-shadow:none!important}

/* Tables */
.tablewrap{border:1px solid #edf0f4;border-radius:14px;background:#fff}
.tablewrap table{margin:-1px;width:calc(100% + 2px)}
th{background:#f8fafc!important;color:#748094!important;padding:12px!important}
td{padding:13px 12px!important}
tbody tr{transition:.13s ease}tbody tr:hover{background:#fafcfd}
tbody tr:last-child td{border-bottom:0}
.status{padding:5px 9px!important;border:1px solid transparent}
.status.on{border-color:#bbf7d0}.status.low{border-color:#fde68a}.status.off{border-color:#e2e8f0}

/* Cadastros */
.action-students .grid2,.action-parents .grid2,.action-products .grid2,.action-categories .grid2{align-items:start}
.action-students .grid2>.panel:first-child,.action-parents .grid2>.panel:first-child,.action-products .grid2>.panel:first-child,.action-categories .grid2>.panel:first-child{position:sticky;top:105px}
.product-card{border-radius:15px!important;border-color:#e7ecf2!important}
.product-card:hover{transform:translateY(-2px)!important;box-shadow:var(--ui-shadow)!important}

/* PDV — cashier-oriented */
.action-pdv .content{max-width:1800px}
.action-pdv .pdvgrid{gap:20px!important;align-items:start}
.action-pdv .pdv-product{border-radius:17px!important;border:1px solid #e6ebf1!important;background:linear-gradient(180deg,#fff,#fdfefe)!important;min-height:168px;box-shadow:var(--ui-shadow-xs);transition:.18s ease!important}
.action-pdv .pdv-product:hover{transform:translateY(-3px)!important;box-shadow:var(--ui-shadow)!important;border-color:color-mix(in srgb,var(--primary) 25%,#e2e8f0)!important}
.action-pdv .pdv-product.selected{border-color:color-mix(in srgb,var(--primary) 55%,#fff)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 8%,transparent),var(--ui-shadow-sm)!important}
.action-pdv .pdv-product .price{font-size:22px!important;letter-spacing:-.035em}
.action-pdv .cart-panel{border-radius:20px!important;box-shadow:var(--ui-shadow)!important;position:sticky!important;top:104px!important}
.action-pdv .student-preview{border-radius:15px!important;background:linear-gradient(145deg,#f8fafc,#fff)!important}
.action-pdv .student-avatar{box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 12%,transparent)}
.action-pdv .pdv-total{border-radius:16px!important;background:linear-gradient(145deg,#0f172a,#1e293b)!important;color:#fff!important;padding:17px!important}
.action-pdv .pdv-total small{color:#cbd5e1!important}.action-pdv .pdv-total strong{font-size:29px!important}
.action-pdv .pdv-submit{min-height:52px!important;font-size:15px!important;border-radius:14px!important;box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 24%,transparent)!important}
.action-pdv .category-chip{border-radius:999px!important;min-height:38px}.action-pdv .category-chip.active{box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 16%,transparent)}
.action-pdv .qty-btn{border-radius:10px!important}

/* Wallet / Pix / Reports */
.action-wallet .cards>.card,.action-reports .cards>.card{min-height:124px!important}
.action-pix .grid2{grid-template-columns:minmax(330px,430px) 1fr!important}
.action-pix .grid2>.panel:first-child{position:sticky;top:105px}
.action-reports .panel{overflow:hidden}

/* Notifications and audit */
.action-notifications .panel,.action-audit .panel{max-width:1500px}

/* Flash */
.flash{border:1px solid transparent!important;border-radius:13px!important;box-shadow:var(--ui-shadow-xs)}
.flash.ok{border-color:#bbf7d0!important}.flash.err{border-color:#fecaca!important}

/* Footer */
.powered{color:#9aa6b6!important;font-size:10.5px!important;letter-spacing:.02em}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.menu{scrollbar-color:rgba(255,255,255,.25) transparent}

/* Mobile */
@media(max-width:1100px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-grid{grid-template-columns:1fr!important}
}
@media(max-width:860px){
  .content{padding:20px 16px 32px!important}
  .topbar{padding:0 16px!important}
  .grid2{grid-template-columns:1fr!important}
  .action-students .grid2>.panel:first-child,.action-parents .grid2>.panel:first-child,.action-products .grid2>.panel:first-child,.action-categories .grid2>.panel:first-child,.action-pix .grid2>.panel:first-child{position:static}
  .action-pdv .cart-panel{position:static!important}
}
@media(max-width:560px){
  .cards{grid-template-columns:1fr!important}
  .page-title span,.top-user .who{display:none!important}
  .content{padding:15px 11px 28px!important}
  .panel{padding:15px!important;border-radius:14px!important}
  .tablewrap{border-radius:11px}
  .btn{min-height:42px}
}


/* ============================================================
   EduCantina 2.3.1 — Premium Dashboard & Navigation
   Visual autoral inspirado em padrões contemporâneos de SaaS.
   ============================================================ */
:root{
  --premium-sidebar:#ffffff;
  --premium-sidebar-text:#536174;
  --premium-surface:#ffffff;
  --premium-bg:#f6f8fb;
  --premium-green:#10b981;
  --premium-blue:#3b82f6;
  --premium-purple:#8b5cf6;
  --premium-orange:#f59e0b;
  --premium-red:#ef476f;
}

/* Light navigation */
body:not(.role-parent) .layout{grid-template-columns:252px minmax(0,1fr)}
body:not(.role-parent) .side{
  background:#fff!important;color:#1e293b!important;border-right:1px solid #e9edf2!important;
  box-shadow:none!important;padding:20px 13px 14px!important
}
body:not(.role-parent) .brandbox{border-bottom:0!important;margin-bottom:8px!important;padding:5px 9px 15px!important}
body:not(.role-parent) .brandlogo{background:#f8fafc!important;border:1px solid #e7ecf2!important;box-shadow:none!important}
body:not(.role-parent) .brand-fallback{background:color-mix(in srgb,var(--primary) 10%,white);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 16%,#e2e8f0)!important}
body:not(.role-parent) .brand{font-size:20px!important;color:var(--primary)!important}
body:not(.role-parent) .brand small{color:#8a97a8!important;font-size:9.5px!important}
body:not(.role-parent) .menu{padding:0 1px 12px!important}
body:not(.role-parent) .nav-section-label{
  padding:17px 11px 6px;color:#a2adbc;text-transform:uppercase;letter-spacing:.08em;
  font-size:9px;font-weight:850
}
body:not(.role-parent) .menu-link,body:not(.role-parent) .menu-summary{
  color:#59677a!important;min-height:40px!important;padding:8px 10px!important;border-radius:9px!important;
  font-size:12px!important;margin:1px 0!important;border:0!important;box-shadow:none!important
}
body:not(.role-parent) .menu-copy strong{font-size:12px!important;font-weight:680!important}
body:not(.role-parent) .menu-copy small{display:none!important}
body:not(.role-parent) .menu-icon{width:20px!important;height:20px!important;flex-basis:20px!important;color:#68768a}
body:not(.role-parent) .menu-icon svg{width:16px!important;height:16px!important;stroke-width:1.8!important}
body:not(.role-parent) .menu-link:hover,body:not(.role-parent) .menu-summary:hover{background:#f6f8fa!important;color:#172033!important;transform:none!important}
body:not(.role-parent) .menu-link.active,body:not(.role-parent) .menu-group[open]>.menu-summary{
  background:color-mix(in srgb,var(--primary) 9%,white)!important;color:var(--primary)!important;
  box-shadow:none!important;border:0!important
}
body:not(.role-parent) .menu-link.active .menu-icon,body:not(.role-parent) .menu-group[open]>.menu-summary .menu-icon{color:var(--primary)}
body:not(.role-parent) .submenu{padding:2px 0 3px 31px!important}
body:not(.role-parent) .submenu:before{left:20px!important;background:#e9edf2!important}
body:not(.role-parent) .submenu a{color:#7b8797!important;font-size:11px!important;padding:6px 8px!important}
body:not(.role-parent) .submenu a:hover,body:not(.role-parent) .submenu a.active{background:#f6f8fa!important;color:var(--primary)!important;padding-left:8px!important}
body:not(.role-parent) .chev{color:#a4aebb;font-size:14px!important}
body:not(.role-parent) .profilebox{
  background:#f8fafc!important;border:1px solid #e8edf2!important;color:#263247!important;border-radius:12px!important;
  box-shadow:none!important;padding:10px!important
}
body:not(.role-parent) .profilebox small{color:#8b97a6!important}
body:not(.role-parent) .profilebox .logout-link{color:#64748b!important;border-top-color:#e4e9ef!important}
body:not(.role-parent) .avatar{background:color-mix(in srgb,var(--primary) 9%,white)!important;color:var(--primary)!important;width:34px!important;height:34px!important}

/* Header and canvas */
body:not(.role-parent){background:var(--premium-bg)!important}
body:not(.role-parent) .topbar{height:72px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid #e9edf2!important;box-shadow:none!important}
body:not(.role-parent) .content{max-width:1640px!important;padding:25px 28px 38px!important}
body:not(.role-parent) .page-title h1{font-size:19px!important;font-weight:780!important}
body:not(.role-parent) .page-title span{font-size:10px!important}
body:not(.role-parent) .top-user strong{font-size:11px!important}.top-user small{font-size:9px!important}
body:not(.role-parent) .mini-avatar{width:35px!important;height:35px!important;font-size:11px!important}
body:not(.role-parent) .notify-bell,body:not(.role-parent) .menu-toggle{width:36px!important;height:36px!important;border-color:#e8edf2!important;box-shadow:none!important}

/* Premium dashboard */
.premium-page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.premium-eyebrow{font-size:10px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.premium-page-head h2{font-size:28px;letter-spacing:-.04em;margin:0;color:#111827}
.premium-page-head p{font-size:11px;color:#8a96a6;margin:5px 0 0;text-transform:capitalize}
.premium-head-actions{display:flex;gap:8px}
.premium-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}
.premium-kpi{position:relative;display:flex;justify-content:space-between;align-items:flex-start;text-decoration:none;background:#fff;border:1px solid #e9edf2;border-radius:13px;padding:17px 16px;min-height:112px;box-shadow:0 2px 5px rgba(15,23,42,.018);transition:.17s}
.premium-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.055);border-color:#dde4eb}
.premium-kpi span{display:block;color:#657287;font-size:10px;font-weight:700}.premium-kpi strong{display:block;color:#111827;font-size:23px;letter-spacing:-.035em;margin-top:7px}.premium-kpi small{display:block;color:#97a2b1;font-size:9px;margin-top:5px}
.premium-kpi i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:17px;font-style:normal;font-weight:800}
.pk-green{background:#e9fbf4;color:#0baa70}.pk-blue{background:#eef5ff;color:#2979ff}.pk-purple{background:#f3efff;color:#7c4dff}.pk-orange{background:#fff7e8;color:#e8950b}

.premium-dashboard-main{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.65fr);gap:16px;margin-bottom:16px}
.premium-dashboard-bottom{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px}
.premium-dashboard-main .panel,.premium-dashboard-bottom .panel{border-radius:13px!important;box-shadow:0 2px 7px rgba(15,23,42,.02)!important;border-color:#e9edf2!important}
.premium-panel-head{margin:-19px -19px 14px!important;padding:15px 17px!important;background:#fff!important}
.premium-panel-head h2{font-size:12px!important;font-weight:780!important}.premium-panel-head .hint{font-size:9px!important}
.soft-link{font-size:9.5px;color:var(--primary);font-weight:750;text-decoration:none}

/* Simple native weekly chart */
.week-chart{display:grid;grid-template-columns:52px 1fr;min-height:260px;padding:7px 2px 0}
.week-ylabels{display:flex;flex-direction:column;justify-content:space-between;height:218px;padding:0 8px 21px 0;color:#9aa5b4;font-size:8px;text-align:right}
.week-plot{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;height:238px;padding:0 4px}
.week-gridline{position:absolute;left:0;right:0;border-top:1px dashed #e9edf2}.week-gridline.g1{top:0}.week-gridline.g2{top:98px}.week-gridline.g3{top:196px}
.week-col{display:grid;grid-template-rows:196px 30px;align-items:end;position:relative;z-index:2}.week-bar-wrap{height:196px;display:flex;align-items:flex-end;justify-content:center}.week-bar{width:min(32px,54%);min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 72%,#36d399),var(--primary));box-shadow:0 4px 11px color-mix(in srgb,var(--primary) 13%,transparent);transition:.18s}
.week-col:hover .week-bar{filter:saturate(1.15);transform:scaleX(1.06)}
.week-col>span{text-align:center;font-size:8px;color:#8995a5;text-transform:capitalize}

/* Rankings */
.premium-ranking{display:grid;gap:12px}.rank-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;align-items:center}.rank-number{width:23px;height:23px;border-radius:50%;background:#e9fbf4;color:#0a9e6a;display:grid;place-items:center;font-size:9px;font-weight:850}.rank-copy strong{font-size:10.5px;color:#253246}.rank-track{height:4px;background:#eef2f5;border-radius:99px;margin-top:6px;overflow:hidden}.rank-track i{display:block;height:100%;background:#20c997;border-radius:99px}.rank-value{font-size:9.5px;font-weight:800;color:#69768a}.premium-empty{padding:55px 8px;text-align:center;color:#9ba6b4;font-size:10px}.premium-empty.large{padding:70px 8px}

/* Transaction list */
.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px 3px;border-bottom:1px solid #f0f3f6}.transaction-row:last-child{border-bottom:0}.transaction-avatar{width:31px;height:31px;border-radius:9px;background:color-mix(in srgb,var(--primary) 9%,white);color:var(--primary);display:grid;place-items:center;font-size:10px;font-weight:850}.transaction-copy strong{font-size:10.5px}.transaction-copy small{display:block;margin-top:3px;color:#9aa5b3;font-size:8.5px}.transaction-value{font-size:11px;color:#152238}

/* Quick action blocks */
.premium-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.premium-action{min-height:73px;border-radius:11px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:9.5px;font-weight:750;transition:.15s}.premium-action b{font-size:17px}.premium-action:hover{transform:translateY(-2px);filter:saturate(1.06)}
.premium-action.green{background:#e9fbf4;color:#079b68}.premium-action.blue{background:#edf5ff;color:#2c72ef}.premium-action.purple{background:#f3efff;color:#7446ed}.premium-action.red{background:#fff0f3;color:#e22c55}
.premium-alert-summary{margin-top:14px;padding-top:11px;border-top:1px solid #edf1f4;display:grid;gap:7px}.premium-alert-summary>a{display:grid;grid-template-columns:29px 1fr 14px;gap:8px;align-items:center;text-decoration:none;padding:7px;border-radius:9px}.premium-alert-summary>a:hover{background:#f8fafc}.premium-alert-summary strong{font-size:9.5px}.premium-alert-summary small{display:block;color:#9aa5b3;font-size:8px;margin-top:2px}.premium-alert-summary>b{color:#abb4c0}.pas-icon{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:900}.pas-icon.warning{background:#fff5e7;color:#e68b09}.pas-icon.info{background:#edf5ff;color:#2f73e8}

/* Make ordinary content fit the cleaner reference language */
body:not(.role-parent) .panel,body:not(.role-parent) .card{box-shadow:0 2px 7px rgba(15,23,42,.022)!important;border-color:#e9edf2!important}
body:not(.role-parent) .tablewrap{border-color:#edf1f4!important}
body:not(.role-parent) th{background:#fafbfc!important;font-size:9px!important}
body:not(.role-parent) td{font-size:10.5px!important}
body:not(.role-parent) input,body:not(.role-parent) select,body:not(.role-parent) textarea{border-radius:9px!important;border-color:#e1e7ed!important}
body:not(.role-parent) .btn{border-radius:9px!important;box-shadow:none!important;font-size:10px!important}
body:not(.role-parent) .status{font-size:8px!important}

@media(max-width:1180px){
 .premium-kpis{grid-template-columns:repeat(2,1fr)}
 .premium-dashboard-main,.premium-dashboard-bottom{grid-template-columns:1fr}
}
@media(max-width:980px){
 body:not(.role-parent) .side{width:252px!important;left:-270px}
}
@media(max-width:580px){
 .premium-page-head{align-items:flex-start;flex-direction:column}.premium-head-actions{width:100%}.premium-head-actions .btn{flex:1}
 .premium-kpis{grid-template-columns:1fr}.week-chart{grid-template-columns:42px 1fr}.week-plot{gap:5px}
}


/* ============================================================
   EduCantina 2.3.2 — Clean Parent Portal / PWA
   ============================================================ */

.role-parent{
  background:#f6f8fb!important;
  color:#172033;
}
.role-parent .parent-app{
  max-width:1180px;
  margin:0 auto;
  padding:22px 18px 98px;
}
.role-parent .parent-top{
  background:transparent!important;
  padding:2px 0 18px!important;
  border:0!important;
}
.role-parent .parent-top .brand{
  color:#172033!important;
  font-size:20px!important;
}
.role-parent .parent-top .brand small{
  color:#8b97a7!important;
}
.role-parent .parent-top .btn{
  border-radius:10px!important;
  box-shadow:none!important;
}

/* Header / hero */
.role-parent .parent-hero{
  position:relative;
  overflow:hidden;
  background:#fff!important;
  color:#172033!important;
  border:1px solid #e9edf2!important;
  border-radius:18px!important;
  box-shadow:0 4px 16px rgba(15,23,42,.035)!important;
  padding:24px!important;
}
.role-parent .parent-hero:before{
  content:"";
  position:absolute;
  width:190px;height:190px;
  border-radius:50%;
  right:-70px;top:-80px;
  background:color-mix(in srgb,var(--primary) 7%,transparent)!important;
}
.role-parent .parent-hello{color:#7a8798!important;font-size:11px!important;font-weight:650}
.role-parent .parent-hero h1{font-size:25px!important;letter-spacing:-.035em!important;color:#101827!important}
.role-parent .parent-hero p{color:#8c98a8!important;font-size:11px!important}
.role-parent .parent-child-switcher{gap:8px!important;margin-top:16px!important}
.role-parent .child-pill{
  background:#f8fafc!important;
  border:1px solid #e6ebf1!important;
  color:#59677a!important;
  border-radius:999px!important;
  min-height:38px!important;
  box-shadow:none!important;
}
.role-parent .child-pill.active{
  background:color-mix(in srgb,var(--primary) 9%,white)!important;
  color:var(--primary)!important;
  border-color:color-mix(in srgb,var(--primary) 18%,#e6ebf1)!important;
}

/* Summary */
.role-parent .parent-summary{
  grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,.7fr))!important;
  gap:12px!important;
  margin-top:14px!important;
}
.role-parent .parent-balance,
.role-parent .parent-stat{
  background:#fff!important;
  color:#172033!important;
  border:1px solid #e9edf2!important;
  border-radius:15px!important;
  box-shadow:0 2px 7px rgba(15,23,42,.022)!important;
}
.role-parent .parent-balance{padding:20px!important}
.role-parent .parent-balance .label,
.role-parent .parent-stat .label{color:#8692a2!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.04em}
.role-parent .parent-balance strong{
  color:#101827!important;
  font-size:29px!important;
  letter-spacing:-.045em!important;
}
.role-parent .parent-stat strong{
  color:#172033!important;
  font-size:19px!important;
}
.role-parent .parent-balance .btn{
  background:var(--primary)!important;
  color:white!important;
  min-height:43px!important;
  border-radius:11px!important;
}
.role-parent .parent-stat .mini-note{color:#97a2b1!important;font-size:9px!important}

/* Main cards */
.role-parent .parent-grid{gap:14px!important;margin-top:14px!important}
.role-parent .parent-card{
  background:#fff!important;
  border:1px solid #e9edf2!important;
  border-radius:15px!important;
  box-shadow:0 2px 7px rgba(15,23,42,.022)!important;
  overflow:hidden;
}
.role-parent .parent-card-head{
  background:#fff!important;
  border-bottom:1px solid #f0f3f6!important;
  padding:15px 17px!important;
}
.role-parent .parent-card-head h2{
  color:#172033!important;
  font-size:12px!important;
  font-weight:790!important;
}
.role-parent .parent-card-head span,
.role-parent .parent-card-head small{color:#9aa5b3!important;font-size:9px!important}
.role-parent .parent-card-body{padding:16px!important}

/* Purchases / charges / blocks */
.role-parent .purchase-item,
.role-parent .charge-item,
.role-parent .block-row{
  background:#fff!important;
  border:1px solid #edf1f4!important;
  border-radius:11px!important;
  padding:11px!important;
  box-shadow:none!important;
}
.role-parent .purchase-item:hover,
.role-parent .charge-item:hover,
.role-parent .block-row:hover{
  background:#fbfcfe!important;
  border-color:#e0e6ed!important;
  transform:none!important;
  box-shadow:none!important;
}
.role-parent .purchase-icon,
.role-parent .charge-icon{
  background:color-mix(in srgb,var(--primary) 8%,white)!important;
  color:var(--primary)!important;
  border-radius:9px!important;
}
.role-parent .purchase-copy strong,
.role-parent .charge-copy strong{font-size:10.5px!important}
.role-parent .purchase-copy small,
.role-parent .charge-copy small{font-size:8.5px!important;color:#9aa5b3!important}
.role-parent .purchase-price,
.role-parent .charge-price{font-size:11px!important;color:#172033!important}

/* Recharge */
.role-parent .recharge-values{gap:8px!important}
.role-parent .recharge-value{
  background:#f8fafc!important;
  border:1px solid #e6ebf1!important;
  color:#475569!important;
  border-radius:10px!important;
  min-height:40px!important;
  box-shadow:none!important;
}
.role-parent .recharge-value:hover,
.role-parent .recharge-value.active{
  background:color-mix(in srgb,var(--primary) 8%,white)!important;
  color:var(--primary)!important;
  border-color:color-mix(in srgb,var(--primary) 20%,#e6ebf1)!important;
}
.role-parent .pix-box{
  background:#fbfcfe!important;
  border:1px solid #e8edf2!important;
  border-radius:13px!important;
}
.role-parent .pix-code{
  background:#f8fafc!important;
  border:1px solid #e7ecf2!important;
  color:#334155!important;
  border-radius:9px!important;
}

/* Controls */
.role-parent .limit-box,
.role-parent .block-search{
  background:#fbfcfe!important;
  border:1px solid #edf1f4!important;
  border-radius:12px!important;
}
.role-parent input,
.role-parent select,
.role-parent textarea{
  background:#fff!important;
  border:1px solid #dfe6ed!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.role-parent input:focus,
.role-parent select:focus,
.role-parent textarea:focus{
  border-color:color-mix(in srgb,var(--primary) 55%,#fff)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 8%,transparent)!important;
}

/* Simple nav */
.role-parent .parent-bottom-nav{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(94%,720px)!important;
  bottom:14px!important;
  border:1px solid #e6ebf1!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 15px 40px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(14px)!important;
  padding:7px!important;
}
.role-parent .parent-bottom-nav a{
  color:#7c899a!important;
  border-radius:10px!important;
  min-height:49px!important;
}
.role-parent .parent-bottom-nav a.active{
  background:color-mix(in srgb,var(--primary) 8%,white)!important;
  color:var(--primary)!important;
}
.role-parent .parent-bottom-nav svg{width:18px!important;height:18px!important}
.role-parent .parent-bottom-nav span{font-size:8px!important;font-weight:720!important}

/* Empty states */
.role-parent .parent-empty{
  background:#fbfcfe!important;
  border:1px dashed #e0e6ed!important;
  border-radius:12px!important;
  color:#98a4b3!important;
}

/* Mobile */
@media(max-width:720px){
  .role-parent .parent-app{padding:13px 11px 92px!important}
  .role-parent .parent-hero{padding:18px!important;border-radius:15px!important}
  .role-parent .parent-hero h1{font-size:22px!important}
  .role-parent .parent-summary{grid-template-columns:1fr 1fr!important}
  .role-parent .parent-balance{grid-column:1/-1}
  .role-parent .parent-grid{grid-template-columns:1fr!important}
  .role-parent .parent-card{border-radius:13px!important}
}


/* EduCantina 2.3.3 — PWA App Experience */
.pwa-install-card{
  display:grid;grid-template-columns:46px 1fr auto 28px;gap:11px;align-items:center;
  background:#fff;border:1px solid #e5ebf1;border-radius:14px;padding:11px 12px;margin:0 0 13px;
  box-shadow:0 8px 26px rgba(15,23,42,.065)
}
.pwa-install-card[hidden]{display:none!important}
.pwa-install-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:12px;font-weight:900;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 18%,transparent)}
.pwa-install-copy strong{display:block;font-size:10.5px;color:#172033}.pwa-install-copy span{display:block;font-size:8.8px;color:#8c98a7;margin-top:3px;line-height:1.4}
#pwaInstallButton,#iosGuideOk{border:0;background:var(--primary);color:#fff;border-radius:9px;padding:9px 13px;font-size:9.5px;font-weight:800;cursor:pointer}
.pwa-install-close,.pwa-guide-close{border:0;background:transparent;color:#9ba6b4;font-size:20px;line-height:1;cursor:pointer}
.pwa-ios-guide{position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:999;display:flex;align-items:flex-end;justify-content:center;padding:12px;backdrop-filter:blur(4px)}
.pwa-ios-guide[hidden]{display:none!important}.pwa-guide-sheet{width:min(100%,480px);background:#fff;border-radius:20px;padding:25px 20px calc(22px + env(safe-area-inset-bottom));position:relative;box-shadow:0 30px 90px rgba(15,23,42,.24);text-align:center}
.pwa-guide-close{position:absolute;right:14px;top:12px}.pwa-guide-icon{width:50px;height:50px;border-radius:15px;margin:0 auto 12px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%,white);color:var(--primary);font-size:25px;font-weight:800}
.pwa-guide-sheet h3{font-size:17px;margin:0 0 8px}.pwa-guide-sheet p{font-size:11px;color:#64748b;line-height:1.6;margin:0 0 17px}
@media(max-width:620px){.pwa-install-card{grid-template-columns:42px 1fr auto;padding:10px}.pwa-install-close{grid-column:3;grid-row:1;align-self:start}.pwa-install-card #pwaInstallButton{grid-column:2/4;justify-self:stretch}.pwa-install-icon{grid-row:1/3}}

/* EduCantina 2.4 — Cardápio Semanal & Pedidos Antecipados */
.parent-menu-card{grid-column:1/-1}.menu-day-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:10px}.menu-day-tab{border:1px solid #e5ebf1;background:#fff;border-radius:11px;min-width:62px;padding:8px 10px;color:#64748b;cursor:pointer}.menu-day-tab b,.menu-day-tab span{display:block}.menu-day-tab b{font-size:10px}.menu-day-tab span{font-size:9px;margin-top:2px}.menu-day-tab.active{background:color-mix(in srgb,var(--primary) 9%,white);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 20%,#e5ebf1)}
.menu-day-note{font-size:9.5px;color:#8895a5;margin:2px 0 10px}.parent-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.parent-menu-item{border:1px solid #e8edf2;border-radius:12px;padding:12px;background:#fff}.parent-menu-item.soldout{opacity:.55;background:#f8fafc}.pmi-category{font-size:8px;text-transform:uppercase;color:var(--primary);font-weight:800;letter-spacing:.05em}.parent-menu-item>strong{display:block;font-size:11px;margin:5px 0}.pmi-price{font-size:14px;font-weight:900;color:#172033}.parent-menu-item>small{display:block;color:#93a0af;font-size:8.5px;margin:4px 0 9px}.pmi-qty{display:grid;grid-template-columns:34px 1fr 34px;gap:5px}.pmi-qty button{border:1px solid #e1e7ed;background:#f8fafc;border-radius:8px;font-weight:900;color:#475569;cursor:pointer}.pmi-qty input{text-align:center;min-height:34px!important;padding:5px!important}
.preorder-checkout{margin-top:13px;padding:12px;border:1px solid #e8edf2;background:#fbfcfe;border-radius:12px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.preorder-checkout small{display:block;font-size:8.5px;color:#8e9aaa}.preorder-checkout strong{font-size:17px}.preorder-payment{display:flex;gap:8px}.preorder-payment label{display:flex;align-items:center;gap:4px;margin:0;font-size:9.5px;padding:7px 9px;background:#fff;border:1px solid #e5ebf1;border-radius:9px}.preorder-payment input{width:auto;min-height:0!important}
.parent-order-list{display:grid;gap:8px}.parent-order-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #edf1f4;border-radius:11px;padding:10px}.parent-order-row strong{font-size:10px}.parent-order-row small{display:block;font-size:8.5px;color:#98a4b3;margin-top:3px}.por-right{text-align:right}.por-right b{display:block;font-size:10px;margin-top:4px}
.preorder-admin-grid{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.6fr);gap:16px}.production-list{display:grid;gap:7px}.production-list>div{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #edf1f4;border-radius:10px}.production-list strong{font-size:10px}.production-list b{width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--primary) 9%,white);color:var(--primary);display:grid;place-items:center;font-size:11px}
.preorder-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preorder-ticket{border:1px solid #e7ecf2;border-radius:12px;padding:12px;background:#fff;border-left:4px solid #94a3b8}.preorder-ticket.status-confirmed{border-left-color:#3b82f6}.preorder-ticket.status-preparing{border-left-color:#f59e0b}.preorder-ticket.status-ready{border-left-color:#10b981}.preorder-ticket.status-delivered{border-left-color:#8b5cf6}.pot-head{display:flex;justify-content:space-between;gap:8px}.pot-head strong{font-size:11px}.pot-head small{display:block;font-size:8.5px;color:#96a2b1;margin-top:3px}.pot-meta{display:flex;justify-content:space-between;font-size:9px;color:#64748b;margin:9px 0;border-top:1px solid #f0f3f6;border-bottom:1px solid #f0f3f6;padding:7px 0}.pot-items{display:flex;flex-wrap:wrap;gap:5px}.pot-items span{font-size:8.5px;background:#f8fafc;border-radius:7px;padding:5px 7px}.pot-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.preorder-kpis{margin-bottom:16px}
@media(max-width:900px){.parent-menu-grid{grid-template-columns:repeat(2,1fr)}.preorder-admin-grid{grid-template-columns:1fr}.preorder-board{grid-template-columns:1fr}}
@media(max-width:560px){.parent-menu-grid{grid-template-columns:1fr}.preorder-checkout{grid-template-columns:1fr}.preorder-payment{justify-content:flex-start}.preorder-checkout .btn{width:100%}.parent-order-row{align-items:flex-start}.preorder-board{grid-template-columns:1fr}}

/* EduCantina 2.4.2 — Loja do Portal e disponibilidade programada */
.portal-product-box{margin:16px 0;border:1px solid #e3e9ef;border-radius:13px;padding:13px;background:#fbfcfe}.portal-product-switch{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:13px}.portal-product-switch strong{display:block;font-size:11px}.portal-product-switch span{display:block;font-size:9px;color:#8d99a8;margin-top:3px}.switch input{display:none}.switch i{display:block;width:42px;height:24px;background:#dce3ea;border-radius:999px;position:relative;cursor:pointer;transition:.18s}.switch i:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 2px 5px #0002;transition:.18s}.switch input:checked+i{background:var(--primary)}.switch input:checked+i:after{left:21px}.weekday-checks{display:flex;gap:6px;flex-wrap:wrap}.weekday-checks input{display:none}.weekday-checks span{display:block;border:1px solid #dfe6ed;background:#fff;padding:7px 9px;border-radius:8px;font-size:9px;cursor:pointer}.weekday-checks input:checked+span{background:color-mix(in srgb,var(--primary) 9%,white);border-color:color-mix(in srgb,var(--primary) 25%,#dfe6ed);color:var(--primary);font-weight:800}.portal-product-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.parent-store-card{grid-column:1/-1}.store-date-tabs,.store-category-filter{display:flex;gap:7px;overflow:auto;padding-bottom:9px}.store-date-tab,.store-cat{border:1px solid #e5ebf1;background:#fff;border-radius:10px;padding:7px 10px;color:#657287;cursor:pointer;white-space:nowrap}.store-date-tab b,.store-date-tab span{display:block}.store-date-tab b{font-size:9px}.store-date-tab span{font-size:8px;margin-top:2px}.store-date-tab.active,.store-cat.active{background:color-mix(in srgb,var(--primary) 9%,white);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 22%,#e5ebf1)}.store-cat{font-size:8.5px}.parent-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.parent-store-item{border:1px solid #e8edf2;border-radius:12px;padding:12px;background:#fff}.psi-category{font-size:8px;text-transform:uppercase;color:var(--primary);font-weight:800}.parent-store-item>strong{display:block;font-size:11px;margin:5px 0}.parent-store-item>span{font-size:14px;font-weight:900}.parent-store-item>small{display:block;font-size:8.3px;color:#96a2b1;margin:4px 0 9px}.store-checkout{margin-top:12px}.production-subtitle{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:#8a96a6;margin:12px 0 6px}.store-item-chip{background:#eef6ff!important;color:#315d91}
@media(max-width:900px){.parent-store-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.portal-product-row{grid-template-columns:1fr}.parent-store-grid{grid-template-columns:1fr}}

/* EduCantina 2.4.3 — experiência mobile tipo aplicativo */
.mobile-app-dashboard,.mobile-app-nav{display:none}
@media(max-width:700px){
body.role-parent.action-portal{background:#f4f7fa;padding-bottom:75px}
body.role-parent.action-portal .sidebar{display:none!important}
body.role-parent.action-portal .main{margin-left:0!important;width:100%!important}
body.role-parent.action-portal .content{padding:0 12px 90px!important}
body.role-parent.action-portal .parent-hero{display:none!important}
body.role-parent.action-portal .parent-portal-grid{display:block!important}
body.role-parent.action-portal .mobile-app-dashboard{display:none;padding:12px 0}
body.role-parent.action-portal .mobile-app-dashboard.mobile-active{display:block}
body.role-parent.action-portal .app-view{display:none!important}
body.role-parent.action-portal .app-view.mobile-active{display:block!important;margin:10px 0!important}
.mobile-app-brand{display:flex;justify-content:space-between;align-items:center;padding:3px 2px 12px}.mobile-app-brand b{display:block;font-size:14px}.mobile-app-brand small{display:block;font-size:8px;color:#94a3b8}.mobile-app-brand>span{font-size:18px}
.mobile-student{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e7edf2;border-radius:15px;padding:11px;box-shadow:0 4px 14px #17203308}.mobile-avatar{width:44px;height:44px;border-radius:13px;background:color-mix(in srgb,var(--primary) 11%,white);color:var(--primary);display:grid;place-items:center;font-size:18px;font-weight:900}.mobile-student>div:nth-child(2){flex:1;min-width:0}.mobile-student small,.mobile-student span{display:block;font-size:8px;color:#94a3b8}.mobile-student strong{display:block;font-size:11px;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-student a{font-size:8px;font-weight:800;color:var(--primary);text-decoration:none;background:#f1f5f9;padding:7px;border-radius:8px}
.mobile-balance{margin-top:10px;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 72%,#0f172a));color:#fff;border-radius:17px;padding:17px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 18%,transparent)}.mobile-balance small,.mobile-balance span{display:block;font-size:8px;opacity:.78}.mobile-balance strong{display:block;font-size:25px;margin:3px 0}.mobile-balance button{border:1px solid #ffffff35;background:#ffffff1f;color:#fff;border-radius:10px;padding:9px;font-size:8px;font-weight:800}
.mobile-title{margin:17px 2px 9px}.mobile-title strong,.mobile-title small{display:block}.mobile-title strong{font-size:12px}.mobile-title small{font-size:8px;color:#94a3b8;margin-top:2px}
.mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-actions button{min-height:104px;border:1px solid #e7edf2;border-radius:15px;background:#fff;text-align:left;padding:13px;box-shadow:0 3px 12px #17203306}.mobile-actions i{display:grid;width:37px;height:37px;border-radius:11px;background:#f4f7fa;place-items:center;font-style:normal;font-size:18px;margin-bottom:8px}.mobile-actions b,.mobile-actions span{display:block}.mobile-actions b{font-size:10.5px}.mobile-actions span{font-size:8px;color:#94a3b8;margin-top:2px}
.mobile-last-order{width:100%;margin-top:10px;border:1px solid #e7edf2;background:#fff;border-radius:14px;padding:12px;display:flex;justify-content:space-between;align-items:center;text-align:left}.mobile-last-order small,.mobile-last-order span{display:block;font-size:8px;color:#94a3b8}.mobile-last-order b{display:block;font-size:10px;margin:2px 0}.mobile-last-order em{font-style:normal;font-size:8px;background:#eef7f3;color:#087443;padding:6px 8px;border-radius:8px}
.mobile-app-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:999;bottom:0;left:0;right:0;height:66px;background:#fff;border-top:1px solid #e5ebf0;box-shadow:0 -8px 24px #1720330c;padding-bottom:env(safe-area-inset-bottom)}.mobile-app-nav button{border:0;background:transparent;color:#8b98a8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:7px;font-weight:700}.mobile-app-nav i{font-style:normal;font-size:17px}.mobile-app-nav button.active{color:var(--primary)}
body.role-parent.action-portal .parent-card{border-radius:15px!important;box-shadow:0 4px 14px #17203308!important}.parent-store-grid,.parent-menu-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.preorder-checkout{position:sticky;bottom:72px;z-index:30;background:#fff!important;box-shadow:0 -7px 22px #17203312!important}
}
@media(max-width:390px){.parent-store-grid,.parent-menu-grid{grid-template-columns:1fr!important}.mobile-actions button{min-height:96px}}

@media(max-width:700px){
.mobile-app-version{font-size:7px;color:#a3adba;text-align:right;margin:0 2px 3px}
}

/* EduCantina 2.4.3.2 — correção definitiva de ativação do Portal App */
@media (max-width:900px){
  body.role-parent.action-portal .parent-app{background:#f4f7fa!important;padding-bottom:78px!important}
  body.role-parent.action-portal .parent-shell{padding:10px 11px 84px!important;max-width:100%!important}
  body.role-parent.action-portal .parent-top,
  body.role-parent.action-portal .parent-hero,
  body.role-parent.action-portal .parent-summary,
  body.role-parent.action-portal .parent-bottom-nav{display:none!important}

  body.role-parent.action-portal .mobile-app-dashboard{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    padding:5px 0 10px!important;
  }
  body.role-parent.action-portal .mobile-app-dashboard:not(.mobile-active){display:block!important}

  body.role-parent.action-portal .parent-card{display:none!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;
    grid-template-columns:repeat(5,1fr)!important;
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:99999!important;
  }
  body.role-parent.action-portal .mobile-app-version{
    display:block!important;
    font-size:8px!important;
    color:#94a3b8!important;
    text-align:right!important;
    margin:0 3px 5px!important;
  }
  body.role-parent.action-portal .mobile-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.role-parent.action-portal .pwa-install-card{margin:4px 0 10px!important}
}

/* EduCantina 2.4.3.3 — telas Pedidos, Extrato e Limites */
@media(max-width:900px){
 body.role-parent.action-portal .app-view.mobile-active{
   display:block!important;
   margin:10px 0!important;
 }
 body.role-parent.action-portal #controls{display:block!important}
 .mobile-screen-header{
   display:grid;grid-template-columns:36px 1fr 36px;align-items:center;
   margin:-2px 0 12px;padding:0 1px;
 }
 .mobile-screen-header button{
   width:34px;height:34px;border:1px solid #e4eaf0;background:#fff;
   border-radius:10px;color:#475569;font-size:23px;line-height:1;
 }
 .mobile-screen-header strong{text-align:center;font-size:12px;color:#172033}
}

/* EduCantina 2.5 — Portal Operacional e Controle de Caixa */
.staff-portal{max-width:1500px}.staff-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:17px}.staff-head h2{font-size:28px;letter-spacing:-.04em;margin:0}.staff-head p{font-size:10px;color:#8d99a8;margin:5px 0 0}.staff-cash-badge{min-width:190px;border-radius:13px;padding:12px 14px;border:1px solid #e5ebf0;background:#fff}.staff-cash-badge span,.staff-cash-badge strong{display:block}.staff-cash-badge span{font-size:9px;text-transform:uppercase;font-weight:850}.staff-cash-badge strong{font-size:10px;margin-top:4px}.staff-cash-badge.open{background:#eafaf3;color:#087443;border-color:#c8f0dc}.staff-cash-badge.closed{background:#fff6e8;color:#a15c00;border-color:#f8dfb5}
.staff-open-box{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:25px;background:#fff;border:1px solid #e7edf2;border-radius:18px;padding:25px;box-shadow:0 7px 25px #17203308}.staff-open-box i{display:grid;width:54px;height:54px;border-radius:16px;background:color-mix(in srgb,var(--primary) 10%,white);color:var(--primary);place-items:center;font-size:23px;font-style:normal;font-weight:900}.staff-open-box h3{font-size:20px;margin:13px 0 5px}.staff-open-box p{color:#718096;font-size:11px}.staff-open-box form{display:grid;gap:8px}.staff-open-box label{font-size:9px;font-weight:800;color:#667386}
.staff-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.staff-kpis>div{background:#fff;border:1px solid #e7edf2;border-radius:14px;padding:16px}.staff-kpis span,.staff-kpis small{display:block}.staff-kpis span{font-size:9.5px;color:#64748b;font-weight:720}.staff-kpis strong{display:block;font-size:23px;margin:7px 0 4px}.staff-kpis small{font-size:8.5px;color:#9aa5b3}
.staff-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.staff-action-grid a{min-height:118px;background:#fff;border:1px solid #e7edf2;border-radius:15px;padding:14px;text-decoration:none;color:#172033;box-shadow:0 3px 12px #17203306;transition:.15s}.staff-action-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 25px #17203310}.staff-action-grid i{display:grid;width:39px;height:39px;border-radius:12px;background:#f3f6f9;place-items:center;font-style:normal;font-size:19px;margin-bottom:10px}.staff-action-grid strong,.staff-action-grid span{display:block}.staff-action-grid strong{font-size:11px}.staff-action-grid span{font-size:8.5px;color:#94a0ae;margin-top:3px}
.staff-desktop-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.staff-money-list{display:grid;gap:6px}.staff-money-list>div{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid #eef2f5;font-size:10px}.staff-money-list b{font-size:10.5px}.staff-full-btn{width:100%;margin-top:12px}.production-list>div span small,.production-list>div span strong{display:block}.production-list>div span small{font-size:7.5px;text-transform:uppercase;color:#94a3b8}.production-list>div span strong{font-size:10px;margin-top:2px}.staff-mobile-nav{display:none}
.cash-status-card{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0f172a,#25364e);color:#fff;border-radius:17px;padding:18px;margin-bottom:13px}.cash-status-card span,.cash-status-card small{display:block}.cash-status-card span{font-size:8px;letter-spacing:.08em;font-weight:850;color:#86efac}.cash-status-card strong{display:block;font-size:13px;margin:3px 0}.cash-status-card small{font-size:8.5px;color:#cbd5e1}.cash-status-card>b{text-align:right;font-size:23px}.cash-status-card>b small{font-size:8px;font-weight:500}
.cash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:14px}.cash-kpis>div{background:#fff;border:1px solid #e7edf2;border-radius:13px;padding:14px}.cash-kpis span{display:block;font-size:9px;color:#778395}.cash-kpis strong{display:block;font-size:18px;margin-top:6px}.cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cash-form{max-width:520px}.cash-movement-list{display:grid;gap:7px;margin-top:14px}.cash-movement-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;border:1px solid #edf1f4;border-radius:10px;padding:9px}.cash-movement-list>div>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-weight:900}.cash-movement-list .supply{background:#eafaf3;color:#087443}.cash-movement-list .withdrawal{background:#fff0f0;color:#b42318}.cash-movement-list strong,.cash-movement-list small{display:block}.cash-movement-list strong{font-size:9.5px}.cash-movement-list small{font-size:8px;color:#98a4b3;margin-top:2px}.cash-movement-list b{font-size:10px}.cash-expected{background:#f8fafc;border:1px solid #e6ebf0;border-radius:12px;padding:14px;margin-bottom:13px}.cash-expected span,.cash-expected small{display:block}.cash-expected span{font-size:9px;color:#64748b}.cash-expected strong{display:block;font-size:25px;margin:5px 0}.cash-expected small{font-size:8px;color:#98a4b3}.cash-difference{display:flex;justify-content:space-between;align-items:center;border:1px solid #edf1f4;border-radius:10px;padding:10px;margin:10px 0 12px}.cash-difference span{font-size:9px;color:#64748b}.cash-difference strong{font-size:14px;color:#087443}.cash-difference strong.negative{color:#b42318}
@media(max-width:1050px){.staff-action-grid{grid-template-columns:repeat(2,1fr)}.staff-desktop-grid,.cash-grid{grid-template-columns:1fr}.staff-kpis,.cash-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
 body.role-operator.action-staff .side,body.role-operator.action-staff .topbar{display:none!important}
 body.role-operator.action-staff .layout{display:block!important}
 body.role-operator.action-staff .content{padding:12px 11px 82px!important}
 .staff-head{align-items:flex-start}.staff-head h2{font-size:22px}.staff-cash-badge{min-width:132px;padding:9px}.staff-kpis{grid-template-columns:1fr 1fr;gap:8px}.staff-kpis>div{padding:12px}.staff-kpis strong{font-size:19px}.staff-action-grid{grid-template-columns:1fr 1fr;gap:8px}.staff-action-grid a{min-height:105px;padding:12px}.staff-desktop-grid{display:none}.staff-open-box{grid-template-columns:1fr;padding:17px}.staff-mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;height:66px;background:#fff;border-top:1px solid #e5ebf0;z-index:999;padding-bottom:env(safe-area-inset-bottom)}.staff-mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#8b98a8;font-size:7.5px;font-weight:750}.staff-mobile-nav i{font-style:normal;font-size:17px}.staff-mobile-nav a.active{color:var(--primary)}
 .cash-kpis{grid-template-columns:1fr 1fr}.cash-status-card{align-items:flex-start}.cash-status-card>b{font-size:18px}
}

/* EduCantina 2.6 — Produção Inteligente & Painel da Cozinha */
.kitchen-page{max-width:1900px}.kitchen-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:14px}.kitchen-toolbar h2{font-size:29px;letter-spacing:-.04em;margin:0}.kitchen-toolbar p{font-size:9px;color:#8d99a8;margin:4px 0 0}.kitchen-toolbar-actions{display:flex;gap:8px;align-items:center}.kitchen-toolbar-actions form{margin:0}.kitchen-toolbar-actions input{min-height:38px}
.kitchen-summary-strip{display:flex;gap:8px;overflow:auto;padding:1px 0 12px}.kitchen-summary-strip>div{min-width:150px;background:#fff;border:1px solid #e6ebf0;border-radius:11px;padding:10px 12px}.kitchen-summary-strip span,.kitchen-summary-strip strong{display:block}.kitchen-summary-strip span{font-size:7.5px;text-transform:uppercase;color:#8c98a7;font-weight:850}.kitchen-summary-strip strong{font-size:10px;margin-top:3px}
.kitchen-board{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:12px;align-items:start}.kitchen-column{background:#eef2f6;border-radius:16px;padding:10px;min-height:520px}.kitchen-column>header{padding:5px 5px 11px}.kitchen-column>header>div{display:flex;justify-content:space-between;align-items:center}.kitchen-column>header span{font-size:12px;font-weight:850}.kitchen-column>header strong{width:29px;height:29px;border-radius:9px;background:#fff;display:grid;place-items:center;font-size:11px}.status-confirmed>header{color:#2563eb}.status-preparing>header{color:#d97706}.status-ready>header{color:#059669}
.kitchen-cards{display:grid;gap:9px}.kitchen-ticket{background:#fff;border:1px solid #e2e8ef;border-radius:13px;padding:12px;box-shadow:0 3px 12px #17203308}.kt-head{display:flex;justify-content:space-between;gap:10px}.kt-head small,.kt-head strong,.kt-head span{display:block}.kt-head small{font-size:7.5px;color:#8f9ba9;font-weight:800}.kt-head strong{font-size:14px;margin:3px 0}.kt-head span{font-size:8.5px;color:#7b8796}.kt-head>b{font-size:9px;color:#94a3b8}.kt-items{display:grid;gap:5px;margin:11px 0}.kt-items>div{display:grid;grid-template-columns:31px 1fr auto;gap:7px;align-items:center;background:#f8fafc;border-radius:9px;padding:7px}.kt-items>div.separate{background:#eef6ff}.kt-items b{font-size:11px}.kt-items span{font-size:9.5px;font-weight:750}.kt-items small{font-size:6.8px;color:#8b98a8;font-weight:850}.kt-action .btn{width:100%;min-height:38px}.kitchen-empty{padding:60px 12px;text-align:center;color:#94a3b8;font-size:9px}
.production-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:14px}.production-kpis>div{background:#fff;border:1px solid #e7edf2;border-radius:14px;padding:16px}.production-kpis span,.production-kpis small{display:block}.production-kpis span{font-size:9px;color:#718096;font-weight:750}.production-kpis strong{display:block;font-size:23px;margin:7px 0 4px}.production-kpis small{font-size:8px;color:#98a4b3}
.production-intel-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:14px}.production-intel-list{display:grid;gap:8px}.pi-row{position:relative;display:grid;grid-template-columns:67px 1fr 70px;gap:10px;align-items:center;border:1px solid #e8edf2;border-radius:11px;padding:10px;overflow:hidden}.pi-type{font-size:7.5px;text-transform:uppercase;font-weight:850;border-radius:7px;padding:6px;text-align:center}.pi-type.menu{background:#eafaf3;color:#087443}.pi-type.store{background:#eef6ff;color:#315d91}.pi-name strong,.pi-name small{display:block}.pi-name strong{font-size:10.5px}.pi-name small{font-size:8px;color:#97a3b1;margin-top:3px}.pi-suggest{text-align:right}.pi-suggest span,.pi-suggest strong{display:block}.pi-suggest span{font-size:7px;color:#98a4b3}.pi-suggest strong{font-size:17px}.pi-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#eef2f5}.pi-progress i{display:block;height:100%;background:var(--primary)}.production-guidance{display:grid;gap:9px}.production-guidance>div{display:grid;grid-template-columns:29px 1fr;gap:9px;align-items:start;padding:10px;border:1px solid #edf1f4;border-radius:10px}.production-guidance i{width:27px;height:27px;border-radius:8px;background:color-mix(in srgb,var(--primary) 9%,white);color:var(--primary);display:grid;place-items:center;font-size:9px;font-style:normal;font-weight:900}.production-guidance p{font-size:9px;line-height:1.5;margin:0;color:#64748b}.production-guidance strong{color:#253247}
@media(max-width:1100px){.kitchen-board{grid-template-columns:1fr}.kitchen-column{min-height:0}.production-kpis{grid-template-columns:repeat(2,1fr)}.production-intel-grid{grid-template-columns:1fr}}
@media(max-width:700px){.kitchen-toolbar{align-items:flex-start;flex-direction:column}.kitchen-toolbar-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.kitchen-toolbar-actions form{grid-column:1/-1}.kitchen-toolbar-actions input{width:100%}.kitchen-board{grid-template-columns:1fr}.kitchen-column{border-radius:13px;padding:8px}.production-kpis{grid-template-columns:1fr 1fr}.production-kpis>div{padding:12px}.production-kpis strong{font-size:19px}.pi-row{grid-template-columns:58px 1fr 55px}.premium-page-head .premium-head-actions{flex-wrap:wrap}}
@media(min-width:1400px){body.action-kitchen .content{max-width:1900px!important}}

/* EduCantina 2.7 — QR Code de Retirada e notificações em tempo real */
.parent-order-qr{align-items:center}.parent-order-main{min-width:0}.parent-order-main .status{display:inline-flex;margin-top:6px}.show-pickup-qr{border:0;background:color-mix(in srgb,var(--primary) 10%,white);color:var(--primary);border-radius:8px;padding:7px 9px;font-size:8px;font-weight:850;margin-top:6px;cursor:pointer}
.pickup-qr-modal{position:fixed;inset:0;z-index:10000;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:15px;backdrop-filter:blur(5px)}.pickup-qr-modal[hidden]{display:none!important}.pickup-qr-sheet{width:min(100%,390px);background:#fff;border-radius:22px;padding:24px;text-align:center;position:relative;box-shadow:0 30px 90px #0f172a44}.pickup-qr-close{position:absolute;right:13px;top:11px;border:0;background:transparent;font-size:25px;color:#94a3b8}.pickup-qr-icon{width:44px;height:44px;border-radius:14px;background:#eafaf3;color:#087443;display:grid;place-items:center;margin:auto;font-size:20px;font-weight:900}.pickup-qr-sheet h3{font-size:18px;margin:11px 0 4px}.pickup-qr-sheet p,.pickup-qr-sheet>small{font-size:9.5px;color:#7b8797}.pickup-qr-sheet #pickupQrCanvas{display:flex;justify-content:center;margin:15px 0}.pickup-qr-sheet #pickupQrOrder{font-size:11px}.pickup-manual-code{margin:11px 0;background:#f8fafc;border:1px solid #e7edf2;border-radius:11px;padding:10px}.pickup-manual-code span,.pickup-manual-code b{display:block}.pickup-manual-code span{font-size:8px;color:#94a3b8}.pickup-manual-code b{font-size:20px;letter-spacing:.12em;margin-top:3px}
.pickup-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:14px}.pickup-camera{position:relative;min-height:350px;background:#0f172a;border-radius:15px;overflow:hidden;display:grid;place-items:center}.pickup-camera video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.pickup-frame{position:absolute;width:210px;height:210px;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px #0f172a55}.pickup-camera-message,#pickupCameraMessage{position:absolute;bottom:17px;left:15px;right:15px;text-align:center;background:#0f172acc;color:#fff;border-radius:9px;padding:8px;font-size:9px}.pickup-camera-actions{display:flex;gap:8px;margin-top:10px}.pickup-manual-form{margin-top:16px}.pickup-manual-form label{font-size:9px;font-weight:800}.pickup-manual-form>div{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:5px}
.pickup-await,.pickup-not-found{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#94a3b8}.pickup-await i,.pickup-not-found i{width:58px;height:58px;border-radius:18px;background:#f1f5f9;display:grid;place-items:center;font-style:normal;font-size:25px}.pickup-await strong,.pickup-not-found strong{font-size:13px;color:#334155;margin-top:11px}.pickup-await span,.pickup-not-found span{font-size:9px;margin-top:4px}.pickup-not-found i{background:#fff0f0;color:#b42318}
.pickup-order-card{border:1px solid #e7edf2;border-radius:15px;padding:15px}.pickup-order-head{display:flex;justify-content:space-between;gap:12px}.pickup-order-head small,.pickup-order-head span{display:block}.pickup-order-head small{font-size:8px;color:#94a3b8}.pickup-order-head h3{font-size:20px;margin:3px 0}.pickup-order-head>div>span{font-size:9px;color:#7b8797}.pickup-items{display:grid;gap:6px;margin:14px 0}.pickup-items>div{display:grid;grid-template-columns:34px 1fr auto;gap:8px;background:#f8fafc;border-radius:9px;padding:8px}.pickup-items b{font-size:11px}.pickup-items span{font-size:10px;font-weight:750}.pickup-items small{font-size:7px;color:#8b98a8}.pickup-order-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.pickup-order-meta>div{background:#fbfcfe;border:1px solid #edf1f4;border-radius:10px;padding:10px}.pickup-order-meta span,.pickup-order-meta strong{display:block}.pickup-order-meta span{font-size:7.5px;color:#94a3b8}.pickup-order-meta strong{font-size:10px;margin-top:3px}.pickup-deliver-btn{width:100%;min-height:44px}.pickup-delivered,.pickup-wait-status{border-radius:10px;padding:11px;font-size:9px}.pickup-delivered{background:#eafaf3;color:#087443}.pickup-wait-status{background:#fff7e8;color:#9a5b00}
.edu-live-toast{position:fixed;right:16px;top:16px;z-index:20000;width:min(330px,calc(100vw - 30px));background:#fff;border:1px solid #e5ebf0;border-left:4px solid var(--primary);border-radius:12px;padding:12px;box-shadow:0 16px 45px #0f172a25;transform:translateY(-20px);opacity:0;transition:.22s}.edu-live-toast.show{transform:translateY(0);opacity:1}.edu-live-toast strong,.edu-live-toast span{display:block}.edu-live-toast strong{font-size:10.5px}.edu-live-toast span{font-size:9px;color:#64748b;margin-top:4px;line-height:1.4}
@media(max-width:850px){.pickup-layout{grid-template-columns:1fr}.pickup-camera{min-height:300px}}
@media(max-width:560px){.parent-order-qr{align-items:flex-start}.pickup-camera{min-height:270px}.pickup-frame{width:180px;height:180px}.pickup-order-meta{grid-template-columns:1fr}}

/* EduCantina 2.8 — Previsão de Estoque & Compras Inteligentes */
.inventory-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:14px}.inventory-kpis>div{background:#fff;border:1px solid #e7edf2;border-radius:14px;padding:16px}.inventory-kpis span,.inventory-kpis small{display:block}.inventory-kpis span{font-size:9px;color:#718096;font-weight:750}.inventory-kpis strong{display:block;font-size:23px;margin:7px 0 4px}.inventory-kpis small{font-size:8px;color:#98a4b3}
.inventory-table .risk-critical{background:#fff8f8}.inventory-table .risk-warning{background:#fffdf6}.inventory-product{display:flex;align-items:center;gap:8px}.inventory-product strong,.inventory-product small{display:block}.inventory-product strong{font-size:10px}.inventory-product small{font-size:8px;color:#94a3b8;margin-top:2px}.inventory-risk-dot{width:9px;height:9px;border-radius:50%;background:#10b981}.risk-warning .inventory-risk-dot{background:#f59e0b}.risk-critical .inventory-risk-dot{background:#ef4444}.purchase-qty-input{min-width:88px;max-width:110px;padding:8px!important;min-height:35px!important}.purchase-plan-footer{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;border-top:1px solid #edf1f4;padding:14px}.purchase-plan-footer .field{margin:0}.inventory-method{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:13px}.inventory-method>h3{grid-column:1/-1;font-size:12px;margin:0 0 2px}.inventory-method>div{display:grid;grid-template-columns:28px 1fr;gap:8px;background:#fff;border:1px solid #e7edf2;border-radius:11px;padding:10px}.inventory-method>div>span{width:27px;height:27px;border-radius:8px;background:color-mix(in srgb,var(--primary) 9%,white);color:var(--primary);display:grid;place-items:center;font-size:9px;font-weight:900}.inventory-method p{font-size:8.5px;line-height:1.45;color:#64748b;margin:0}.inventory-method strong{color:#334155}
.purchase-plan-detail{background:#fff;border:1px solid #e7edf2;border-radius:15px;padding:15px;margin-bottom:14px}.purchase-plan-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:13px}.purchase-plan-head>div>span,.purchase-plan-head small{display:block}.purchase-plan-head>div>span{font-size:8px;color:#94a3b8;font-weight:800}.purchase-plan-head h3{font-size:17px;margin:3px 0}.purchase-plan-head small{font-size:8.5px;color:#7b8797}.purchase-plan-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid #edf1f4}.purchase-product-box{background:#f8fbff}
@media(max-width:1050px){.inventory-kpis{grid-template-columns:repeat(2,1fr)}.inventory-method{grid-template-columns:repeat(2,1fr)}.purchase-plan-footer{grid-template-columns:1fr 1fr}.purchase-plan-footer .btn{grid-column:1/-1}}
@media(max-width:650px){.inventory-kpis{grid-template-columns:1fr 1fr}.inventory-kpis>div{padding:12px}.inventory-kpis strong{font-size:19px}.inventory-method{grid-template-columns:1fr}.purchase-plan-footer{grid-template-columns:1fr}.purchase-plan-actions{flex-direction:column}.purchase-plan-actions .btn{width:100%}}

/* EduCantina 2.9 — Dashboard Executivo & Indicadores Gerenciais */
.executive-dashboard{max-width:1600px}.executive-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:15px}.executive-head h2{font-size:29px;letter-spacing:-.04em;margin:0}.executive-head p{font-size:9px;color:#8d99a8;margin:5px 0 0}.executive-filter select{min-width:190px}
.executive-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:12px}.executive-kpis>div{background:#fff;border:1px solid #e7edf2;border-radius:15px;padding:16px;box-shadow:0 3px 12px #17203306}.executive-kpis span,.executive-kpis small{display:block}.executive-kpis span{font-size:9px;color:#718096;font-weight:760}.executive-kpis strong{display:block;font-size:23px;margin:7px 0 4px}.executive-kpis small{font-size:8px}.executive-kpis .positive{color:#087443}.executive-kpis .negative{color:#b42318}
.executive-alerts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.executive-alerts>div{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;background:#fff;border:1px solid #e7edf2;border-radius:12px;padding:10px}.executive-alerts i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-style:normal;background:#eef7f3;color:#087443}.executive-alerts .attention i{background:#fff3e5;color:#ad6200}.executive-alerts span{font-size:8.5px;color:#64748b}.executive-alerts strong{font-size:15px}.executive-alerts a{grid-column:2/4;font-size:8px;color:var(--primary);text-decoration:none;font-weight:800}
.executive-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}.executive-grid-main{grid-template-columns:1.45fr .55fr}.executive-chart-panel{min-height:360px}.executive-bars{height:285px;display:flex;align-items:end;gap:8px;padding:16px 8px 0;overflow-x:auto}.executive-bar-item{height:100%;min-width:42px;flex:1;display:grid;grid-template-rows:24px 1fr 20px;align-items:end;text-align:center}.executive-bar-value{font-size:7px;color:#8290a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.executive-bar-track{height:100%;background:#f1f5f8;border-radius:8px 8px 3px 3px;display:flex;align-items:end;overflow:hidden}.executive-bar-track i{display:block;width:100%;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 72%,white),var(--primary));border-radius:8px 8px 3px 3px;min-height:3px}.executive-bar-item>span{font-size:7.5px;color:#8491a1;margin-top:5px}
.payment-mix{display:grid;gap:13px}.payment-mix-head{display:flex;justify-content:space-between;gap:8px}.payment-mix-head span,.payment-mix-head strong{font-size:9px}.payment-mix-track{height:8px;background:#edf2f5;border-radius:999px;overflow:hidden;margin:5px 0}.payment-mix-track i{display:block;height:100%;background:var(--primary);border-radius:999px}.payment-mix small{font-size:7.5px;color:#94a3b8}
.executive-table-wrap table small{font-size:7.5px;color:#94a3b8}.peak-hours{display:grid;gap:8px}.peak-hours>div{display:grid;grid-template-columns:38px 1fr 30px;gap:7px;align-items:center}.peak-hours>div>span{font-size:8px;color:#64748b}.peak-hours>div>div{height:8px;background:#edf2f5;border-radius:999px;overflow:hidden}.peak-hours>div>div i{display:block;height:100%;background:#f59e0b;border-radius:999px}.peak-hours strong{font-size:9px;text-align:right}
.top-students{display:grid;gap:7px}.top-students>div{display:grid;grid-template-columns:29px 1fr auto;gap:8px;align-items:center;border:1px solid #edf1f4;border-radius:10px;padding:9px}.top-students>div>b{width:27px;height:27px;border-radius:8px;background:#f4f7fa;display:grid;place-items:center;font-size:9px}.top-students strong,.top-students small{display:block}.top-students strong{font-size:9.5px}.top-students small{font-size:7.5px;color:#94a3b8;margin-top:2px}.top-students>div>span{font-size:9.5px;font-weight:800}
.executive-summary-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.executive-summary-list>div{background:#f8fafc;border:1px solid #edf1f4;border-radius:10px;padding:10px}.executive-summary-list span,.executive-summary-list strong{display:block}.executive-summary-list span{font-size:7.5px;color:#8c98a7}.executive-summary-list strong{font-size:14px;margin-top:4px}.executive-note{font-size:8px;line-height:1.5;color:#7b8797;background:#fff8e8;border:1px solid #f5e2b6;border-radius:9px;padding:9px;margin-top:10px}
@media(max-width:1100px){.executive-kpis,.executive-alerts{grid-template-columns:repeat(2,1fr)}.executive-grid,.executive-grid-main{grid-template-columns:1fr}}
@media(max-width:650px){.executive-head{align-items:flex-start;flex-direction:column}.executive-filter,.executive-filter select{width:100%}.executive-kpis,.executive-alerts{grid-template-columns:1fr 1fr}.executive-kpis>div{padding:12px}.executive-kpis strong{font-size:19px}.executive-alerts>div{grid-template-columns:30px 1fr auto}.executive-bars{height:240px}.executive-summary-list{grid-template-columns:1fr}}

/* EduCantina 3.0 — Assistente Gerencial & Central de Insights */
.assistant-page{max-width:1500px}.assistant-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.assistant-head h2{font-size:29px;letter-spacing:-.04em;margin:0}.assistant-head p{font-size:9px;color:#8d99a8;margin:5px 0 0}.assistant-status{display:flex;align-items:center;gap:9px;background:#eefaf6;border:1px solid #d5f1e5;border-radius:13px;padding:10px 12px}.assistant-status i{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--primary);display:grid;place-items:center;font-style:normal;font-size:16px}.assistant-status strong,.assistant-status span{display:block}.assistant-status strong{font-size:9.5px;color:#087443}.assistant-status span{font-size:7.5px;color:#4f7d68;margin-top:2px}
.assistant-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:14px}.assistant-chat-panel{background:#fff;border:1px solid #e7edf2;border-radius:18px;padding:18px;min-height:680px;display:flex;flex-direction:column}.assistant-welcome{text-align:center;padding:6px 15px 15px}.assistant-orb{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 65%,#334155));color:#fff;display:grid;place-items:center;margin:auto;font-size:22px;box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 22%,transparent)}.assistant-welcome h3{font-size:17px;margin:11px 0 4px}.assistant-welcome p{font-size:9px;color:#7b8797;margin:0}.assistant-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.assistant-quick{border:1px solid #e7edf2;background:#fbfcfe;border-radius:12px;padding:11px;text-align:left;cursor:pointer;transition:.15s}.assistant-quick:hover{border-color:color-mix(in srgb,var(--primary) 25%,#e7edf2);background:color-mix(in srgb,var(--primary) 4%,white)}.assistant-quick i,.assistant-quick strong,.assistant-quick span{display:block}.assistant-quick i{font-style:normal;font-size:17px;margin-bottom:7px}.assistant-quick strong{font-size:9.5px}.assistant-quick span{font-size:7.5px;color:#94a3b8;margin-top:3px;line-height:1.35}
.assistant-conversation{display:grid;gap:10px;flex:1;align-content:start;max-height:720px;overflow:auto;padding:4px 2px 12px}.assistant-message{display:flex;gap:9px;align-items:flex-start}.assistant-message-user{justify-content:flex-end}.assistant-message-user .assistant-msg-body{background:var(--primary);color:#fff;border-radius:14px 14px 3px 14px;max-width:75%}.assistant-message-ai .assistant-msg-body{background:#f6f8fb;border:1px solid #e8edf2;border-radius:3px 14px 14px 14px;max-width:88%}.assistant-msg-icon{width:31px;height:31px;border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,white);color:var(--primary);display:grid;place-items:center;font-size:13px;flex:0 0 auto}.assistant-msg-body{padding:10px 12px}.assistant-msg-body>small{font-size:7.5px;color:#8390a0;font-weight:800;text-transform:uppercase}.assistant-msg-body p{font-size:9.5px;line-height:1.55;margin:3px 0 0}.assistant-result-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.assistant-result-cards>div{background:#fff;border:1px solid #e6ebf0;border-radius:9px;padding:8px}.assistant-result-cards span,.assistant-result-cards strong{display:block}.assistant-result-cards span{font-size:6.8px;color:#94a3b8}.assistant-result-cards strong{font-size:11px;margin-top:3px}.assistant-result-table{overflow:auto;margin-top:10px;border:1px solid #e4eaf0;border-radius:9px;background:#fff}.assistant-result-table table{width:100%;border-collapse:collapse}.assistant-result-table th,.assistant-result-table td{padding:7px 8px;border-bottom:1px solid #edf1f4;text-align:left;font-size:7.8px;white-space:nowrap}.assistant-result-table th{background:#f8fafc;color:#64748b;font-weight:800}.assistant-loading .assistant-msg-body{display:flex;gap:4px;align-items:center;min-height:34px}.assistant-loading .assistant-msg-body span{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:assistantPulse 1s infinite}.assistant-loading .assistant-msg-body span:nth-child(2){animation-delay:.15s}.assistant-loading .assistant-msg-body span:nth-child(3){animation-delay:.3s}@keyframes assistantPulse{0%,70%,100%{transform:translateY(0);opacity:.4}35%{transform:translateY(-4px);opacity:1}}
.assistant-composer{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid #dfe6ed;background:#fff;border-radius:14px;padding:7px;margin-top:8px}.assistant-composer textarea{border:0!important;resize:none;min-height:45px!important;box-shadow:none!important;padding:9px!important;font-size:9.5px}.assistant-composer button{border:0;background:var(--primary);color:#fff;border-radius:10px;min-width:72px;padding:8px 12px;font-weight:800}.assistant-composer button i,.assistant-composer button span{display:block}.assistant-composer button i{font-style:normal;font-size:15px}.assistant-composer button span{font-size:7px;margin-top:2px}.assistant-disclaimer{text-align:center;font-size:7px;color:#9aa5b3;margin-top:7px}
.assistant-side{display:grid;gap:13px;align-content:start}.assistant-history{display:grid;gap:6px}.assistant-history button{border:1px solid #edf1f4;background:#fff;border-radius:9px;padding:9px;text-align:left;cursor:pointer}.assistant-history strong,.assistant-history small{display:block}.assistant-history strong{font-size:8.8px;line-height:1.35}.assistant-history small{font-size:7px;color:#94a3b8;margin-top:3px}.assistant-capabilities{background:#172033;color:#fff;border-radius:15px;padding:15px}.assistant-capabilities h3{font-size:11px;margin:0 0 10px}.assistant-capabilities>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #ffffff12}.assistant-capabilities>div:last-child{border-bottom:0}.assistant-capabilities i{font-style:normal;font-size:15px}.assistant-capabilities span{font-size:8px;color:#d5dde7;line-height:1.35}
@media(max-width:1050px){.assistant-layout{grid-template-columns:1fr}.assistant-side{grid-template-columns:1fr 1fr}.assistant-quick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.assistant-head{align-items:flex-start;flex-direction:column}.assistant-status{width:100%}.assistant-chat-panel{padding:12px;min-height:620px}.assistant-quick-grid{grid-template-columns:1fr 1fr}.assistant-result-cards{grid-template-columns:1fr 1fr}.assistant-side{grid-template-columns:1fr}.assistant-message-ai .assistant-msg-body{max-width:calc(100% - 40px)}.assistant-message-user .assistant-msg-body{max-width:86%}.assistant-composer button{min-width:58px}}

/* EduCantina 3.1 — Produção Avançada, Desperdício e Planejamento */
.production-product-box{background:#fffaf1}.production-advanced-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:14px}.production-plan-hero{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(135deg,#172033,#2c3d56);color:#fff;border-radius:17px;padding:18px;margin-bottom:13px}.production-plan-hero span,.production-plan-hero p{display:block}.production-plan-hero span{font-size:8px;text-transform:uppercase;color:#86efac;font-weight:850}.production-plan-hero h3{font-size:21px;margin:4px 0}.production-plan-hero p{font-size:8.5px;color:#cbd5e1}.production-plan-actions{display:flex;gap:8px}.advanced-production-list{display:grid;gap:10px}.advanced-production-list article{border:1px solid #e7edf2;border-radius:13px;padding:12px;background:#fff}.apl-head{display:flex;justify-content:space-between;gap:10px}.apl-head h3{font-size:12px;margin:5px 0 3px}.apl-head small{display:block;font-size:8px;color:#94a3b8}.apl-head>strong{font-size:18px}.apl-progress{height:7px;background:#edf2f5;border-radius:999px;overflow:hidden;margin:10px 0}.apl-progress i{display:block;height:100%;background:var(--primary);border-radius:999px}.apl-forms{display:grid;grid-template-columns:1fr 1.35fr;gap:9px}.apl-forms form{display:grid;grid-template-columns:100px 1fr auto;gap:6px}.apl-forms form:last-child{grid-template-columns:90px 1fr auto}.apl-forms input,.apl-forms select{min-height:35px!important;padding:7px!important;font-size:8.5px!important}
@media(max-width:1050px){.production-advanced-grid{grid-template-columns:1fr}.apl-forms{grid-template-columns:1fr}}
@media(max-width:650px){.production-plan-hero{align-items:flex-start;flex-direction:column}.production-plan-actions,.production-plan-actions form,.production-plan-actions .btn{width:100%}.apl-forms form,.apl-forms form:last-child{grid-template-columns:1fr}.apl-forms .btn{width:100%}}

/* EduCantina 3.2 — Consolidação, Segurança e Diagnóstico */
.diagnostic-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:18px;padding:19px;margin-bottom:12px;color:#fff;background:#172033}.diagnostic-hero.status-ok{background:linear-gradient(135deg,#087443,#0f9f65)}.diagnostic-hero.status-warning{background:linear-gradient(135deg,#9a5b00,#d68a0c)}.diagnostic-hero.status-error{background:linear-gradient(135deg,#9f1d1d,#d03939)}.diagnostic-hero span,.diagnostic-hero small{display:block}.diagnostic-hero span{font-size:8px;font-weight:900;letter-spacing:.08em;opacity:.8}.diagnostic-hero strong{display:block;font-size:22px;margin:4px 0}.diagnostic-hero small{font-size:8.5px;opacity:.78}.diagnostic-score{text-align:right}.diagnostic-score b{display:block;font-size:31px}.diagnostic-score span{font-size:8px;letter-spacing:0;text-transform:none}
.diagnostic-kpis,.security-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.diagnostic-kpis>div,.security-kpis>div{background:#fff;border:1px solid #e7edf2;border-radius:14px;padding:14px}.diagnostic-kpis span,.diagnostic-kpis small,.security-kpis span,.security-kpis small{display:block}.diagnostic-kpis span,.security-kpis span{font-size:8.5px;color:#718096;font-weight:750}.diagnostic-kpis strong,.security-kpis strong{display:block;font-size:21px;margin:6px 0 3px}.diagnostic-kpis small,.security-kpis small{font-size:7.5px;color:#98a4b3}
.diagnostic-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}.diagnostic-list{display:grid;gap:7px}.diagnostic-row{display:grid;grid-template-columns:31px 1fr auto;gap:9px;align-items:start;border:1px solid #e7edf2;border-radius:11px;padding:9px}.diagnostic-row>i{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:900}.diagnostic-row.ok>i{background:#eafaf3;color:#087443}.diagnostic-row.warning>i{background:#fff7e8;color:#9a5b00}.diagnostic-row.error>i{background:#fff0f0;color:#b42318}.diagnostic-row strong,.diagnostic-row span,.diagnostic-row small{display:block}.diagnostic-row strong{font-size:9px}.diagnostic-row span{font-size:7.8px;color:#718096;margin-top:2px;line-height:1.4}.diagnostic-row small{font-size:7.3px;color:#9a5b00;margin-top:3px}.diagnostic-row>b{font-size:6.8px;padding:5px 6px;border-radius:7px;background:#f4f7fa;color:#64748b}
.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:13px}.security-alert-list{display:grid;gap:7px}.security-alert-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;border:1px solid #f3e1bd;background:#fffaf0;border-radius:10px;padding:9px}.security-alert-list i{width:28px;height:28px;border-radius:8px;background:#fff0d3;color:#9a5b00;display:grid;place-items:center;font-style:normal;font-weight:900}.security-alert-list strong,.security-alert-list span{display:block}.security-alert-list strong{font-size:8.8px}.security-alert-list span{font-size:7.4px;color:#8b98a8;margin-top:2px}.security-alert-list b{font-size:8px;color:#9a5b00}.security-agent{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7.8px;color:#718096}
@media(max-width:1000px){.diagnostic-groups,.security-grid{grid-template-columns:1fr}.diagnostic-kpis,.security-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.diagnostic-hero{align-items:flex-start}.diagnostic-score b{font-size:25px}.diagnostic-kpis,.security-kpis{grid-template-columns:1fr 1fr}.diagnostic-row{grid-template-columns:29px 1fr}.diagnostic-row>b{grid-column:2;justify-self:start}.premium-head-actions{flex-wrap:wrap}}
