/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */


	@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
	* { margin: 0; padding: 0; box-sizing: border-box; }
	body { font-family: 'Inter', -apple-system, sans-serif; background: #f8f9fc; min-height: 100vh; color: #1a1d23; }

	.layout { display: flex; height: 100vh; }

	/* List Panel */
	.list-panel { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-height: 0; }

	.topbar {
	padding: 16px 28px; background: white;
	border-bottom: 1px solid #f0f1f3;
	display: flex; align-items: center; justify-content: space-between;
	flex-shrink: 0;
	position: sticky;
	top: 0;
	z-index: 100;
	}
	.topbar-left { display: flex; align-items: center; gap: 16px; }
	.logo { display: flex; align-items: center; gap: 8px; }
	.logo-icon {
	width: 32px; height: 32px; border-radius: 9px;
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	display: flex; align-items: center; justify-content: center;
	color: white; font-weight: 700; font-size: 12px;
	}
	.logo-text { font-weight: 600; font-size: 15px; }
	.logo-text span { color: #8b5cf6; }
	.divider { width: 1px; height: 24px; background: #e5e7eb; }
	h1 { font-size: 18px; font-weight: 700; letter-spacing: -0.5px; }

	.topbar-right { display: flex; align-items: center; gap: 10px; }
	.search-box {
	display: flex; align-items: center; gap: 6px;
	background: #f4f5f7; border-radius: 8px; padding: 7px 12px;
	border: 1px solid transparent; transition: all 0.2s;
	}
	.search-box:focus-within { background: white; border-color: #8b5cf6; }
	.search-box input { border: none; background: none; outline: none; font-size: 13px; width: 180px; font-family: inherit; }
	.btn-sm {
	padding: 7px 14px; border-radius: 8px; border: 1px solid #e5e7eb;
	background: white; cursor: pointer; font-size: 12.5px; font-weight: 500;
	font-family: inherit; transition: all 0.2s;
	}
	.btn-sm:hover { border-color: #6366f1; }

	/* Filter bar */
	.filter-bar {
	padding: 10px 28px; background: white;
	border-bottom: 1px solid #f0f1f3; display: flex; gap: 8px; flex-shrink: 0;
	position: sticky;
	top: 70px; /* height of topbar */
	z-index: 90;
	}
	.filter-chip {
	padding: 5px 12px; border-radius: 7px; font-size: 12px; font-weight: 500;
	border: 1px solid #e5e7eb; background: white; cursor: pointer;
	transition: all 0.2s; font-family: inherit;
	}
	.filter-chip:hover, .filter-chip.active { background: #6366f1; color: white; border-color: #6366f1; }

	/* Table */
	.table-wrap { flex: 1; overflow-y: auto; flex: 1; scroll-behavior: smooth; min-height: 0; }

	table { width: 100%; border-collapse: collapse; }
	thead { position: sticky; top: 0; z-index: 5; }
	th {
	padding: 10px 16px; text-align: left; font-size: 11px;
	text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600;
	color: #9ca3af; background: #fafbfe; border-bottom: 1px solid #f0f1f3;
	white-space: nowrap;
	}
	td { padding: 14px 16px; border-bottom: 1px solid #f4f5f7; vertical-align: middle; }

	tr {
	cursor: pointer; transition: background 0.15s;
	animation: rowIn 0.3s ease both;
	}
	tr:hover { background: #f8f7ff; }
	tr.selected { background: #f555; }

	@keyframes rowIn {
	from { opacity: 0; }
	to { opacity: 1; }
	}

	.row-company { display: flex; align-items: center; gap: 10px; }
	.row-logo {
	width: 34px; height: 34px; border-radius: 9px;
	display: flex; align-items: center; justify-content: center;
	color: white; font-weight: 700; font-size: 14px; flex-shrink: 0;
	}
	.row-name { font-weight: 600; font-size: 13.5px; }
	.row-loc { font-size: 11.5px; color: #9ca3af; }

	.stage-pill { padding: 3px 10px; border-radius: 5px; font-size: 11px; font-weight: 600; white-space: nowrap; }
	.pill-new { background: #ede9fe; color: #6366f1; }
	.pill-review { background: #fef3c7; color: #d97706; }
	.pill-invest { background: #ecfdf5; color: #059669; }
	.pill-pass { background: #f3f4f6; color: #9ca3af; }

	.source-tag { font-size: 11px; font-weight: 500; white-space: nowrap; }
	.raising { font-weight: 600; font-size: 13px; }
	.signal-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
	.dot-hot { background: #ef4444; animation: pulse 2s infinite; }
	.dot-warm { background: #f59e0b; }
	.dot-none { background: #e5e7eb; }
	@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }

	.tag-mini { padding: 2px 6px; border-radius: 4px; font-size: 10px; color: #6b7280; margin-right: 3px; white-space: nowrap; }

	.fit-score {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	font-size: 12px; font-weight: 700;
	}
	.fit-high { background: #ecfdf5; color: #059669; }
	.fit-med { background: #fef3c7; color: #d97706; }
	.fit-low { background: #fef2f2; color: #ef4444; }

	/* Detail Panel */
	.detail-panel, .ai-detail-panel {
	width: 440px; background: white;
	border-left: 1px solid #f0f1f3;
	overflow-y: auto; flex-shrink: 0;
	transition: width 0.3s;
	display: none; flex-direction: column;
	}
	.detail-panel.collapsed { width: 0; overflow: hidden; border: none; }

	.dp-header { padding: 24px; border-bottom: 1px solid #f0f1f3; }
	.dp-company { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
	.dp-logo {
	width: 50px; height: 50px; border-radius: 13px;
	display: flex; align-items: center; justify-content: center;
	color: white; font-weight: 700; font-size: 20px;
	}
	.dp-name { font-size: 20px; font-weight: 700; letter-spacing: -0.5px; }
	.dp-sub { font-size: 13px; color: #9ca3af; }

	.dp-actions { display: flex; gap: 8px; }
	.dp-btn {
	flex: 1; padding: 10px; border-radius: 10px; border: 1px solid #e5e7eb;
	background: white; cursor: pointer; font-size: 12.5px; font-weight: 500;
	font-family: inherit; transition: all 0.2s; text-align: center;
	}
	.dp-btn:hover { background: #f5f3ff; border-color: #8b5cf6; color: #6366f1; }
	.dp-btn-primary {
	background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; border: none;
	box-shadow: 0 2px 8px rgba(99,102,241,0.25);
	}
	.dp-btn-primary:hover { transform: translateY(-1px); }

	.dp-body { padding: 24px; flex: 1; }
	.dp-section { margin-bottom: 22px; }
	.dp-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #9ca3af; font-weight: 600; margin-bottom: 8px; }
	.dp-text { font-size: 13.5px; line-height: 1.7; color: #374151; }

	.dp-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.dp-stat { background: #f8f9fc; border-radius: 10px; padding: 12px; }
	.dp-stat-label { font-size: 10.5px; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.4px; }
	.dp-stat-value { font-size: 16px; font-weight: 700; margin-top: 3px; }

	.dp-signal {
	padding: 12px; border-radius: 10px;
	background: linear-gradient(135deg, #fefce8, #fef9c3);
	border: 1px solid rgba(234,179,8,0.1); margin-bottom: 8px;
	}
	.dp-signal-text { font-size: 12.5px; color: #78350f; line-height: 1.5; }
	.dp-signal-text strong { font-weight: 600; }

	.close-btn {
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
	color: #6b7280;
	}

	.close-btn:hover {
	color: #111827;
	}

	pre {
	white-space: pre-wrap;     /* wrap long lines */
	word-wrap: break-word;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #374151;
	margin: 0;
	}
	#companies_table {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	}
	.ai-start{
	background: linear-gradient(135deg,#6366f1,#8b5cf6);
	color:white;
	border:none;
	}

.ai-processing{
	background:#f59e0b;
	color:white;
	border:none;
}

.ai-complete{
	background:#10b981;
	color:white;
	border:none;
}


.auth-wrapper{
  height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;

  background:linear-gradient(135deg,#6366f1,#8b5cf6);
}

.auth-brand{
  text-align:center;
  color:white;
  margin-bottom:40px;
}



.auth-card{
  padding:32px;

  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(16px);

  border-radius:12px;
  box-shadow:0 20px 40px rgba(0,0,0,0.2);

  color:white;
}

.auth-card h2{
  margin-bottom:20px;
}

.auth-input{
  width:100%;
  padding:12px;
  margin-bottom:14px;

  border:none;
  border-radius:6px;
  outline:none;
  color: black;
  background-color: white;
}

.auth-btn{
  width:30%;
  padding:12px;
  border:none;
  border-radius:6px;

  background:white;
  color:#6366f1;

  font-weight:600;
  cursor:pointer;
}

.auth-divider{
  text-align:center;
  margin:18px 0;
  opacity:.8;
}
.auth-input::placeholder{
  color:#6b7280;
}

.google-btn{
  width:100%;
  padding:12px;

  border-radius:6px;
  border:none;

  background:#111827;
  color:white;
}
.auth-input::focus{
  outline:none;
  border:none;
  box-shadow:none;
}

.auth-flash{
  padding:10px;
  border-radius:6px;
  margin-bottom:14px;
  font-size:14px;
}

.auth-error{
  background:#fee2e2;
  color:#b91c1c;
}

.auth-success{
  background:#dcfce7;
  color:#166534;
}
