
/* ================================================================
   EduCantina 3.4 — Interface Oficial Multiplataforma
   Base visual aprovada: tecnologia, conexão e alimentação escolar.
   ================================================================ */
:root{
 --ec-navy:#123B63; --ec-navy-dark:#071D30; --ec-blue:#1E6CFB;
 --ec-sky:#58B7FF; --ec-green:#22C55E; --ec-mint:#31D98B;
 --ec-bg:#F4F7FA; --ec-card:#FFFFFF; --ec-text:#10233A;
 --ec-muted:#647488; --ec-border:#E4EBF1; --ec-warning:#F59E0B;
 --ec-danger:#EF4444; --ec-purple:#7454D8;
 --primary:var(--ec-green); --primary-dark:#16A442; --text:var(--ec-text);
 --muted:var(--ec-muted); --border:var(--ec-border); --body-bg:var(--ec-bg);
}
html,body,button,input,select,textarea{font-family:Inter,"Segoe UI",Arial,sans-serif!important}
body{background:var(--ec-bg)!important;color:var(--ec-text)!important}
*{box-sizing:border-box}
a{text-decoration:none}
::selection{background:#D8F9E2;color:#071D30}

/* --- Layout administrativo --- */
.layout{background:var(--ec-bg)!important}
.side{
 background:linear-gradient(180deg,#0B3252 0%,#071D30 100%)!important;
 border-right:0!important;box-shadow:8px 0 30px rgba(7,29,48,.08)!important;
}
.brandbox{
 min-height:86px!important;padding:15px 16px!important;display:flex!important;
 align-items:center!important;gap:10px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.brandbox .brandlogo{max-width:42px!important;max-height:42px!important;border-radius:12px!important}
.brandbox .brand-fallback{display:none!important}
.brandbox .brand{color:#fff!important;font-size:16px!important;font-weight:800!important;line-height:1.1!important}
.brandbox .brand small{color:#91A9BA!important;font-size:7px!important;font-weight:500!important;margin-top:4px!important;max-width:150px!important}
.nav-section-label{color:#68859B!important;font-size:7px!important;letter-spacing:.14em!important;padding:14px 15px 5px!important}
.menu-link{
 color:#D3E0E9!important;border-radius:10px!important;margin:2px 8px!important;
 padding:9px 10px!important;transition:.16s ease!important;
}
.menu-link:hover{background:rgba(255,255,255,.065)!important;transform:translateX(2px)}
.menu-link.active{
 background:linear-gradient(90deg,rgba(34,197,94,.25),rgba(34,197,94,.10))!important;
 color:#fff!important;box-shadow:inset 3px 0 0 var(--ec-green)!important;
}
.menu-icon{
 width:29px!important;height:29px!important;border-radius:8px!important;
 background:rgba(255,255,255,.055)!important;color:#98F0B3!important;
 display:grid!important;place-items:center!important;
}
.menu-copy strong{font-size:9px!important}.menu-copy small{font-size:6.7px!important;color:#86A0B3!important}
.side-user{border-color:rgba(255,255,255,.09)!important;background:rgba(255,255,255,.035)!important}
.side-user strong{color:#fff!important}.side-user small{color:#8FA8B9!important}

.topbar{
 background:rgba(255,255,255,.94)!important;backdrop-filter:blur(16px);
 border-bottom:1px solid var(--ec-border)!important;box-shadow:0 4px 20px rgba(18,59,99,.035)!important;
}
.topbar h1{color:var(--ec-text)!important;letter-spacing:-.035em!important}
.avatar{background:linear-gradient(135deg,var(--ec-blue),var(--ec-green))!important;color:#fff!important}
.content{background:var(--ec-bg)!important}

/* --- Componentes --- */
.panel,.card,.parent-card{
 background:#fff!important;border:1px solid var(--ec-border)!important;
 border-radius:14px!important;box-shadow:0 4px 16px rgba(18,59,99,.045)!important;
}
.panel-head{border-bottom:1px solid #EDF2F6!important;padding:13px 15px!important}
.panel-head h2{color:var(--ec-text)!important;letter-spacing:-.02em!important}
.premium-eyebrow{color:var(--ec-blue)!important;letter-spacing:.11em!important}
.btn{
 background:linear-gradient(135deg,#24C65C,#18AA49)!important;color:#fff!important;
 border:0!important;border-radius:9px!important;min-height:38px!important;
 box-shadow:0 6px 16px rgba(34,197,94,.16)!important;font-weight:750!important;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(34,197,94,.22)!important}
.btn.secondary{background:#fff!important;color:var(--ec-navy)!important;border:1px solid #D6E2EA!important;box-shadow:none!important}
.btn.danger{background:linear-gradient(135deg,#F15A5A,#D93636)!important}
input,select,textarea{
 border:1px solid #DCE5EC!important;border-radius:9px!important;background:#fff!important;color:var(--ec-text)!important;
}
input:focus,select:focus,textarea:focus{border-color:var(--ec-blue)!important;box-shadow:0 0 0 3px rgba(30,108,251,.10)!important}
table thead th{background:#F7FAFC!important;color:#65788C!important}
table td,table th{border-color:#EAF0F4!important} table tbody tr:hover{background:#F9FBFD!important}
.status.on{background:#E9F9EE!important;color:#10813A!important}.status.low{background:#FFF5DF!important;color:#A35C00!important}.status.off{background:#FDECEC!important;color:#B42318!important}

/* --- Dashboards --- */
.staff-kpis>div,.executive-kpis>div,.inventory-kpis>div,.production-kpis>div,
.diagnostic-kpis>div,.security-kpis>div{
 background:#fff!important;border:1px solid var(--ec-border)!important;border-radius:14px!important;
 box-shadow:0 4px 15px rgba(18,59,99,.04)!important;position:relative;overflow:hidden;
}
.staff-kpis>div:before,.executive-kpis>div:before,.inventory-kpis>div:before,
.production-kpis>div:before,.diagnostic-kpis>div:before,.security-kpis>div:before{
 content:"";position:absolute;left:0;right:0;top:0;height:3px;
 background:linear-gradient(90deg,var(--ec-blue),var(--ec-green));
}
.executive-bar-track i,.payment-mix-track i,.apl-progress i,.pi-progress i{
 background:linear-gradient(90deg,var(--ec-blue),var(--ec-green))!important;
}
.staff-action-grid a{
 border:1px solid var(--ec-border)!important;border-radius:13px!important;background:#fff!important;
}
.staff-action-grid a:hover{border-color:#C9D9E4!important;box-shadow:0 9px 22px rgba(18,59,99,.08)!important}
.staff-action-grid i{background:linear-gradient(135deg,#EDF5FF,#EAFAEF)!important}

/* --- Login --- */
body.login-page{
 min-height:100vh!important;margin:0!important;display:grid!important;place-items:center!important;
 background:
 radial-gradient(circle at 20% 15%,rgba(30,108,251,.25),transparent 32%),
 radial-gradient(circle at 82% 82%,rgba(34,197,94,.18),transparent 34%),
 linear-gradient(145deg,#071D30,#0B3252 65%,#123B63)!important;
 padding:22px!important;
}
body.login-page .card{
 width:min(100%,410px)!important;border-radius:22px!important;padding:28px!important;
 background:rgba(255,255,255,.98)!important;border:1px solid rgba(255,255,255,.4)!important;
 box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
}
.ec-login-logo{display:block;width:min(100%,300px);height:auto;margin:0 auto 12px}
body.login-page .logo{display:none!important}
body.login-page .brandmark{font-size:15px!important;color:var(--ec-text)!important;text-align:center!important}
body.login-page .sub{text-align:center!important;color:var(--ec-muted)!important;margin-bottom:18px!important}
body.login-page button[name=login]{background:linear-gradient(135deg,#24C65C,#17A944)!important;border-radius:10px!important}
body.login-page .foot{color:#92A0AE!important}
body.login-page .powered{color:var(--ec-navy)!important}

/* --- Portal dos pais: aparência nativa --- */
body.role-parent.action-portal{background:#F5F8FB!important}
.mobile-app-dashboard{background:#F5F8FB!important}
.mobile-app-hero,.mobile-balance{
 background:linear-gradient(145deg,#123B63,#1E6CFB 68%,#22C55E)!important;color:#fff!important;
 border-radius:20px!important;box-shadow:0 15px 35px rgba(18,59,99,.20)!important;
}
.mobile-actions button,.parent-action{
 background:#fff!important;border:1px solid var(--ec-border)!important;border-radius:15px!important;
 box-shadow:0 5px 16px rgba(18,59,99,.05)!important;
}
.mobile-actions button i{background:linear-gradient(135deg,#EEF5FF,#E9F9EE)!important}
.mobile-app-nav,.staff-mobile-nav{background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)!important;border-top-color:#E6EDF2!important}
.mobile-app-nav button.active,.staff-mobile-nav a.active{color:var(--ec-blue)!important}

/* --- Cozinha/PDV --- */
.kitchen-column{background:#EEF3F7!important}.kitchen-ticket{border-radius:13px!important}
.status-confirmed>header{color:var(--ec-blue)!important}.status-preparing>header{color:var(--ec-warning)!important}.status-ready>header{color:var(--ec-green)!important}
.cash-status-card,.production-plan-hero{background:linear-gradient(135deg,#071D30,#123B63)!important}

/* --- Marca compacta no sistema --- */
.ec-version{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#E9F9EE;color:#138039;border:1px solid #D0EEDA;font-size:7px;font-weight:850}
.powered{color:#96A5B4!important}

/* --- Responsividade --- */
@media(max-width:700px){
 .content{padding-left:11px!important;padding-right:11px!important}
 .panel,.card,.parent-card{border-radius:13px!important}
 body.login-page .card{padding:23px 18px!important}
}
