/* postplan admin styling — minimal flat layout */
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; display: flex; min-height: 100vh; background: #f7f7fa; color: #222; }

.sidebar { width: 220px; background: #1f2937; color: #e5e7eb; padding: 1rem; }
.sidebar h2 { margin: 0 0 1rem 0; font-size: 1.1rem; }
.sidebar nav { display: flex; flex-direction: column; gap: 0.4rem; }
.sidebar nav a { color: #e5e7eb; text-decoration: none; padding: 0.4rem 0.6rem; border-radius: 4px; }
.sidebar nav a:hover { background: #374151; }
.sidebar nav a.active { background: #2563eb; }
.sidebar nav .disabled { color: #6b7280; padding: 0.4rem 0.6rem; cursor: not-allowed; }
.sidebar hr { border: 0; border-top: 1px solid #374151; margin: 0.6rem 0; }

.content { flex: 1; padding: 1.5rem 2rem; }
.content h1 { margin-top: 0; }
section + section { margin-top: 2rem; }

table { width: 100%; border-collapse: collapse; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
th, td { padding: 0.6rem 0.8rem; text-align: left; border-bottom: 1px solid #e5e7eb; }
th { background: #f3f4f6; font-weight: 600; }
tr.status-failed_no_data td, tr.status-failed_render td, tr.status-failed_post td, tr.status-failed td, tr.status-error td, tr.status-missed td { background: #fef2f2; }
tr.status-success td { background: #f0fdf4; }

.badge { display: inline-block; padding: 0.1rem 0.5rem; border-radius: 999px; background: #e5e7eb; font-size: 0.85rem; }
.badge-success { background: #bbf7d0; color: #14532d; }
.badge-running { background: #dbeafe; color: #1e3a8a; }
.badge-missed, .badge-error, .badge-failed_no_data, .badge-failed_render, .badge-failed_post, .badge-failed { background: #fecaca; color: #7f1d1d; }
.badge-interval { background: #fef3c7; color: #78350f; }
.badge-weekdays { background: #cffafe; color: #155e75; }
.badge-daily { background: #ddd6fe; color: #4c1d95; }

.dot { display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 50%; }
.dot-green { background: #22c55e; }
.dot-red { background: #ef4444; }

button { padding: 0.4rem 0.8rem; border-radius: 4px; border: 1px solid #d1d5db; background: #fff; cursor: pointer; }
button:hover { background: #f9fafb; }
button.danger { color: #b91c1c; border-color: #fca5a5; }

.create-form fieldset { border: 1px solid #d1d5db; padding: 0.8rem 1rem; margin-bottom: 0.8rem; border-radius: 4px; }
.create-form label { display: inline-block; margin-right: 1rem; }
.create-form input[type="text"], .create-form input[type="number"], .create-form input[type="datetime-local"] { padding: 0.3rem 0.5rem; border: 1px solid #d1d5db; border-radius: 4px; }

.errors { background: #fef2f2; color: #7f1d1d; padding: 0.6rem 1rem; border-left: 4px solid #dc2626; margin-bottom: 0.8rem; }
.empty { color: #6b7280; padding: 1rem; }
