.period-controls {
  display: flex;
  align-items: end;
  gap: 12px;
  margin: -3px 0 16px;
  padding: 13px 15px;
  background: #f0f7f3;
  border: 1px solid #d4e7db;
  border-radius: 11px;
}

.period-controls > div { margin-right: auto; }
.period-controls b, .period-controls small { display: block; }
.period-controls small { color: var(--muted); margin-top: 3px; }
.period-controls label {
  display: grid;
  gap: 5px;
  color: #607067;
  font-size: 11px;
  font-weight: 700;
}
.period-controls select { min-width: 130px; padding: 8px 10px; background: #fff; }

@media (max-width: 760px) {
  .period-controls { align-items: stretch; flex-direction: column; }
  .period-controls > div { margin-right: 0; }
  .period-controls select { width: 100%; }
}

.login-divider { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }
.login-divider::before, .login-divider::after { content: ''; height: 1px; background: var(--line); flex: 1; }
.demo-login { background: #eaf7f0; color: #176c42; border: 1px solid #cce7d8; }
.demo-login:hover { background: #dff2e8; }
.demo-login:disabled { cursor: wait; opacity: .7; }
.demo-note { color: var(--muted); line-height: 1.5; margin-top: -13px; }
.consolidation-report { margin-bottom: 20px; }
.consolidation-report .card-head { align-items: end; gap: 20px; }
.consolidation-report .top-actions label { gap: 4px; font-size: 11px; }
.consolidation-report .report-meta { margin-bottom: 12px; }
