/* EC Portal — minimal styling on top of Bootstrap 5 */

body {
  background-color: #f7f8fa;
}

.portal-topbar {
  background-color: #0065a4;
  color: #fff;
}
.portal-topbar .brand {
  font-weight: 600;
  font-size: 1.05rem;
}
.portal-topbar a,
.portal-topbar span {
  color: #fff;
}
.portal-topbar a:hover {
  color: #cfe6f4;
}
/* Bootstrap's .navbar-toggler-icon draws itself from the
   --bs-navbar-toggler-icon-bg CSS variable, which Bootstrap only ever
   defines inside a real .navbar wrapper — this topbar is a plain <nav>,
   so without this the variable is unset and the icon renders as nothing
   (the button is still there and still clickable, just invisible). */
.portal-topbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.portal-topbar .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.5);
}

.portal-sidebar {
  background-color: #fff;
  border-right: 1px solid #e6e9ee;
  min-height: calc(100vh - 52px);
}
.sidebar-welcome {
  font-weight: 600;
  color: #22262b;
}
.portal-sidebar .nav-section {
  padding: 12px 16px 4px;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #9aa1ab;
}
.portal-sidebar .nav-link {
  color: #33383f;
  padding: 8px 16px;
  border-left: 3px solid transparent;
}
.portal-sidebar .nav-link:hover {
  background-color: #f0f4f8;
}
.portal-sidebar .nav-link.active {
  background-color: #eaf3fa;
  border-left-color: #0065a4;
  color: #0065a4;
  font-weight: 600;
}

.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.login-card {
  width: 100%;
  max-width: 420px;
}

/* Motion status badges */
.badge-draft                       { background-color: #9aa1ab; }
.badge-pending_motion_confirmation { background-color: #8a5fbf; }
.badge-pending_second              { background-color: #f0ad4e; }
.badge-open_for_vote                { background-color: #0065a4; }
.badge-closed_passed                { background-color: #2e7d32; }
.badge-closed_failed                { background-color: #b3261e; }
.badge-closed_no_second,
.badge-declined,
.badge-withdrawn                    { background-color: #6b7280; }

.mention {
  background-color: #eaf3fa;
  color: #0065a4;
  font-weight: 600;
  padding: 0 2px;
  border-radius: 3px;
}

/* Vote table */
.vote-table td, .vote-table th {
  vertical-align: middle;
}
.vote-yes     { color: #2e7d32; font-weight: 600; }
.vote-no      { color: #b3261e; font-weight: 600; }
.vote-abstain { color: #9a7b00; font-weight: 600; }
.vote-none    { color: #9aa1ab; font-style: italic; }
