.evfront{--ev:#0bb36f;--ink:#0d1b1e;--muted:#6b7d85}
.evfront .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0}
.evfront .kpi{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.evfront .kpi-label{color:var(--muted);font-size:13px}
.evfront .kpi-val{font-size:26px;font-weight:700;color:var(--ink)}
.evfront .panel{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:16px}
.badge{padding:2px 8px;border-radius:10px;font-size:12px;color:#fff}
.badge.green{background:#1f9d55}.badge.orange{background:#ff9f1a}.badge.red{background:#e12d39}.badge.black{background:#111}.badge.gray{background:#9aa5b1}
.ev-heat{display:grid;grid-template-columns:repeat(31, 16px);gap:3px;align-items:center}
.ev-heat .cell{width:16px;height:16px;border-radius:3px;background:#eef2f3}
.cell.l1{background:#d1f5e0}.cell.l2{background:#9ee7c6}.cell.l3{background:#5fd9ab}.cell.l4{background:#22c08d}.cell.l5{background:#0aa36a}
.ev-table{width:100%;border-collapse:collapse}
.ev-table th,.ev-table td{padding:8px;border-bottom:1px solid #eef2f3;text-align:left}
.ev-msg{padding:10px;background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;margin:8px 0}
.ev-form label{display:block;margin:8px 0 4px}
.ev-form input[type=text],.ev-form input[type=date],.ev-form textarea,.ev-form select,.ev-form input[type=datetime-local]{width:100%;padding:8px;border:1px solid #c7d2d9;border-radius:6px}
.ev-form button{background:#0bb36f;border:none;color:#fff;padding:10px 16px;border-radius:8px;cursor:pointer}
.page-break{page-break-after:always}
