/* NA Línea Info frontend */
:root {
  --nali-bg-1: #0f172a;
  --nali-bg-2: #1e293b;
  --nali-panel: rgba(255,255,255,0.92);
  --nali-panel-strong: #ffffff;
  --nali-text: #0f172a;
  --nali-muted: #64748b;
  --nali-accent: #2563eb;
  --nali-accent-2: #0ea5e9;
  --nali-success: #15803d;
  --nali-danger: #b91c1c;
  --nali-shadow: 0 20px 55px rgba(2,8,23,.18);
  --nali-radius: 26px;
}
.nali-shell {
  min-height: 100vh;
  padding: 32px 16px;
  background:
    radial-gradient(circle at top left, rgba(14,165,233,.18), transparent 40%),
    radial-gradient(circle at bottom right, rgba(37,99,235,.22), transparent 35%),
    linear-gradient(135deg, var(--nali-bg-1), var(--nali-bg-2));
}
.nali-auth-card,
.nali-app-card {
  max-width: 1180px;
  margin: 0 auto;
  background: var(--nali-panel);
  border: 1px solid rgba(255,255,255,.38);
  border-radius: var(--nali-radius);
  box-shadow: var(--nali-shadow);
  backdrop-filter: blur(12px);
}
.nali-auth-card {
  max-width: 520px;
  padding: 32px;
}
.nali-auth-brand {
  margin-bottom: 18px;
}
.nali-badge {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(37,99,235,.12);
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: 12px;
}
.nali-auth-brand h1,
.nali-app-header h1 {
  margin: 0 0 8px;
  color: var(--nali-text);
  font-size: clamp(28px, 3.2vw, 40px);
  line-height: 1.05;
}
.nali-auth-brand p,
.nali-app-header p {
  color: var(--nali-muted);
  margin: 0;
}
.nali-login-form,
.nali-call-form {
  display: grid;
  gap: 16px;
}
.nali-login-form label,
.nali-call-form label {
  display: grid;
  gap: 8px;
  color: var(--nali-text);
  font-weight: 600;
}
.nali-login-form input,
.nali-call-form input,
.nali-call-form select,
.nali-call-form textarea {
  width: 100%;
  border: 1px solid #dbe1ea;
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  padding: 13px 14px;
  font-size: 15px;
  color: var(--nali-text);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  box-sizing: border-box;
}
.nali-call-form textarea {
  min-height: 120px;
  resize: vertical;
}
.nali-login-form input:focus,
.nali-call-form input:focus,
.nali-call-form select:focus,
.nali-call-form textarea:focus {
  border-color: rgba(37,99,235,.55);
  box-shadow: 0 0 0 4px rgba(37,99,235,.12);
}
.nali-btn {
  appearance: none;
  border: 0;
  border-radius: 16px;
  padding: 14px 20px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .2s ease, opacity .2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nali-btn:hover { transform: translateY(-1px); }
.nali-btn:disabled { opacity: .7; cursor: not-allowed; transform: none; }
.nali-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--nali-accent), var(--nali-accent-2));
  box-shadow: 0 16px 28px rgba(37,99,235,.25);
}
.nali-btn-ghost {
  background: rgba(15,23,42,.06);
  color: var(--nali-text);
}
.nali-app-card {
  padding: 24px;
}
.nali-app-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.nali-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}
.nali-nav-card,
.nali-panel-soft,
.nali-section-card {
  background: var(--nali-panel-strong);
  border: 1px solid #edf1f6;
  border-radius: 22px;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
}
.nali-nav-card {
  text-decoration: none;
  color: inherit;
  padding: 20px;
  display: grid;
  gap: 8px;
}
.nali-nav-card strong {
  font-size: 18px;
  color: var(--nali-text);
}
.nali-nav-card span {
  color: var(--nali-muted);
}
.nali-panel-soft {
  padding: 18px;
}
.nali-section-card {
  padding: 18px;
}
.nali-section-card h2,
.nali-panel-soft h2 {
  margin: 0 0 14px;
  font-size: 20px;
  color: var(--nali-text);
}
.nali-form-grid {
  display: grid;
  gap: 14px;
}
.nali-form-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nali-form-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nali-grow { grid-column: 1 / -1; }
.nali-form-footer {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.nali-form-message {
  min-height: 24px;
  font-weight: 700;
  color: var(--nali-text);
}
.nali-form-message.is-success { color: var(--nali-success); }
.nali-form-message.is-error { color: var(--nali-danger); }
.nali-mini-table table,
.nali-record-table table {
  width: 100%;
  border-collapse: collapse;
}
.nali-mini-table th,
.nali-mini-table td,
.nali-record-table th,
.nali-record-table td {
  text-align: left;
  padding: 12px 10px;
  border-bottom: 1px solid #edf1f6;
}
.nali-observation-row td {
  background: #f8fbff;
  color: var(--nali-muted);
}
@media (max-width: 900px) {
  .nali-app-header {
    flex-direction: column;
  }
  .nali-form-grid.cols-2,
  .nali-form-grid.cols-3 {
    grid-template-columns: 1fr;
  }
}

.nali-record-disclosure {
  margin-top: 4px;
}
.nali-record-disclosure summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--nali-accent);
  list-style: none;
}
.nali-record-disclosure summary::-webkit-details-marker { display: none; }
.nali-record-card {
  margin-top: 14px;
  background: #ffffff;
  border: 1px solid #e8eef7;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 14px 28px rgba(15,23,42,.06);
}
.nali-record-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.nali-record-card-head strong {
  display: block;
  color: var(--nali-text);
  font-size: 18px;
}
.nali-record-card-head span {
  color: var(--nali-muted);
}
.nali-record-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.nali-record-card-grid > div {
  background: #f8fbff;
  border: 1px solid #e7eef8;
  border-radius: 16px;
  padding: 12px 14px;
}
.nali-record-card-grid span,
.nali-record-card-note span {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--nali-muted);
  margin-bottom: 6px;
}
.nali-record-card-grid strong {
  color: var(--nali-text);
  font-size: 15px;
}
.nali-record-card-note {
  margin-top: 14px;
  border-radius: 16px;
  background: #f8fbff;
  border: 1px solid #e7eef8;
  padding: 14px;
}
.nali-record-card-note p {
  margin: 0;
  color: var(--nali-text);
}
@media (max-width: 900px) {
  .nali-record-card-grid {
    grid-template-columns: 1fr;
  }
  .nali-record-card-head {
    flex-direction: column;
  }
}


.nali-header-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.nali-report-filter-panel {
  margin-bottom: 18px;
}
.nali-filter-grid-public {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.nali-filter-grid-public label {
  display: grid;
  gap: 8px;
  color: var(--nali-text);
  font-weight: 600;
}
.nali-filter-grid-public span {
  font-size: 13px;
}
.nali-filter-grow {
  grid-column: span 2;
}
.nali-filter-actions-public {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.nali-stat-grid-public {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.nali-stat-card-public {
  background: #fff;
  border: 1px solid #edf1f6;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(15,23,42,.06);
  padding: 18px;
}
.nali-stat-card-public span {
  display: block;
  font-size: 13px;
  color: var(--nali-muted);
  margin-bottom: 8px;
}
.nali-stat-card-public strong {
  font-size: 22px;
  line-height: 1.15;
  color: var(--nali-text);
}
.nali-report-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}
.nali-metric-list-public {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nali-metric-list-public li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #edf1f6;
}
.nali-metric-list-public li:last-child {
  border-bottom: 0;
}
.nali-metric-list-public span {
  color: var(--nali-muted);
}
.nali-metric-list-public strong {
  color: var(--nali-text);
}
.nali-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.nali-page-link {
  min-width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  text-decoration: none;
  background: rgba(15,23,42,.06);
  color: var(--nali-text);
  font-weight: 700;
}
.nali-page-link.is-current {
  color: #fff;
  background: linear-gradient(135deg, var(--nali-accent), var(--nali-accent-2));
}
.nali-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.nali-status.active {
  background: rgba(21,128,61,.12);
  color: var(--nali-success);
}
.nali-status.deleted {
  background: rgba(185,28,28,.10);
  color: var(--nali-danger);
}
@media (max-width: 900px) {
  .nali-filter-grid-public,
  .nali-stat-grid-public,
  .nali-report-metrics-grid {
    grid-template-columns: 1fr;
  }
  .nali-filter-grow {
    grid-column: auto;
  }
  .nali-header-actions {
    width: 100%;
  }
}
