@import url("@corvus/shared/base.css");

:root {
  color-scheme: dark;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #07111f;
  color: #e6eef8;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top, rgb(39 72 116 / 28%), transparent 40%),
    linear-gradient(180deg, #09111d 0%, #07111f 100%);
  color: #e6eef8;
}

button,
input,
select,
textarea {
  font: inherit;
}

select,
textarea {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid rgb(148 163 184 / 22%);
  background: rgb(15 23 42 / 72%);
  color: #f8fbff;
  padding: 0.75rem 0.9rem;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
}

#app {
  min-height: 100vh;
}

code {
  font-family: SFMono-Regular, ui-monospace, monospace;
}

.app-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1.25rem 3rem;
}

.hero-card,
.nav-card,
.page-card,
.detail-card,
.form-card,
.confirm-card,
.session-card,
.provider-card,
.summary-card {
  border: 1px solid rgb(148 163 184 / 18%);
  background: rgb(6 13 24 / 78%);
  border-radius: 1rem;
  box-shadow: 0 16px 48px rgb(2 8 23 / 28%);
}

.hero-card {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 1.25rem;
  padding: 1.5rem;
}

.hero-card h1,
.section-header h2,
.empty-state h2,
.empty-state h3,
.detail-card h3,
.provider-card h3,
.form-card h3,
.confirm-card h3 {
  margin: 0;
}

.hero-copy,
.section-copy,
.session-copy,
.provider-stats,
.account-meta,
.empty-state p,
.detail-grid dd {
  color: #d5e3f2;
  line-height: 1.6;
}

.eyebrow,
.provider-label {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #93ddff;
}

.session-card,
.form-card,
.detail-card,
.confirm-card,
.provider-card,
.page-card {
  padding: 1.25rem;
}

.session-card,
.form-card {
  display: grid;
  gap: 0.9rem;
}

label {
  display: grid;
  gap: 0.45rem;
}

input {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid rgb(148 163 184 / 22%);
  background: rgb(15 23 42 / 72%);
  color: #f8fbff;
  padding: 0.75rem 0.9rem;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.checkbox-row input {
  width: auto;
}

.nav-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 1.25rem 0;
  padding: 0.9rem;
}

.nav-button,
.primary-button,
.secondary-button,
.danger-button,
.row-actions button,
.form-actions button {
  border: 0;
  border-radius: 999px;
  padding: 0.75rem 1rem;
  background: rgb(30 41 59 / 88%);
  color: #e6eef8;
}

.nav-button.active,
.primary-button,
.secondary-button:hover,
.row-actions button:hover,
.form-actions button:hover {
  background: linear-gradient(135deg, #0ea5e9, #2563eb);
}

.danger-button {
  background: linear-gradient(135deg, #ef4444, #b91c1c);
}

.deferred-card {
  margin-left: auto;
  display: grid;
  gap: 0.25rem;
  color: #bfd2e8;
  font-size: 0.92rem;
}

.page-card {
  display: grid;
  gap: 1rem;
}

.section-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.summary-grid,
.provider-overview-grid,
.groups-grid {
  display: grid;
  gap: 1rem;
}

.summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.summary-card {
  padding: 1rem;
  display: grid;
  gap: 0.45rem;
}

.summary-card strong {
  font-size: 2rem;
}

.provider-overview-grid,
.groups-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.account-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.85rem;
}

.member-section {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.25rem;
}

.account-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}

.row-actions,
.form-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.link-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #f8fbff;
  font-weight: 600;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin: 1rem 0 0;
}

.detail-grid dt {
  color: #7dd3fc;
  font-size: 0.85rem;
  margin-bottom: 0.3rem;
}

.detail-grid dd {
  margin: 0;
}

.state-banner {
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 0.85rem;
}

.state-banner.info {
  background: #042435;
  color: #f0fbff;
}

.state-banner.danger {
  background: #36090d;
  color: #fff0f0;
}

.empty-state {
  padding: 2rem;
  text-align: center;
  border-radius: 1rem;
  border: 1px dashed rgb(125 211 252 / 30%);
  background: rgb(8 15 26 / 64%);
}

.setup-state {
  margin-top: 1rem;
}

@media (width <= 860px) {
  .hero-card {
    grid-template-columns: 1fr;
  }

  .section-header {
    flex-direction: column;
  }

  .deferred-card {
    margin-left: 0;
  }

  .account-row {
    flex-direction: column;
  }
}
