/* Fearless Serve — shared design system. Minimal: blacks, slates, whites. */

:root{
  --bg:#0B0C0E;            /* near-black */
  --bg-2:#0E1013;
  --surface:#131619;      /* slate card */
  --surface-2:#191D21;
  --tile:#0F1215;
  --border:rgba(255,255,255,0.09);
  --border-2:rgba(255,255,255,0.16);
  --text:#F3F5F7;         /* white */
  --text-2:#BEC4CA;
  --muted:#7C848C;        /* slate */
  --accent:#FFFFFF;       /* primary = white */
  --accent-ink:#0B0C0E;
  --green:#7FC08D; --green-bg:rgba(127,192,141,0.10);
  --red:#E58C79;   --red-bg:rgba(229,140,121,0.10);
  --radius:12px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; }
body{ background:var(--bg); color:var(--text-2);
  font-family:"Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased; letter-spacing:0.01em; }
a{ color:var(--text); }

.fs-wrap{ max-width:1040px; margin:0 auto; padding:0 22px; }

/* Header */
.fs-header{ border-bottom:1px solid var(--border); }
.fs-header .fs-wrap{ display:flex; align-items:center; justify-content:space-between; height:60px; }
.fs-brand{ font-size:13px; letter-spacing:0.16em; text-transform:uppercase; color:var(--text); text-decoration:none; font-weight:600; }
.fs-brand span{ color:var(--muted); font-weight:400; }
.fs-header-right{ font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); }
.fs-linkbtn{ background:none; border:none; color:var(--muted); font-family:inherit; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; cursor:pointer; }
.fs-linkbtn:hover{ color:var(--text); }

/* Typography */
.fs-eyebrow{ font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); }
.fs-h1{ font-size:30px; font-weight:600; color:var(--text); letter-spacing:-0.02em; margin:8px 0 6px; }
.fs-sub{ color:var(--muted); font-size:15px; margin:0 0 26px; }

/* Card */
.fs-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px 26px; }

/* Form + buttons */
.fs-field{ margin-bottom:16px; }
.fs-field label{ display:block; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.fs-input{ width:100%; background:var(--tile); border:1px solid var(--border); border-radius:9px;
  padding:12px 14px; color:var(--text); font-size:15px; font-family:inherit; transition:border-color .15s, box-shadow .15s; }
.fs-input:focus{ outline:none; border-color:var(--border-2); box-shadow:0 0 0 3px rgba(255,255,255,0.06); }
.fs-btn{ display:inline-block; padding:11px 20px; background:var(--accent); color:var(--accent-ink); border:none; border-radius:9px;
  font-size:13px; font-weight:600; letter-spacing:0.02em; font-family:inherit; cursor:pointer; transition:opacity .15s, transform .15s; }
.fs-btn:hover{ opacity:0.9; }
.fs-btn:active{ transform:translateY(1px); }
.fs-btn:disabled{ opacity:0.5; cursor:default; }
.fs-btn.ghost{ background:transparent; border:1px solid var(--border-2); color:var(--text); }
.fs-btn.ghost:hover{ background:rgba(255,255,255,0.05); opacity:1; }
.fs-note{ font-size:13px; margin:12px 0 0; min-height:1px; color:var(--muted); }
.fs-note.err{ color:var(--red); }
.fs-note.ok{ color:var(--green); }

/* Table */
.fs-table{ width:100%; border-collapse:collapse; font-size:14.5px; }
.fs-table th{ text-align:left; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted);
  font-weight:500; padding:11px 14px; border-bottom:1px solid var(--border); }
.fs-table td{ padding:13px 14px; border-bottom:1px solid var(--border); color:var(--text-2); vertical-align:middle; }
.fs-table tr:last-child td{ border-bottom:none; }
.fs-table tbody tr:hover td{ background:rgba(255,255,255,0.02); }
.fs-table tr.is-new td{ background:var(--green-bg); }
.fs-table tr.is-dropped td{ background:var(--red-bg); }
.fs-table tr.is-dropped td{ color:var(--red); }

/* Pills */
.fs-pill{ display:inline-block; font-size:10.5px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  padding:3px 9px; border-radius:6px; }
.fs-pill.green{ background:var(--green-bg); color:var(--green); }
.fs-pill.red{ background:var(--red-bg); color:var(--red); }
.fs-pill.tag{ background:rgba(255,255,255,0.07); color:var(--text-2); }

/* Lane cards */
.fs-lanes{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.fs-lane{ display:block; text-decoration:none; color:inherit; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:22px; transition:border-color .15s, background .15s; }
.fs-lane:hover{ border-color:var(--border-2); background:var(--surface-2); }
.fs-lane.soon{ opacity:0.45; pointer-events:none; }
.fs-lane h3{ margin:12px 0 5px; font-size:16px; font-weight:600; color:var(--text); letter-spacing:-0.01em; }
.fs-lane p{ margin:0; font-size:13.5px; color:var(--muted); }

/* Tabs */
.fs-tabs{ display:flex; gap:8px; margin:0 0 18px; }
.fs-tab{ flex:1; text-align:center; background:var(--tile); border:1px solid var(--border); color:var(--muted);
  border-radius:10px; padding:12px 10px; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer;
  transition:border-color .15s, color .15s, background .15s; -webkit-tap-highlight-color:transparent; }
.fs-tab:hover{ color:var(--text-2); }
.fs-tab.is-active{ background:var(--surface-2); border-color:var(--border-2); color:var(--text); }
.fs-tab .count{ color:var(--muted); font-weight:500; }
.fs-tab.is-active .count{ color:var(--text-2); }

/* Partner cards (mobile-first list) */
.pcards{ display:flex; flex-direction:column; gap:10px; }
.pcard{ display:flex; align-items:flex-start; gap:14px; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:14px 16px; }
.pcard.is-new{ border-color:rgba(127,192,141,0.35); }
.pcard.is-dropped{ border-color:rgba(229,140,121,0.4); background:var(--red-bg); }
.pcard-check{ display:flex; flex-direction:column; align-items:center; gap:5px; padding-top:2px; flex:0 0 auto; width:64px; }
.pcard-check input{ appearance:none; -webkit-appearance:none; width:26px; height:26px; border:2px solid var(--border-2);
  border-radius:7px; background:var(--tile); cursor:pointer; position:relative; transition:background .12s, border-color .12s; flex:0 0 auto; }
.pcard-check input:checked{ background:var(--green); border-color:var(--green); }
.pcard-check input:checked::after{ content:"✓"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--accent-ink); font-size:16px; font-weight:800; }
.pcard-check label{ font-size:10px; line-height:1.15; text-align:center; letter-spacing:0.03em; text-transform:uppercase;
  color:var(--muted); cursor:pointer; }
.pcard-check input:checked ~ label{ color:var(--green); }
.pcard-body{ flex:1 1 auto; min-width:0; }
.pcard-top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pcard-name{ font-size:15.5px; font-weight:600; color:var(--text); }
.pcard.is-dropped .pcard-name{ color:var(--red); }
.pcard-email{ display:block; font-size:13px; color:var(--muted); margin-top:2px; word-break:break-word; }
.pcard-meta{ display:block; font-size:12.5px; color:var(--muted); margin-top:3px; }
.pcard-empty{ text-align:center; color:var(--muted); padding:32px 16px; }

@media(max-width:600px){ .fs-h1{ font-size:24px; } .fs-card{ padding:20px; } .fs-table th,.fs-table td{ padding:10px 8px; }
  .fs-wrap{ padding:0 16px; } .pcard-check{ width:58px; } }
