/* CoSyncs design tokens — single source of truth. Import once at app root. */
@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@600;700;800&family=Hanken+Grotesk:wght@400;500;600&display=swap');

:root {
  /* Surfaces */
  --nv-bg: #0F1012;
  --nv-rail: #131417;
  --nv-card: #17181B;
  --nv-raised: #1A1B1F;
  --nv-hover: #1C1D21;
  --nv-chip: #1E2024;
  --nv-selected: #1F1C1A;

  /* Borders */
  --nv-line-subtle: #1F2125;
  --nv-line: #24262B;
  --nv-line-strong: #2A2C31;
  --nv-line-stronger: #3A3C42;
  --nv-line-dashed: #4A4C52;

  /* Text */
  --nv-text: #F2EFEA;
  --nv-text-2: #C9C7C2;
  --nv-text-3: #B9B7B1;
  --nv-text-chip: #D6D3CD;
  --nv-muted: #9C9CA3;
  --nv-faint: #8E8E95;
  --nv-disabled: #6E6E75;
  --nv-sep: #55565C;

  /* Accent */
  --nv-accent: #E9B59C;
  --nv-accent-hover: #F4CDB9;
  --nv-on-accent: #2A140A;
  --nv-accent-soft: #2A211D;
  --nv-accent-soft-text: #F7E3D8;
  --nv-accent-panel: #1F1A17;
  --nv-accent-panel-line: #3A2A22;
  --nv-inverse: #F2EFEA;
  --nv-on-inverse: #121214;

  /* Semantic */
  --nv-success-bg: #16302A;
  --nv-success-fg: #8FDCC0;
  --nv-success-line: #21443A;
  --nv-success-panel: #16201D;
  --nv-warning-bg: #3A2A12;
  --nv-warning-fg: #F2C77E;
  --nv-danger-bg: #3A1C1C;
  --nv-danger-fg: #F0A8A8;
  --nv-info-bg: #1C2433;
  --nv-info-fg: #A9C7F0;
  --nv-info-line: #2A3A55;
  --nv-violet-bg: #241F33;
  --nv-violet-fg: #D9CBF5;
  --nv-pending-bg: #2A2C31;
  --nv-pending-fg: #D6D3CD;

  /* Categorical (placeholder artwork, project tints) */
  --nv-cat-coral: #E39A78;
  --nv-cat-violet: #9C8BE0;
  --nv-cat-teal: #6CC4B0;
  --nv-cat-pink: #D98BB4;
  --nv-cat-gold: #E3C36C;
  --nv-cat-blue: #7FB6E8;
  --nv-cat-green: #A7D17A;
  --nv-cat-mauve: #C98BB4;

  /* Stages */
  --nv-stage-briefing: #8E8E95;
  --nv-stage-finding: #7FB6E8;
  --nv-stage-review: #E9B59C;
  --nv-stage-clearance: #E3C36C;
  --nv-stage-delivered: #8FDCC0;

  /* Owners */
  --nv-owner-you: #E9B59C;
  --nv-owner-client: #A9C7F0;
  --nv-owner-partner: #8FDCC0;

  /* Client listening page (light) */
  --nv-share-bg: #F5F2EC;
  --nv-share-text: #17181B;
  --nv-share-muted: #6B6862;
  --nv-share-note: #ECE7DE;
  --nv-share-note-text: #4A4843;
  --nv-share-brand: #C9775A;

  --nv-scrim: rgba(6, 6, 8, 0.72);

  /* Type */
  --nv-font-display: 'Schibsted Grotesk', system-ui, sans-serif;
  --nv-font-ui: 'Hanken Grotesk', system-ui, sans-serif;
  --nv-fs-display-xl: 76px;
  --nv-fs-display-l: 48px;
  --nv-fs-home: 44px;
  --nv-fs-page: 40px;
  --nv-fs-title-m: 36px;
  --nv-fs-title-s: 22px;
  --nv-fs-section: 18px;
  --nv-fs-card: 16px;
  --nv-fs-body-l: 15px;
  --nv-fs-body: 14px;
  --nv-fs-small: 13px;
  --nv-fs-caption: 12px;
  --nv-fs-eyebrow: 11px;
  --nv-track-display: -0.03em;
  --nv-track-eyebrow: 0.1em;

  /* Radius */
  --nv-r-xs: 6px;
  --nv-r-s: 8px;
  --nv-r-m: 10px;
  --nv-r-l: 12px;
  --nv-r-xl: 14px;
  --nv-r-2xl: 16px;
  --nv-r-3xl: 22px;
  --nv-r-pill: 999px;

  /* Layout */
  --nv-sidebar-w: 232px;
  --nv-rail-w: 72px;
  --nv-panel-w: 360px;
  --nv-page-pad: 32px;
  --nv-touch: 44px;

  /* Motion */
  --nv-dur-fast: 140ms;
  --nv-dur-base: 200ms;
  --nv-ease: cubic-bezier(.2, .8, .2, 1);
}

body {
  margin: 0;
  background: var(--nv-bg);
  color: var(--nv-text);
  font-family: var(--nv-font-ui);
  font-size: var(--nv-fs-body);
  -webkit-font-smoothing: antialiased;
}

:focus-visible { outline: 2px solid var(--nv-accent); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0ms !important; animation-duration: 0ms !important; }
}

/* Layout values missing from the supplied token sheet, centralized here. */
:root {
  --nv-space-1: 4px;
  --nv-space-2: 8px;
  --nv-space-3: 12px;
  --nv-space-4: 16px;
  --nv-space-5: 24px;
  --nv-space-6: 32px;
  --nv-space-7: 40px;
  --nv-space-8: 56px;
  --nv-space-9: 64px;
  --nv-border-width: 1px;
  --nv-focus-width: 2px;
  --nv-control-height: 52px;
  --nv-auth-width: 400px;
  --nv-auth-copy-width: 460px;
  --nv-auth-wave-height: 150px;
  --nv-auth-brand-size: 30px;
  --nv-auth-title-size: 34px;
  --nv-auth-body-size: 17px;
  --nv-auth-mark-size: 10px;
  --nv-auth-letter-spacing: 0.16em;
  --nv-leading-body: 1.55;
  --nv-leading-heading: 1.08;
  --nv-weight-medium: 500;
  --nv-weight-semibold: 600;
  --nv-weight-bold: 800;
}

/* Light appearance — same roles, warm paper palette. Applied when <html data-theme="light">. */
:root[data-theme="light"]{
  --nv-bg:#F6F4F0; --nv-rail:#EFECE6; --nv-card:#FFFFFF; --nv-raised:#FBFAF7; --nv-hover:#F3F0EB; --nv-chip:#EDE9E3; --nv-selected:#F6EAE2;
  --nv-line-subtle:#EFEBE5; --nv-line:#E6E1DA; --nv-line-strong:#D9D3CA; --nv-line-stronger:#C4BDB2; --nv-line-dashed:#B3ACA1;
  --nv-text:#1A1918; --nv-text-2:#45423E; --nv-text-3:#55524D; --nv-text-chip:#3B3935; --nv-muted:#6F6B65; --nv-faint:#827E77; --nv-disabled:#A8A39B; --nv-sep:#BDB7AE;
  --nv-accent:#B85F3D; --nv-accent-hover:#A1502F; --nv-on-accent:#FFFFFF; --nv-accent-soft:#F6E3D8; --nv-accent-soft-text:#7A3519; --nv-accent-panel:#FBF1EA; --nv-accent-panel-line:#EDD3C4;
  --nv-inverse:#1A1918; --nv-on-inverse:#FFFFFF;
  --nv-success-bg:#DDF1E8; --nv-success-fg:#1D6B50; --nv-success-line:#B9E0CF; --nv-success-panel:#EEF8F3;
  --nv-warning-bg:#FBEBCF; --nv-warning-fg:#86560C; --nv-danger-bg:#F9DEDB; --nv-danger-fg:#A3332B;
  --nv-info-bg:#E1EBF8; --nv-info-fg:#2C5A92; --nv-info-line:#C3D5EE; --nv-violet-bg:#ECE6F8; --nv-violet-fg:#5B3F9E;
  --nv-pending-bg:#EDE9E3; --nv-pending-fg:#45423E;
  --nv-cat-coral:#D9825E; --nv-cat-violet:#8A77D6; --nv-cat-teal:#3FA58E; --nv-cat-pink:#CB6F9F; --nv-cat-gold:#C9A33F; --nv-cat-blue:#5C97D2; --nv-cat-green:#7FAF52; --nv-cat-mauve:#B5759E;
  --nv-stage-briefing:#8E8A84; --nv-stage-finding:#5C97D2; --nv-stage-review:#C7744F; --nv-stage-clearance:#C9A33F; --nv-stage-delivered:#3FA58E;
  --nv-owner-you:#C7744F; --nv-owner-client:#5C97D2; --nv-owner-partner:#3FA58E;
  --nv-scrim:rgba(30,26,22,.38);
}
:root[data-theme="light"] body{background:var(--nv-bg);color:var(--nv-text)}
