4th year/book-appointment.html ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Book an Appointment - ZMABC</title>
7
+ <link rel="stylesheet" href="styles/book-appointment.css">
8
+ </head>
9
+ <body>
10
+ <header class="cms-header">
11
+ <div class="cms-header-title">Zen Miracle ABC</div>
12
+ <nav class="cms-nav">
13
+ <a href="index.html">Home</a>
14
+ <a href="#">User Registration</a>
15
+ <a href="#">Appointments</a>
16
+ <a href="#">Clinic Locations</a>
17
+ <a href="#">News</a>
18
+ </nav>
19
+ <a href="dashboard.html" class="cms-user-icon" title="User Account">&#128100;</a>
20
+ </header>
21
+ <div style="display: flex;">
22
+ <aside class="dashboard-sidebar">
23
+ <div class="dashboard-user">
24
+ <img src="images/user-avatar.png" alt="User Avatar" class="dashboard-avatar">
25
+ <div class="dashboard-username">User
26
+ </div>
27
+ </div>
28
+ <nav class="dashboard-nav">
29
+ <a href="dashboard.html"><span class="icon">🏠</span>Dashboard</a>
30
+ <a href="book-appointment.html" class="active"><span class="icon">📅</span> Appointments</a>
31
+ <a href="#"><span class="icon">💬</span> Notifications</a>
32
+ <a href="#"><span class="icon">💳</span> Billing</a>
33
+ <a href="#"><span class="icon">⚙️</span> Settings</a>
34
+ </nav>
35
+ </aside>
36
+ <main class="appointment-main">
37
+ <h1>Book an Appointment</h1>
38
+ <p class="appointment-subtitle">Find a time that works for you.</p>
39
+ <div class="appointment-form-row">
40
+ <div class="appointment-form-card">
41
+ <label for="service">Service</label>
42
+ <select id="service">
43
+ <option>Select a service</option>
44
+ <option>General Consultation</option>
45
+ <option>Follow-up</option>
46
+ <option>Diagnostic</option>
47
+ </select>
48
+ <label for="provider">Healthcare Provider</label>
49
+ <select id="provider">
50
+ <option>Select a provider</option>
51
+ <option>Dr. Emily Carter</option>
52
+ <option>Dr. Samal Vienn</option>
53
+ <option>Dr. Vincent Boogie</option>
54
+ </select>
55
+ </div>
56
+ <div class="appointment-form-card">
57
+ <label>Select Date & Time</label>
58
+ <div class="appointment-calendar">
59
+ <div class="calendar-header">
60
+ <button id="prevMonthBtn">&lt;</button>
61
+ <select id="calendarMonth"></select>
62
+ <select id="calendarYear"></select>
63
+ <button id="nextMonthBtn">&gt;</button>
64
+ </div>
65
+ <table class="calendar-table" id="calendarTable">
66
+ <thead>
67
+ <tr>
68
+ <th>Su</th><th>Mo</th><th>Tu</th><th>We</th><th>Th</th><th>Fr</th><th>Sa</th>
69
+ </tr>
70
+ </thead>
71
+ <tbody>
72
+ <!-- Calendar days will be generated here -->
73
+ </tbody>
74
+ </table>
75
+ </div>
76
+ <div class="calendar-times" id="calendar-times">
77
+ <span>Select a time:</span>
78
+ <div class="calendar-times-row" id="times-row">
79
+ <!-- Time buttons will be generated by JS -->
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ <div class="appointment-summary">
85
+ <div class="summary-title">Appointment Summary</div>
86
+ <div class="summary-row">
87
+ <div>Service</div>
88
+ <div>General Consultation</div>
89
+ </div>
90
+ <div class="summary-row">
91
+ <div>Provider</div>
92
+ <div>Dr. Emily Carter</div>
93
+ </div>
94
+ <div class="summary-row">
95
+ <div>Date & Time</div>
96
+ <div>July 5, 2024, at 10:00 AM</div>
97
+ </div>
98
+ <div class="summary-row">
99
+ <div>Time</div>
100
+ <div id="summary-time"></div>
101
+ </div>
102
+ </div>
103
+ <div class="appointment-confirm-row">
104
+ <button class="appointment-confirm-btn">Confirm Appointment</button>
105
+ </div>
106
+ <div id="confirmation-modal" class="confirmation-modal" style="display:none;">
107
+ <div class="confirmation-content">
108
+ <div class="confirmation-icon">&#10004;</div>
109
+ <h2>Appointment Confirmed!</h2>
110
+ <p>Your appointment has been successfully scheduled. Please review the details below.</p>
111
+ <div class="confirmation-details">
112
+ <table>
113
+ <tr><td>Date</td><td id="confirm-date"></td></tr>
114
+ <tr><td>Time</td><td id="confirm-time"></td></tr>
115
+ <tr><td>Provider</td><td id="confirm-provider"></td></tr>
116
+ <tr><td>Service</td><td id="confirm-service"></td></tr>
117
+ <tr><td>Location</td><td id="confirm-location"></td></tr>
118
+ </table>
119
+ </div>
120
+ <button id="confirmation-done" class="appointment-confirm-btn">Done</button>
121
+ </div>
122
+ </div>
123
+ </main>
124
+ </div>
125
+ <div id="confirmation-overlay" class="confirmation-overlay">
126
+ <div class="confirmation-modal">
127
+ <div class="approved-status">
128
+ <div class="approved-icon">&#10004;</div>
129
+ <h1>Appointment Confirmed!</h1>
130
+ <p class="approved-message">
131
+ Your appointment has been successfully scheduled. A confirmation has been sent to your email. Please review the details below.
132
+ </p>
133
+ </div>
134
+ <section class="approved-details-card">
135
+ <h2>Appointment Details</h2>
136
+ <div class="approved-details-table">
137
+ <div class="approved-details-row">
138
+ <span class="approved-details-label">Date</span>
139
+ <span id="confirm-date" class="approved-details-value"></span>
140
+ </div>
141
+ <div class="approved-details-row">
142
+ <span class="approved-details-label">Time</span>
143
+ <span id="confirm-time" class="approved-details-value"></span>
144
+ </div>
145
+ <div class="approved-details-row">
146
+ <span class="approved-details-label">Provider</span>
147
+ <span id="confirm-provider" class="approved-details-value"></span>
148
+ </div>
149
+ <div class="approved-details-row">
150
+ <span class="approved-details-label">Service</span>
151
+ <span id="confirm-service" class="approved-details-value"></span>
152
+ </div>
153
+ <div class="approved-details-row">
154
+ <span class="approved-details-label">Location</span>
155
+ <span id="confirm-location" class="approved-details-value">Main Clinic</span>
156
+ </div>
157
+ </div>
158
+ <div class="approved-details-actions">
159
+ <button onclick="window.location.href='dashboard.html'" class="approved-btn">Done</button>
160
+ </div>
161
+ </section>
162
+ </div>
163
+ </div>
164
+ <script src="scripts/appointment.js"></script>
165
+ </body>
166
+ </html>
4th year/dashboard.html ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>User Dashboard - ZMABC</title>
7
+ <link rel="stylesheet" href="styles/dashboard.css">
8
+ </head>
9
+ <body>
10
+ <header class="cms-header">
11
+ <div class="cms-header-title">Zen Miracle ABC</div>
12
+ <nav class="cms-nav">
13
+ <a href="index.html">Home</a>
14
+ <a href="#">User Registration</a>
15
+ <a href="book-appointment.html">Appointments</a>
16
+ <a href="#">Clinic Locations</a>
17
+ <a href="#">News</a>
18
+ </nav>
19
+ <a href="dashboard.html" class="cms-user-icon" title="User Account" class="active">&#128100;</a>
20
+ </header>
21
+ <div class="dashboard-container">
22
+ <aside class="dashboard-sidebar">
23
+ <div class="dashboard-user">
24
+ <img src="images/user-avatar.png" alt="User Avatar" class="dashboard-avatar">
25
+ <div class="dashboard-username">John Doe</div>
26
+ </div>
27
+ <nav class="dashboard-nav">
28
+ <a href="#" class="active"><span class="icon">🏠</span> Dashboard</a>
29
+ <a href="book-appointment.html"><span class="icon">📅</span> Book Appointment</a>
30
+ <a href="#"><span class="icon">💬</span> Messages</a>
31
+ <a href="#"><span class="icon">⚙️</span> Settings</a>
32
+ </nav>
33
+ </aside>
34
+ <main class="dashboard-main">
35
+ <h1>Dashboard</h1>
36
+ <section class="dashboard-section">
37
+ <h2>Upcoming Appointments</h2>
38
+ <div class="dashboard-appointments" id="upcoming-appointments">
39
+ <!-- Appointments will be loaded here -->
40
+ </div>
41
+ </section>
42
+ <section class="dashboard-section">
43
+ <h2>Past Appointments</h2>
44
+ <div class="dashboard-table">
45
+ <table>
46
+ <thead>
47
+ <tr>
48
+ <th>Date</th>
49
+ <th>Time</th>
50
+ <th>Doctor</th>
51
+ <th>Service</th>
52
+ <th>Status</th>
53
+ </tr>
54
+ </thead>
55
+ <tbody id="past-appointments">
56
+ <!-- Past appointments will be loaded here -->
57
+ </tbody>
58
+ </table>
59
+ </div>
60
+ </section>
61
+ </main>
62
+ </div>
63
+ <script src="scripts/dashboard.js"></script>
64
+ </body>
65
+ </html>
4th year/index.html ADDED
@@ -0,0 +1,222 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Zen Miracle Animal Bite Center</title>
7
+ <link rel="stylesheet" href="styles/style.css">
8
+ </head>
9
+ <body>
10
+ <header class="cms-header">
11
+ <div class="cms-header-title">Zen Miracle ABC</div>
12
+ <nav class="cms-nav">
13
+ <a href="index.html" class="active">Home</a>
14
+ <a href="#">User Registration</a>
15
+ <a href="book-appointment.html">Appointments</a>
16
+ <a href="#">Clinic Locations</a>
17
+ <a href="#">News</a>
18
+ </nav>
19
+ <a href="dashboard.html" class="cms-user-icon" title="User Account">&#128100;</a>
20
+ </header>
21
+ <main>
22
+ <section class="cms-hero">
23
+ <div class="cms-hero-content">
24
+ <h1>Your Health, Our Priority</h1>
25
+ <p>Comprehensive healthcare solutions with a centralized approach for all your medical needs.</p>
26
+ <div class="cms-hero-buttons">
27
+ <button class="primary" onclick="window.location.href='book-appointment.html'">Book Appointment</button>
28
+ <button class="secondary" onclick="window.location.href='book-appointment.html'">Find a Clinic</button>
29
+ </div>
30
+ </div>
31
+ <div class="cms-hero-image">
32
+ <div class="cms-image-placeholder">
33
+ Healthcare Professional Image
34
+ </div>
35
+ </div>
36
+ </section>
37
+ <section class="cms-news">
38
+ <h2>News and Updates</h2>
39
+ <div class="cms-news-cards">
40
+ <div class="cms-news-card">
41
+ <div class="cms-news-card-image">sample</div>
42
+ <div class="cms-news-card-content">
43
+ <div class="cms-news-date">August 11, 2025</div>
44
+ <h3>title</h3>
45
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
46
+ <a href="#" class="cms-news-readmore">Read more &rarr;</a>
47
+ </div>
48
+ </div>
49
+ <div class="cms-news-card">
50
+ <div class="cms-news-card-image">sample</div>
51
+ <div class="cms-news-card-content">
52
+ <div class="cms-news-date">July 28, 2025</div>
53
+ <h3>title</h3>
54
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
55
+ <a href="#" class="cms-news-readmore">Read more &rarr;</a>
56
+ </div>
57
+ </div>
58
+ <div class="cms-news-card">
59
+ <div class="cms-news-card-image">sample</div>
60
+ <div class="cms-news-card-content">
61
+ <div class="cms-news-date">July 15, 2025</div>
62
+ <h3>title</h3>
63
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
64
+ <a href="#" class="cms-news-readmore">Read more &rarr;</a>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ <div class="cms-news-viewall">
69
+ <a href="#">View all news and updates &rarr;</a>
70
+ </div>
71
+ </section>
72
+ <section class="cms-services">
73
+ <h2>Our Services</h2>
74
+ <p class="cms-services-desc">
75
+ We offer a comprehensive range of medical services to meet all your healthcare needs in one place.
76
+ </p>
77
+ <div class="cms-services-cards">
78
+ <div class="cms-services-card">
79
+ <div class="cms-services-icon">⚕️</div>
80
+ <h3>title</h3>
81
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
82
+ <a href="#" class="cms-services-learn">Learn more &rarr;</a>
83
+ </div>
84
+ <div class="cms-services-card">
85
+ <div class="cms-services-icon">🩺</div>
86
+ <h3>title</h3>
87
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
88
+ <a href="#" class="cms-services-learn">Learn more &rarr;</a>
89
+ </div>
90
+ <div class="cms-services-card">
91
+ <div class="cms-services-icon">🏥</div>
92
+ <h3>title</h3>
93
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
94
+ <a href="#" class="cms-services-learn">Learn more &rarr;</a>
95
+ </div>
96
+ <div class="cms-services-card">
97
+ <div class="cms-services-icon">🗓️</div>
98
+ <h3>title</h3>
99
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
100
+ <a href="#" class="cms-services-learn">Learn more &rarr;</a>
101
+ </div>
102
+ <div class="cms-services-card">
103
+ <div class="cms-services-icon">🎥</div>
104
+ <h3>title</h3>
105
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
106
+ <a href="#" class="cms-services-learn">Learn more &rarr;</a>
107
+ </div>
108
+ <div class="cms-services-card">
109
+ <div class="cms-services-icon">💊</div>
110
+ <h3>title</h3>
111
+ <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Ex ut, delectus.</p>
112
+ <a href="#" class="cms-services-learn">Learn more &rarr;</a>
113
+ </div>
114
+ </div>
115
+ </section>
116
+ <section class="cms-about">
117
+ <div class="cms-about-left">
118
+ <h2>About Us</h2>
119
+ <p>
120
+ Central Medical Services was founded with a mission to provide accessible, high-quality healthcare to all patients through a centralized approach. We bring together various healthcare specialties under one roof to ensure comprehensive care.
121
+ </p>
122
+ <p>
123
+ With over 15 years of experience in the healthcare industry, our team of dedicated professionals is committed to delivering patient-centered care with compassion and excellence.
124
+ </p>
125
+ <div class="cms-about-stats">
126
+ <div class="cms-about-stat">
127
+ <span class="cms-about-stat-icon">🏥</span>
128
+ <div>
129
+ <div class="cms-about-stat-number">15+</div>
130
+ <div class="cms-about-stat-label">Clinic Locations</div>
131
+ </div>
132
+ </div>
133
+ <div class="cms-about-stat">
134
+ <span class="cms-about-stat-icon">👨‍⚕️</span>
135
+ <div>
136
+ <div class="cms-about-stat-number">200+</div>
137
+ <div class="cms-about-stat-label">Healthcare Providers</div>
138
+ </div>
139
+ </div>
140
+ <div class="cms-about-stat">
141
+ <span class="cms-about-stat-icon">👥</span>
142
+ <div>
143
+ <div class="cms-about-stat-number">50,000+</div>
144
+ <div class="cms-about-stat-label">Patients Served</div>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </div>
149
+ <div class="cms-about-right">
150
+ <div class="cms-about-feature">Medical Team</div>
151
+ <div class="cms-about-feature">Modern Facility</div>
152
+ <div class="cms-about-feature">Patient Care</div>
153
+ <div class="cms-about-feature">Medical Equipment</div>
154
+ </div>
155
+ </section>
156
+ <section class="cms-cta">
157
+ <div class="cms-cta-content">
158
+ <h2>Ready to Experience Better Healthcare?</h2>
159
+ <p>
160
+ Join thousands of satisfied patients who have made Central Medical Services their healthcare provider of choice.
161
+ </p>
162
+ <div class="cms-cta-buttons">
163
+ <button class="cms-cta-btn secondary" onclick="window.location.href='user-registration.html'">Register Now</button>
164
+ <button class="cms-cta-btn primary" onclick="window.location.href='book-appointment.html'">Book an Appointment</button>
165
+ </div>
166
+ </div>
167
+ </section>
168
+ </main>
169
+ <footer class="cms-footer">
170
+ <div class="cms-footer-main">
171
+ <div class="cms-footer-col">
172
+ <h3>Zen Miracle ABC</h3>
173
+ <p>Providing comprehensive healthcare solutions with a patient-centered approach.</p>
174
+ <div class="cms-footer-social">
175
+ <a href="#"><span>🌐</span></a>
176
+ <a href="#"><span>🐦</span></a>
177
+ <a href="#"><span>📸</span></a>
178
+ <a href="#"><span>💼</span></a>
179
+ </div>
180
+ </div>
181
+ <div class="cms-footer-col">
182
+ <h4>Quick Links</h4>
183
+ <ul>
184
+ <li><a href="#">Home</a></li>
185
+ <li><a href="#">About Us</a></li>
186
+ <li><a href="#">Services</a></li>
187
+ <li><a href="#">Locations</a></li>
188
+ <li><a href="#">News & Updates</a></li>
189
+ </ul>
190
+ </div>
191
+ <div class="cms-footer-col">
192
+ <h4>Patient Resources</h4>
193
+ <ul>
194
+ <li><a href="#">Patient Portal</a></li>
195
+ <li><a href="#">Book an Appointment</a></li>
196
+ <li><a href="#">Medical Records</a></li>
197
+ <li><a href="#">Insurance Information</a></li>
198
+ <li><a href="#">Patient Forms</a></li>
199
+ </ul>
200
+ </div>
201
+ <div class="cms-footer-col">
202
+ <h4>Contact Us</h4>
203
+ <ul>
204
+ <li><span>📍</span> 123 Medical Center Drive, Cityville, State 12345</li>
205
+ <li><span>📞</span> (123) 456-7890</li>
206
+ <li><span>✉️</span> info@centralmedical.com</li>
207
+ <li><span>⏰</span> Mon-Fri: 8am-6pm, Sat: 9am-1pm</li>
208
+ </ul>
209
+ </div>
210
+ </div>
211
+ <div class="cms-footer-bottom">
212
+ <span>© 2025 Central Medical Services. All rights reserved.</span>
213
+ <div class="cms-footer-links">
214
+ <a href="#">Privacy Policy</a>
215
+ <a href="#">Terms of Service</a>
216
+ <a href="#">Sitemap</a>
217
+ </div>
218
+ </div>
219
+ </footer>
220
+ <script src="scripts/main.js"></script>
221
+ </body>
222
+ </html>
4th year/manage-appointment.html ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Manage Appointment - ZMABC</title>
7
+ <link rel="stylesheet" href="styles/manage-appointment.css">
8
+ </head>
9
+ <body>
10
+ <main class="manage-main">
11
+ <div class="manage-border">
12
+ <h1>Manage Appointment</h1>
13
+ <section class="manage-section">
14
+ <h2>Original Appointment Details</h2>
15
+ <div class="manage-details-table">
16
+ <div class="manage-details-row">
17
+ <span class="manage-details-label">Date</span>
18
+ <span class="manage-details-value">July 15, 2024</span>
19
+ </div>
20
+ <div class="manage-details-row">
21
+ <span class="manage-details-label">Time</span>
22
+ <span class="manage-details-value">10:00 AM</span>
23
+ </div>
24
+ <div class="manage-details-row">
25
+ <span class="manage-details-label">Provider</span>
26
+ <span class="manage-details-value">Dr. Emily Carter</span>
27
+ </div>
28
+ </div>
29
+ </section>
30
+ <section class="manage-section">
31
+ <h2>Change Appointment</h2>
32
+ <form class="manage-form">
33
+ <label for="new-date" class="manage-form-label">Select New Date</label>
34
+ <input type="date" id="new-date" class="manage-form-input">
35
+
36
+ <label for="new-time" class="manage-form-label">Select New Time</label>
37
+ <select id="new-time" class="manage-form-input">
38
+ <option>Select Time</option>
39
+ <option>9:00 AM</option>
40
+ <option>10:00 AM</option>
41
+ <option>11:00 AM</option>
42
+ <option>1:00 PM</option>
43
+ <option>2:00 PM</option>
44
+ <option>3:00 PM</option>
45
+ </select>
46
+
47
+ <div class="manage-actions">
48
+ <button type="button" class="manage-btn cancel">Cancel Appointment</button>
49
+ <button type="submit" class="manage-btn reschedule">Reschedule Appointment</button>
50
+ </div>
51
+ </form>
52
+ </section>
53
+ </div>
54
+ </main>
55
+ </body>
56
+ </html>
4th year/scripts/appointment.js ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener("DOMContentLoaded", function() {
2
+ const monthNames = [
3
+ "January", "February", "March", "April", "May", "June",
4
+ "July", "August", "September", "October", "November", "December"
5
+ ];
6
+ const calendarMonth = document.getElementById("calendarMonth");
7
+ const calendarYear = document.getElementById("calendarYear");
8
+ const calendarTableBody = document.getElementById("calendarTable").getElementsByTagName('tbody')[0];
9
+ const prevMonthBtn = document.getElementById("prevMonthBtn");
10
+ const nextMonthBtn = document.getElementById("nextMonthBtn");
11
+
12
+ // Only allow current year, disable year dropdown
13
+ const currentYear = new Date().getFullYear();
14
+ let opt = document.createElement("option");
15
+ opt.value = currentYear;
16
+ opt.text = currentYear;
17
+ calendarYear.appendChild(opt);
18
+ calendarYear.disabled = true;
19
+
20
+ // Populate month dropdown
21
+ for (let m = 0; m < 12; m++) {
22
+ let opt = document.createElement("option");
23
+ opt.value = m;
24
+ opt.text = monthNames[m];
25
+ calendarMonth.appendChild(opt);
26
+ }
27
+
28
+ // Set default to today
29
+ let today = new Date();
30
+ today.setHours(0,0,0,0);
31
+ let selectedMonth = today.getMonth();
32
+ let selectedYear = currentYear;
33
+ let selectedDay = today.getDate();
34
+ let selectedTime = ""; // Add this at the top
35
+
36
+ calendarMonth.value = selectedMonth;
37
+ calendarYear.value = selectedYear;
38
+
39
+ function isLeapYear(year) {
40
+ return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
41
+ }
42
+
43
+ function getDaysInMonth(month, year) {
44
+ if (month === 1) { // February
45
+ return isLeapYear(year) ? 29 : 28;
46
+ }
47
+ return [31,28,31,30,31,30,31,31,30,31,30,31][month];
48
+ }
49
+
50
+ function generateCalendar(month, year, day) {
51
+ calendarTableBody.innerHTML = "";
52
+ let firstDay = new Date(year, month, 1).getDay();
53
+ let daysInMonth = getDaysInMonth(month, year);
54
+ let date = 1;
55
+
56
+ for (let i = 0; i < 6; i++) {
57
+ let row = document.createElement("tr");
58
+ for (let j = 0; j < 7; j++) {
59
+ let cell = document.createElement("td");
60
+ if (i === 0 && j < firstDay) {
61
+ cell.innerHTML = "";
62
+ } else if (date > daysInMonth) {
63
+ cell.innerHTML = "";
64
+ } else {
65
+ let btn = document.createElement("button");
66
+ btn.className = "calendar-day";
67
+ btn.innerText = date;
68
+
69
+ // Disable past days
70
+ let thisDay = new Date(year, month, date, 23, 59, 59, 999);
71
+ if (thisDay < today) {
72
+ btn.disabled = true;
73
+ btn.classList.add("calendar-day-disabled");
74
+ } else {
75
+ btn.onclick = function() {
76
+ selectedDay = date;
77
+ document.querySelectorAll(".calendar-day.selected").forEach(b => b.classList.remove("selected"));
78
+ btn.classList.add("selected");
79
+ updateSummary();
80
+ updateConfirmButtonState();
81
+ updateMonthNav();
82
+ };
83
+ }
84
+
85
+ if (date === day && !btn.disabled) btn.classList.add("selected");
86
+ cell.appendChild(btn);
87
+ date++;
88
+ }
89
+ row.appendChild(cell);
90
+ }
91
+ calendarTableBody.appendChild(row);
92
+ if (date > daysInMonth) break;
93
+ }
94
+
95
+ updateMonthNav();
96
+ generateTimeSlots(); // Add this line
97
+ updateConfirmButtonState && updateConfirmButtonState();
98
+ }
99
+
100
+ const confirmBtn = document.querySelector('.appointment-confirm-btn');
101
+
102
+ function updateConfirmButtonState() {
103
+ const service = document.getElementById('service').value;
104
+ const provider = document.getElementById('provider').value;
105
+ const hasDate = selectedDay && selectedMonth !== undefined && selectedYear;
106
+
107
+ if (
108
+ service !== "Select a service" &&
109
+ provider !== "Select a provider" &&
110
+ hasDate &&
111
+ selectedTime
112
+ ) {
113
+ confirmBtn.disabled = false;
114
+ confirmBtn.classList.remove('disabled');
115
+ } else {
116
+ confirmBtn.disabled = true;
117
+ confirmBtn.classList.add('disabled');
118
+ }
119
+ }
120
+
121
+ function generateTimeSlots() {
122
+ // Example time slots, you can customize as needed
123
+ const times = [
124
+ "9:00 AM", "10:00 AM", "11:00 AM",
125
+ "1:00 PM", "2:00 PM", "3:00 PM"
126
+ ];
127
+ const timesRow = document.getElementById("times-row");
128
+ timesRow.innerHTML = "";
129
+ times.forEach(time => {
130
+ const btn = document.createElement("button");
131
+ btn.className = "calendar-time-btn";
132
+ btn.textContent = time;
133
+ btn.onclick = function() {
134
+ selectedTime = time;
135
+ document.querySelectorAll(".calendar-time-btn.selected").forEach(b => b.classList.remove("selected"));
136
+ btn.classList.add("selected");
137
+ updateConfirmButtonState();
138
+ updateSummary();
139
+ };
140
+ timesRow.appendChild(btn);
141
+ });
142
+ }
143
+
144
+ function updateMonthNav() {
145
+ // Only enable prev/next if allowed by rules
146
+ // Prev: only if current month is after today's month
147
+ // Next: only if last day of month is selected
148
+
149
+ // Prev month logic
150
+ if (selectedMonth > today.getMonth()) {
151
+ prevMonthBtn.disabled = false;
152
+ prevMonthBtn.classList.remove("calendar-nav-disabled");
153
+ } else {
154
+ prevMonthBtn.disabled = true;
155
+ prevMonthBtn.classList.add("calendar-nav-disabled");
156
+ }
157
+
158
+ // Next month logic
159
+ let daysInMonth = getDaysInMonth(selectedMonth, selectedYear);
160
+ let isLastDay = selectedDay === daysInMonth;
161
+ if (isLastDay && selectedMonth < 11) {
162
+ nextMonthBtn.disabled = false;
163
+ nextMonthBtn.classList.remove("calendar-nav-disabled");
164
+ calendarMonth.disabled = false;
165
+ } else {
166
+ nextMonthBtn.disabled = true;
167
+ nextMonthBtn.classList.add("calendar-nav-disabled");
168
+ // Disable month dropdown if not last day
169
+ calendarMonth.disabled = true;
170
+ }
171
+ }
172
+
173
+ function updateSummary() {
174
+ // Update the summary section with the selected date
175
+ const summaryRows = document.querySelectorAll('.summary-row');
176
+ const service = document.getElementById('service').value;
177
+ const provider = document.getElementById('provider').value;
178
+ let dateStr = `${monthNames[selectedMonth]} ${selectedDay}, ${selectedYear}`;
179
+ summaryRows[0].children[1].textContent = service !== "Select a service" ? service : "";
180
+ summaryRows[1].children[1].textContent = provider !== "Select a provider" ? provider : "";
181
+ summaryRows[2].children[1].textContent = `${dateStr}`;
182
+ document.getElementById('summary-time').textContent = selectedTime;
183
+ }
184
+
185
+ // Initial calendar and summary
186
+ generateCalendar(selectedMonth, selectedYear, selectedDay);
187
+ updateSummary();
188
+
189
+ calendarMonth.onchange = function() {
190
+ // Only allow selecting months if enabled (when last day is selected)
191
+ if (calendarMonth.disabled) {
192
+ calendarMonth.value = selectedMonth;
193
+ return;
194
+ }
195
+ let newMonth = parseInt(calendarMonth.value);
196
+ if (newMonth < today.getMonth()) {
197
+ calendarMonth.value = selectedMonth;
198
+ return;
199
+ }
200
+ selectedMonth = newMonth;
201
+ selectedDay = 1;
202
+ generateCalendar(selectedMonth, selectedYear, selectedDay);
203
+ updateSummary();
204
+ };
205
+
206
+ // Year dropdown is disabled, so no change needed
207
+ calendarYear.onchange = function() {};
208
+
209
+ prevMonthBtn.onclick = function() {
210
+ if (prevMonthBtn.disabled) return;
211
+ selectedMonth--;
212
+ calendarMonth.value = selectedMonth;
213
+ selectedDay = 1;
214
+ generateCalendar(selectedMonth, selectedYear, selectedDay);
215
+ updateSummary();
216
+ };
217
+ nextMonthBtn.onclick = function() {
218
+ if (nextMonthBtn.disabled) return;
219
+ selectedMonth++;
220
+ calendarMonth.value = selectedMonth;
221
+ selectedDay = 1;
222
+ generateCalendar(selectedMonth, selectedYear, selectedDay);
223
+ updateSummary();
224
+ };
225
+
226
+ // Update summary when service/provider changes
227
+ document.getElementById('service').onchange = updateSummary;
228
+ document.getElementById('provider').onchange = updateSummary;
229
+
230
+ document.getElementById('confirmation-done').onclick = function() {
231
+ // Hide confirmation modal and redirect to dashboard
232
+ document.getElementById('confirmation-modal').style.display = 'none';
233
+ window.location.href = 'dashboard.html';
234
+ };
235
+
236
+ function showConfirmation() {
237
+ const service = document.getElementById('service').value;
238
+ const provider = document.getElementById('provider').value;
239
+ const date = `${monthNames[selectedMonth]} ${selectedDay}, ${selectedYear}`;
240
+ const time = selectedTime;
241
+ const location = "Main Clinic";
242
+
243
+ // Save appointment data
244
+ let appointments = JSON.parse(localStorage.getItem("appointments")) || [];
245
+ appointments.push({
246
+ date: date,
247
+ time: time,
248
+ doctor: provider,
249
+ type: service,
250
+ status: "Scheduled",
251
+ location: location
252
+ });
253
+ localStorage.setItem("appointments", JSON.stringify(appointments));
254
+
255
+ // Show confirmation overlay
256
+ const overlay = document.getElementById('confirmation-overlay');
257
+ const details = `
258
+ <div class="confirmation-modal">
259
+ <div class="approved-status">
260
+ <div class="approved-icon">✓</div>
261
+ <h1>Appointment Confirmed!</h1>
262
+ <p class="approved-message">
263
+ Your appointment has been successfully scheduled. A confirmation has been sent to your email.
264
+ Please review the details below.
265
+ </p>
266
+ </div>
267
+ <section class="approved-details-card">
268
+ <h2>Appointment Details</h2>
269
+ <div class="approved-details-table">
270
+ <div class="approved-details-row">
271
+ <span class="approved-details-label">Date</span>
272
+ <span class="approved-details-value">${date}</span>
273
+ </div>
274
+ <div class="approved-details-row">
275
+ <span class="approved-details-label">Time</span>
276
+ <span class="approved-details-value">${time}</span>
277
+ </div>
278
+ <div class="approved-details-row">
279
+ <span class="approved-details-label">Provider</span>
280
+ <span class="approved-details-value">${provider}</span>
281
+ </div>
282
+ <div class="approved-details-row">
283
+ <span class="approved-details-label">Service</span>
284
+ <span class="approved-details-value">${service}</span>
285
+ </div>
286
+ <div class="approved-details-row">
287
+ <span class="approved-details-label">Location</span>
288
+ <span class="approved-details-value">${location}</span>
289
+ </div>
290
+ </div>
291
+ <div class="approved-details-actions">
292
+ <button onclick="handleDone()" class="approved-btn">Done</button>
293
+ </div>
294
+ </section>
295
+ </div>
296
+ `;
297
+
298
+ overlay.innerHTML = details;
299
+ overlay.style.display = 'flex';
300
+ }
301
+
302
+ // Add this function to handle the Done button click
303
+ function handleDone() {
304
+ document.getElementById('confirmation-overlay').style.display = 'none';
305
+ window.location.href = 'dashboard.html';
306
+ }
307
+
308
+ // Update the confirm button click handler
309
+ document.querySelector('.appointment-confirm-btn').onclick = function() {
310
+ if (!this.disabled) {
311
+ showConfirmation();
312
+ }
313
+ };
314
+
315
+ // Disable confirm button if no time is selected
316
+ function updateConfirmButtonState() {
317
+ const service = document.getElementById('service').value;
318
+ const provider = document.getElementById('provider').value;
319
+ const hasDate = selectedDay && selectedMonth !== undefined && selectedYear;
320
+
321
+ if (
322
+ service !== "Select a service" &&
323
+ provider !== "Select a provider" &&
324
+ hasDate &&
325
+ selectedTime
326
+ ) {
327
+ confirmBtn.disabled = false;
328
+ confirmBtn.classList.remove('disabled');
329
+ } else {
330
+ confirmBtn.disabled = true;
331
+ confirmBtn.classList.add('disabled');
332
+ }
333
+ }
334
+ });
4th year/scripts/dashboard.js ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener("DOMContentLoaded", function() {
2
+ // Load appointments from localStorage
3
+ const appointments = JSON.parse(localStorage.getItem("appointments")) || [];
4
+
5
+ // Get current date for comparison
6
+ const now = new Date();
7
+
8
+ // Helper function to convert date string to Date object
9
+ function getDateFromString(dateStr) {
10
+ return new Date(dateStr);
11
+ }
12
+
13
+ // Split appointments into upcoming and past, then sort by date
14
+ const upcoming = appointments
15
+ .filter(app => getDateFromString(app.date) >= now)
16
+ .sort((a, b) => getDateFromString(b.date) - getDateFromString(a.date));
17
+
18
+ const past = appointments
19
+ .filter(app => getDateFromString(app.date) < now)
20
+ .sort((a, b) => getDateFromString(b.date) - getDateFromString(a.date));
21
+
22
+ // Display upcoming appointments
23
+ const upcomingContainer = document.getElementById("upcoming-appointments");
24
+ if (upcoming.length > 0) {
25
+ upcoming.forEach(app => {
26
+ upcomingContainer.innerHTML += `
27
+ <div class="appointment-card">
28
+ <div class="appointment-info">
29
+ <h3>${app.type}</h3>
30
+ <div class="appointment-details">
31
+ ${app.date} at ${app.time}<br>
32
+ ${app.doctor} - ${app.location}
33
+ </div>
34
+ </div>
35
+ <span class="appointment-status status-scheduled">Scheduled</span>
36
+ </div>
37
+ `;
38
+ });
39
+ } else {
40
+ upcomingContainer.innerHTML = "<p>No upcoming appointments</p>";
41
+ }
42
+
43
+ // Display past appointments
44
+ const pastContainer = document.getElementById("past-appointments");
45
+ if (past.length > 0) {
46
+ past.forEach(app => {
47
+ pastContainer.innerHTML += `
48
+ <tr>
49
+ <td>${app.date}</td>
50
+ <td>${app.time}</td>
51
+ <td>${app.doctor}</td>
52
+ <td>${app.type}</td>
53
+ <td><span class="appointment-status status-completed">Completed</span></td>
54
+ </tr>
55
+ `;
56
+ });
57
+ } else {
58
+ pastContainer.innerHTML = "<tr><td colspan='5'>No past appointments</td></tr>";
59
+ }
60
+ });
4th year/styles/book-appointment.css ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ margin: 0;
3
+ font-family: 'Segoe UI', Arial, sans-serif;
4
+ background: #f7f8fa;
5
+ color: #222;
6
+ }
7
+
8
+ header {
9
+ background: #212b31;
10
+ color: #ffffff;
11
+ padding: 10px 0;
12
+ text-align: center;
13
+ }
14
+
15
+ h1 {
16
+ margin: 0;
17
+ }
18
+
19
+ nav {
20
+ margin: 20px 0;
21
+ }
22
+
23
+ nav a {
24
+ color: #ffffff;
25
+ text-decoration: none;
26
+ padding: 10px 15px;
27
+ }
28
+
29
+ nav a:hover {
30
+ background: #da775c;
31
+ }
32
+
33
+
34
+ .container {
35
+ width: 80%;
36
+ margin: auto;
37
+ overflow: hidden;
38
+ }
39
+
40
+ footer {
41
+ text-align: center;
42
+ padding: 20px 0;
43
+ background: #35424a;
44
+ color: #000;
45
+ position: relative;
46
+ bottom: 0;
47
+ width: 100%;
48
+ }
49
+
50
+ .cms-header {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ padding: 24px 60px 0 60px;
55
+ background: #fff;
56
+ border-bottom: 1px solid #ececec;
57
+ }
58
+
59
+ .cms-header-title {
60
+ font-size: 2rem;
61
+ font-weight: 500;
62
+ color: #000;
63
+ }
64
+
65
+ .cms-nav {
66
+ display: flex;
67
+ gap: 32px;
68
+ font-size: 1.1rem;
69
+ }
70
+
71
+ .cms-nav a {
72
+ color: #222;
73
+ text-decoration: none;
74
+ padding-bottom: 4px;
75
+ border-bottom: 2px solid transparent;
76
+ transition: border-color 0.2s;
77
+ }
78
+
79
+ .cms-nav a.active,
80
+ .cms-nav a:hover {
81
+ border-bottom: 2px solid #222;
82
+ }
83
+
84
+ .cms-user-icon {
85
+ font-size: 1.5rem;
86
+ margin-left: 24px;
87
+ }
88
+
89
+ .appointment-main {
90
+ max-width: 900px;
91
+ margin: 0 auto;
92
+ padding: 40px 16px;
93
+ }
94
+
95
+ h1 {
96
+ text-align: center;
97
+ font-size: 2rem;
98
+ font-weight: 700;
99
+ margin-bottom: 8px;
100
+ }
101
+
102
+ .appointment-subtitle {
103
+ text-align: center;
104
+ color: #666;
105
+ margin-bottom: 32px;
106
+ }
107
+
108
+ .appointment-form-row {
109
+ display: flex;
110
+ gap: 32px;
111
+ margin-bottom: 32px;
112
+ justify-content: center;
113
+ }
114
+
115
+ .appointment-form-card {
116
+ background: #fff;
117
+ border-radius: 12px;
118
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
119
+ padding: 24px 24px 18px 24px;
120
+ min-width: 260px;
121
+ max-width: 340px;
122
+ flex: 1;
123
+ display: flex;
124
+ flex-direction: column;
125
+ gap: 16px;
126
+ }
127
+
128
+ .appointment-form-card label {
129
+ font-size: 1rem;
130
+ font-weight: 500;
131
+ margin-bottom: 4px;
132
+ }
133
+
134
+ .appointment-form-card select {
135
+ padding: 10px;
136
+ border-radius: 6px;
137
+ border: 1px solid #d1d5db;
138
+ font-size: 1rem;
139
+ margin-bottom: 8px;
140
+ background: #f7f8fa;
141
+ }
142
+
143
+ .appointment-calendar {
144
+ display: flex;
145
+ flex-direction: column;
146
+ gap: 12px;
147
+ }
148
+
149
+ .calendar-header {
150
+ display: flex;
151
+ justify-content: space-between;
152
+ align-items: center;
153
+ font-weight: 600;
154
+ margin-bottom: 8px;
155
+ }
156
+
157
+ .calendar-header select, .calendar-header button {
158
+ font-size: 1rem;
159
+ margin: 0 4px;
160
+ padding: 4px 8px;
161
+ border-radius: 6px;
162
+ border: 1px solid #d1d5db;
163
+ background: #fff;
164
+ cursor: pointer;
165
+ }
166
+
167
+ .calendar-table {
168
+ width: 100%;
169
+ border-collapse: collapse;
170
+ margin-bottom: 8px;
171
+ }
172
+
173
+ .calendar-table th, .calendar-table td {
174
+ text-align: center;
175
+ padding: 4px;
176
+ font-size: 0.98rem;
177
+ color: #222;
178
+ }
179
+
180
+ .calendar-table td.selected {
181
+ background: #0077b6;
182
+ color: #fff;
183
+ border-radius: 50%;
184
+ }
185
+
186
+ .calendar-day {
187
+ background: #fff;
188
+ border: 1px solid #d1d5db;
189
+ border-radius: 50%;
190
+ width: 32px;
191
+ height: 32px;
192
+ font-size: 1rem;
193
+ cursor: pointer;
194
+ transition: background 0.2s, color 0.2s, border 0.2s;
195
+ margin: 2px;
196
+ }
197
+ .calendar-day.selected,
198
+ .calendar-day:hover {
199
+ background: #0077b6;
200
+ color: #fff;
201
+ border: 1px solid #0077b6;
202
+ }
203
+
204
+ .calendar-day-disabled {
205
+ background: #f0f0f0;
206
+ color: #aaa;
207
+ border: 1px solid #e0e0e0;
208
+ cursor: not-allowed;
209
+ }
210
+
211
+ .calendar-times {
212
+ font-size: 0.98rem;
213
+ color: #222;
214
+ }
215
+
216
+ .calendar-times-row {
217
+ display: flex;
218
+ flex-wrap: wrap;
219
+ gap: 8px;
220
+ margin: 8px 0;
221
+ max-width: 100%; /* Prevents overflow */
222
+ }
223
+
224
+
225
+ .calendar-times-row button {
226
+ background: #fff;
227
+ border: 1px solid #d1d5db;
228
+ border-radius: 8px;
229
+ padding: 8px 18px;
230
+ font-size: 1rem;
231
+ cursor: pointer;
232
+ transition: background 0.2s, color 0.2s;
233
+ }
234
+
235
+ .calendar-times-row button.active,
236
+ .calendar-times-row button:hover {
237
+ background: #0077b6;
238
+ color: #fff;
239
+ border: 1px solid #0077b6;
240
+ }
241
+
242
+ .calendar-time-btn {
243
+ background: #fff;
244
+ border: 1px solid #d1d5db;
245
+ border-radius: 8px;
246
+ padding: 8px 18px;
247
+ font-size: 1rem;
248
+ cursor: pointer;
249
+ margin: 4px;
250
+ transition: background 0.2s, color 0.2s, border 0.2s;
251
+ }
252
+ .calendar-time-btn.selected,
253
+ .calendar-time-btn:hover {
254
+ background: #0077b6;
255
+ color: #fff;
256
+ border: 1px solid #0077b6;
257
+ }
258
+
259
+ .appointment-summary {
260
+ background: #eaf6fa;
261
+ border-radius: 8px;
262
+ padding: 18px 24px;
263
+ margin-bottom: 24px;
264
+ max-width: 700px;
265
+ margin-left: auto;
266
+ margin-right: auto;
267
+ }
268
+
269
+ .summary-title {
270
+ font-weight: 600;
271
+ margin-bottom: 10px;
272
+ }
273
+
274
+ .summary-row {
275
+ display: flex;
276
+ justify-content: space-between;
277
+ padding: 6px 0;
278
+ font-size: 1rem;
279
+ border-bottom: 1px solid #d1d5db;
280
+ }
281
+
282
+ .summary-row:last-child {
283
+ border-bottom: none;
284
+ }
285
+
286
+ .appointment-confirm-row {
287
+ text-align: center;
288
+ margin-top: 18px;
289
+ }
290
+
291
+ .appointment-confirm-btn {
292
+ background: #0077b6;
293
+ color: #fff;
294
+ border: none;
295
+ border-radius: 8px;
296
+ padding: 12px 32px;
297
+ font-size: 1.08rem;
298
+ font-weight: 600;
299
+ cursor: pointer;
300
+ transition: background 0.2s;
301
+ }
302
+
303
+ .appointment-confirm-btn:hover {
304
+ background: #005f8e;
305
+ }
306
+
307
+ .dashboard-nav {
308
+ width: 100%;
309
+ display: flex;
310
+ flex-direction: column;
311
+ gap: 8px;
312
+ }
313
+
314
+ .dashboard-nav a {
315
+ display: flex;
316
+ align-items: center;
317
+ gap: 12px;
318
+ padding: 12px 32px;
319
+ color: #222;
320
+ text-decoration: none;
321
+ font-size: 1.08rem;
322
+ border-radius: 8px 0 0 8px;
323
+ transition: background 0.2s, color 0.2s;
324
+ }
325
+
326
+ .dashboard-nav a.active,
327
+ .dashboard-nav a:hover {
328
+ background: #eaf6fa;
329
+ color: #0077b6;
330
+ }
331
+
332
+ .dashboard-nav .icon {
333
+ font-size: 1.2rem;
334
+ }
335
+
336
+ .dashboard-main {
337
+ flex: 1;
338
+ padding: 48px 48px 32px 48px;
339
+ }
340
+
341
+ .dashboard-main h1 {
342
+ font-size: 2rem;
343
+ font-weight: 700;
344
+ margin-bottom: 32px;
345
+ }
346
+
347
+ .dashboard-section {
348
+ margin-bottom: 40px;
349
+ }
350
+
351
+ .dashboard-section h2 {
352
+ font-size: 1.25rem;
353
+ font-weight: 600;
354
+ margin-bottom: 18px;
355
+ }
356
+
357
+ .dashboard-container {
358
+ display: flex;
359
+ min-height: 100vh;
360
+ }
361
+
362
+ .dashboard-sidebar {
363
+ background: #fff;
364
+ width: 260px;
365
+ padding: 32px 0;
366
+ border-right: 1px solid #ececec;
367
+ display: flex;
368
+ flex-direction: column;
369
+ align-items: center;
370
+ }
371
+
372
+ .dashboard-user {
373
+ display: flex;
374
+ flex-direction: column;
375
+ align-items: center;
376
+ margin-bottom: 40px;
377
+ }
378
+
379
+ .dashboard-avatar {
380
+ width: 56px;
381
+ height: 56px;
382
+ border-radius: 50%;
383
+ object-fit: cover;
384
+ margin-bottom: 12px;
385
+ background: #ececec;
386
+ }
387
+
388
+ .dashboard-username {
389
+ font-size: 1.15rem;
390
+ font-weight: 600;
391
+ }
392
+
393
+ /* Add these styles for the confirmation overlay */
394
+
395
+ .confirmation-overlay {
396
+ position: fixed;
397
+ top: 0;
398
+ left: 0;
399
+ right: 0;
400
+ bottom: 0;
401
+ background: rgba(0, 0, 0, 0.5);
402
+ display: none;
403
+ justify-content: center;
404
+ align-items: center;
405
+ z-index: 1000;
406
+ padding: 20px;
407
+ }
408
+
409
+ .confirmation-modal {
410
+ background: white;
411
+ border-radius: 32px;
412
+ padding: 32px;
413
+ max-width: 600px;
414
+ width: 90%;
415
+ max-height: 90vh;
416
+ overflow-y: auto;
417
+ border: 3px solid #222;
418
+ }
419
+
420
+ .approved-status {
421
+ text-align: center;
422
+ margin-bottom: 32px;
423
+ border-radius: 20px;
424
+ padding: 32px 0 16px 0;
425
+ background: #f9fff9;
426
+ }
427
+
428
+ .approved-icon {
429
+ font-size: 3rem;
430
+ color: #2ecc40;
431
+ margin-bottom: 16px;
432
+ }
433
+
434
+ .approved-message {
435
+ color: #666;
436
+ margin: 0 32px;
437
+ }
438
+
439
+ .approved-details-card {
440
+ background: #fff;
441
+ border-radius: 16px;
442
+ padding: 24px;
443
+ }
444
+
445
+ .approved-details-table {
446
+ border-top: 1px solid #ececec;
447
+ margin-bottom: 18px;
448
+ }
449
+
450
+ .approved-details-row {
451
+ display: flex;
452
+ justify-content: space-between;
453
+ align-items: center;
454
+ padding: 14px 0;
455
+ border-bottom: 1px solid #ececec;
456
+ }
457
+
458
+ .approved-details-label {
459
+ color: #6c7a89;
460
+ font-weight: 500;
461
+ }
462
+
463
+ .approved-btn {
464
+ background: #0077b6;
465
+ color: white;
466
+ border: none;
467
+ border-radius: 8px;
468
+ padding: 12px 24px;
469
+ font-size: 1rem;
470
+ font-weight: 600;
471
+ cursor: pointer;
472
+ width: 100%;
473
+ }
474
+
475
+ .approved-btn:hover {
476
+ background: #005f8a;
477
+ }
478
+
479
+ /* Responsive */
480
+ @media (max-width: 900px) {
481
+ .appointment-form-row {
482
+ flex-direction: column;
483
+ gap: 18px;
484
+ align-items: stretch;
485
+ }
486
+ .appointment-form-card {
487
+ max-width: 100%;
488
+ }
489
+ }
4th year/styles/dashboard.css ADDED
@@ -0,0 +1,343 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ margin: 0;
3
+ font-family: 'Segoe UI', Arial, sans-serif;
4
+ background: #f7f8fa;
5
+ color: #222;
6
+ }
7
+
8
+ header {
9
+ background: #212b31;
10
+ color: #ffffff;
11
+ padding: 10px 0;
12
+ text-align: center;
13
+ }
14
+
15
+ h1 {
16
+ margin: 0;
17
+ }
18
+
19
+ nav {
20
+ margin: 20px 0;
21
+ }
22
+
23
+ nav a {
24
+ color: #ffffff;
25
+ text-decoration: none;
26
+ padding: 10px 15px;
27
+ }
28
+
29
+ nav a:hover {
30
+ background: #da775c;
31
+ }
32
+
33
+
34
+ .container {
35
+ width: 80%;
36
+ margin: auto;
37
+ overflow: hidden;
38
+ }
39
+
40
+ footer {
41
+ text-align: center;
42
+ padding: 20px 0;
43
+ background: #35424a;
44
+ color: #000;
45
+ position: relative;
46
+ bottom: 0;
47
+ width: 100%;
48
+ }
49
+
50
+ .cms-header {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ padding: 24px 60px 0 60px;
55
+ background: #fff;
56
+ border-bottom: 1px solid #ececec;
57
+ }
58
+
59
+ .cms-header-title {
60
+ font-size: 2rem;
61
+ font-weight: 500;
62
+ color: #000;
63
+ }
64
+
65
+ .cms-nav {
66
+ display: flex;
67
+ gap: 32px;
68
+ font-size: 1.1rem;
69
+ }
70
+
71
+ .cms-nav a {
72
+ color: #222;
73
+ text-decoration: none;
74
+ padding-bottom: 4px;
75
+ border-bottom: 2px solid transparent;
76
+ transition: border-color 0.2s;
77
+ }
78
+
79
+ .cms-nav a.active,
80
+ .cms-nav a:hover {
81
+ border-bottom: 2px solid #222;
82
+ }
83
+
84
+ .cms-user-icon {
85
+ font-size: 1.5rem;
86
+ margin-left: 24px;
87
+ }
88
+
89
+
90
+ .dashboard-container {
91
+ display: flex;
92
+ min-height: 100vh;
93
+ }
94
+
95
+ .dashboard-sidebar {
96
+ background: #fff;
97
+ width: 260px;
98
+ padding: 32px 0;
99
+ border-right: 1px solid #ececec;
100
+ display: flex;
101
+ flex-direction: column;
102
+ align-items: center;
103
+ }
104
+
105
+ .dashboard-user {
106
+ display: flex;
107
+ flex-direction: column;
108
+ align-items: center;
109
+ margin-bottom: 40px;
110
+ }
111
+
112
+ .dashboard-avatar {
113
+ width: 56px;
114
+ height: 56px;
115
+ border-radius: 50%;
116
+ object-fit: cover;
117
+ margin-bottom: 12px;
118
+ background: #ececec;
119
+ }
120
+
121
+ .dashboard-username {
122
+ font-size: 1.15rem;
123
+ font-weight: 600;
124
+ }
125
+
126
+ .dashboard-nav {
127
+ width: 100%;
128
+ display: flex;
129
+ flex-direction: column;
130
+ gap: 8px;
131
+ }
132
+
133
+ .dashboard-nav a {
134
+ display: flex;
135
+ align-items: center;
136
+ gap: 12px;
137
+ padding: 12px 32px;
138
+ color: #222;
139
+ text-decoration: none;
140
+ font-size: 1.08rem;
141
+ border-radius: 8px 0 0 8px;
142
+ transition: background 0.2s, color 0.2s;
143
+ }
144
+
145
+ .dashboard-nav a.active,
146
+ .dashboard-nav a:hover {
147
+ background: #eaf6fa;
148
+ color: #0077b6;
149
+ }
150
+
151
+ .dashboard-nav .icon {
152
+ font-size: 1.2rem;
153
+ }
154
+
155
+ .dashboard-main {
156
+ flex: 1;
157
+ padding: 48px 48px 32px 48px;
158
+ }
159
+
160
+ .dashboard-main h1 {
161
+ font-size: 2rem;
162
+ font-weight: 700;
163
+ margin-bottom: 32px;
164
+ }
165
+
166
+ .dashboard-section {
167
+ margin-bottom: 40px;
168
+ }
169
+
170
+ .dashboard-section h2 {
171
+ font-size: 1.25rem;
172
+ font-weight: 600;
173
+ margin-bottom: 18px;
174
+ }
175
+
176
+ .dashboard-card {
177
+ background: #fff;
178
+ border-radius: 12px;
179
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
180
+ display: flex;
181
+ align-items: center;
182
+ padding: 24px;
183
+ gap: 24px;
184
+ margin-bottom: 24px;
185
+ max-width: 1200px;
186
+ }
187
+
188
+ .dashboard-card-avatar {
189
+ width: 64px;
190
+ height: 64px;
191
+ border-radius: 50%;
192
+ object-fit: cover;
193
+ background: #ececec;
194
+ }
195
+
196
+ .dashboard-card-info {
197
+ flex: 1;
198
+ }
199
+
200
+ .dashboard-card-time {
201
+ font-size: 1rem;
202
+ color: #666;
203
+ margin-bottom: 4px;
204
+ }
205
+
206
+ .dashboard-card-title {
207
+ font-size: 1.15rem;
208
+ font-weight: 700;
209
+ margin-bottom: 2px;
210
+ }
211
+
212
+ .dashboard-card-doctor {
213
+ font-size: 1rem;
214
+ color: #444;
215
+ }
216
+
217
+ .dashboard-card-btn {
218
+ background: #0077b6;
219
+ color: #fff;
220
+ padding: 10px 22px;
221
+ border-radius: 8px;
222
+ text-decoration: none;
223
+ font-weight: 600;
224
+ font-size: 1rem;
225
+ transition: background 0.2s;
226
+ border: none;
227
+ cursor: pointer;
228
+ }
229
+
230
+ .dashboard-card-btn:hover {
231
+ background: #005f8e;
232
+ }
233
+
234
+ .dashboard-appointments {
235
+ display: grid;
236
+ gap: 20px;
237
+ margin-top: 20px;
238
+ }
239
+
240
+ .appointment-card {
241
+ background: white;
242
+ border-radius: 12px;
243
+ padding: 20px;
244
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
245
+ display: flex;
246
+ justify-content: space-between;
247
+ align-items: center;
248
+ }
249
+
250
+ .appointment-info h3 {
251
+ margin: 0 0 8px 0;
252
+ color: #0077b6;
253
+ }
254
+
255
+ .appointment-details {
256
+ color: #666;
257
+ font-size: 0.95rem;
258
+ }
259
+
260
+ .appointment-status {
261
+ padding: 6px 12px;
262
+ border-radius: 20px;
263
+ font-size: 0.9rem;
264
+ font-weight: 500;
265
+ }
266
+
267
+ .status-scheduled {
268
+ background: #e3f2fd;
269
+ color: #0077b6;
270
+ }
271
+
272
+ .status-completed {
273
+ background: #e8f5e9;
274
+ color: #2e7d32;
275
+ }
276
+
277
+ .dashboard-table {
278
+ background: white;
279
+ border-radius: 12px;
280
+ padding: 20px;
281
+ margin-top: 20px;
282
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
283
+ }
284
+
285
+ table {
286
+ width: 100%;
287
+ border-collapse: collapse;
288
+ }
289
+
290
+ th, td {
291
+ padding: 12px;
292
+ text-align: left;
293
+ border-bottom: 1px solid #eee;
294
+ }
295
+
296
+ th {
297
+ color: #666;
298
+ font-weight: 600;
299
+ }
300
+
301
+ /* Responsive */
302
+ @media (max-width: 900px) {
303
+ .dashboard-main {
304
+ padding: 32px 12px;
305
+ }
306
+ .dashboard-sidebar {
307
+ width: 100px;
308
+ padding: 16px 0;
309
+ }
310
+ .dashboard-nav a {
311
+ padding: 10px 10px;
312
+ font-size: 0.95rem;
313
+ }
314
+ .dashboard-user {
315
+ margin-bottom: 20px;
316
+ }
317
+ .dashboard-avatar {
318
+ width: 40px;
319
+ height: 40px;
320
+ }
321
+ }
322
+
323
+ @media (max-width: 600px) {
324
+ .dashboard-container {
325
+ flex-direction: column;
326
+ }
327
+ .dashboard-sidebar {
328
+ width: 100%;
329
+ flex-direction: row;
330
+ justify-content: space-between;
331
+ align-items: center;
332
+ border-right: none;
333
+ border-bottom: 1px solid #ececec;
334
+ padding: 8px 0;
335
+ }
336
+ .dashboard-main {
337
+ padding: 16px 4px;
338
+ }
339
+ .dashboard-card, .dashboard-table {
340
+ max-width: 100%;
341
+ padding: 12px;
342
+ }
343
+ }
4th year/styles/manage-appointment.css ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body {
2
+ margin: 0;
3
+ font-family: 'Segoe UI', Arial, sans-serif;
4
+ background: #f7f8fa;
5
+ color: #222;
6
+ }
7
+
8
+ .manage-main {
9
+ max-width: 600px;
10
+ margin: 40px auto;
11
+ padding: 0;
12
+ }
13
+
14
+ .manage-border {
15
+ background: #fff;
16
+ border-radius: 32px;
17
+ box-shadow: 0 2px 16px rgba(60,72,88,0.10);
18
+ border: 3px solid #222;
19
+ padding: 32px 24px 24px 24px;
20
+ }
21
+
22
+ h1 {
23
+ font-size: 2rem;
24
+ font-weight: 700;
25
+ margin-bottom: 24px;
26
+ }
27
+
28
+ .manage-section {
29
+ background: #fff;
30
+ border-radius: 16px;
31
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
32
+ padding: 24px;
33
+ margin-bottom: 24px;
34
+ border: 1px solid #ececec;
35
+ }
36
+
37
+ .manage-section h2 {
38
+ font-size: 1.15rem;
39
+ font-weight: 600;
40
+ margin-bottom: 18px;
41
+ }
42
+
43
+ .manage-details-table {
44
+ width: 100%;
45
+ border-top: 1px solid #ececec;
46
+ margin-bottom: 18px;
47
+ }
48
+
49
+ .manage-details-row {
50
+ display: flex;
51
+ justify-content: space-between;
52
+ align-items: center;
53
+ padding: 10px 0;
54
+ font-size: 1rem;
55
+ border-bottom: none;
56
+ }
57
+
58
+ .manage-details-label {
59
+ color: #6c7a89;
60
+ font-size: 1rem;
61
+ font-weight: 500;
62
+ min-width: 110px;
63
+ margin-right: 8px;
64
+ }
65
+
66
+ .manage-details-value {
67
+ color: #222;
68
+ font-size: 1rem;
69
+ font-weight: 500;
70
+ text-align: right;
71
+ }
72
+
73
+ .manage-form {
74
+ display: flex;
75
+ flex-direction: column;
76
+ gap: 16px;
77
+ }
78
+
79
+ .manage-form-label {
80
+ color: #6c7a89;
81
+ font-size: 1rem;
82
+ font-weight: 500;
83
+ margin-bottom: 4px;
84
+ }
85
+
86
+ .manage-form-input {
87
+ padding: 10px;
88
+ border: 1px solid #ececec;
89
+ border-radius: 8px;
90
+ font-size: 1rem;
91
+ margin-bottom: 8px;
92
+ }
93
+
94
+ .manage-actions {
95
+ display: flex;
96
+ gap: 16px;
97
+ margin-top: 8px;
98
+ }
99
+
100
+ .manage-btn {
101
+ padding: 12px 0;
102
+ font-size: 1rem;
103
+ font-weight: 600;
104
+ border-radius: 8px;
105
+ border: none;
106
+ width: 48%;
107
+ text-align: center;
108
+ cursor: pointer;
109
+ transition: background 0.2s;
110
+ }
111
+
112
+ .manage-btn.cancel {
113
+ background: #ececec;
114
+ color: #444;
115
+ }
116
+
117
+ .manage-btn.reschedule {
118
+ background: #0077b6;
119
+ color: #fff;
120
+ }
121
+
122
+ .manage-btn.cancel:hover {
123
+ background: #e0e0e0;
124
+ }
125
+
126
+ .manage-btn.reschedule:hover {
127
+ background: #005f8a;
128
+ }
129
+
130
+ /* Responsive fix for details table */
131
+ @media (max-width: 700px) {
132
+ .manage-main {
133
+ max-width: 98vw;
134
+ border-radius: 16px;
135
+ margin: 12px auto;
136
+ }
137
+ .manage-border {
138
+ border-radius: 16px;
139
+ padding: 16px 8px 8px 8px;
140
+ }
141
+ .manage-details-row {
142
+ flex-direction: column;
143
+ align-items: flex-start;
144
+ padding: 10px 0;
145
+ }
146
+ .manage-details-label,
147
+ .manage-details-value {
148
+ text-align: left;
149
+ margin-right: 0;
150
+ }
151
+ .manage-btn {
152
+ width: 100%;
153
+ }
154
+ }
4th year/styles/style.css ADDED
@@ -0,0 +1,1374 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* body {
2
+ margin: 0;
3
+ font-family: 'Segoe UI', Arial, sans-serif;
4
+ background: #d3d1d1;
5
+ color: #000000;
6
+ overflow-x: hidden;
7
+ }
8
+
9
+ header {
10
+ background: #212b31;
11
+ color: #ffffff;
12
+ padding: 10px 0;
13
+ text-align: center;
14
+ }
15
+
16
+ h1 {
17
+ margin: 0;
18
+ }
19
+
20
+ nav {
21
+ margin: 20px 0;
22
+ }
23
+
24
+ nav a {
25
+ color: #ffffff;
26
+ text-decoration: none;
27
+ padding: 10px 15px;
28
+ }
29
+
30
+ nav a:hover {
31
+ background: #da775c;
32
+ }
33
+
34
+ .container {
35
+ width: 100%;
36
+ margin: auto;
37
+ overflow: hidden;
38
+ }
39
+
40
+ footer {
41
+ text-align: center;
42
+ padding: 20px 0;
43
+ background: #35424a;
44
+ color: #000;
45
+ position: relative;
46
+ bottom: 0;
47
+ width: 100%;
48
+ }
49
+
50
+ .cms-header {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ padding: 24px 60px 0 60px;
55
+ background: #fff;
56
+ border-bottom: 1px solid #ececec;
57
+ }
58
+
59
+ .cms-header-title {
60
+ font-size: 2rem;
61
+ font-weight: 500;
62
+ color: #000;
63
+ }
64
+
65
+ .cms-nav {
66
+ display: flex;
67
+ gap: 32px;
68
+ font-size: 1.1rem;
69
+ }
70
+
71
+ .cms-nav a {
72
+ color: #222;
73
+ text-decoration: none;
74
+ padding-bottom: 4px;
75
+ border-bottom: 2px solid transparent;
76
+ transition: border-color 0.2s;
77
+ }
78
+
79
+ .cms-nav a.active,
80
+ .cms-nav a:hover {
81
+ border-bottom: 2px solid #222;
82
+ }
83
+
84
+ .cms-user-icon {
85
+ font-size: 1.5rem;
86
+ margin-left: 24px;
87
+ }
88
+
89
+ .cms-hero {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: space-between;
93
+ min-height: 400px;
94
+ background: #d3d1d1;
95
+ max-width: 1400px;
96
+ margin: 0 auto;
97
+ box-sizing: border-box;
98
+ }
99
+
100
+ .cms-hero-content {
101
+ flex: 1;
102
+ max-width: 600px;
103
+ }
104
+
105
+ .cms-hero-content h1 {
106
+ font-size: 3.2rem;
107
+ font-weight: 700;
108
+ margin-bottom: 24px;
109
+ }
110
+
111
+ .cms-hero-content p {
112
+ font-size: 1.3rem;
113
+ margin-bottom: 32px;
114
+ color: #333;
115
+ }
116
+
117
+ .cms-hero-buttons {
118
+ display: flex;
119
+ gap: 20px;
120
+ }
121
+
122
+ .cms-hero-buttons .primary {
123
+ background: #222c37;
124
+ color: #fff;
125
+ border: none;
126
+ padding: 16px 32px;
127
+ font-size: 1.1rem;
128
+ border-radius: 8px;
129
+ font-weight: 600;
130
+ cursor: pointer;
131
+ }
132
+
133
+ .cms-hero-buttons .secondary {
134
+ background: #fff;
135
+ color: #222;
136
+ border: 1px solid #d1d5db;
137
+ padding: 16px 32px;
138
+ font-size: 1.1rem;
139
+ border-radius: 8px;
140
+ font-weight: 600;
141
+ cursor: pointer;
142
+ }
143
+
144
+ .cms-hero-image {
145
+ flex: 1;
146
+ padding-left: 110px;
147
+ display: flex;
148
+ justify-content: center;
149
+ }
150
+
151
+ .cms-image-placeholder {
152
+ background: #545e6a;
153
+ color: #fff;
154
+ font-size: 1.5rem;
155
+ font-weight: 600;
156
+ border-radius: 16px;
157
+ width: 750px;
158
+ height: 400px;
159
+ display: flex;
160
+ align-items: center;
161
+ justify-content: center;
162
+ text-align: center;
163
+ }
164
+
165
+ .cms-news {
166
+ padding: 60px;
167
+ background: #e9e9eb;
168
+ }
169
+
170
+ .cms-news h2 {
171
+ font-size: 2.2rem;
172
+ font-weight: 600;
173
+ margin-bottom: 24px;
174
+ }
175
+
176
+ .cms-news-cards {
177
+ display: flex;
178
+ gap: 32px;
179
+ margin-top: 32px;
180
+ margin-bottom: 32px;
181
+ }
182
+
183
+ .cms-news-card {
184
+ background: #fff;
185
+ border-radius: 16px;
186
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
187
+ overflow: hidden;
188
+ flex: 1;
189
+ display: flex;
190
+ flex-direction: column;
191
+ border: 1px solid #ececec;
192
+ min-width: 320px;
193
+ max-width: 460px;
194
+ }
195
+
196
+ .cms-news-card-image {
197
+ background: #545e6a;
198
+ color: #fff;
199
+ font-size: 1.3rem;
200
+ font-weight: 600;
201
+ height: 160px;
202
+ display: flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ text-align: center;
206
+ }
207
+
208
+ .cms-news-card-content {
209
+ padding: 24px;
210
+ flex: 1;
211
+ display: flex;
212
+ flex-direction: column;
213
+ }
214
+
215
+ .cms-news-date {
216
+ color: #666;
217
+ font-size: 1rem;
218
+ margin-bottom: 8px;
219
+ }
220
+
221
+ .cms-news-card-content h3 {
222
+ font-size: 1.3rem;
223
+ font-weight: 600;
224
+ margin: 0 0 12px 0;
225
+ }
226
+
227
+ .cms-news-card-content p {
228
+ color: #222;
229
+ font-size: 1.05rem;
230
+ margin-bottom: 18px;
231
+ }
232
+
233
+ .cms-news-readmore {
234
+ color: #222;
235
+ font-weight: 500;
236
+ text-decoration: none;
237
+ font-size: 1.05rem;
238
+ display: inline-block;
239
+ margin-top: auto;
240
+ transition: color 0.2s;
241
+ }
242
+
243
+ .cms-news-readmore:hover {
244
+ color: #545e6a;
245
+ text-decoration: underline;
246
+ }
247
+
248
+ .cms-news-viewall {
249
+ text-align: center;
250
+ margin-top: 24px;
251
+ font-size: 1.1rem;
252
+ }
253
+
254
+ .cms-news-viewall a {
255
+ color: #222;
256
+ text-decoration: none;
257
+ font-weight: 500;
258
+ transition: color 0.2s;
259
+ }
260
+
261
+ .cms-news-viewall a:hover {
262
+ color: #545e6a;
263
+ text-decoration: underline;
264
+ }
265
+
266
+ .cms-services {
267
+ padding: 60px;
268
+ background: #e9e9eb;
269
+ }
270
+
271
+ .cms-services h2 {
272
+ font-size: 2.2rem;
273
+ font-weight: 600;
274
+ margin-bottom: 18px;
275
+ }
276
+
277
+ .cms-services-desc {
278
+ font-size: 1.2rem;
279
+ color: #2d3748;
280
+ margin-bottom: 36px;
281
+ max-width: 600px;
282
+ }
283
+
284
+ .cms-services-cards {
285
+ display: grid;
286
+ grid-template-columns: repeat(3, 1fr);
287
+ gap: 32px;
288
+ }
289
+
290
+ .cms-services-card {
291
+ background: #fff;
292
+ border-radius: 16px;
293
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
294
+ padding: 32px 28px 28px 28px;
295
+ display: flex;
296
+ flex-direction: column;
297
+ min-width: 120px;
298
+ max-width: 420px;
299
+ }
300
+
301
+ .cms-services-icon {
302
+ background: #222c37;
303
+ color: #fff;
304
+ font-size: 2rem;
305
+ border-radius: 50%;
306
+ width: 48px;
307
+ height: 48px;
308
+ display: flex;
309
+ align-items: center;
310
+ justify-content: center;
311
+ margin-bottom: 24px;
312
+ }
313
+
314
+ .cms-services-card h3 {
315
+ font-size: 1.3rem;
316
+ font-weight: 600;
317
+ margin: 0 0 12px 0;
318
+ }
319
+
320
+ .cms-services-card p {
321
+ color: #222;
322
+ font-size: 1.05rem;
323
+ margin-bottom: 18px;
324
+ }
325
+
326
+ .cms-services-learn {
327
+ color: #222;
328
+ font-weight: 500;
329
+ text-decoration: none;
330
+ font-size: 1.05rem;
331
+ display: inline-block;
332
+ margin-top: auto;
333
+ transition: color 0.2s;
334
+ }
335
+
336
+ .cms-services-learn:hover {
337
+ color: #545e6a;
338
+ text-decoration: underline;
339
+ }
340
+
341
+ .cms-about {
342
+ display: flex;
343
+ gap: 48px;
344
+ padding: 60px;
345
+ background: #d3d1d1;
346
+ max-width: 1400px;
347
+ margin: 0 auto;
348
+ box-sizing: border-box;
349
+ }
350
+
351
+ .cms-about-left {
352
+ flex: 1;
353
+ min-width: 340px;
354
+ }
355
+
356
+ .cms-about-left h2 {
357
+ font-size: 2.2rem;
358
+ font-weight: 600;
359
+ margin-bottom: 18px;
360
+ }
361
+
362
+ .cms-about-left p {
363
+ font-size: 1.15rem;
364
+ color: #222;
365
+ margin-bottom: 18px;
366
+ max-width: 650px;
367
+ }
368
+
369
+ .cms-about-stats {
370
+ display: flex;
371
+ gap: 48px;
372
+ margin-top: 32px;
373
+ }
374
+
375
+ .cms-about-stat {
376
+ display: flex;
377
+ align-items: center;
378
+ gap: 16px;
379
+ }
380
+
381
+ .cms-about-stat-icon {
382
+ background: #222c37;
383
+ color: #fff;
384
+ font-size: 2rem;
385
+ border-radius: 50%;
386
+ width: 48px;
387
+ height: 48px;
388
+ display: flex;
389
+ align-items: center;
390
+ justify-content: center;
391
+ }
392
+
393
+ .cms-about-stat-number {
394
+ font-size: 1.2rem;
395
+ font-weight: 700;
396
+ }
397
+
398
+ .cms-about-stat-label {
399
+ font-size: 1.05rem;
400
+ color: #222;
401
+ }
402
+
403
+ .cms-about-right {
404
+ flex: 1;
405
+ display: grid;
406
+ grid-template-columns: 1fr 1fr;
407
+ grid-template-rows: 1fr 1fr;
408
+ gap: 32px;
409
+ min-width: 340px;
410
+ }
411
+
412
+ .cms-about-feature {
413
+ background: #545e6a;
414
+ color: #fff;
415
+ font-size: 1.2rem;
416
+ font-weight: 600;
417
+ border-radius: 14px;
418
+ display: flex;
419
+ align-items: center;
420
+ justify-content: center;
421
+ height: 160px;
422
+ text-align: center;
423
+ }
424
+
425
+ /* CTA Section */
426
+ /* .cms-cta {
427
+ background: #222c37;
428
+ border-radius: 16px;
429
+ margin: 32px auto 0 auto;
430
+ padding: 48px 32px;
431
+ max-width: 1400px;
432
+ display: flex;
433
+ justify-content: center;
434
+ align-items: center;
435
+ }
436
+
437
+ .cms-cta-content {
438
+ text-align: center;
439
+ color: #fff;
440
+ width: 100%;
441
+ }
442
+
443
+ .cms-cta-content h2 {
444
+ font-size: 2.2rem;
445
+ font-weight: 600;
446
+ margin-bottom: 18px;
447
+ }
448
+
449
+ .cms-cta-content p {
450
+ font-size: 1.25rem;
451
+ margin-bottom: 32px;
452
+ }
453
+
454
+ .cms-cta-buttons {
455
+ display: flex;
456
+ justify-content: center;
457
+ gap: 24px;
458
+ margin-top: 12px;
459
+ }
460
+
461
+ .cms-cta-btn {
462
+ padding: 14px 32px;
463
+ font-size: 1.1rem;
464
+ border-radius: 8px;
465
+ font-weight: 600;
466
+ cursor: pointer;
467
+ border: 1px solid #fff;
468
+ background: #fff;
469
+ color: #222c37;
470
+ transition: background 0.2s, color 0.2s;
471
+ }
472
+
473
+ .cms-cta-btn.primary {
474
+ background: #222c37;
475
+ color: #fff;
476
+ border: 1px solid #fff;
477
+ }
478
+
479
+ .cms-cta-btn.primary:hover {
480
+ background: #fff;
481
+ color: #222c37;
482
+ }
483
+
484
+ .cms-cta-btn.secondary {
485
+ background: #fff;
486
+ color: #222c37;
487
+ border: 1px solid #fff;
488
+ }
489
+
490
+ .cms-cta-btn.secondary:hover {
491
+ background: #222c37;
492
+ color: #fff;
493
+ }
494
+
495
+ /* Footer Section */
496
+ /* .cms-footer {
497
+ background: #f7f8fa;
498
+ padding: 0 32px;
499
+ margin-top: 32px;
500
+ }
501
+
502
+ .cms-footer-main {
503
+ display: grid;
504
+ grid-template-columns: repeat(4, 1fr);
505
+ gap: 48px;
506
+ padding: 48px 0 24px 0;
507
+ max-width: 1400px;
508
+ margin: 0 auto;
509
+ }
510
+
511
+ .cms-footer-col {
512
+ text-align: left;
513
+ }
514
+
515
+ .cms-footer-col h3,
516
+ .cms-footer-col h4 {
517
+ font-size: 1.2rem;
518
+ font-weight: 600;
519
+ margin-bottom: 14px;
520
+ }
521
+
522
+ .cms-footer-col p {
523
+ font-size: 1.05rem;
524
+ color: #222;
525
+ margin-bottom: 18px;
526
+ }
527
+
528
+ .cms-footer-col ul {
529
+ list-style: none;
530
+ padding: 0;
531
+ margin: 0;
532
+ }
533
+
534
+ .cms-footer-col ul li {
535
+ font-size: 1.05rem;
536
+ color: #222;
537
+ margin-bottom: 10px;
538
+ display: flex;
539
+ align-items: center;
540
+ gap: 8px;
541
+ }
542
+
543
+ .cms-footer-col ul li a {
544
+ color: #222;
545
+ text-decoration: none;
546
+ transition: color 0.2s;
547
+ }
548
+
549
+ .cms-footer-col ul li a:hover {
550
+ color: #545e6a;
551
+ text-decoration: underline;
552
+ }
553
+
554
+ .cms-footer-social {
555
+ display: flex;
556
+ gap: 16px;
557
+ margin-top: 8px;
558
+ }
559
+
560
+ .cms-footer-social a {
561
+ color: #222;
562
+ font-size: 1.3rem;
563
+ text-decoration: none;
564
+ transition: color 0.2s;
565
+ }
566
+
567
+ .cms-footer-social a:hover {
568
+ color: #545e6a;
569
+ }
570
+
571
+ .cms-footer-bottom {
572
+ display: flex;
573
+ justify-content: space-between;
574
+ align-items: center;
575
+ border-top: 1px solid #ececec;
576
+ padding: 18px 0;
577
+ font-size: 1rem;
578
+ color: #222;
579
+ flex-wrap: wrap;
580
+ gap: 12px;
581
+ max-width: 1400px;
582
+ margin: 0 auto;
583
+ }
584
+
585
+ .cms-footer-links {
586
+ display: flex;
587
+ gap: 24px;
588
+ }
589
+
590
+ .cms-footer-links a {
591
+ color: #222;
592
+ text-decoration: none;
593
+ transition: color 0.2s;
594
+ }
595
+
596
+ .cms-footer-links a:hover {
597
+ color: #545e6a;
598
+ text-decoration: underline;
599
+ } */
600
+ */
601
+
602
+ Responsive
603
+ /* @media (max-width: 1100px) {
604
+ .cms-services-cards {
605
+ grid-template-columns: 1fr 1fr;
606
+ }
607
+ .cms-about {
608
+ flex-direction: column;
609
+ gap: 32px;
610
+ padding: 32px;
611
+ }
612
+ .cms-about-right {
613
+ min-width: 0;
614
+ }
615
+ .cms-footer-main {
616
+ grid-template-columns: 1fr 1fr;
617
+ gap: 32px;
618
+ }
619
+ }
620
+ @media (max-width: 700px) {
621
+ .cms-services-cards {
622
+ grid-template-columns: 1fr;
623
+ }
624
+ .cms-services {
625
+ padding: 24px;
626
+ }
627
+ .cms-about {
628
+ flex-direction: column;
629
+ gap: 24px;
630
+ padding: 18px;
631
+ }
632
+ .cms-about-stats {
633
+ flex-direction: column;
634
+ gap: 18px;
635
+ }
636
+ .cms-about-right {
637
+ grid-template-columns: 1fr;
638
+ grid-template-rows: repeat(4, 1fr);
639
+ gap: 18px;
640
+ }
641
+ .cms-cta {
642
+ margin: 12px 0 0 0;
643
+ padding: 24px 0;
644
+ }
645
+ .cms-footer-main {
646
+ grid-template-columns: 1fr;
647
+ gap: 18px;
648
+ padding: 24px 0 12px 0;
649
+ }
650
+ .cms-footer-bottom {
651
+ flex-direction: column;
652
+ align-items: flex-start;
653
+ gap: 8px;
654
+ } */
655
+ } */
656
+
657
+ /* Global Reset */
658
+ * {
659
+ box-sizing: border-box;
660
+ }
661
+
662
+ body {
663
+ margin: 0;
664
+ font-family: 'Segoe UI', Arial, sans-serif;
665
+ background: #d3d1d1;
666
+ color: #000;
667
+ overflow-x: hidden;
668
+ }
669
+
670
+ /* Header */
671
+ header {
672
+ background: #212b31;
673
+ color: #fff;
674
+ padding: 10px 0;
675
+ text-align: center;
676
+ }
677
+
678
+ h1 {
679
+ margin: 0;
680
+ }
681
+
682
+ /* Navigation */
683
+ nav {
684
+ margin: 20px 0;
685
+ display: flex;
686
+ flex-wrap: wrap;
687
+ justify-content: center;
688
+ gap: 10px;
689
+ }
690
+
691
+ nav a {
692
+ color: #fff;
693
+ text-decoration: none;
694
+ padding: 10px 15px;
695
+ }
696
+
697
+ nav a:hover {
698
+ background: #da775c;
699
+ }
700
+
701
+ /* Container */
702
+ .container {
703
+ width: 100%;
704
+ margin: auto;
705
+ overflow: hidden;
706
+ }
707
+
708
+ /* Footer */
709
+ footer {
710
+ text-align: center;
711
+ padding: 20px 0;
712
+ background: #35424a;
713
+ color: #000;
714
+ position: relative;
715
+ bottom: 0;
716
+ width: 100%;
717
+ }
718
+
719
+ /* CMS Header */
720
+ .cms-header {
721
+ display: flex;
722
+ flex-wrap: wrap;
723
+ align-items: center;
724
+ justify-content: space-between;
725
+ padding: 24px 20px;
726
+ background: #fff;
727
+ border-bottom: 1px solid #ececec;
728
+ }
729
+
730
+ .cms-header-title {
731
+ font-size: 2rem;
732
+ font-weight: 500;
733
+ color: #000;
734
+ }
735
+
736
+ .cms-nav {
737
+ display: flex;
738
+ flex-wrap: wrap;
739
+ gap: 16px;
740
+ font-size: 1.1rem;
741
+ }
742
+
743
+ .cms-nav a {
744
+ color: #222;
745
+ text-decoration: none;
746
+ padding-bottom: 4px;
747
+ border-bottom: 2px solid transparent;
748
+ transition: border-color 0.2s;
749
+ }
750
+
751
+ .cms-nav a.active,
752
+ .cms-nav a:hover {
753
+ border-bottom: 2px solid #222;
754
+ }
755
+
756
+ .cms-user-icon {
757
+ font-size: 1.5rem;
758
+ margin-left: 24px;
759
+ }
760
+
761
+ /* Hero Section */
762
+ .cms-hero {
763
+ display: flex;
764
+ flex-wrap: wrap;
765
+ align-items: center;
766
+ justify-content: space-between;
767
+ min-height: 400px;
768
+ background: #d3d1d1;
769
+ max-width: 1400px;
770
+ margin: 0 auto;
771
+ padding: 20px;
772
+ }
773
+
774
+ .cms-hero-content {
775
+ flex: 1 1 300px;
776
+ max-width: 600px;
777
+ }
778
+
779
+ .cms-hero-content h1 {
780
+ font-size: 3.2rem;
781
+ font-weight: 700;
782
+ margin-bottom: 24px;
783
+ }
784
+
785
+ .cms-hero-content p {
786
+ font-size: 1.3rem;
787
+ margin-bottom: 32px;
788
+ color: #333;
789
+ }
790
+
791
+ .cms-hero-buttons {
792
+ display: flex;
793
+ flex-wrap: wrap;
794
+ gap: 20px;
795
+ }
796
+
797
+ .cms-hero-buttons .primary {
798
+ background: #222c37;
799
+ color: #fff;
800
+ border: none;
801
+ padding: 16px 32px;
802
+ font-size: 1.1rem;
803
+ border-radius: 8px;
804
+ font-weight: 600;
805
+ cursor: pointer;
806
+ }
807
+
808
+ .cms-hero-buttons .secondary {
809
+ background: #fff;
810
+ color: #222;
811
+ border: 1px solid #d1d5db;
812
+ padding: 16px 32px;
813
+ font-size: 1.1rem;
814
+ border-radius: 8px;
815
+ font-weight: 600;
816
+ cursor: pointer;
817
+ }
818
+
819
+ .cms-hero-image {
820
+ flex: 1;
821
+ padding-left: 110px;
822
+ display: flex;
823
+ justify-content: center;
824
+ }
825
+
826
+ .cms-image-placeholder {
827
+ background: #545e6a;
828
+ color: #fff;
829
+ font-size: 1.5rem;
830
+ font-weight: 600;
831
+ border-radius: 16px;
832
+ width: 750px;
833
+ height: 400px;
834
+ display: flex;
835
+ align-items: center;
836
+ justify-content: center;
837
+ text-align: center;
838
+ }
839
+
840
+ /* News Section */
841
+ .cms-news {
842
+ padding: 60px;
843
+ background: #e9e9eb;
844
+ }
845
+
846
+ .cms-news h2 {
847
+ font-size: 2.2rem;
848
+ font-weight: 600;
849
+ margin-bottom: 24px;
850
+ }
851
+
852
+ .cms-news-cards {
853
+ display: flex;
854
+ gap: 32px;
855
+ margin-top: 32px;
856
+ margin-bottom: 32px;
857
+ }
858
+
859
+ .cms-news-card {
860
+ background: #fff;
861
+ border-radius: 16px;
862
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
863
+ overflow: hidden;
864
+ flex: 1;
865
+ display: flex;
866
+ flex-direction: column;
867
+ border: 1px solid #ececec;
868
+ min-width: 320px;
869
+ max-width: 460px;
870
+ }
871
+
872
+ .cms-news-card-image {
873
+ background: #545e6a;
874
+ color: #fff;
875
+ font-size: 1.3rem;
876
+ font-weight: 600;
877
+ height: 160px;
878
+ display: flex;
879
+ align-items: center;
880
+ justify-content: center;
881
+ text-align: center;
882
+ }
883
+
884
+ .cms-news-card-content {
885
+ padding: 24px;
886
+ flex: 1;
887
+ display: flex;
888
+ flex-direction: column;
889
+ }
890
+
891
+ .cms-news-date {
892
+ color: #666;
893
+ font-size: 1rem;
894
+ margin-bottom: 8px;
895
+ }
896
+
897
+ .cms-news-card-content h3 {
898
+ font-size: 1.3rem;
899
+ font-weight: 600;
900
+ margin: 0 0 12px 0;
901
+ }
902
+
903
+ .cms-news-card-content p {
904
+ color: #222;
905
+ font-size: 1.05rem;
906
+ margin-bottom: 18px;
907
+ }
908
+
909
+ .cms-news-readmore {
910
+ color: #222;
911
+ font-weight: 500;
912
+ text-decoration: none;
913
+ font-size: 1.05rem;
914
+ display: inline-block;
915
+ margin-top: auto;
916
+ transition: color 0.2s;
917
+ }
918
+
919
+ .cms-news-readmore:hover {
920
+ color: #545e6a;
921
+ text-decoration: underline;
922
+ }
923
+
924
+ .cms-news-viewall {
925
+ text-align: center;
926
+ margin-top: 24px;
927
+ font-size: 1.1rem;
928
+ }
929
+
930
+ .cms-news-viewall a {
931
+ color: #222;
932
+ text-decoration: none;
933
+ font-weight: 500;
934
+ transition: color 0.2s;
935
+ }
936
+
937
+ .cms-news-viewall a:hover {
938
+ color: #545e6a;
939
+ text-decoration: underline;
940
+ }
941
+
942
+ /* Services Section */
943
+ .cms-services {
944
+ padding: 60px;
945
+ background: #e9e9eb;
946
+ }
947
+
948
+ .cms-services h2 {
949
+ font-size: 2.2rem;
950
+ font-weight: 600;
951
+ margin-bottom: 18px;
952
+ }
953
+
954
+ .cms-services-desc {
955
+ font-size: 1.2rem;
956
+ color: #2d3748;
957
+ margin-bottom: 36px;
958
+ max-width: 600px;
959
+ }
960
+
961
+ .cms-services-cards {
962
+ display: grid;
963
+ grid-template-columns: repeat(3, 1fr);
964
+ gap: 32px;
965
+ }
966
+
967
+ .cms-services-card {
968
+ background: #fff;
969
+ border-radius: 16px;
970
+ box-shadow: 0 2px 8px rgba(60,72,88,0.04);
971
+ padding: 32px 28px 28px 28px;
972
+ display: flex;
973
+ flex-direction: column;
974
+ min-width: 120px;
975
+ max-width: 420px;
976
+ }
977
+
978
+ .cms-services-icon {
979
+ background: #222c37;
980
+ color: #fff;
981
+ font-size: 2rem;
982
+ border-radius: 50%;
983
+ width: 48px;
984
+ height: 48px;
985
+ display: flex;
986
+ align-items: center;
987
+ justify-content: center;
988
+ margin-bottom: 24px;
989
+ }
990
+
991
+ .cms-services-card h3 {
992
+ font-size: 1.3rem;
993
+ font-weight: 600;
994
+ margin: 0 0 12px 0;
995
+ }
996
+
997
+ .cms-services-card p {
998
+ color: #222;
999
+ font-size: 1.05rem;
1000
+ margin-bottom: 18px;
1001
+ }
1002
+
1003
+ .cms-services-learn {
1004
+ color: #222;
1005
+ font-weight: 500;
1006
+ text-decoration: none;
1007
+ font-size: 1.05rem;
1008
+ display: inline-block;
1009
+ margin-top: auto;
1010
+ transition: color 0.2s;
1011
+ }
1012
+
1013
+ .cms-services-learn:hover {
1014
+ color: #545e6a;
1015
+ text-decoration: underline;
1016
+ }
1017
+
1018
+ /* About Section */
1019
+ .cms-about {
1020
+ display: flex;
1021
+ gap: 48px;
1022
+ padding: 60px;
1023
+ background: #d3d1d1;
1024
+ max-width: 1400px;
1025
+ margin: 0 auto;
1026
+ box-sizing: border-box;
1027
+ }
1028
+ .cms-about-left {
1029
+ flex: 1;
1030
+ min-width: 340px;
1031
+ }
1032
+
1033
+ .cms-about-left h2 {
1034
+ font-size: 2.2rem;
1035
+ font-weight: 600;
1036
+ margin-bottom: 18px;
1037
+ }
1038
+
1039
+ .cms-about-left p {
1040
+ font-size: 1.15rem;
1041
+ color: #222;
1042
+ margin-bottom: 18px;
1043
+ max-width: 650px;
1044
+ }
1045
+
1046
+ .cms-about-stats {
1047
+ display: flex;
1048
+ gap: 48px;
1049
+ margin-top: 32px;
1050
+ }
1051
+
1052
+ .cms-about-stat {
1053
+ display: flex;
1054
+ align-items: center;
1055
+ gap: 16px;
1056
+ }
1057
+
1058
+ .cms-about-stat-icon {
1059
+ background: #222c37;
1060
+ color: #fff;
1061
+ font-size: 2rem;
1062
+ border-radius: 50%;
1063
+ width: 48px;
1064
+ height: 48px;
1065
+ display: flex;
1066
+ align-items: center;
1067
+ justify-content: center;
1068
+ }
1069
+
1070
+ .cms-about-stat-number {
1071
+ font-size: 1.2rem;
1072
+ font-weight: 700;
1073
+ }
1074
+
1075
+ .cms-about-stat-label {
1076
+ font-size: 1.05rem;
1077
+ color: #222;
1078
+ }
1079
+
1080
+ .cms-about-right {
1081
+ flex: 1;
1082
+ display: grid;
1083
+ grid-template-columns: 1fr 1fr;
1084
+ grid-template-rows: 1fr 1fr;
1085
+ gap: 32px;
1086
+ min-width: 340px;
1087
+ }
1088
+
1089
+ .cms-about-feature {
1090
+ background: #545e6a;
1091
+ color: #fff;
1092
+ font-size: 1.2rem;
1093
+ font-weight: 600;
1094
+ border-radius: 14px;
1095
+ display: flex;
1096
+ align-items: center;
1097
+ justify-content: center;
1098
+ height: 160px;
1099
+ text-align: center;
1100
+ }
1101
+
1102
+ /* CTA Section */
1103
+ .cms-cta {
1104
+ background: #222c37;
1105
+ border-radius: 16px;
1106
+ margin: 32px auto 0 auto;
1107
+ padding: 48px 32px;
1108
+ max-width: 1400px;
1109
+ display: flex;
1110
+ justify-content: center;
1111
+ align-items: center;
1112
+ }
1113
+
1114
+ .cms-cta-content {
1115
+ text-align: center;
1116
+ color: #fff;
1117
+ width: 100%;
1118
+ }
1119
+
1120
+ .cms-cta-content h2 {
1121
+ font-size: 2.2rem;
1122
+ font-weight: 600;
1123
+ margin-bottom: 18px;
1124
+ }
1125
+
1126
+ .cms-cta-content p {
1127
+ font-size: 1.25rem;
1128
+ margin-bottom: 32px;
1129
+ }
1130
+
1131
+ .cms-cta-buttons {
1132
+ display: flex;
1133
+ justify-content: center;
1134
+ gap: 24px;
1135
+ margin-top: 12px;
1136
+ }
1137
+
1138
+ .cms-cta-btn {
1139
+ padding: 14px 32px;
1140
+ font-size: 1.1rem;
1141
+ border-radius: 8px;
1142
+ font-weight: 600;
1143
+ cursor: pointer;
1144
+ border: 1px solid #fff;
1145
+ background: #fff;
1146
+ color: #222c37;
1147
+ transition: background 0.2s, color 0.2s;
1148
+ }
1149
+
1150
+ .cms-cta-btn.primary {
1151
+ background: #222c37;
1152
+ color: #fff;
1153
+ border: 1px solid #fff;
1154
+ }
1155
+
1156
+ .cms-cta-btn.primary:hover {
1157
+ background: #fff;
1158
+ color: #222c37;
1159
+ }
1160
+
1161
+ .cms-cta-btn.secondary {
1162
+ background: #fff;
1163
+ color: #222c37;
1164
+ border: 1px solid #fff;
1165
+ }
1166
+
1167
+ .cms-cta-btn.secondary:hover {
1168
+ background: #222c37;
1169
+ color: #fff;
1170
+ }
1171
+
1172
+ /* Footer Section */
1173
+ .cms-footer {
1174
+ background: #f7f8fa;
1175
+ padding: 0 32px;
1176
+ margin-top: 32px;
1177
+ }
1178
+
1179
+ .cms-footer-main {
1180
+ display: grid;
1181
+ grid-template-columns: repeat(4, 1fr);
1182
+ gap: 48px;
1183
+ padding: 48px 0 24px 0;
1184
+ max-width: 1400px;
1185
+ margin: 0 auto;
1186
+ }
1187
+
1188
+ .cms-footer-col {
1189
+ text-align: left;
1190
+ }
1191
+
1192
+ .cms-footer-col h3,
1193
+ .cms-footer-col h4 {
1194
+ font-size: 1.2rem;
1195
+ font-weight: 600;
1196
+ margin-bottom: 14px;
1197
+ }
1198
+
1199
+ .cms-footer-col p {
1200
+ font-size: 1.05rem;
1201
+ color: #222;
1202
+ margin-bottom: 18px;
1203
+ }
1204
+
1205
+ .cms-footer-col ul {
1206
+ list-style: none;
1207
+ padding: 0;
1208
+ margin: 0;
1209
+ }
1210
+
1211
+ .cms-footer-col ul li {
1212
+ font-size: 1.05rem;
1213
+ color: #222;
1214
+ margin-bottom: 10px;
1215
+ display: flex;
1216
+ align-items: center;
1217
+ gap: 8px;
1218
+ }
1219
+
1220
+ .cms-footer-col ul li a {
1221
+ color: #222;
1222
+ text-decoration: none;
1223
+ transition: color 0.2s;
1224
+ }
1225
+
1226
+ .cms-footer-col ul li a:hover {
1227
+ color: #545e6a;
1228
+ text-decoration: underline;
1229
+ }
1230
+
1231
+ .cms-footer-social {
1232
+ display: flex;
1233
+ gap: 16px;
1234
+ margin-top: 8px;
1235
+ }
1236
+
1237
+ .cms-footer-social a {
1238
+ color: #222;
1239
+ font-size: 1.3rem;
1240
+ text-decoration: none;
1241
+ transition: color 0.2s;
1242
+ }
1243
+
1244
+ .cms-footer-social a:hover {
1245
+ color: #545e6a;
1246
+ }
1247
+
1248
+ .cms-footer-bottom {
1249
+ display: flex;
1250
+ justify-content: space-between;
1251
+ align-items: center;
1252
+ border-top: 1px solid #ececec;
1253
+ padding: 18px 0;
1254
+ font-size: 1rem;
1255
+ color: #222;
1256
+ flex-wrap: wrap;
1257
+ gap: 12px;
1258
+ max-width: 1400px;
1259
+ margin: 0 auto;
1260
+ }
1261
+
1262
+ .cms-footer-links {
1263
+ display: flex;
1264
+ gap: 24px;
1265
+ }
1266
+
1267
+ .cms-footer-links a {
1268
+ color: #222;
1269
+ text-decoration: none;
1270
+ transition: color 0.2s;
1271
+ }
1272
+
1273
+ .cms-footer-links a:hover {
1274
+ color: #545e6a;
1275
+ text-decoration: underline;
1276
+ }
1277
+ @media (max-width: 1100px) {
1278
+ .cms-services-cards {
1279
+ grid-template-columns: 1fr 1fr;
1280
+ }
1281
+ .cms-about {
1282
+ flex-direction: column;
1283
+ gap: 32px;
1284
+ padding: 32px;
1285
+ }
1286
+ .cms-about-right {
1287
+ min-width: 0;
1288
+ }
1289
+ .cms-footer-main {
1290
+ grid-template-columns: 1fr 1fr;
1291
+ gap: 32px;
1292
+ }
1293
+ }
1294
+
1295
+ @media (max-width: 768px) {
1296
+ .cms-header,
1297
+ .cms-hero,
1298
+ .cms-about,
1299
+ .cms-footer-bottom {
1300
+ flex-direction: column;
1301
+ text-align: center;
1302
+ gap: 16px;
1303
+ }
1304
+
1305
+ .cms-hero-content h1 {
1306
+ font-size: 2.2rem;
1307
+ }
1308
+
1309
+ .cms-hero-content p {
1310
+ font-size: 1.1rem;
1311
+ }
1312
+
1313
+ .cms-hero-buttons {
1314
+ flex-direction: column;
1315
+ align-items: center;
1316
+ }
1317
+
1318
+ .cms-hero-image {
1319
+ padding-left: 0;
1320
+ margin-top: 20px;
1321
+ }
1322
+
1323
+ .cms-image-placeholder {
1324
+ width: 100%;
1325
+ height: auto;
1326
+ font-size: 1.2rem;
1327
+ padding: 40px 20px;
1328
+ }
1329
+
1330
+ .cms-news,
1331
+ .cms-services {
1332
+ padding: 20px;
1333
+ }
1334
+
1335
+ .cms-news-cards {
1336
+ flex-direction: column;
1337
+ gap: 20px;
1338
+ }
1339
+
1340
+ .cms-services-cards {
1341
+ grid-template-columns: 1fr;
1342
+ gap: 20px;
1343
+ }
1344
+
1345
+ .cms-about-stats {
1346
+ flex-direction: column;
1347
+ align-items: center;
1348
+ }
1349
+
1350
+ .cms-about-right {
1351
+ grid-template-columns: 1fr;
1352
+ gap: 16px;
1353
+ }
1354
+
1355
+ .cms-cta {
1356
+ padding: 32px 20px;
1357
+ }
1358
+
1359
+ .cms-cta-buttons {
1360
+ flex-direction: column;
1361
+ gap: 16px;
1362
+ }
1363
+
1364
+ .cms-footer-main {
1365
+ grid-template-columns: 1fr;
1366
+ gap: 18px;
1367
+ padding: 24px 0 12px 0;
1368
+ }
1369
+
1370
+ .cms-footer-links {
1371
+ flex-direction: column;
1372
+ gap: 12px;
1373
+ }
1374
+ }