* { box-sizing: border-box; }
body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans';
  margin: 0; padding: 0; background: #0b1020; color: #e8f2ff;
}
.wrap { max-width: 1100px; margin: 0 auto; padding: 24px; }
h1, h2, h3 { margin: 0 0 12px 0; }
.grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.card { grid-column: span 12; background: #0f1630; border: 1px solid #223; border-radius: 10px; padding: 16px; }
@media (min-width: 960px) { .card.half { grid-column: span 6; } }
label { display: block; font-size: 14px; margin: 6px 0; color: #a6b3d1; }
input[type=text], input[type=number], textarea { width: 100%; padding: 8px 10px; border-radius: 8px; border: 1px solid #2b3758; background: #0c1329; color: #e8f2ff; }
textarea { min-height: 72px; }
button { background: #2563eb; color: white; border: none; padding: 8px 12px; border-radius: 8px; cursor: pointer; font-weight: 600; }
button.secondary { background: #334155; }
button:disabled { opacity: 0.6; cursor: not-allowed; }
.row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.muted { color: #90a0c0; font-size: 12px; }
.sponsors li { display: grid; grid-template-columns: 2fr 6fr 2fr 2fr 100px; gap: 8px; align-items: center; margin-bottom: 8px; }
.sponsors img { height: 32px; border-radius: 6px; }
.flex { display: flex; gap: 8px; align-items: center; }
.danger { background: #b91c1c; }
.preview { border: 1px dashed #2b3758; padding: 12px; border-radius: 8px; background: #0b1020; }
.color-input { width: 120px; }
.font-select { min-width: 220px; }
.uploads { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; }
.uploads .item { background: #0f1630; border: 1px solid #223; border-radius: 8px; padding: 8px; display:flex; flex-direction: column; gap: 6px; }
.uploads .thumb { width: 100%; aspect-ratio: 1/1; border-radius: 8px; background: #0b1020 center/cover no-repeat; }
.uploads .actions { display:flex; gap:6px; }

/* Extras - cards organizados */
.extras-wrap { display: grid; grid-template-columns: 1fr; gap: 12px; }
.extra-card { background: #0f1630; border: 1px solid #223; border-radius: 10px; padding: 10px; }
.extra-header { display:flex; align-items:center; justify-content:space-between; margin-bottom: 10px; }
.extra-title { font-weight: 800; color: #dbe7ff; }
.extra-body { display: grid; grid-template-columns: 1fr 320px; gap: 12px; }
.extra-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-content: start; }
.extra-controls label { display:block; }
.extra-preview .preview { height: 160px; overflow: hidden; }
.extra-card.collapsed .extra-body { display: none; }
@media (max-width: 900px) { .extra-body { grid-template-columns: 1fr; } }


