/* Poster / Admin area – supplementary styles (style.css handles base) */

/* Admin tables shared */
.admin-table { width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.06); font-size:.9rem; }
.admin-table th { background:var(--primary); color:#fff; padding:10px 16px; text-align:left; font-weight:600; }
.admin-table td { padding:10px 16px; border-bottom:1px solid #f0f0f0; vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:#fafafa; }

.badge { display:inline-block; padding:2px 10px; border-radius:20px; font-size:.72rem; font-weight:700; }
.badge-admin       { background:#fef3c7; color:#92400e; }
.badge-contributor { background:#dbeafe; color:#1e40af; }
.badge-active      { background:#d1fae5; color:#065f46; }
.badge-inactive    { background:#fee2e2; color:#b91c1c; }
.badge-pending     { background:#fef3c7; color:#92400e; }
.badge-published   { background:#d1fae5; color:#065f46; }
.badge-failed      { background:#fee2e2; color:#b91c1c; }

.action-btn { padding:4px 12px; border:none; border-radius:6px; cursor:pointer; font-size:.8rem; font-weight:600; }
.btn-toggle-off { background:#fee2e2; color:#b91c1c; }
.btn-toggle-on  { background:#d1fae5; color:#065f46; }
.btn-reset  { background:#e0f2fe; color:#0369a1; }
.btn-delete { background:#fef2f2; color:#dc2626; }
.btn-edit   { background:#f3f4f6; color:#374151; }
.btn-pub-now { background:#d1fae5; color:#065f46; }
.btn-del     { background:#fee2e2; color:#b91c1c; }

.add-user-card, .add-card { background:#fff; border-radius:14px; border:1px solid #e5e7eb; padding:1.5rem 2rem; margin-bottom:2rem; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.add-user-card h2, .add-card h2 { margin:0 0 1.2rem; font-size:1.1rem; color:var(--primary); }

.inline-form { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
.inline-form .fg { display:flex; flex-direction:column; gap:4px; }
.inline-form label { font-size:.8rem; font-weight:600; color:#374151; }
.inline-form input, .inline-form select { padding:7px 11px; border:1px solid #d1d5db; border-radius:8px; font-size:.9rem; min-width:160px; }

.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:1000; align-items:center; justify-content:center; }
.modal-overlay.open { display:flex; }
.modal { background:#fff; border-radius:16px; padding:2rem; width:100%; max-width:420px; box-shadow:0 8px 40px rgba(0,0,0,.18); }
.modal h3 { margin:0 0 1rem; font-size:1.1rem; color:var(--primary); }
.modal .fg { margin-bottom:1rem; display:flex; flex-direction:column; gap:5px; }
.modal label { font-size:.83rem; font-weight:600; color:#374151; }
.modal input, .modal select { padding:8px 12px; border:1px solid #d1d5db; border-radius:8px; font-size:.93rem; width:100%; }
.modal .modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:1.25rem; }
.modal .btn-cancel { background:#f3f4f6; color:#374151; border:none; padding:8px 18px; border-radius:8px; cursor:pointer; font-weight:600; }

/* Schedule page */
.form-row { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:14px; }
.form-row .fg { display:flex; flex-direction:column; gap:4px; flex:1; min-width:180px; }
.form-row label { font-size:.81rem; font-weight:600; color:#374151; }
.form-row input, .form-row select, .form-row textarea { padding:7px 11px; border:1px solid #d1d5db; border-radius:8px; font-size:.9rem; width:100%; }
.form-row textarea { min-height:70px; resize:vertical; }

.sched-tabs, .nl-tabs { display:flex; gap:0; border-bottom:2px solid #e5e7eb; margin-bottom:20px; }
.sched-tab, .nl-tab { padding:10px 22px; cursor:pointer; font-weight:600; font-size:.9rem; color:#6b7280; border-bottom:3px solid transparent; margin-bottom:-2px; background:none; border-top:none; border-left:none; border-right:none; }
.sched-tab.active, .nl-tab.active { color:var(--primary); border-bottom-color:var(--primary); }
.sched-panel, .nl-panel { display:none; }
.sched-panel.active, .nl-panel.active { display:block; }

.sched-table, .nl-table { width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.06); font-size:.88rem; }
.sched-table th, .nl-table th { background:var(--primary); color:#fff; padding:9px 14px; text-align:left; font-weight:600; }
.sched-table td, .nl-table td { padding:9px 14px; border-bottom:1px solid #f0f0f0; vertical-align:top; }
.sched-table tr:last-child td, .nl-table tr:last-child td { border-bottom:none; }

.csv-hint { background:#f0f9ff; border:1px solid #bae6fd; border-radius:8px; padding:12px 16px; margin-bottom:16px; font-size:.83rem; color:#0369a1; }
.csv-hint code { background:#e0f2fe; padding:1px 5px; border-radius:4px; font-size:.8rem; }

/* Dashboard stats */
.dash-stats { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.stat-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:14px 22px; text-align:center; min-width:100px; }
.stat-card .stat-num { font-size:1.7rem; font-weight:800; color:var(--primary); }
.stat-card .stat-label { font-size:.75rem; color:#6b7280; margin-top:2px; }

.dash-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:22px; }
.lang-filter { display:flex; align-items:center; gap:8px; }
.lang-filter label { font-size:.85rem; font-weight:600; color:#374151; }
.lang-filter select { padding:6px 12px; border:1px solid #d1d5db; border-radius:8px; font-size:.88rem; }

.lang-badge { display:inline-block; padding:2px 9px; border-radius:12px; font-size:.72rem; font-weight:700; background:#e0f2fe; color:#0369a1; margin-left:6px; }
.lang-badge.kinyarwanda { background:#fef3c7; color:#92400e; }
.lang-badge.french      { background:#ede9fe; color:#5b21b6; }
.lang-badge.swahili     { background:#d1fae5; color:#065f46; }

.pagination { display:flex; gap:8px; margin-top:24px; flex-wrap:wrap; }
.pagination a, .pagination span { padding:6px 14px; border-radius:8px; border:1px solid #e5e7eb; font-size:.85rem; text-decoration:none; color:var(--primary); }
.pagination span.current { background:var(--primary); color:#fff; border-color:var(--primary); }

/* Newsletter admin */
.stat-pill { display:inline-block; background:var(--primary); color:#fff; border-radius:10px; padding:4px 14px; font-size:.82rem; font-weight:700; margin-right:12px; }
.export-link { font-size:.85rem; color:var(--primary); font-weight:600; text-decoration:none; }
.export-link:hover { text-decoration:underline; }
