.wrap { max-width: 1060px; margin: 0 auto; padding: 44px 36px 52px; position: relative; z-index: 1; }

.l-section { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.l-slabel  { font-size: 12px; font-weight: 700; color: var(--chip-color); letter-spacing: 2px; text-transform: uppercase; white-space: nowrap; }
.l-sline   { flex: 1; height: 1px; background: var(--line); transition: background 0.3s; }

.grid { display: grid; grid-template-columns: 1fr; gap: 18px; }

/* ── Formulário ── */
.form { display: grid; grid-template-columns: 1.2fr 1fr 0.8fr auto; gap: 14px; align-items: end; }
@media(max-width:860px){ .form{ grid-template-columns: 1fr; } }

.field-hint {
  font-size: 11px; color: var(--muted); margin-top: 5px;
  display: flex; align-items: center; gap: 4px;
}
.field-hint .counter { margin-left: auto; font-weight: 700; }
.field-hint .counter.warn { color: #f59e0b; }
.field-hint .counter.full { color: #ef4444; }

/* ── Botão salvar ── */
.btn-save {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 11px 20px; border-radius: 10px;
  background: var(--brand); border: 1px solid var(--brand); color: #fff;
  font-size: 14px; font-weight: 800; cursor: pointer;
  font-family: 'Nunito', ui-sans-serif, system-ui, sans-serif;
  white-space: nowrap; transition: background 0.18s, border-color 0.18s;
}
.btn-save:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.btn-save:disabled { opacity: 0.6; cursor: not-allowed; }

.msg { margin-top: 12px; font-size: 13px; color: var(--muted); }
.msg.ok  { color: #16a34a; }
.msg.err { color: #ef4444; }

/* ── Tabela ── */
.table-wrap { 
    overflow: auto; 
    border-radius: 12px; 
    border: 1px solid var(--card-border); 
}
table {
    width: 100%; 
    border-collapse: collapse; 
}

.mini {
  padding: 6px 12px; 
  border-radius: 8px;
  border: 1px solid var(--chip-border); 
  background: transparent;
  cursor: pointer; 
  font-weight: 700; 
  font-size: 
  12px; color: var(--ink);
  font-family: 'Nunito', ui-sans-serif, system-ui, sans-serif;
  transition: filter 0.15s, background 0.15s;
}
.mini:hover { 
    background: var(--chip-bg); 
}
.mini.danger { 
    border-color: var(--danger-border); 
    color: var(--danger-color); 
}

html[data-theme="dark"] .mini:hover {
  background: var(--brand-faded-d);
  border-color: var(--brand-border-d);
}

html[data-theme="dark"] .mini.danger:hover {
  background: rgba(185,28,28,0.30);
  border-color: rgba(185,28,28,0.60);
}
.mini.danger:hover {
    background: var(--danger-bg); 
}

.form {
  align-items: start;
}

.form button {
  margin-top: 22px; /* alinha o botão com os campos visualmente */
  height: 44px;
  width: 100%;
}