/* src/TrafficHub.Web/wwwroot/css/meta.css */
.mt-page { max-width: 820px; margin: 0 auto; padding: 1.5rem; }
.mt-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 .35rem; }
.mt-subtitle { color: #9ca3af; margin: 0 0 1.25rem; }
/* O layout pinta o <main> com texto branco sobre fundo escuro; o card é claro, então precisa
   declarar a própria cor -- sem isso título, rótulos e textos herdavam branco sobre branco. */
.mt-card { background: #fff; color: #111827; border: 1px solid #e5e7eb; border-radius: 12px; padding: 1.25rem; margin-bottom: 1rem; }
.mt-card h2 { margin: 0 0 .75rem; font-size: 1.05rem; font-weight: 600; }
.mt-hint { color: #6b7280; font-size: .875rem; margin: 0 0 1rem; }

.mt-status { display: flex; flex-direction: column; gap: .35rem; }
.mt-status-ok { border-color: #86efac; background: #f0fdf4; }
.mt-status-ok strong { color: #166534; }
.mt-status-error { border-color: #fca5a5; background: #fef2f2; }
.mt-status-error strong { color: #991b1b; }
.mt-status-idle { border-color: #e5e7eb; background: #f9fafb; }
.mt-status-idle strong { color: #374151; }
.mt-error-detail { color: #b91c1c; margin: 0; font-size: .875rem; }
.mt-refresh-warning { color: #92400e; background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px;
                       padding: .5rem .75rem; margin: .25rem 0 0; font-size: .8rem; }

.mt-field { display: flex; flex-direction: column; gap: .25rem; margin-bottom: 1rem; }
.mt-field label { font-weight: 600; font-size: .875rem; }
.mt-field small { color: #6b7280; }
.mt-input { padding: .5rem .75rem; border: 1px solid #d1d5db; border-radius: 8px; font-size: 1rem; }
.mt-input:disabled { background: #f3f4f6; cursor: wait; }
.mt-input-narrow { max-width: 6rem; }

.mt-btn { display: inline-flex; align-items: center; gap: .5rem; padding: .5rem 1rem; border-radius: 8px;
          border: 1px solid #d1d5db; background: #fff; color: #111827; cursor: pointer; }
.mt-btn-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.mt-btn-danger { background: #dc2626; border-color: #dc2626; color: #fff; }
.mt-disconnect { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e5e7eb; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.mt-disconnect .mt-hint { flex-basis: 100%; margin: 0; }
.mt-btn:disabled { opacity: .6; cursor: default; }
.mt-error { color: #b91c1c; font-weight: 500; }

.mt-campaign-list { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.mt-campaign-list li { border: 1px solid #e5e7eb; border-radius: 10px; padding: .75rem 1rem; }
.mt-campaign-list label { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; cursor: pointer; }
.mt-badge { padding: .2rem .6rem; border-radius: 999px; font-size: .75rem; font-weight: 600; background: #e5e7eb; color: #374151; }
.mt-badge-ok { background: #dcfce7; color: #166534; }
.mt-budget { color: #6b7280; font-size: .85rem; margin-left: auto; }

.mt-sync-summary { margin: .75rem 0 0; font-weight: 500; }
.mt-failed { margin: .5rem 0 0; padding-left: 1.25rem; color: #b91c1c; font-size: .875rem; }

/* Botão "Sincronizar" é .mt-btn (fundo claro), não .mt-btn-primary -- por isso o spinner usa um
   contraste escuro/claro em vez do branco-sobre-branco que .rp-spinner assume no botão azul. */
.mt-spinner { width: 1rem; height: 1rem; border: 2px solid rgba(17, 24, 39, .25); border-top-color: #111827;
              border-radius: 50%; display: inline-block; animation: mt-spin .7s linear infinite; }
@keyframes mt-spin { to { transform: rotate(360deg); } }

/* Card do Instagram (Feature 1) */
.mt-ig-current { margin: 0 0 .5rem; }
.mt-ig-accounts { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.mt-ig-accounts li { border: 1px solid #e5e7eb; border-radius: 10px; padding: .75rem 1rem; }
.mt-ig-accounts label { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; cursor: pointer; }
.mt-hint-inline { color: #6b7280; font-size: .85rem; }
.mt-ig-sync { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e5e7eb; }
