:root {
  color-scheme: light dark;
  --paper: #f4f1ea;
  --paper-raise: #fffcf6;
  --ink: #1c1b18;
  --ink-soft: #5b574e;
  --line: #d9d2c6;
  --helix: #2f6f68;
  --helix-soft: #dceae7;
  --warn: #8a4b2f;
  --sans: "Seravek", "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper: #161814;
    --paper-raise: #1f211c;
    --ink: #efece4;
    --ink-soft: #b0aa9d;
    --line: #35332c;
    --helix: #7fb7af;
    --helix-soft: #243330;
    --warn: #e0a07a;
  }
}

* { box-sizing: border-box; margin: 0; }

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.45;
  padding: 28px 20px 64px;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 8px;
  background: var(--ink);
  color: var(--paper);
  padding: 8px 14px;
}

.skip-link:focus { left: 8px; }

header.site,
main,
footer {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

header.site {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 22px;
}

.brand {
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--helix);
}

h1 {
  font-size: 28px;
  letter-spacing: -0.03em;
  margin-top: 4px;
}

.lede,
.hint,
.empty,
footer,
.meta {
  color: var(--ink-soft);
}

.lede {
  max-width: 54ch;
  margin-top: 8px;
}

nav {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

a { color: inherit; }

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--helix);
  outline-offset: 3px;
}

.status {
  min-height: 1.3em;
  margin-bottom: 12px;
  color: var(--helix);
}

.board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 16px;
}

.panel {
  background: var(--paper-raise);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
}

.panel h2 {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 12px;
}

.hint { font-size: 13px; margin-bottom: 12px; }

form {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 8px;
  margin-bottom: 12px;
  align-items: end;
}

label {
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--ink-soft);
}

input {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  background: transparent;
  color: inherit;
  font: inherit;
}

button {
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: var(--ink);
  color: var(--paper);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}

button:active { transform: translateY(1px); }

button.ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
}

.contacts,
.suggestions { display: grid; gap: 8px; }

.contact,
.suggestion,
.deal {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
}

.contact strong,
.deal strong,
.suggestion strong { display: block; }

.pipeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.col {
  min-height: 220px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 10px;
}

.col.is-over { border-color: var(--helix); background: var(--helix-soft); }

.col h3 {
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 8px;
}

.deal { background: var(--paper); margin-bottom: 8px; cursor: grab; }
.deal.is-selected { border-color: var(--helix); box-shadow: inset 0 0 0 1px var(--helix); }
.pipeline.is-dragging .deal { pointer-events: none; }

.inbox { margin-top: 16px; }

.suggestion {
  display: grid;
  gap: 8px;
}

.suggestion .actions { display: flex; gap: 8px; }

.badge {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--helix);
  background: var(--helix-soft);
  border-radius: 999px;
  padding: 2px 8px;
  margin-top: 4px;
}

footer {
  margin-top: 28px;
  font-size: 12px;
}

@media (max-width: 860px) {
  .board,
  .pipeline,
  form { grid-template-columns: 1fr; }

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

@media (prefers-reduced-motion: reduce) {
  button:active { transform: none; }
}


/* Soft Taste Otter-floor stamp 2026-09-25 — marketing demo surface */
:root {
  --paper: #f4f6fb !important;
  --paper-raise: #ffffff !important;
  --ink: #1a1d2e !important;
  --ink-soft: #5b627a !important;
  --line: rgba(26, 29, 46, 0.1) !important;
  --stamp: #5b8def !important;
  --moss: #3d8f78 !important;
}
body {
  background:
    radial-gradient(900px 480px at 10% -8%, rgba(91, 141, 239, 0.16), transparent 55%),
    radial-gradient(700px 420px at 90% 0%, rgba(155, 140, 240, 0.14), transparent 50%),
    #f4f6fb !important;
}
.panel, .card, .board > * {
  border-radius: 1.25rem !important;
  box-shadow: 0 0 0 1px rgba(91, 141, 239, 0.08),
    0 24px 64px -36px rgba(91, 141, 239, 0.32) !important;
}
