Vision_Meta0 / subscription-portal.html
lattmamb's picture
Upload 32 files
b33d337 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Unity Fleet - Subscription Portal</title>
<link rel="stylesheet" href="../styles.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
/* MVP Component specific styles */
.component-container {
max-width: 1200px;
margin: 0 auto;
padding: 2rem;
}
.component-header {
text-align: center;
margin-bottom: 3rem;
}
.component-header h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
background: linear-gradient(90deg, var(--accent-color-1), var(--accent-color-2));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.component-header p {
font-size: 1.2rem;
max-width: 800px;
margin: 0 auto;
opacity: 0.8;
}
.component-content {
background: var(--glass-bg);
border: 1px solid var(--glass-border);
border-radius: 16px;
padding: 2rem;
margin-bottom: 3rem;
backdrop-filter: blur(10px);
}
.back-to-home {
display: inline-block;
margin-top: 2rem;
padding: 0.8rem 1.5rem;
background: transparent;
border: 1px solid var(--accent-color-1);
color: var(--accent-color-1);
border-radius: 4px;
font-family: var(--font-primary);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 1px;
transition: all var(--transition-medium);
}
.back-to-home:hover {
background: rgba(0, 224, 255, 0.1);
transform: translateY(-3px);
}
/* Subscription Portal specific styles */
.subscription-portal-container {
display: flex;
flex-direction: column;
align-items: center;
padding: 1rem;
}
.portal-interface {
width: 100%;
max-width: 900px;
background-color: #0B0B0F;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
border: 1px solid rgba(0, 224, 255, 0.3);
margin-bottom: 2rem;
}
.portal-header {
background: linear-gradient(90deg, rgba(0, 224, 255, 0.2), rgba(53, 242, 219, 0.2));
padding: 1.5rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.portal-header h2 {
margin: 0;
font-size: 1.5rem;
}
.user-info {
display: flex;
align-items: center;
}
.user-avatar {
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--accent-color-1);
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
font-size: 1.2rem;
}
.user-name {
font-weight: bold;
}
.user-plan {
font-size: 0.8rem;
opacity: 0.8;
}
.portal-nav {
display: flex;
background: rgba(0, 0, 0, 0.3);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.nav-tab {
padding: 1rem 1.5rem;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.nav-tab:hover {
background: rgba(0, 224, 255, 0.1);
}
.nav-tab.active {
color: var(--accent-color-1);
}
.nav-tab.active::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: var(--accent-color-1);
}
.portal-body {
padding: 2rem;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
/* Subscription Plans Tab */
.subscription-plans {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
margin-bottom: 2rem;
}
.plan-card {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
display: flex;
flex-direction: column;
height: 100%;
}
.plan-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
}
.plan-card.current {
border: 2px solid var(--accent-color-1);
background: rgba(0, 224, 255, 0.1);
}
.plan-header {
margin-bottom: 1.5rem;
text-align: center;
}
.plan-name {
font-size: 1.5rem;
font-weight: bold;
margin-bottom: 0.5rem;
color: var(--accent-color-1);
}
.plan-price {
font-size: 2rem;
font-weight: bold;
margin-bottom: 0.5rem;
}
.plan-billing {
font-size: 0.8rem;
opacity: 0.7;
}
.plan-features {
margin-bottom: 1.5rem;
flex-grow: 1;
}
.plan-feature {
display: flex;
align-items: center;
margin-bottom: 0.8rem;
}
.plan-feature i {
color: var(--accent-color-1);
margin-right: 0.5rem;
}
.plan-actions {
margin-top: auto;
}
.plan-button {
width: 100%;
padding: 0.8rem;
border-radius: 8px;
text-align: center;
cursor: pointer;
transition: all 0.3s ease;
}
.select-plan {
background: linear-gradient(90deg, var(--accent-color-1), var(--accent-color-2));
color: #000;
border: none;
}
.select-plan:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.current-plan {
background: transparent;
border: 1px solid var(--accent-color-1);
color: var(--accent-color-1);
}
/* Usage Tab */
.usage-overview {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1.5rem;
margin-bottom: 2rem;
}
.usage-stat {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(255, 255, 255, 0.1);
text-align: center;
}
.stat-value {
font-size: 2.5rem;
font-weight: bold;
margin-bottom: 0.5rem;
background: linear-gradient(90deg, var(--accent-color-1), var(--accent-color-2));
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.stat-label {
font-size: 0.9rem;
opacity: 0.8;
}
.usage-chart {
background: rgba(0, 0, 0, 0.3);
border-radius: 12px;
padding: 1.5rem;
margin-bottom: 2rem;
height: 300px;
position: relative;
}
.chart-title {
margin-top: 0;
margin-bottom: 1rem;
font-size: 1.2rem;
color: var(--accent-color-1);
}
.chart-container {
height: 250px;
display: flex;
align-items: flex-end;
justify-content: space-between;
padding-top: 20px;
}
.chart-bar {
width: 8%;
background: linear-gradient(to top, rgba(0, 224, 255, 0.3), rgba(53, 242, 219, 0.7));
border-radius: 4px 4px 0 0;
position: relative;
transition: height 1s ease;
}
.chart-bar::before {
content: attr(data-value);
position: absolute;
top: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8rem;
}
.chart-bar::after {
content: attr(data-label);
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8rem;
opacity: 0.7;
}
.recent-activity {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.activity-title {
margin-top: 0;
margin-bottom: 1rem;
font-size: 1.2rem;
color: var(--accent-color-1);
}
.activity-list {
list-style: none;
padding: 0;
margin: 0;
}
.activity-item {
display: flex;
justify-content: space-between;
padding: 1rem 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.activity-item:last-child {
border-bottom: none;
}
.activity-details {
display: flex;
align-items: center;
}
.activity-icon {
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(0, 224, 255, 0.1);
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
color: var(--accent-color-1);
}
.activity-info h4 {
margin: 0;
margin-bottom: 0.3rem;
}
.activity-info p {
margin: 0;
font-size: 0.8rem;
opacity: 0.7;
}
.activity-date {
font-size: 0.8rem;
opacity: 0.7;
align-self: center;
}
/* Account Tab */
.account-section {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(255, 255, 255, 0.1);
margin-bottom: 2rem;
}
.section-title {
margin-top: 0;
margin-bottom: 1.5rem;
font-size: 1.2rem;
color: var(--accent-color-1);
display: flex;
justify-content: space-between;
align-items: center;
}
.edit-button {
font-size: 0.9rem;
padding: 0.5rem 1rem;
background: transparent;
border: 1px solid var(--accent-color-1);
color: var(--accent-color-1);
border-radius: 4px;
cursor: pointer;
transition: all 0.3s ease;
}
.edit-button:hover {
background: rgba(0, 224, 255, 0.1);
}
.form-group {
margin-bottom: 1.5rem;
}
.form-group label {
display: block;
margin-bottom: 0.5rem;
font-size: 0.9rem;
opacity: 0.8;
}
.form-group input {
width: 100%;
padding: 0.8rem;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 4px;
color: white;
}
.form-row {
display: flex;
gap: 1rem;
}
.form-row .form-group {
flex: 1;
}
.payment-method {
display: flex;
align-items: center;
padding: 1rem;
background: rgba(255, 255, 255, 0.05);
border-radius: 8px;
margin-bottom: 1rem;
}
.payment-icon {
font-size: 1.5rem;
margin-right: 1rem;
color: var(--accent-color-1);
}
.payment-details {
flex: 1;
}
.payment-details h4 {
margin: 0;
margin-bottom: 0.3rem;
}
.payment-details p {
margin: 0;
font-size: 0.8rem;
opacity: 0.7;
}
.payment-actions {
display: flex;
gap: 0.5rem;
}
.payment-actions button {
padding: 0.5rem;
background: transparent;
border: 1px solid rgba(255, 255, 255, 0.2);
color: white;
border-radius: 4px;
cursor: pointer;
transition: all 0.3s ease;
}
.payment-actions button:hover {
background: rgba(255, 255, 255, 0.1);
}
.add-payment {
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
background: rgba(255, 255, 255, 0.05);
border: 1px dashed rgba(255, 255, 255, 0.2);
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
}
.add-payment:hover {
background: rgba(0, 224, 255, 0.1);
border-color: var(--accent-color-1);
}
.add-payment i {
margin-right: 0.5rem;
color: var(--accent-color-1);
}
/* Billing Tab */
.billing-summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1.5rem;
margin-bottom: 2rem;
}
.billing-stat {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(255, 255, 255, 0.1);
text-align: center;
}
.invoices {
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 1.5rem;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.invoice-list {
list-style: none;
padding: 0;
margin: 0;
}
.invoice-item {
display: flex;
justify-content: space-between;
padding: 1rem 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.invoice-item:last-child {
border-bottom: none;
}
.invoice-details {
display: flex;
flex-direction: column;
}
.invoice-id {
font-size: 0.8rem;
opacity: 0.7;
margin-bottom: 0.3rem;
}
.invoice-date {
font-size: 0.9rem;
}
.invoice-amount {
font-weight: bold;
}
.invoice-status {
padding: 0.3rem 0.8rem;
border-radius: 20px;
font-size: 0.8rem;
}
.status-paid {
background: rgba(76, 175, 80, 0.2);
color: #4CAF50;
}
.status-pending {
background: rgba(255, 193, 7, 0.2);
color: #FFC107;
}
.invoice-actions {
display: flex;
align-items: center;
}
.invoice-actions a {
margin-left: 1rem;
color: var(--accent-color-1);
font-size: 0.9rem;
}
.portal-footer {
background: rgba(0, 0, 0, 0.3);
padding: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.portal-actions {
display: flex;
gap: 1rem;
}
.portal-actions button {
padding: 0.5rem 1rem;
border-radius: 4px;
background: transparent;
border: 1px solid var(--accent-color-1);
color: var(--accent-color-1);
cursor: pointer;
transition: all 0.3s ease;
}
.portal-actions button:hover {
background: rgba(0, 224, 255, 0.1);
}
.portal-actions button.primary {
background: linear-gradient(90deg, var(--accent-color-1), var(--accent-color-2));
color: #000;
border: none;
}
.portal-actions button.primary:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.portal-info {
font-size: 0.9rem;
opacity: 0.7;
}
</style>
</head>
<body>
<div class="noise-overlay"></div>
<header>
<nav>
<div class="logo">UNITY FLEET</div>
<div class="nav-links">
<a href="../index.html#what-is-the-link">What is The Link</a>
<a href="../index.html#subscription-tiers">Subscription Tiers</a>
<a href="../index.html#impact-equity">Impact & Equity</a>
<a href="../index.html#tokenization">ChainLink Tokenization</a>
<a href="../index.html#rural-plan">Rural Revitalization</a>
<a href="../index.html#mvp-showcase">MVP Showcase</a>
</div>
<div class="mobile-nav-toggle">
<i class="fas fa-bars"></i>
</div>
</nav>
</header>
<main class="component-container">
<div class="component-header">
<h1>SUBSCRIPTION PORTAL</h1>
<p>Manage your Unity Fleet subscription, track usage, and access billing information through our intuitive customer portal.</p>
</div>
<div class="component-content">
<div class="subscription-portal-container">
<div class="portal-interface">
<div class="portal-header">
<h2>Unity Fleet Customer Portal</h2>
<div class="user-info">
<div class="user-avatar">
<i class="fas fa-user"></i>
</div>
<div>
<div class="user-name">John Doe</div>
<div class="user-plan">Premium Plan</div>
</div>
</div>
</div>
<div class="portal-nav">
<div class="nav-tab active" data-tab="plans">Subscription Plans</div>
<div class="nav-tab" data-tab="usage">Usage & Activity</div>
<div class="nav-tab" data-tab="account">Account Settings</div>
<div class="nav-tab" data-tab="billing">Billing & Invoices</div>
</div>
<div class="portal-body">
<!-- Subscription Plans Tab -->
<div class="tab-content active" id="plans-tab">
<div class="subscription-plans">
<div class="plan-card">
<div class="plan-header">
<div class="plan-name">Basic</div>
<div class="plan-price">$99</div>
<div class="plan-billing">per month</div>
</div>
<div class="plan-features">
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>4 vehicle reservations per month</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Standard charging access</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Basic lounge access</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Standard vehicle selection</span>
</div>
<div class="plan-feature">
<i class="fas fa-times"></i>
<span>Priority booking</span>
</div>
<div class="plan-feature">
<i class="fas fa-times"></i>
<span>Premium vehicle access</span>
</div>
</div>
<div class="plan-actions">
<div class="plan-button select-plan">Select Plan</div>
</div>
</div>
<div class="plan-card current">
<div class="plan-header">
<div class="plan-name">Premium</div>
<div class="plan-price">$199</div>
<div class="plan-billing">per month</div>
</div>
<div class="plan-features">
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>8 vehicle reservations per month</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Priority charging access</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Premium lounge access</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Extended vehicle selection</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Priority booking</span>
</div>
<div class="plan-feature">
<i class="fas fa-times"></i>
<span>Luxury vehicle access</span>
</div>
</div>
<div class="plan-actions">
<div class="plan-button current-plan">Current Plan</div>
</div>
</div>
<div class="plan-card">
<div class="plan-header">
<div class="plan-name">Elite</div>
<div class="plan-price">$349</div>
<div class="plan-billing">per month</div>
</div>
<div class="plan-features">
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Unlimited vehicle reservations</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>VIP charging access</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Elite lounge access</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Full vehicle selection</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Priority booking</span>
</div>
<div class="plan-feature">
<i class="fas fa-check"></i>
<span>Luxury vehicle access</span>
</div>
</div>
<div class="plan-actions">
<div class="plan-button select-plan">Select Plan</div>
</div>
</div>
</div>
</div>
<!-- Usage & Activity Tab -->
<div class="tab-content" id="usage-tab">
<div class="usage-overview">
<div class="usage-stat">
<div class="stat-value">6</div>
<div class="stat-label">Reservations Used</div>
</div>
<div class="usage-stat">
<div class="stat-value">2</div>
<div class="stat-label">Reservations Remaining</div>
</div>
<div class="usage-stat">
<div class="stat-value">14</div>
<div class="stat-label">Charging Sessions</div>
</div>
<div class="usage-stat">
<div class="stat-value">342</div>
<div class="stat-label">kWh Consumed</div>
</div>
</div>
<div class="usage-chart">
<h3 class="chart-title">Monthly Usage History</h3>
<div class="chart-container">
<div class="chart-bar" style="height: 30%;" data-value="2" data-label="Jan"></div>
<div class="chart-bar" style="height: 45%;" data-value="3" data-label="Feb"></div>
<div class="chart-bar" style="height: 60%;" data-value="4" data-label="Mar"></div>
<div class="chart-bar" style="height: 75%;" data-value="5" data-label="Apr"></div>
<div class="chart-bar" style="height: 90%;" data-value="6" data-label="May"></div>
<div class="chart-bar" style="height: 60%;" data-value="4" data-label="Jun"></div>
<div class="chart-bar" style="height: 45%;" data-value="3" data-label="Jul"></div>
<div class="chart-bar" style="height: 0%;" data-value="0" data-label="Aug"></div>
<div class="chart-bar" style="height: 0%;" data-value="0" data-label="Sep"></div>
<div class="chart-bar" style="height: 0%;" data-value="0" data-label="Oct"></div>
<div class="chart-bar" style="height: 0%;" data-value="0" data-label="Nov"></div>
<div class="chart-bar" style="height: 0%;" data-value="0" data-label="Dec"></div>
</div>
</div>
<div class="recent-activity">
<h3 class="activity-title">Recent Activity</h3>
<ul class="activity-list">
<li class="activity-item">
<div class="activity-details">
<div class="activity-icon">
<i class="fas fa-car"></i>
</div>
<div class="activity-info">
<h4>Tesla Model 3 Reservation</h4>
<p>Downtown Springfield Hub</p>
</div>
</div>
<div class="activity-date">July 15, 2025</div>
</li>
<li class="activity-item">
<div class="activity-details">
<div class="activity-icon">
<i class="fas fa-charging-station"></i>
</div>
<div class="activity-info">
<h4>Charging Session</h4>
<p>Champaign-Urbana Hub • 42 kWh</p>
</div>
</div>
<div class="activity-date">July 10, 2025</div>
</li>
<li class="activity-item">
<div class="activity-details">
<div class="activity-icon">
<i class="fas fa-car"></i>
</div>
<div class="activity-info">
<h4>Rivian R1S Reservation</h4>
<p>Bloomington-Normal Hub</p>
</div>
</div>
<div class="activity-date">July 5, 2025</div>
</li>
<li class="activity-item">
<div class="activity-details">
<div class="activity-icon">
<i class="fas fa-credit-card"></i>
</div>
<div class="activity-info">
<h4>Monthly Subscription Payment</h4>
<p>Premium Plan • $199.00</p>
</div>
</div>
<div class="activity-date">July 1, 2025</div>
</li>
</ul>
</div>
</div>
<!-- Account Settings Tab -->
<div class="tab-content" id="account-tab">
<div class="account-section">
<h3 class="section-title">
Personal Information
<button class="edit-button">Edit</button>
</h3>
<div class="form-row">
<div class="form-group">
<label for="first-name">First Name</label>
<input type="text" id="first-name" value="John" disabled>
</div>
<div class="form-group">
<label for="last-name">Last Name</label>
<input type="text" id="last-name" value="Doe" disabled>
</div>
</div>
<div class="form-group">
<label for="email">Email Address</label>
<input type="email" id="email" value="[email protected]" disabled>
</div>
<div class="form-group">
<label for="phone">Phone Number</label>
<input type="tel" id="phone" value="(217) 555-1234" disabled>
</div>
</div>
<div class="account-section">
<h3 class="section-title">
Payment Methods
<button class="edit-button">Manage</button>
</h3>
<div class="payment-method">
<div class="payment-icon">
<i class="fab fa-cc-visa"></i>
</div>
<div class="payment-details">
<h4>Visa ending in 4242</h4>
<p>Expires 05/2027</p>
</div>
<div class="payment-actions">
<button>Edit</button>
<button>Remove</button>
</div>
</div>
<div class="payment-method">
<div class="payment-icon">
<i class="fab fa-cc-mastercard"></i>
</div>
<div class="payment-details">
<h4>Mastercard ending in 8888</h4>
<p>Expires 12/2026</p>
</div>
<div class="payment-actions">
<button>Edit</button>
<button>Remove</button>
</div>
</div>
<div class="add-payment">
<i class="fas fa-plus"></i>
<span>Add Payment Method</span>
</div>
</div>
<div class="account-section">
<h3 class="section-title">
Notification Preferences
<button class="edit-button">Edit</button>
</h3>
<div class="form-group">
<label>
<input type="checkbox" checked disabled>
Reservation Confirmations
</label>
</div>
<div class="form-group">
<label>
<input type="checkbox" checked disabled>
Charging Completion Alerts
</label>
</div>
<div class="form-group">
<label>
<input type="checkbox" checked disabled>
Billing Notifications
</label>
</div>
<div class="form-group">
<label>
<input type="checkbox" disabled>
Marketing Communications
</label>
</div>
</div>
</div>
<!-- Billing & Invoices Tab -->
<div class="tab-content" id="billing-tab">
<div class="billing-summary">
<div class="billing-stat">
<div class="stat-value">$199</div>
<div class="stat-label">Current Monthly Plan</div>
</div>
<div class="billing-stat">
<div class="stat-value">Aug 1</div>
<div class="stat-label">Next Billing Date</div>
</div>
<div class="billing-stat">
<div class="stat-value">$0</div>
<div class="stat-label">Additional Charges</div>
</div>
<div class="billing-stat">
<div class="stat-value">$199</div>
<div class="stat-label">Next Payment</div>
</div>
</div>
<div class="invoices">
<h3 class="section-title">
Recent Invoices
<button class="edit-button">View All</button>
</h3>
<ul class="invoice-list">
<li class="invoice-item">
<div class="invoice-details">
<div class="invoice-id">INV-2025-07-01</div>
<div class="invoice-date">July 1, 2025</div>
</div>
<div class="invoice-amount">$199.00</div>
<div class="invoice-status status-paid">Paid</div>
<div class="invoice-actions">
<a href="#"><i class="fas fa-download"></i> PDF</a>
</div>
</li>
<li class="invoice-item">
<div class="invoice-details">
<div class="invoice-id">INV-2025-06-01</div>
<div class="invoice-date">June 1, 2025</div>
</div>
<div class="invoice-amount">$199.00</div>
<div class="invoice-status status-paid">Paid</div>
<div class="invoice-actions">
<a href="#"><i class="fas fa-download"></i> PDF</a>
</div>
</li>
<li class="invoice-item">
<div class="invoice-details">
<div class="invoice-id">INV-2025-05-01</div>
<div class="invoice-date">May 1, 2025</div>
</div>
<div class="invoice-amount">$199.00</div>
<div class="invoice-status status-paid">Paid</div>
<div class="invoice-actions">
<a href="#"><i class="fas fa-download"></i> PDF</a>
</div>
</li>
<li class="invoice-item">
<div class="invoice-details">
<div class="invoice-id">INV-2025-04-01</div>
<div class="invoice-date">April 1, 2025</div>
</div>
<div class="invoice-amount">$199.00</div>
<div class="invoice-status status-paid">Paid</div>
<div class="invoice-actions">
<a href="#"><i class="fas fa-download"></i> PDF</a>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="portal-footer">
<div class="portal-actions">
<button>Contact Support</button>
<button class="primary">Make a Reservation</button>
</div>
<div class="portal-info">
Last Login: July 20, 2025 | 10:45 AM
</div>
</div>
</div>
</div>
</div>
<div class="component-features">
<h2>Key Features</h2>
<ul class="features-list">
<li>Comprehensive subscription plan management with tier comparison and upgrade options</li>
<li>Detailed usage tracking with visual charts and activity history</li>
<li>Account settings management including personal information and notification preferences</li>
<li>Billing dashboard with invoice history and payment method management</li>
<li>Integrated reservation system with direct access to vehicle booking</li>
<li>Real-time subscription status monitoring with remaining allocations</li>
<li>Responsive design for seamless access across desktop and mobile devices</li>
</ul>
</div>
<a href="../index.html#mvp-showcase" class="back-to-home">
<i class="fas fa-arrow-left"></i> Back to MVP Showcase
</a>
</main>
<footer>
<div class="container">
<div class="footer-content">
<div class="footer-logo">
<div class="logo">UNITY FLEET</div>
<p>Revolutionizing electric vehicle infrastructure across Illinois</p>
</div>
<div class="footer-links">
<div class="link-column">
<h4>Navigation</h4>
<a href="../index.html#what-is-the-link">What is The Link</a>
<a href="../index.html#subscription-tiers">Subscription Tiers</a>
<a href="../index.html#impact-equity">Impact & Equity</a>
<a href="../index.html#tokenization">ChainLink Tokenization</a>
<a href="../index.html#rural-plan">Rural Revitalization</a>
<a href="../index.html#mvp-showcase">MVP Showcase</a>
</div>
<div class="link-column">
<h4>Contact</h4>
<a href="mailto:[email protected]">[email protected]</a>
<a href="tel:+12175551234">+1 (217) 555-1234</a>
<p>2457 E Eldorado St<br>Decatur, IL 62521</p>
</div>
<div class="link-column">
<h4>Legal</h4>
<a href="#">Privacy Policy</a>
<a href="#">Terms of Service</a>
<a href="#">Accessibility</a>
</div>
</div>
<div class="footer-social">
<a href="#" class="social-icon"><i class="fab fa-twitter"></i></a>
<a href="#" class="social-icon"><i class="fab fa-linkedin"></i></a>
<a href="#" class="social-icon"><i class="fab fa-facebook"></i></a>
<a href="#" class="social-icon"><i class="fab fa-instagram"></i></a>
</div>
</div>
<div class="footer-bottom">
<p>&copy; 2025 Unity Fleet LLC. All rights reserved.</p>
</div>
</div>
</footer>
<script>
// Mobile navigation toggle
document.querySelector('.mobile-nav-toggle').addEventListener('click', function() {
document.querySelector('.nav-links').classList.toggle('active');
this.innerHTML = document.querySelector('.nav-links').classList.contains('active')
? '<i class="fas fa-times"></i>'
: '<i class="fas fa-bars"></i>';
});
// Subscription portal tab navigation
document.addEventListener('DOMContentLoaded', function() {
const navTabs = document.querySelectorAll('.nav-tab');
const tabContents = document.querySelectorAll('.tab-content');
navTabs.forEach(tab => {
tab.addEventListener('click', function() {
// Remove active class from all tabs
navTabs.forEach(t => t.classList.remove('active'));
// Add active class to clicked tab
this.classList.add('active');
// Hide all tab contents
tabContents.forEach(content => content.classList.remove('active'));
// Show selected tab content
const tabId = this.getAttribute('data-tab') + '-tab';
document.getElementById(tabId).classList.add('active');
});
});
// Animate chart bars on load
const chartBars = document.querySelectorAll('.chart-bar');
chartBars.forEach(bar => {
const height = bar.style.height;
bar.style.height = '0%';
setTimeout(() => {
bar.style.height = height;
}, 300);
});
// Plan card hover effects
const planCards = document.querySelectorAll('.plan-card');
planCards.forEach(card => {
card.addEventListener('mouseenter', function() {
if (!this.classList.contains('current')) {
this.style.transform = 'translateY(-10px)';
this.style.boxShadow = '0 15px 30px rgba(0, 224, 255, 0.2)';
}
});
card.addEventListener('mouseleave', function() {
if (!this.classList.contains('current')) {
this.style.transform = '';
this.style.boxShadow = '';
}
});
});
// Edit buttons functionality
const editButtons = document.querySelectorAll('.edit-button');
editButtons.forEach(button => {
button.addEventListener('click', function() {
alert('Edit functionality would be implemented in the production version.');
});
});
// Plan selection functionality
const selectPlanButtons = document.querySelectorAll('.select-plan');
selectPlanButtons.forEach(button => {
button.addEventListener('click', function() {
alert('Plan change functionality would be implemented in the production version.');
});
});
});
</script>
</body>
</html>