* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: #222; background: #f4f4f4; }
body.centered { display: flex; align-items: center; justify-content: center; min-height: 100vh; }

.topbar { display: flex; align-items: center; justify-content: space-between;
  background: #0a6b5c; color: #fff; padding: 12px 24px; }
.topbar .brand { font-weight: bold; font-size: 18px; }
.topbar nav a, .topbar nav .linkbtn { color: #fff; text-decoration: none; margin-left: 18px; }
.inline { display: inline; margin: 0; }
.linkbtn { background: none; border: none; color: #fff; cursor: pointer; font-size: 15px; }

main { max-width: 1000px; margin: 24px auto; padding: 0 16px; }
h1 { font-size: 22px; }

.card { background: #fff; border: 1px solid #e0e0e0; border-radius: 6px;
  padding: 20px; margin-bottom: 20px; }
.card.login { width: 320px; display: flex; flex-direction: column; gap: 12px; }
.card.login label { display: flex; flex-direction: column; font-size: 13px; gap: 4px; }
input, select, button { padding: 8px; font-size: 14px; }
button { background: #0a6b5c; color: #fff; border: none; border-radius: 4px; cursor: pointer; }
.btn { display: inline-block; background: #0a6b5c; color: #fff; text-decoration: none;
  padding: 8px 12px; border-radius: 4px; }

.summary { display: flex; gap: 24px; flex-wrap: wrap; background: #fff;
  border: 1px solid #e0e0e0; border-radius: 6px; padding: 16px; margin-bottom: 12px; }
.summary .num { font-size: 22px; font-weight: bold; display: block; }
.note { color: #777; font-size: 12px; }

.filters { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0; }

.grid { width: 100%; border-collapse: collapse; background: #fff; }
.grid th, .grid td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eee; font-size: 14px; }
.grid th { background: #f0f0f0; }
.empty { color: #999; text-align: center; padding: 24px; }

.badge { padding: 2px 8px; border-radius: 10px; font-size: 12px; color: #fff; background: #888; }
.badge.sent { background: #2e7d32; }
.badge.failed { background: #b71c1c; }
.badge.bounced { background: #ef6c00; }
.badge.opted-out { background: #6a1b9a; }
.badge.complained { background: #c62828; }

.card form label { display: flex; flex-direction: column; font-size: 13px; gap: 4px; margin-bottom: 12px; }
.card form label.inline-check { flex-direction: row; align-items: center; gap: 8px; }
.card textarea, .card form input, .card form select { width: 100%; font-family: inherit; }
.row { display: flex; gap: 10px; align-items: center; }

.error { color: #b71c1c; }
.ok { color: #2e7d32; }
.mode-test { color: #2e7d32; }
.mode-live { color: #b71c1c; }
.hero-preview { max-width: 100%; height: auto; border: 1px solid #ddd; }
.thumb { width: 80px; height: auto; border: 1px solid #ddd; }

.row-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.row-form input[type=text], .row-form input[type=email] { flex: 1 1 130px; }
.edit-form { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; padding-top: 8px; }
.pager { margin-top: 12px; }
