* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", Tahoma, sans-serif; background: #f4f6f8; color: #222; }
a { color: #0b5cff; }

.auth-page { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.auth-page .card { width: 380px; }

.topbar { display: flex; align-items: center; gap: 20px; background: #1f2a44; color: #fff; padding: 10px 20px; }
.topbar .brand { font-weight: 600; }
.topbar nav a { color: #cfe0ff; margin-right: 12px; }
.topbar .operator { margin-left: auto; font-size: 14px; }
.topbar .operator a { color: #cfe0ff; }
.topbar .logout { color: #ffb3b3 !important; }

.container { max-width: 1200px; margin: 24px auto; padding: 0 16px; }
.card { background: #fff; border: 1px solid #e0e4ea; border-radius: 8px; padding: 20px; margin-bottom: 20px; }
.columns { display: flex; gap: 20px; flex-wrap: wrap; }
.columns .col { flex: 1 1 480px; }

label { display: block; margin: 10px 0; font-size: 14px; }
input, select, textarea { width: 100%; padding: 8px; margin-top: 4px; border: 1px solid #c9d2de; border-radius: 4px; font: inherit; }
textarea { min-height: 70px; }

.btn { display: inline-block; background: #0b5cff; color: #fff; border: 0; border-radius: 4px; padding: 9px 16px; cursor: pointer; text-decoration: none; font: inherit; }
.btn:hover { background: #0948c9; }
.btn.small { padding: 5px 10px; font-size: 13px; }
.btn.danger { background: #c9372c; }
.btn.danger:hover { background: #a52a21; }

.inline, .inline-form { display: flex; gap: 8px; align-items: center; }
.inline-form input { flex: 0 1 auto; }

table.grid { width: 100%; border-collapse: collapse; background: #fff; }
table.grid th, table.grid td { border: 1px solid #e0e4ea; padding: 8px 10px; text-align: left; font-size: 14px; }
table.grid th { background: #eef2f7; }

.badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 12px; background: #e0e4ea; }
.badge-draft { background: #e0e4ea; }
.badge-live, .badge-running, .badge-sent { background: #c8f5d2; color: #14532d; }
.badge-ended, .badge-stopped { background: #fde2e0; color: #7a271a; }
.badge-scheduled { background: #fff3cd; color: #7a5b00; }
.badge-cancelled, .badge-idle { background: #eceff3; color: #555; }

.error { color: #c9372c; }
.ok { color: #1f845a; }
.warn { color: #a15c07; }
.muted { color: #6b7280; font-size: 13px; }
