/**
 * Financial Architect — Deal Structure Studio Styles (fa-deal-studio.css)
 * Version: 1.6.0
 */

/* ── Wrap ──────────────────────────────────────────────────────────────────── */
.fds-wrap { display: flex; flex-direction: column; gap: 18px; }

/* ── Header ───────────────────────────────────────────────────────────────── */
.fds-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.fds-title    { font-size: 18px; font-weight: 800; color: var(--fa-navy); margin: 0 0 2px; }
.fds-subtitle { font-size: 12px; color: var(--fa-text-muted); margin: 0; }

.fds-header-actions { display: flex; align-items: center; gap: 10px; }

.fds-locked-banner {
	background: var(--fa-success-bg);
	color: var(--fa-success);
	border: 1px solid rgba(34,160,107,0.25);
	border-radius: var(--fa-radius);
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
}

.fds-top-error {
	background: var(--fa-danger-bg);
	color: var(--fa-danger);
	border: 1px solid rgba(209,48,48,0.2);
	border-radius: var(--fa-radius-sm);
	padding: 10px 14px;
	font-size: 13px;
}

/* ── Empty state ──────────────────────────────────────────────────────────── */
.fds-empty {
	background: var(--fa-white);
	border: 2px dashed var(--fa-border);
	border-radius: var(--fa-radius-lg);
	padding: 60px 40px;
	text-align: center;
}
.fds-empty-icon { font-size: 48px; margin-bottom: 14px; }
.fds-empty h3   { font-size: 18px; font-weight: 800; color: var(--fa-navy); margin: 0 0 10px; }
.fds-empty p    { color: var(--fa-text-mid); font-size: 14px; max-width: 420px; margin: 0 auto 10px; line-height: 1.6; }
.fds-empty-tip  { font-size: 13px; color: var(--fa-text-muted) !important; font-style: italic; }

/* ── Options list ─────────────────────────────────────────────────────────── */
.fds-options-list { display: flex; flex-direction: column; gap: 12px; }

/* ── Option card ──────────────────────────────────────────────────────────── */
.fds-option {
	background: var(--fa-white);
	border: 1px solid var(--fa-border);
	border-radius: var(--fa-radius-lg);
	box-shadow: var(--fa-shadow);
	overflow: hidden;
	transition: box-shadow 0.15s;
}
.fds-option:hover { box-shadow: var(--fa-shadow-lg); }

.fds-option-recommended {
	border-color: rgba(201,162,39,0.5);
	border-top: 3px solid var(--fa-gold);
}

.fds-option-locked {
	border-color: var(--fa-navy);
	border-top: 3px solid var(--fa-navy);
}

/* Header row */
.fds-option-header {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	cursor: pointer;
	user-select: none;
	transition: background 0.15s;
}
.fds-option-header:hover { background: var(--fa-off-white); }

.fds-option-rank-badge {
	font-size: 11px;
	font-weight: 800;
	padding: 3px 10px;
	border-radius: 20px;
	background: var(--fa-off-white);
	color: var(--fa-text-muted);
	white-space: nowrap;
	flex-shrink: 0;
	text-transform: uppercase;
	letter-spacing: 0.3px;
}
.fds-rank-top { background: var(--fa-gold-pale); color: #92400e; }

.fds-option-icon { font-size: 22px; flex-shrink: 0; }

.fds-option-meta { flex: 1; min-width: 0; }
.fds-option-name { font-size: 15px; font-weight: 700; color: var(--fa-navy); margin-bottom: 2px; }
.fds-option-tagline { font-size: 12px; color: var(--fa-text-muted); }

.fds-option-right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.fds-status-pill {
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	letter-spacing: 0.3px;
}

.fds-lock-icon { font-size: 16px; }
.fds-chevron   { font-size: 12px; color: var(--fa-text-muted); cursor: pointer; }

/* Quick badges */
.fds-option-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0 20px 12px;
}
.fds-badge {
	font-size: 11.5px;
	color: var(--fa-text-mid);
	background: var(--fa-off-white);
	border: 1px solid var(--fa-border);
	border-radius: 20px;
	padding: 3px 10px;
}

/* ── Expanded body ────────────────────────────────────────────────────────── */
.fds-option-body {
	display: none;
	border-top: 1px solid var(--fa-border);
	padding: 20px 22px;
	flex-direction: column;
	gap: 18px;
}
.fds-body-open { display: flex; }

/* AI Memo */
.fds-memo {
	background: var(--fa-navy);
	border-radius: var(--fa-radius);
	padding: 16px 18px;
}
.fds-memo-header {
	font-size: 12px;
	font-weight: 700;
	color: var(--fa-gold-light);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
}
.fds-memo-body {
	font-size: 13.5px;
	color: rgba(255,255,255,0.85);
	line-height: 1.65;
}

/* Assumptions grid */
.fds-section-label {
	font-size: 12px;
	font-weight: 700;
	color: var(--fa-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
}
.fds-assumption-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 24px;
}
.fds-assumption-row {
	display: flex;
	gap: 8px;
	padding: 5px 0;
	border-bottom: 1px solid var(--fa-border);
	font-size: 13px;
}
.fds-assumption-key {
	color: var(--fa-text-muted);
	font-size: 12px;
	width: 150px;
	flex-shrink: 0;
}
.fds-assumption-val {
	color: var(--fa-text);
	font-weight: 600;
}

/* Notes section */
.fds-notes-section {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.fds-founder-notes { resize: vertical; min-height: 60px; }
.fds-notes-saved {
	font-size: 12px;
	color: var(--fa-success);
	font-weight: 600;
}

/* Admin section */
.fds-admin-section {
	background: linear-gradient(135deg, #fefce8 0%, var(--fa-white) 100%);
	border: 1px solid rgba(201,162,39,0.3);
	border-radius: var(--fa-radius);
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fds-admin-section .fds-section-label { color: #92400e; }

.fds-admin-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.fds-admin-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--fa-text-mid);
}
.fds-status-select { width: 160px; font-size: 12px; padding: 5px 8px; }
.fds-rec-check     { width: 18px; height: 18px; accent-color: var(--fa-navy); cursor: pointer; }
.fds-admin-notes   { font-size: 12px; }

.fds-admin-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fds-lock-btn {
	border: none !important;
	font-weight: 700;
}

.fds-unlock-btn {
	background: var(--fa-off-white) !important;
	color: var(--fa-text-mid) !important;
	border: 1px solid var(--fa-border) !important;
}

/* ── Loading ──────────────────────────────────────────────────────────────── */
.fds-loading { padding: 4px; }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 800px) {
	.fds-assumption-grid { grid-template-columns: 1fr; }
	.fds-option-header   { flex-wrap: wrap; gap: 10px; }
	.fds-option-badges   { display: none; }
}
