:root {
  --assorrp-ink: #08080f;
  --assorrp-surface: #11111b;
  --assorrp-surface-2: #171725;
  --assorrp-line: rgba(255, 255, 255, .10);
  --assorrp-text: #f5f5f7;
  --assorrp-muted: #a5a5b2;
  --assorrp-orange: #ff5900;
  --assorrp-orange-hover: #e64f00;
  --assorrp-purple: #65357e;
  --assorrp-success: #25b879;
}

.public-site {
  min-height: 100vh;
  background:
    radial-gradient(circle at 100% 0, rgba(101, 53, 126, .24), transparent 34rem),
    radial-gradient(circle at 0 100%, rgba(255, 89, 0, .10), transparent 28rem),
    var(--assorrp-ink);
  color: var(--assorrp-text);
  font-family: Barlow, Inter, system-ui, sans-serif;
}

.public-shell {
  width: min(100%, 720px);
  min-height: 100vh;
  margin: 0 auto;
  background: rgba(17, 17, 27, .94);
  border-inline: 1px solid var(--assorrp-line);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .35);
}

.public-brand-stripe {
  height: 4px;
  background: linear-gradient(90deg, var(--assorrp-purple) 0 52%, var(--assorrp-orange) 52% 100%);
}

.public-header {
  padding: 1.35rem 1.5rem;
  background: linear-gradient(135deg, #21112e, #11111b 72%);
  border-bottom: 1px solid var(--assorrp-line);
  text-align: center;
}

.public-header img { max-height: 46px; width: auto; }
.public-header h1, .public-header h2, .public-header h5, .public-header h6 { color: var(--assorrp-text); }
.public-header p, .public-header .text-white-50 { color: var(--assorrp-muted) !important; }

.public-content { color: var(--assorrp-text); }
.public-content .text-muted,
.public-content .form-text { color: var(--assorrp-muted) !important; }
.public-content .bg-light,
.public-content .bg-light-subtle { background: var(--assorrp-surface-2) !important; }
.public-content .border,
.public-content .border-bottom,
.public-content .border-top { border-color: var(--assorrp-line) !important; }

.public-site .form-label {
  color: #d8d8e1;
  letter-spacing: .04em;
}

.public-site .form-control,
.public-site .form-select,
.public-site textarea,
.public-site input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  color: var(--assorrp-text);
  background: #0d0d16;
  border-color: rgba(255, 255, 255, .16);
}

.public-site .form-control:focus,
.public-site .form-select:focus,
.public-site textarea:focus {
  color: var(--assorrp-text);
  background: #0d0d16;
  border-color: var(--assorrp-orange);
  box-shadow: 0 0 0 .2rem rgba(255, 89, 0, .18);
}

.public-site .form-control::placeholder,
.public-site textarea::placeholder { color: #777786; }
.public-site select option { color: #111; background: #fff; }

.public-site .btn-assorrp,
.public-site .btn-finalizar,
.public-site .btn-primary,
.public-site .btn-success {
  background: var(--assorrp-orange);
  border-color: var(--assorrp-orange);
  color: #fff;
}

.public-site .btn-assorrp:hover,
.public-site .btn-finalizar:hover,
.public-site .btn-primary:hover,
.public-site .btn-success:hover {
  background: var(--assorrp-orange-hover);
  border-color: var(--assorrp-orange-hover);
  color: #fff;
}

.public-site .btn-light,
.public-site .btn-outline-secondary,
.public-site .btn-outline-primary {
  color: var(--assorrp-text);
  background: transparent;
  border-color: rgba(255, 255, 255, .2);
}

.public-site .btn-light:hover,
.public-site .btn-outline-secondary:hover,
.public-site .btn-outline-primary:hover {
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border-color: var(--assorrp-orange);
}

.public-site .wizard-steps-bar,
.public-site .nav-tabs {
  background: #0d0d16 !important;
  border-color: var(--assorrp-line) !important;
}

.public-site .step-tab { color: #777786; }
.public-site .step-tab.active,
.public-site .nav-tabs .nav-link.active {
  color: var(--assorrp-orange);
  background: rgba(255, 89, 0, .08);
  border-bottom-color: var(--assorrp-orange);
}
.public-site .step-tab.completed { color: var(--assorrp-success); border-bottom-color: var(--assorrp-success); }
.public-site .nav-tabs .nav-link { color: var(--assorrp-muted); }
.public-site .nav-tabs .nav-link:hover { color: #fff; }

.public-site .form-section-title,
.public-site .field-group h6 { color: #f0c4aa; border-color: var(--assorrp-line); }
.public-site .dep-card,
.public-site .doc-card,
.public-site .field-group {
  background: var(--assorrp-surface-2);
  border-color: var(--assorrp-line);
}
.public-site .doc-card.is-done { border-color: var(--assorrp-success); background: rgba(37, 184, 121, .08); }
.public-site .alert { border-color: var(--assorrp-line); }
.public-site .alert-info { color: #d8d8e1; background: rgba(101, 53, 126, .22); }
.public-site .alert-success { color: #bcefd8; background: rgba(37, 184, 121, .12); }
.public-site .alert-danger { color: #ffc2bd; background: rgba(224, 72, 58, .14); }
.public-site .modal-content { color: var(--assorrp-text); background: var(--assorrp-surface); border-color: var(--assorrp-line); }
.public-site .modal-header, .public-site .modal-footer { border-color: var(--assorrp-line); }
.public-site .btn-close { filter: invert(1) grayscale(1); }

.public-site .public-status-card {
  background: var(--assorrp-surface-2);
  border: 1px solid var(--assorrp-line);
  border-radius: .75rem;
}

@media (max-width: 575.98px) {
  .public-shell { border-inline: 0; }
  .public-header { padding: 1.1rem 1rem; }
  .public-header p { font-size: .78rem; }
  .public-content { padding-inline: 1rem !important; }
}
