38873-vm/startup_details.php
Flatlogic Bot e904e15720 v14
2026-02-28 17:43:19 +00:00

516 lines
31 KiB
PHP

<?php
session_start();
require_once 'db/config.php';
require_once 'mail/MailService.php';
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
$user_id = $_SESSION['user_id'];
$stmt = db()->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$user_id]);
$user = $stmt->fetch();
$startup_id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
$stmt = db()->prepare("SELECT * FROM startups WHERE id = ?");
$stmt->execute([$startup_id]);
$startup = $stmt->fetch();
if (!$startup) {
header('Location: startups.php');
exit;
}
// Check if current user is following
$stmt = db()->prepare("SELECT 1 FROM startup_followers WHERE startup_id = ? AND user_id = ?");
$stmt->execute([$startup_id, $user_id]);
$isFollowing = (bool)$stmt->fetchColumn();
// Check for active funding round
$stmt = db()->prepare("SELECT * FROM funding_rounds WHERE startup_id = ? AND status = 'Active' LIMIT 1");
$stmt->execute([$startup_id]);
$activeRound = $stmt->fetch();
// Handle Actions
$error = '';
$success = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action'])) {
$action = $_POST['action'];
// Follow/Unfollow Actions (Available to all logged in users except the founder of this startup)
if ($action === 'follow' && $startup['founder_id'] != $user_id) {
$stmt = db()->prepare("INSERT IGNORE INTO startup_followers (startup_id, user_id) VALUES (?, ?)");
$stmt->execute([$startup_id, $user_id]);
$success = "You are now following " . $startup['name'] . "!";
$isFollowing = true;
} elseif ($action === 'unfollow' && $startup['founder_id'] != $user_id) {
$stmt = db()->prepare("DELETE FROM startup_followers WHERE startup_id = ? AND user_id = ?");
$stmt->execute([$startup_id, $user_id]);
$success = "You have unfollowed " . $startup['name'] . ".";
$isFollowing = false;
}
// Founder Actions
if ($user['role'] === 'founder' && $startup['founder_id'] == $user_id) {
$round_id = isset($_POST['round_id']) ? (int)$_POST['round_id'] : 0;
if ($action === 'finish_round' && $activeRound && $activeRound['id'] == $round_id) {
$stmt = db()->prepare("UPDATE funding_rounds SET status = 'Closed' WHERE id = ?");
$stmt->execute([$round_id]);
$success = "Funding round finished early. No new investments allowed.";
$activeRound = null; // Refresh for UI
} elseif ($action === 'cancel_round' && $activeRound && $activeRound['id'] == $round_id) {
db()->beginTransaction();
try {
// 1. Cancel round
$stmt = db()->prepare("UPDATE funding_rounds SET status = 'Cancelled' WHERE id = ?");
$stmt->execute([$round_id]);
// 2. Refund all investors for this round
$stmt = db()->prepare("SELECT * FROM investments WHERE funding_round_id = ? AND status = 'approved'");
$stmt->execute([$round_id]);
$investmentsToRefund = $stmt->fetchAll();
foreach ($investmentsToRefund as $inv) {
// Mark investment as refunded
$upd = db()->prepare("UPDATE investments SET status = 'Refunded' WHERE id = ?");
$upd->execute([$inv['id']]);
// Notify investor
$notif = db()->prepare("INSERT INTO notifications (user_id, content) VALUES (?, ?)");
$notif->execute([$inv['investor_id'], "The funding round for " . $startup['name'] . " has been cancelled. Your investment of £" . number_format($inv['amount']) . " has been refunded."]);
}
db()->commit();
$success = "Funding round cancelled and investors refunded.";
$activeRound = null; // Refresh for UI
} catch (Exception $e) {
db()->rollBack();
$error = "Cancellation failed: " . $e->getMessage();
}
} elseif ($action === 'start_new_round') {
$newTarget = (float)($_POST['new_target'] ?? 0);
if ($newTarget < 50) {
$error = "Minimum target for a new round is £50.";
} elseif ($activeRound) {
$error = "An active round already exists.";
} else {
$stmt = db()->prepare("INSERT INTO funding_rounds (startup_id, funding_goal, status) VALUES (?, ?, 'Active')");
$stmt->execute([$startup_id, $newTarget]);
$success = "New funding round launched!";
// Refresh active round
$stmt = db()->prepare("SELECT * FROM funding_rounds WHERE startup_id = ? AND status = 'Active' LIMIT 1");
$stmt->execute([$startup_id]);
$activeRound = $stmt->fetch();
}
} elseif ($action === 'post_update') {
$title = trim($_POST['update_title'] ?? '');
$content = trim($_POST['update_content'] ?? '');
if (empty($title) || empty($content)) {
$error = "Update title and content are required.";
} else {
db()->beginTransaction();
try {
// 1. Insert Update
$stmt = db()->prepare("INSERT INTO startup_updates (startup_id, founder_id, title, content) VALUES (?, ?, ?, ?)");
$stmt->execute([$startup_id, $user_id, $title, $content]);
// 2. Identify All Unique Investors AND Followers for this startup
$stmt = db()->prepare("
SELECT DISTINCT u.id, u.email, u.full_name
FROM users u
LEFT JOIN investments i ON i.investor_id = u.id AND i.startup_id = ? AND i.status = 'approved'
LEFT JOIN startup_followers f ON f.user_id = u.id AND f.startup_id = ?
WHERE i.investor_id IS NOT NULL OR f.user_id IS NOT NULL
");
$stmt->execute([$startup_id, $startup_id]);
$peopleToNotify = $stmt->fetchAll();
// 3. Notify them
foreach ($peopleToNotify as $targetUser) {
// DB Notification
$notif = db()->prepare("INSERT INTO notifications (user_id, content) VALUES (?, ?)");
$notif->execute([$targetUser['id'], "New progress update from " . $startup['name'] . ": " . $title]);
// Email Notification
$subject = "New Update: " . $startup['name'];
$emailHtml = "<h1>New Update: " . htmlspecialchars($title) . "</h1><p>Hi " . htmlspecialchars($targetUser['full_name']) . ", <strong>" . htmlspecialchars($startup['name']) . "</strong> has posted a new progress update:</p><hr><p>" . nl2br(htmlspecialchars($content)) . "</p>";
$emailText = "New Update: " . $title . "\n\nHi " . $targetUser['full_name'] . ", " . $startup['name'] . " has posted a new progress update: " . $content;
MailService::sendMail($targetUser['email'], $subject, $emailHtml, $emailText);
}
db()->commit();
$success = "Update posted and " . count($peopleToNotify) . " backers/followers notified.";
} catch (Exception $e) {
db()->rollBack();
$error = "Failed to post update: " . $e->getMessage();
}
}
}
}
// Investor Actions
if ($action === 'invest') {
if ($user['role'] !== 'investor') {
$error = "Founders cannot make investments.";
} elseif (!$activeRound) {
$error = "There is no active funding round for this startup.";
} else {
$amount = (float)($_POST['amount'] ?? 0);
if ($amount < 50) {
$error = "Minimum investment is £50.";
} else {
db()->beginTransaction();
try {
// Use funding_round_id for the investment
$stmt = db()->prepare("INSERT INTO investments (investor_id, startup_id, funding_round_id, amount, status) VALUES (?, ?, ?, ?, 'approved')");
$stmt->execute([$_SESSION['user_id'], $startup_id, $activeRound['id'], $amount]);
// Update funding_raised in funding_rounds (the dedicated pot)
$stmt = db()->prepare("UPDATE funding_rounds SET funding_raised = funding_raised + ? WHERE id = ?");
$stmt->execute([$amount, $activeRound['id']]);
// Update legacy field for backward compatibility in listing pages if needed
$stmt = db()->prepare("UPDATE startups SET funding_raised = funding_raised + ? WHERE id = ?");
$stmt->execute([$amount, $startup_id]);
$stmt = db()->prepare("INSERT INTO notifications (user_id, content) VALUES (?, ?)");
$stmt->execute([$startup['founder_id'], "New investment of £" . number_format($amount) . " in " . $startup['name'] . "!"]);
// Check if goal reached for automated notification system
$stmt = db()->prepare("SELECT * FROM funding_rounds WHERE id = ?");
$stmt->execute([$activeRound['id']]);
$updatedRound = $stmt->fetch();
if ($updatedRound['funding_raised'] >= $updatedRound['funding_goal']) {
// Update status to 'Closed'
$stmt = db()->prepare("UPDATE funding_rounds SET status = 'Closed' WHERE id = ?");
$stmt->execute([$updatedRound['id']]);
// Notify Founder (DB)
$stmt = db()->prepare("INSERT INTO notifications (user_id, content) VALUES (?, ?)");
$stmt->execute([$startup['founder_id'], "Congratulations! The funding round for " . $startup['name'] . " has reached its goal of £" . number_format($updatedRound['funding_goal']) . "!"]);
// Notify All Investors for this round (DB + Email)
$stmt = db()->prepare("SELECT DISTINCT u.id, u.email, u.full_name FROM investments i JOIN users u ON i.investor_id = u.id WHERE i.funding_round_id = ? AND i.status = 'approved'");
$stmt->execute([$updatedRound['id']]);
$investorsToNotify = $stmt->fetchAll();
foreach ($investorsToNotify as $invUser) {
// DB Notification
$stmt = db()->prepare("INSERT INTO notifications (user_id, content) VALUES (?, ?)");
$stmt->execute([$invUser['id'], "Great news! The funding round for " . $startup['name'] . " that you invested in has reached its goal!"]);
// Email Notification
$subject = "Funding Goal Reached for " . $startup['name'];
$html = "<h1>Goal Reached!</h1><p>Hi " . htmlspecialchars($invUser['full_name']) . ", the funding round for <strong>" . htmlspecialchars($startup['name']) . "</strong> has successfully reached its goal. Thank you for being a part of this journey!</p>";
$text = "Goal Reached! Hi " . $invUser['full_name'] . ", the funding round for " . $startup['name'] . " has successfully reached its goal. Thank you for being a part of this journey!";
MailService::sendMail($invUser['email'], $subject, $html, $text);
}
// Email Founder
$stmt = db()->prepare("SELECT email, full_name FROM users WHERE id = ?");
$stmt->execute([$startup['founder_id']]);
$founderUser = $stmt->fetch();
if ($founderUser) {
$subject = "Funding Goal Reached: " . $startup['name'];
$html = "<h1>Congratulations!</h1><p>Your funding round for <strong>" . htmlspecialchars($startup['name']) . "</strong> has reached its goal of £" . number_format($updatedRound['funding_goal']) . ".</p>";
$text = "Congratulations! Your funding round for " . $startup['name'] . " has reached its goal of £" . number_format($updatedRound['funding_goal']) . ".";
MailService::sendMail($founderUser['email'], $subject, $html, $text);
}
}
db()->commit();
$success = "Investment successful! You've backed the current round.";
// Refresh active round data
$stmt = db()->prepare("SELECT * FROM funding_rounds WHERE id = ?");
$stmt->execute([$activeRound['id']]);
$activeRound = $stmt->fetch();
} catch (Exception $e) {
db()->rollBack();
$error = "Investment failed: " . $e->getMessage();
}
}
}
}
}
$platformName = defined('PLATFORM_NAME') ? PLATFORM_NAME : 'Gatsby';
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= htmlspecialchars($startup['name']) ?> — <?= htmlspecialchars($platformName) ?></title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
</head>
<body>
<header>
<div class="container" style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
<div class="logo"><?= htmlspecialchars($platformName) ?></div>
<nav class="nav-links">
<?php if ($user['role'] === 'founder'): ?>
<a href="startups.php">My Startups</a>
<a href="partners.php">Find Partners</a>
<?php else: ?>
<a href="startups.php">Browse Startups</a>
<a href="portfolio.php">Portfolio</a>
<?php endif; ?>
<a href="discover.php">Discovery Hub</a>
<a href="messages.php">Messages</a>
<a href="notifications.php">Notifications</a>
</nav>
<div style="display: flex; align-items: center; gap: 15px;">
<a href="dashboard.php" style="color: var(--text-secondary);"><i class="fas fa-th-large"></i></a>
<a href="logout.php" class="btn btn-secondary" style="padding: 8px 16px; font-size: 13px;">Log Out</a>
</div>
</div>
</header>
<main class="container" style="padding-top: 50px; padding-bottom: 50px;">
<?php if ($error): ?>
<div class="alert alert-danger" style="margin-bottom: 30px;"><?= htmlspecialchars($error) ?></div>
<?php endif; ?>
<?php if ($success): ?>
<div class="alert alert-success" style="margin-bottom: 30px;"><?= htmlspecialchars($success) ?></div>
<?php endif; ?>
<div style="display: grid; grid-template-columns: 2fr 1.2fr; gap: 40px;">
<div>
<div style="display: flex; align-items: center; gap: 20px; margin-bottom: 30px;">
<div style="width: 80px; height: 80px; background: var(--gradient-primary); border-radius: 20px; display: flex; align-items: center; justify-content: center; color: white; font-size: 32px; font-weight: 700;">
<?= substr($startup['name'], 0, 1) ?>
</div>
<div style="flex: 1;">
<h1 style="margin: 0; font-size: 36px;"><?= htmlspecialchars($startup['name']) ?></h1>
<div style="color: var(--text-secondary); display: flex; align-items: center; gap: 10px;">
<span><i class="fas fa-calendar-alt"></i> Founded <?= date('M Y', strtotime($startup['created_at'])) ?></span>
<span class="badge"><?= ucfirst($startup['status']) ?></span>
</div>
</div>
<?php if ($startup['founder_id'] != $user_id): ?>
<form method="POST">
<?php if ($isFollowing): ?>
<input type="hidden" name="action" value="unfollow">
<button type="submit" class="btn btn-outline" style="border-radius: 50px; padding: 10px 25px;"><i class="fas fa-check"></i> Following</button>
<?php else: ?>
<input type="hidden" name="action" value="follow">
<button type="submit" class="btn btn-primary" style="border-radius: 50px; padding: 10px 25px;"><i class="fas fa-plus"></i> Follow</button>
<?php endif; ?>
</form>
<?php endif; ?>
</div>
<section class="card" style="margin-bottom: 40px;">
<h2 style="margin-top: 0; margin-bottom: 20px;">About the Venture</h2>
<p style="font-size: 18px; line-height: 1.6; color: var(--text-secondary); white-space: pre-wrap;"><?= htmlspecialchars($startup['description']) ?></p>
</section>
<!-- Public Updates Section -->
<section class="card" style="margin-bottom: 40px;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
<h2 style="margin: 0;">Public Updates</h2>
<?php if ($user['role'] === 'founder' && $startup['founder_id'] == $user_id): ?>
<button class="btn btn-outline" onclick="document.getElementById('postUpdateForm').style.display='block'">Post Update</button>
<?php endif; ?>
</div>
<?php if ($user['role'] === 'founder' && $startup['founder_id'] == $user_id): ?>
<div id="postUpdateForm" style="display: none; background: rgba(255,255,255,0.02); padding: 25px; border-radius: 15px; margin-bottom: 30px; border: 1px solid var(--border-color);">
<h4 style="margin-top: 0;">New Progress Report</h4>
<form method="POST">
<input type="hidden" name="action" value="post_update">
<div class="form-group" style="margin-bottom: 15px;">
<label>Title</label>
<input type="text" name="update_title" class="form-control" placeholder="e.g. Prototype Finished!" required style="background: var(--surface-color); color: #fff; border: 1px solid var(--border-color);">
</div>
<div class="form-group" style="margin-bottom: 15px;">
<label>What's happening?</label>
<textarea name="update_content" class="form-control" rows="5" placeholder="Share your progress with backers and followers..." required style="background: var(--surface-color); color: #fff; border: 1px solid var(--border-color);"></textarea>
</div>
<button type="submit" class="btn btn-primary">Post & Notify Everyone</button>
<button type="button" class="btn btn-secondary" onclick="document.getElementById('postUpdateForm').style.display='none'">Cancel</button>
</form>
</div>
<?php endif; ?>
<?php
$stmt = db()->prepare("SELECT * FROM startup_updates WHERE startup_id = ? ORDER BY created_at DESC");
$stmt->execute([$startup_id]);
$updates = $stmt->fetchAll();
?>
<?php if (empty($updates)): ?>
<p style="color: var(--text-secondary); font-style: italic;">No updates have been posted yet.</p>
<?php else: ?>
<?php foreach ($updates as $upd): ?>
<div style="border-bottom: 1px solid var(--border-color); padding-bottom: 25px; margin-bottom: 25px;">
<h4 style="margin: 0 0 10px 0;"><?= htmlspecialchars($upd['title']) ?></h4>
<div style="font-size: 13px; color: var(--text-secondary); margin-bottom: 15px;">
<i class="fas fa-clock"></i> Posted on <?= date('M d, Y', strtotime($upd['created_at'])) ?>
</div>
<p style="color: var(--text-secondary); line-height: 1.6; white-space: pre-wrap;"><?= htmlspecialchars($upd['content']) ?></p>
</div>
<?php endforeach; ?>
<?php endif; ?>
</section>
<?php if ($activeRound): ?>
<section class="card" style="border-left: 5px solid var(--accent-blue);">
<h3 style="margin-top: 0;">Active Funding Round</h3>
<div style="margin: 20px 0;">
<?php
$percent = ($activeRound['funding_goal'] > 0) ? min(100, ($activeRound['funding_raised'] / $activeRound['funding_goal']) * 100) : 0;
?>
<div style="width: 100%; height: 10px; background: var(--border-color); border-radius: 5px; overflow: hidden;">
<div style="width: <?= $percent ?>%; height: 100%; background: var(--gradient-primary);"></div>
</div>
</div>
<div style="display: flex; justify-content: space-between; font-weight: 600; margin-bottom: 20px;">
<span style="font-size: 24px;">£<?= number_format($activeRound['funding_raised']) ?> raised</span>
<span style="color: var(--text-secondary);">Target: £<?= number_format($activeRound['funding_goal']) ?></span>
</div>
<?php if ($user['role'] === 'founder' && $startup['founder_id'] == $user_id): ?>
<div style="display: flex; gap: 10px; margin-top: 20px;">
<form method="POST" onsubmit="return confirm('Finish this round early? No more investments will be accepted.');">
<input type="hidden" name="action" value="finish_round">
<input type="hidden" name="round_id" value="<?= $activeRound['id'] ?>">
<button type="submit" class="btn btn-secondary">Finish Round Early</button>
</form>
<form method="POST" onsubmit="return confirm('CANCEL this round? All investors in this specific round will be automatically refunded. This cannot be undone.');">
<input type="hidden" name="action" value="cancel_round">
<input type="hidden" name="round_id" value="<?= $activeRound['id'] ?>">
<button type="submit" class="btn btn-outline" style="color: #ff3b30; border-color: #ff3b30;">Cancel Round & Refund</button>
</form>
</div>
<?php elseif ($user['role'] === 'investor'): ?>
<form method="POST" style="background: rgba(255,255,255,0.02); padding: 25px; border-radius: 15px; margin-top: 20px; border: 1px solid var(--border-color);">
<input type="hidden" name="action" value="invest">
<label style="display: block; margin-bottom: 10px; font-weight: 600;">Investment Amount (£)</label>
<div style="display: flex; gap: 10px;">
<input type="number" name="amount" min="50" step="10" value="100" class="form-control" style="flex: 1; background: var(--surface-color); color: #fff; border: 1px solid var(--border-color);">
<button type="submit" class="btn btn-primary">Back this Venture</button>
</div>
<p style="margin-top: 10px; font-size: 14px; color: var(--text-secondary);">Minimum investment is £50. Your support helps students grow.</p>
</form>
<?php endif; ?>
</section>
<?php else: ?>
<section class="card" style="background: rgba(255,255,255,0.02); text-align: center; padding: 40px; border: 1px dashed var(--border-color);">
<div style="font-size: 48px; color: var(--text-secondary); margin-bottom: 20px;"><i class="fas fa-lock"></i></div>
<h3>No Active Funding Round</h3>
<p style="color: var(--text-secondary);">This startup is not currently raising funds, or the previous round has closed.</p>
<?php if ($user['role'] === 'founder' && $startup['founder_id'] == $user_id): ?>
<button class="btn btn-primary" style="margin-top: 20px;" onclick="document.getElementById('newRoundForm').style.display='block'">Launch New Funding Round</button>
<div id="newRoundForm" style="display: none; margin-top: 30px; text-align: left; background: var(--surface-color); padding: 25px; border-radius: 15px; border: 1px solid var(--border-color);">
<h4>Round Details</h4>
<form method="POST">
<input type="hidden" name="action" value="start_new_round">
<div class="form-group" style="margin-bottom: 20px;">
<label>New Funding Target (£)</label>
<input type="number" name="new_target" min="50" step="50" class="form-control" placeholder="e.g. 5000" required style="background: var(--bg-color); color: #fff; border: 1px solid var(--border-color);">
</div>
<button type="submit" class="btn btn-primary">Start Round</button>
<button type="button" class="btn btn-secondary" onclick="document.getElementById('newRoundForm').style.display='none'">Cancel</button>
</form>
</div>
<?php endif; ?>
</section>
<?php endif; ?>
</div>
<div>
<section class="card" style="margin-bottom: 30px;">
<h3 style="margin-top: 0; margin-bottom: 20px;">Venture Stats</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<div style="background: rgba(255,255,255,0.02); padding: 15px; border-radius: 12px; text-align: center; border: 1px solid var(--border-color);">
<div style="color: var(--text-secondary); font-size: 11px; text-transform: uppercase; margin-bottom: 5px; font-weight: 700;">Backers</div>
<?php
$stmt = db()->prepare("SELECT COUNT(DISTINCT investor_id) FROM investments WHERE startup_id = ? AND status = 'approved'");
$stmt->execute([$startup_id]);
$backerCount = $stmt->fetchColumn();
?>
<div style="font-size: 20px; font-weight: 700;"><?= $backerCount ?></div>
</div>
<div style="background: rgba(255,255,255,0.02); padding: 15px; border-radius: 12px; text-align: center; border: 1px solid var(--border-color);">
<div style="color: var(--text-secondary); font-size: 11px; text-transform: uppercase; margin-bottom: 5px; font-weight: 700;">Followers</div>
<?php
$stmt = db()->prepare("SELECT COUNT(*) FROM startup_followers WHERE startup_id = ?");
$stmt->execute([$startup_id]);
$followerCount = $stmt->fetchColumn();
?>
<div style="font-size: 20px; font-weight: 700;"><?= $followerCount ?></div>
</div>
</div>
</section>
<section class="card">
<h3 style="margin-top: 0; margin-bottom: 20px;">Founder</h3>
<?php
$stmt = db()->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$startup['founder_id']]);
$founder = $stmt->fetch();
?>
<?php if ($founder): ?>
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 20px;">
<div style="width: 50px; height: 50px; border-radius: 50%; background: var(--surface-color); overflow: hidden;">
<?php if ($founder['profile_photo']): ?>
<img src="<?= htmlspecialchars($founder['profile_photo']) ?>" style="width: 100%; height: 100%; object-fit: cover;">
<?php else: ?>
<div style="width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--gradient-primary); color: white;">
<?= substr($founder['full_name'], 0, 1) ?>
</div>
<?php endif; ?>
</div>
<div>
<div style="font-weight: 600;"><?= htmlspecialchars($founder['full_name']) ?></div>
<div style="font-size: 13px; color: var(--text-secondary);">
<?= htmlspecialchars($founder['university']) ?>
</div>
</div>
</div>
<a href="messages.php?chat_with=<?= $founder['id'] ?>&startup_id=<?= $startup_id ?>" class="btn btn-outline" style="width: 100%; text-align: center; display: block; border-radius: 12px; border: 1px solid var(--border-color);">Send Message</a>
<?php else: ?>
<div style="color: var(--text-secondary); font-style: italic;">Founder account deleted. Venture is community-managed.</div>
<?php endif; ?>
</section>
</div>
</div>
</main>
<style>
header {
background: rgba(10, 10, 15, 0.8);
backdrop-filter: blur(20px);
border-bottom: 1px solid var(--border-color);
padding: 15px 0;
position: sticky;
top: 0;
z-index: 1000;
}
.nav-links a {
color: var(--text-secondary);
text-decoration: none;
margin: 0 15px;
font-size: 14px;
font-weight: 500;
transition: color 0.2s;
}
.nav-links a:hover {
color: #fff;
}
</style>
</body>
</html>