:root {
  --egp-green: #5b8c2a;
  --egp-green-dark: #3d6b14;
  --egp-header: #7cb342;
  --egp-nav: #4c7a1f;
  --egp-bg: #eef5e6;
  --egp-border: #8fbc5a;
  --egp-link: #1a5fb4;
  --egp-red: #c62828;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 13px; color: #222; background: #f4f7f0; }
a { color: var(--egp-link); text-decoration: none; }
a:hover { text-decoration: underline; }
.topbar {
  background: linear-gradient(#9ccc65, #7cb342);
  color: #fff;
  text-align: center;
  padding: 8px 12px;
  font-weight: 700;
  font-size: 15px;
  text-shadow: 0 1px 0 #4b7a1e;
}
.subbar {
  background: #fff;
  border-bottom: 1px solid #cde0b0;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  padding: 6px 16px;
  font-size: 12px;
}
.wrap { max-width: 1180px; margin: 0 auto; padding: 10px 12px 40px; }
.logo-row { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }
.logo-mark {
  width: 86px; height: 86px; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fff, #e8f5d0 40%, #c5e1a5);
  border: 3px solid #7cb342;
  display: grid; place-items: center; font-weight: 800; color: #33691e; text-align: center; line-height: 1.1;
}
.searchbar { background: #dcedc8; border: 1px solid var(--egp-border); padding: 8px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.searchbar input, .searchbar select, .form input, .form select, .form textarea {
  border: 1px solid #9aaa7a; padding: 5px 7px; font-size: 13px;
}
.btn {
  background: linear-gradient(#8bc34a, #558b2f); color: #fff; border: 1px solid #33691e;
  padding: 6px 14px; cursor: pointer; font-weight: 700;
}
.btn:hover { filter: brightness(1.05); }
.btn-alt { background: linear-gradient(#aed581, #7cb342); display: block; width: 100%; text-align: center; margin-top: 6px; color: #fff; padding: 8px; font-weight: 700; }
.layout { display: grid; grid-template-columns: 230px 1fr 280px; gap: 10px; margin-top: 10px; }
@media (max-width: 980px) { .layout { grid-template-columns: 1fr; } }
.box { background: #fff; border: 1px solid var(--egp-border); }
.box h3 { margin: 0; background: #dcedc8; padding: 6px 8px; font-size: 13px; border-bottom: 1px solid var(--egp-border); color: #33691e; }
.box .inner { padding: 10px; }
.login-box label { display: block; margin: 6px 0 2px; }
.login-box input { width: 100%; }
.help-list { list-style: none; margin: 0; padding: 8px; }
.help-list li { padding: 4px 0 4px 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Crect width='10' height='10' fill='%237cb342'/%3E%3C/svg%3E") 0 7px no-repeat; }
.news li { padding: 6px 0; border-bottom: 1px dotted #c5d8a8; }
.tag { color: var(--egp-red); font-weight: 700; font-size: 11px; }
.footer { background: #5b8c2a; color: #e8f5d0; text-align: center; padding: 12px; font-size: 12px; margin-top: 24px; }
.footer a { color: #fff; }
.flash { background: #e8f5e9; border: 1px solid #81c784; padding: 8px 10px; margin: 8px 0; color: #1b5e20; }
.errors { background: #ffebee; border: 1px solid #ef9a9a; padding: 8px 10px; margin: 8px 0; color: #b71c1c; }
table.data { width: 100%; border-collapse: collapse; background: #fff; }
table.data th { background: #7cb342; color: #fff; padding: 6px 8px; text-align: left; font-weight: 600; }
table.data td { border: 1px solid #d7e6b8; padding: 6px 8px; }
table.data tr:nth-child(even) { background: #f4faea; }
.badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; background: #eee; }
.badge.published, .badge.approved, .badge.verified, .badge.paid, .badge.active { background: #c8e6c9; color: #1b5e20; }
.badge.pending, .badge.pending_workflow, .badge.draft { background: #fff9c4; color: #f57f17; }
.badge.evaluation, .badge.opening { background: #bbdefb; color: #0d47a1; }
.badge.noa, .badge.contracted, .badge.awarded { background: #d1c4e9; color: #4527a0; }
.nav-panel { background: #33691e; color: #fff; display: flex; justify-content: space-between; align-items: center; padding: 8px 14px; }
.nav-panel a { color: #fff; margin-right: 12px; }
.menu { display: flex; flex-wrap: wrap; gap: 4px; background: #dcedc8; border-bottom: 2px solid #7cb342; padding: 6px 10px; }
.menu a { background: #fff; border: 1px solid #9ccc65; padding: 5px 10px; color: #33691e; font-weight: 600; }
.menu a.active, .menu a:hover { background: #7cb342; color: #fff; text-decoration: none; }
.panel { max-width: 1240px; margin: 12px auto; padding: 0 12px 40px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 800px) { .grid-2 { grid-template-columns: 1fr; } }
.kpi { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
@media (max-width: 800px) { .kpi { grid-template-columns: 1fr 1fr; } }
.kpi .card { background: #fff; border: 1px solid var(--egp-border); padding: 12px; }
.kpi .card b { display: block; font-size: 22px; color: #33691e; }
.form label { display: block; margin: 8px 0 3px; font-weight: 600; }
.form input, .form select, .form textarea { width: 100%; }
.form textarea { min-height: 80px; }
.notice { border: 1px solid #9ccc65; padding: 16px; background: #fff; }
.muted { color: #666; font-size: 12px; }
.toolbar { display: flex; justify-content: space-between; align-items: center; margin: 8px 0; }
