    :root {
      --bg: #ffffff;
      --paper: #ffffff;
      --panel: #ffffff;
      --panel-2: #f6f6f6;
      --text: #111111;
      --muted: rgba(17, 17, 17, 0.64);
      --soft: rgba(17, 17, 17, 0.06);
      --line: rgba(17, 17, 17, 0.1);
      --blue: var(--black);
      --yellow: #ffd400;
      --black: #111111;
      --success: #1f7a36;
      --radius-xl: 16px;
      --radius-lg: 14px;
      --radius-md: 12px;
      --radius-sm: 10px;
      --shadow-sm: none;
      --shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.1);
      --sidebar: 290px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    html, body {
      margin: 0;
      min-height: 100%;
      background: var(--bg);
      color: var(--text);
      font-family: Inter, Arial, Helvetica, sans-serif;
    }

    body { overflow-x: hidden; }

    img { max-width: 100%; display: block; }
    button, input, select, textarea { font: inherit; }
    a { color: inherit; text-decoration: none; }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0;
    }

    .app {
      display: grid;
      grid-template-columns: var(--sidebar) 1fr;
      min-height: 100vh;
    }

    .sidebar {
      position: sticky;
      top: 0;
      height: 100vh;
      display: flex;
      flex-direction: column;
      background: white;
      border-right: 1px solid var(--line);
      z-index: 40;
    }

    .sidebar-header,
    .sidebar-footer {
      padding: 20px;
      border-bottom: 1px solid var(--line);
    }

    .sidebar-footer {
      margin-top: auto;
      border-top: 1px solid var(--line);
      border-bottom: 0;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .brand-icon {
      width: 46px;
      height: 46px;
      border-radius: 12px;
      background: var(--black);
      color: var(--yellow);
      display: grid;
      place-items: center;
      font-size: 15px;
      font-weight: 900;
      letter-spacing: 0.04em;
      border: 1px solid rgba(0, 0, 0, 0.12);
      box-shadow: var(--shadow-sm);
    }

    .eyebrow {
      font-size: 10px;
      line-height: 1;
      text-transform: uppercase;
      letter-spacing: 0.24em;
      color: rgba(17, 17, 17, 0.48);
      font-weight: 800;
    }
      
    #reportsPage .summary-box {
      color: var(--black)
    }
      
    #reportsPage .summary-box .eyebrow {
      color: rgba(17, 17, 17, 0.48);
    }

    .brand-title {
      margin-top: 4px;
      font-size: 14px;
      font-weight: 800;
    }

    .nav { padding: 14px; }
    .nav-group-title {
      padding: 10px 10px 12px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(17, 17, 17, 0.45);
    }

    .nav button,
    .quick-link {
      width: 100%;
      border: 0;
      background: transparent;
      color: inherit;
      text-align: left;
      border-radius: 12px;
      padding: 14px 14px;
      cursor: pointer;
      transition: 0.18s ease;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 4px;
    }

    .nav button i,
    .quick-link i,
    .mobile-top i,
    .project-external-link i {
      width: 18px;
      text-align: center;
      line-height: 1;
    }

    .nav button:hover,
    .quick-link:hover { background: rgba(0, 0, 0, 0.05); }
    .nav button.active {
      background: var(--black);
      color: white;
      box-shadow: var(--shadow-sm);
    }

    .quick-links { padding: 0 14px 8px; }

    .positioning-card {
      background: var(--yellow);
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      padding: 16px;
      box-shadow: var(--shadow-sm);
    }

    .positioning-card p {
      margin: 8px 0 0;
      font-size: 14px;
      line-height: 1.35;
      font-weight: 800;
    }

    .positioning-card small {
      display: block;
      margin-top: 8px;
      font-size: 12px;
      line-height: 1.5;
      color: rgba(17, 17, 17, 0.72);
    }

    .main { min-width: 0; }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 20;
      border-bottom: 1px solid var(--line);
      background: rgba(255, 255, 255, 0.94);
      backdrop-filter: blur(10px);
      padding: 18px 24px;
    }

    .topbar-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      flex-wrap: wrap;
    }

    .headline h1 {
      margin: 4px 0 0;
      font-size: clamp(30px, 4vw, 48px);
      line-height: 0.95;
      text-transform: uppercase;
      letter-spacing: -0.06em;
      font-weight: 950;
    }

    .headline .subheadline {
      margin-top: 10px;
      max-width: 740px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    .controls {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
        display: none;
    }

    .search-wrap input,
    .filter-wrap select {
      width: 240px;
      max-width: 100%;
      height: 46px;
      border-radius: 12px;
      border: 1px solid var(--line);
      background: white;
      padding: 0 16px;
      outline: none;
      box-shadow: none;
      color: var(--text);
    }

    .view-toggle {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 4px;
      border-radius: 12px;
      border: 1px solid var(--line);
      background: white;
    }

    .view-toggle button,
    .ghost-btn,
    .primary-btn,
    .inline-btn,
    .mobile-top,
    .drawer-close,
    .command-item {
      border: 0;
      cursor: pointer;
      transition: 0.18s ease;
    }

    .view-toggle button {
      border-radius: 10px;
      background: transparent;
      padding: 10px 14px;
      color: var(--muted);
      font-weight: 700;
    }

    .view-toggle button.active {
      background: var(--panel-2);
      color: var(--text);
    }

    .ghost-btn,
    .primary-btn,
    .inline-btn,
    .mobile-top,
    .drawer-close,
    .command-item {
      border-radius: 12px;
      padding: 12px 14px;
      font-weight: 700;
    }

    .primary-btn {
      background: var(--black);
      color: white;
      box-shadow: var(--shadow-sm);
    }
    .primary-btn:hover,
    .inline-btn:hover,
    .command-item:hover { transform: translateY(-1px); }

    .ghost-btn,
    .mobile-top,
    .command-item {
      background: white;
      border: 1px solid var(--line);
      color: var(--text);
    }

    .drawer-close {
      position: sticky;
      top: 24px;
      z-index: 3;
      width: 44px;
      height: 44px;
      margin: 0 0 16px auto;
      padding: 0;
      display: grid;
      place-items: center;
      background: var(--black);
      border: 1px solid var(--black);
      color: white;
    }

    .drawer-close i {
      font-size: 18px;
      line-height: 1;
    }

    .inline-btn { background: var(--yellow); color: var(--black); }
    .content { padding: 24px; }
    .page-section { display: none; }
    .page-section.active { display: block; }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
      gap: 16px;
      margin-bottom: 16px;
    }

    .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      box-shadow: none;
      overflow: hidden;
    }

    .card-inner { padding: 22px; }

    .hero-lead {
      background: var(--panel);
    }

    .hero-title {
      margin: 8px 0 0;
      font-size: clamp(34px, 5vw, 64px);
      line-height: 0.92;
      text-transform: uppercase;
      letter-spacing: -0.08em;
      font-weight: 950;
      max-width: 820px;
    }

    .hero-copy {
      margin-top: 18px;
      max-width: 760px;
      font-size: 15px;
      line-height: 1.8;
      color: var(--muted);
    }

    .hero-actions,
    .hero-pills,
    .tag-list,
    .meta-list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .hero-actions { margin-top: 18px; }
    .hero-pills { margin-top: 18px; }

    .pill,
    .tag,
    .badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 12px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
    }

    .pill,
    .tag,
    .badge.outline,
    .badge.soft {
      background: white;
      border: 1px solid var(--line);
      color: var(--text);
    }

    .badge.blue { background: var(--blue); color: white; border: 1px solid transparent; }
    .badge.yellow { background: var(--yellow); color: var(--black); border: 1px solid transparent; }
    .badge.dark { background: var(--black); color: white; border: 1px solid transparent; }
    .badge.soft { background: rgba(17,17,17,0.06); }

    .hero-side {
      display: grid;
      gap: 16px;
    }

    .hero-stat-grid,
    .stats {
      display: grid;
      gap: 16px;
    }

    .hero-stat-grid { grid-template-columns: 1fr 1fr; }
    .stats { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }

    .metric {
      font-size: 40px;
      line-height: 1;
      margin: 12px 0 8px;
      font-weight: 950;
      letter-spacing: -0.06em;
    }

    .subtle {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    .main-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
      gap: 16px;
    }

    .section-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
      flex-wrap: wrap;
    }

    .section-header h2,
    .section-header h3 {
      margin: 0;
      font-size: 20px;
      font-weight: 850;
      letter-spacing: -0.03em;
    }

    .table {
      border: 1px solid var(--line);
      border-radius: 20px;
      overflow: hidden;
      background: white;
    }

    .table-header,
    .table-row {
      display: grid;
      grid-template-columns: 1.7fr 0.85fr 1.05fr 0.8fr 0.65fr;
      gap: 12px;
      align-items: center;
    }

    .table-header {
      background: rgba(0, 0, 0, 0.03);
      padding: 14px 16px;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      font-weight: 800;
      color: rgba(17,17,17,0.55);
    }

    .table-row,
    .project-card,
    .kanban-card,
    .command-item {
      width: 100%;
      text-align: left;
    }

    .table-row {
      border: 0;
      background: white;
      padding: 16px;
      border-top: 1px solid var(--line);
      cursor: pointer;
      transition: background 0.18s ease, box-shadow 0.18s ease;
    }

    .table-row:hover,
    .table-row:focus-visible {
      background: rgba(17, 17, 17, 0.04);
      box-shadow: inset 4px 0 0 var(--black);
      outline: none;
    }
    .project-name { font-weight: 800; margin-bottom: 8px; }

    .panel-stack {
      display: grid;
      gap: 16px;
      align-content: start;
    }

    .black-card {
      background: var(--black);
      color: white;
    }

    .black-card .eyebrow,
    .black-card .subtle { color: rgba(255,255,255,0.72); }

    .black-card h3 {
      margin: 10px 0 0;
      font-size: 34px;
      line-height: 0.95;
      text-transform: uppercase;
      letter-spacing: -0.05em;
      font-weight: 950;
    }

    .activity-item {
      display: flex;
      gap: 12px;
      margin-bottom: 18px;
    }

    .dot {
      width: 10px;
      height: 10px;
      border-radius: 999px;
      margin-top: 7px;
      background: var(--blue);
      flex: 0 0 auto;
    }

    .activity-item strong {
      display: block;
      font-size: 14px;
      line-height: 1.45;
    }

    .activity-item span {
      display: block;
      margin-top: 4px;
      font-size: 12px;
      color: rgba(17,17,17,0.45);
    }

    .grid-view,
    .contacts-grid,
    .automation-grid,
    .proof-grid,
    .timeline-grid {
      display: grid;
      gap: 16px;
    }

    .grid-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contacts-grid,
    .automation-grid,
    .proof-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .timeline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .project-card,
    .mini-card {
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      background: white;
      padding: 20px;
    }

    .project-card,
    .kanban-card {
      cursor: pointer;
      transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
    }

    .project-card:hover,
    .project-card:focus-visible,
    .kanban-card:hover,
    .kanban-card:focus-visible {
      transform: translateY(-3px);
      border-color: var(--black);
      background: rgba(17, 17, 17, 0.04);
      box-shadow: inset 4px 0 0 var(--black);
      outline: none;
    }

    #projectsPage .project-card:hover,
    #projectsPage .project-card:focus-visible {
      background: white;
      box-shadow: 0 0 0 2px var(--black);
    }

    .project-card h3,
    .mini-card h3 {
      margin: 8px 0 0;
      font-size: 26px;
      line-height: 1.05;
      font-weight: 950;
      letter-spacing: -0.05em;
    }

    .card-footer {
      margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
      display: flex;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      font-size: 14px;
    }

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

    .kanban-col {
      background: var(--panel-2);
      border: 1px solid var(--line);
      border-radius: var(--radius-xl);
      padding: 14px;
    }

    .kanban-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 12px;
      padding: 4px 4px 0;
      font-weight: 800;
    }

    .kanban-card {
      border: 1px solid var(--line);
      background: white;
      border-radius: 18px;
      padding: 14px;
      margin-bottom: 10px;
    }

    .report-grid {
      display: grid;
      grid-template-columns: 0.8fr 1.2fr;
      gap: 16px;
    }

    .progress-row { margin-bottom: 22px; }
    .progress-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      font-size: 14px;
      margin-bottom: 8px;
    }

    .progress-track {
      height: 12px;
      border-radius: 999px;
      overflow: hidden;
      background: rgba(0,0,0,0.08);
    }

    .progress-fill {
      height: 100%;
      border-radius: 999px;
      background: var(--blue);
    }

    .summary-grid,
    .record-grid,
    .stack-grid {
      display: grid;
      gap: 14px;
    }

    .summary-grid,
    .stack-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .record-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

    .summary-box,
    .record-box,
    .stack-box {
      border: 1px solid var(--line);
      background: white;
      border-radius: 18px;
      padding: 16px;
    }

    .stack-box strong,
    .record-box strong,
    .summary-box strong {
      display: block;
      margin-top: 8px;
      font-size: 16px;
      letter-spacing: -0.02em;
    }

    .drawer,
    .command-palette {
      position: fixed;
      inset: 0;
      display: none;
      z-index: 70;
    }

    .drawer.open,
    .command-palette.open { display: block; }

    .drawer-backdrop,
    .command-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0,0,0,0.34);
    }

    .drawer-panel {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
      width: min(680px, 100%);
      background: white;
      border-left: 1px solid var(--line);
      overflow-y: auto;
      padding: 24px;
      box-shadow: var(--shadow-lg);
    }

    .drawer-title {
      font-size: clamp(30px, 4vw, 42px);
      line-height: 0.95;
      letter-spacing: -0.05em;
      font-weight: 950;
      margin: 12px 0;
    }
      
    .drawer-image {
      width: 100%;
      height: 220px;
      object-fit: cover;
      object-position: top;
      border-radius: 18px;
      margin-bottom: 16px;
      border: 1px solid var(--line);
    }

    .project-external-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      min-height: 54px;
      margin: -2px 0 22px;
      padding: 15px 18px;
      border-radius: 18px;
      background: var(--yellow);
      color: var(--black);
      border: 1px solid rgba(17, 17, 17, 0.16);
      box-shadow: var(--shadow-sm);
      font-size: 14px;
      font-weight: 900;
      letter-spacing: -0.01em;
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }

    .project-external-link:hover,
    .project-external-link:focus-visible {
      transform: translateY(-1px);
      box-shadow: var(--shadow-lg);
    }

    .project-external-link span {
      font-size: 18px;
      line-height: 1;
    }

    .drawer-meta {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin: 24px 0 30px;
    }

    .mini-stat {
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 16px;
      background: white;
    }

    .detail-section { margin-bottom: 26px; }
    .detail-section h4 {
      margin: 0 0 12px;
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.22em;
      color: rgba(17,17,17,0.45);
    }

    .detail-section p,
    .detail-item-text {
      margin: 0;
      font-size: 14px;
      line-height: 1.8;
      color: rgba(17,17,17,0.75);
    }

    .detail-list { display: grid; gap: 10px; }
    .detail-item {
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 14px 16px;
      display: flex;
      gap: 12px;
      align-items: flex-start;
    }

    .proof-label {
      display: inline-flex;
      align-items: center;
      padding: 5px 10px;
      border-radius: 999px;
      background: rgba(0,0,0,0.05);
      font-size: 11px;
      font-weight: 800;
      margin-top: 10px;
    }

    .command-shell {
      position: absolute;
      top: 12vh;
      left: 50%;
      transform: translateX(-50%);
      width: min(720px, calc(100vw - 24px));
      border-radius: 24px;
      background: white;
      border: 1px solid var(--line);
      overflow: hidden;
      box-shadow: var(--shadow-lg);
    }

    .command-input {
      width: 100%;
      height: 64px;
      border: 0;
      border-bottom: 1px solid var(--line);
      padding: 0 20px;
      font-size: 16px;
      outline: none;
    }

    .command-list {
      padding: 10px;
      max-height: 52vh;
      overflow: auto;
      display: grid;
      gap: 8px;
    }

    .command-item small {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-weight: 500;
    }

    .mobile-top { display: none; }
    .mobile-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.28);
      z-index: 55;
      display: none;
    }

    .mobile-overlay.open { display: block; }

    @media (max-width: 1200px) {
      .hero,
      .main-grid,
      .report-grid,
      .record-grid,
      .timeline-grid,
      .summary-grid,
      .stack-grid,
      .proof-grid,
      .contacts-grid,
      .automation-grid,
      .grid-view,
      .kanban,
      .stats { grid-template-columns: 1fr; }
    }

    @media (max-width: 900px) {
      .app { grid-template-columns: 1fr; }
      .sidebar {
        display: none;
        position: fixed;
        inset: 0 auto 0 0;
        width: min(320px, 84vw);
        height: 100vh;
        background: white;
        z-index: 60;
      }
      .sidebar.mobile-open { display: flex; }
      .mobile-top {
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }
      .topbar,
      .content { padding-left: 16px; padding-right: 16px; }
      .topbar-row { align-items: flex-start; }
      .controls { width: 100%; }
      .controls > * { flex: 1 1 100%; }
      .view-toggle { width: 100%; justify-content: space-between; }
      .view-toggle button { flex: 1 1 0; }
      .search-wrap input,
      .filter-wrap select { width: 100%; }
      .drawer-meta { grid-template-columns: 1fr; }
    }

    @media (max-width: 760px) {
      .table-header,
      .table-row { grid-template-columns: 1fr; }
      .hero-title { font-size: 42px; }
      .headline h1 { font-size: 34px; }
      .drawer-panel { padding: 18px; }
      .drawer-close { top: 18px; }
    }
      
      #companiesGrid {
        grid-template-columns: auto;
        margin-bottom: 16px;
    }
      
      #companiesGrid .hero-pills {
            margin-top: 0;
        }
  
