Harshit Ghosh commited on
Commit
ae34acf
Β·
1 Parent(s): 5d2b6e2
static/apple-touch-icon.png ADDED
static/favicon-192.png ADDED
static/favicon.ico ADDED
templates/404.html CHANGED
@@ -1,53 +1,73 @@
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"/>
6
  <title>Page Not Found β€” AI Medical Intelligence Pipeline</title>
7
- <meta name="description" content="The page you requested could not be found."/>
8
- <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
10
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"/>
11
- <link rel="stylesheet" href="{{ url_for('static', filename='css/error_pages.css') }}"/>
 
 
 
 
 
12
  </head>
 
13
  <body>
14
- <div class="error-page">
15
- <!-- background orbs -->
16
- <div class="error-orb"></div>
17
- <div class="error-orb"></div>
18
- <div class="error-orb"></div>
19
-
20
- <span class="error-badge error-badge-404">
21
- <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="12"/><line x1="12" y1="16" x2="12.01" y2="16"/></svg>
22
- Error 404
23
- </span>
24
-
25
- <!-- Glowing code -->
26
- <div class="error-code-wrap">
27
- <div class="error-code">404</div>
28
- <div class="error-scanline"></div>
29
- </div>
30
 
31
- <h1 class="error-title">Page Not Found</h1>
32
- <p class="error-desc">
33
- We couldn't find the page you were looking for. It may have been moved, deleted,
34
- or the URL might be incorrect.
35
- </p>
36
-
37
- <div class="error-actions">
38
- <a href="{{ url_for('home') }}" class="btn-err-primary">
39
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M3 12L12 3l9 9"/><path d="M9 21V12h6v9"/></svg>
40
- Back to Home
41
- </a>
42
- <button onclick="history.back()" class="btn-err-secondary">
43
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M19 12H5"/><path d="M12 19l-7-7 7-7"/></svg>
44
- Go Back
45
- </button>
46
- </div>
47
 
48
- <p class="error-footer">
49
- <a href="{{ url_for('home') }}">AI Medical Intelligence Pipeline</a> β€” CT Scan Analysis
50
- </p>
51
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  </body>
53
- </html>
 
 
1
  <!doctype html>
2
  <html lang="en">
3
+
4
  <head>
5
+ <meta charset="utf-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <title>Page Not Found β€” AI Medical Intelligence Pipeline</title>
8
+ <!-- Favicon -->
9
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
10
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
11
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
12
+ <meta name="description" content="The page you requested could not be found." />
13
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
14
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
15
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap"
16
+ rel="stylesheet" />
17
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/error_pages.css') }}" />
18
  </head>
19
+
20
  <body>
21
+ <div class="error-page">
22
+ <!-- background orbs -->
23
+ <div class="error-orb"></div>
24
+ <div class="error-orb"></div>
25
+ <div class="error-orb"></div>
 
 
 
 
 
 
 
 
 
 
 
26
 
27
+ <span class="error-badge error-badge-404">
28
+ <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
29
+ <circle cx="12" cy="12" r="10" />
30
+ <line x1="12" y1="8" x2="12" y2="12" />
31
+ <line x1="12" y1="16" x2="12.01" y2="16" />
32
+ </svg>
33
+ Error 404
34
+ </span>
35
+
36
+ <!-- Glowing code -->
37
+ <div class="error-code-wrap">
38
+ <div class="error-code">404</div>
39
+ <div class="error-scanline"></div>
40
+ </div>
 
 
41
 
42
+ <h1 class="error-title">Page Not Found</h1>
43
+ <p class="error-desc">
44
+ We couldn't find the page you were looking for. It may have been moved, deleted,
45
+ or the URL might be incorrect.
46
+ </p>
47
+
48
+ <div class="error-actions">
49
+ <a href="{{ url_for('home') }}" class="btn-err-primary">
50
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"
51
+ stroke-linecap="round">
52
+ <path d="M3 12L12 3l9 9" />
53
+ <path d="M9 21V12h6v9" />
54
+ </svg>
55
+ Back to Home
56
+ </a>
57
+ <button onclick="history.back()" class="btn-err-secondary">
58
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
59
+ stroke-linecap="round">
60
+ <path d="M19 12H5" />
61
+ <path d="M12 19l-7-7 7-7" />
62
+ </svg>
63
+ Go Back
64
+ </button>
65
+ </div>
66
+
67
+ <p class="error-footer">
68
+ <a href="{{ url_for('home') }}">AI Medical Intelligence Pipeline</a> β€” CT Scan Analysis
69
+ </p>
70
+ </div>
71
  </body>
72
+
73
+ </html>
templates/500.html CHANGED
@@ -1,76 +1,95 @@
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"/>
6
  <title>Server Error β€” AI Medical Intelligence Pipeline</title>
7
- <meta name="description" content="An internal server error occurred. Our team has been notified."/>
8
- <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
10
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet"/>
11
- <link rel="stylesheet" href="{{ url_for('static', filename='css/error_pages.css') }}"/>
 
 
 
 
 
12
  </head>
 
13
  <body>
14
- <div class="error-page error-page-500">
15
- <div class="error-orb"></div>
16
- <div class="error-orb"></div>
17
- <div class="error-orb"></div>
18
 
19
- <span class="error-badge error-badge-500">
20
- <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
21
- Error 500
22
- </span>
 
 
 
 
23
 
24
- <div class="error-code-wrap">
25
- <div class="error-code">500</div>
26
- <div class="error-scanline"></div>
27
- </div>
28
 
29
- <!-- Inline SVG β€” server/crash illustration -->
30
- <div class="error-illustration">
31
- <svg width="160" height="110" viewBox="0 0 160 110" fill="none" xmlns="http://www.w3.org/2000/svg">
32
- <!-- server box -->
33
- <rect x="30" y="20" width="100" height="70" rx="8" fill="#111c33" stroke="#243356" stroke-width="1.5"/>
34
- <!-- server slots -->
35
- <rect x="42" y="32" width="76" height="10" rx="3" fill="#0c1427" stroke="#1e3060" stroke-width="1"/>
36
- <rect x="42" y="48" width="76" height="10" rx="3" fill="#0c1427" stroke="#1e3060" stroke-width="1"/>
37
- <rect x="42" y="64" width="76" height="10" rx="3" fill="#0c1427" stroke="#1e3060" stroke-width="1"/>
38
- <!-- led lights -->
39
- <circle cx="50" cy="37" r="2.5" fill="#fb7185" opacity=".9"/>
40
- <circle cx="50" cy="53" r="2.5" fill="#fbbf24" opacity=".7"/>
41
- <circle cx="50" cy="69" r="2.5" fill="#243356"/>
42
- <!-- lightning bolt -->
43
- <path d="M92 14 L78 46 H88 L76 82 L104 44 H93 L104 14 Z"
44
- fill="url(#boltgrad)" opacity=".85"/>
45
- <defs>
46
- <linearGradient id="boltgrad" x1="0" y1="0" x2="0" y2="1">
47
- <stop offset="0%" stop-color="#fb7185"/>
48
- <stop offset="100%" stop-color="#f97316"/>
49
- </linearGradient>
50
- </defs>
51
- </svg>
52
- </div>
53
 
54
- <h1 class="error-title">Something Went Wrong</h1>
55
- <p class="error-desc">
56
- An unexpected error occurred on the server. Our team has been notified.
57
- Please try again in a moment, or return to the home page.
58
- </p>
59
 
60
- <div class="error-actions">
61
- <a href="{{ url_for('home') }}" class="btn-err-primary">
62
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M3 12L12 3l9 9"/><path d="M9 21V12h6v9"/></svg>
63
- Back to Home
64
- </a>
65
- <button onclick="location.reload()" class="btn-err-secondary">
66
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><polyline points="23 4 23 10 17 10"/><path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10"/></svg>
67
- Retry
68
- </button>
69
- </div>
 
 
 
 
 
 
 
 
70
 
71
- <p class="error-footer">
72
- <a href="{{ url_for('home') }}">AI Medical Intelligence Pipeline</a> β€” CT Scan Analysis
73
- </p>
74
- </div>
75
  </body>
76
- </html>
 
 
1
  <!doctype html>
2
  <html lang="en">
3
+
4
  <head>
5
+ <meta charset="utf-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <title>Server Error β€” AI Medical Intelligence Pipeline</title>
8
+ <!-- Favicon -->
9
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
10
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
11
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
12
+ <meta name="description" content="An internal server error occurred. Our team has been notified." />
13
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
14
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
15
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap"
16
+ rel="stylesheet" />
17
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/error_pages.css') }}" />
18
  </head>
19
+
20
  <body>
21
+ <div class="error-page error-page-500">
22
+ <div class="error-orb"></div>
23
+ <div class="error-orb"></div>
24
+ <div class="error-orb"></div>
25
 
26
+ <span class="error-badge error-badge-500">
27
+ <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
28
+ <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" />
29
+ <line x1="12" y1="9" x2="12" y2="13" />
30
+ <line x1="12" y1="17" x2="12.01" y2="17" />
31
+ </svg>
32
+ Error 500
33
+ </span>
34
 
35
+ <div class="error-code-wrap">
36
+ <div class="error-code">500</div>
37
+ <div class="error-scanline"></div>
38
+ </div>
39
 
40
+ <!-- Inline SVG β€” server/crash illustration -->
41
+ <div class="error-illustration">
42
+ <svg width="160" height="110" viewBox="0 0 160 110" fill="none" xmlns="http://www.w3.org/2000/svg">
43
+ <!-- server box -->
44
+ <rect x="30" y="20" width="100" height="70" rx="8" fill="#111c33" stroke="#243356" stroke-width="1.5" />
45
+ <!-- server slots -->
46
+ <rect x="42" y="32" width="76" height="10" rx="3" fill="#0c1427" stroke="#1e3060" stroke-width="1" />
47
+ <rect x="42" y="48" width="76" height="10" rx="3" fill="#0c1427" stroke="#1e3060" stroke-width="1" />
48
+ <rect x="42" y="64" width="76" height="10" rx="3" fill="#0c1427" stroke="#1e3060" stroke-width="1" />
49
+ <!-- led lights -->
50
+ <circle cx="50" cy="37" r="2.5" fill="#fb7185" opacity=".9" />
51
+ <circle cx="50" cy="53" r="2.5" fill="#fbbf24" opacity=".7" />
52
+ <circle cx="50" cy="69" r="2.5" fill="#243356" />
53
+ <!-- lightning bolt -->
54
+ <path d="M92 14 L78 46 H88 L76 82 L104 44 H93 L104 14 Z" fill="url(#boltgrad)" opacity=".85" />
55
+ <defs>
56
+ <linearGradient id="boltgrad" x1="0" y1="0" x2="0" y2="1">
57
+ <stop offset="0%" stop-color="#fb7185" />
58
+ <stop offset="100%" stop-color="#f97316" />
59
+ </linearGradient>
60
+ </defs>
61
+ </svg>
62
+ </div>
 
63
 
64
+ <h1 class="error-title">Something Went Wrong</h1>
65
+ <p class="error-desc">
66
+ An unexpected error occurred on the server. Our team has been notified.
67
+ Please try again in a moment, or return to the home page.
68
+ </p>
69
 
70
+ <div class="error-actions">
71
+ <a href="{{ url_for('home') }}" class="btn-err-primary">
72
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"
73
+ stroke-linecap="round">
74
+ <path d="M3 12L12 3l9 9" />
75
+ <path d="M9 21V12h6v9" />
76
+ </svg>
77
+ Back to Home
78
+ </a>
79
+ <button onclick="location.reload()" class="btn-err-secondary">
80
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
81
+ stroke-linecap="round">
82
+ <polyline points="23 4 23 10 17 10" />
83
+ <path d="M20.49 15a9 9 0 1 1-2.12-9.36L23 10" />
84
+ </svg>
85
+ Retry
86
+ </button>
87
+ </div>
88
 
89
+ <p class="error-footer">
90
+ <a href="{{ url_for('home') }}">AI Medical Intelligence Pipeline</a> β€” CT Scan Analysis
91
+ </p>
92
+ </div>
93
  </body>
94
+
95
+ </html>
templates/auth/forgot_password.html CHANGED
@@ -4,6 +4,10 @@
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Forgot Password β€” ICH Screening</title>
 
 
 
 
7
  <meta name="description" content="Reset your ICH Screening account password."/>
8
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
 
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Forgot Password β€” ICH Screening</title>
7
+ <!-- Favicon -->
8
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
11
  <meta name="description" content="Reset your ICH Screening account password."/>
12
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
templates/auth/login.html CHANGED
@@ -4,6 +4,10 @@
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Login β€” AI Medical Intelligence Pipeline</title>
 
 
 
 
7
  <meta name="description" content="Sign in to the AI Medical Intelligence Pipeline dashboard."/>
8
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
 
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Login β€” AI Medical Intelligence Pipeline</title>
7
+ <!-- Favicon -->
8
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
11
  <meta name="description" content="Sign in to the AI Medical Intelligence Pipeline dashboard."/>
12
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
templates/auth/register.html CHANGED
@@ -4,6 +4,10 @@
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Create Account β€” ICH Screening</title>
 
 
 
 
7
  <meta name="description" content="Register for the ICH Screening AI platform."/>
8
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
 
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Create Account β€” ICH Screening</title>
7
+ <!-- Favicon -->
8
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
11
  <meta name="description" content="Register for the ICH Screening AI platform."/>
12
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
templates/auth/reset_password.html CHANGED
@@ -4,6 +4,10 @@
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Reset Password β€” AI Medical Intelligence Pipeline</title>
 
 
 
 
7
  <meta name="description" content="Set a new password for your account."/>
8
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
 
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Reset Password β€” AI Medical Intelligence Pipeline</title>
7
+ <!-- Favicon -->
8
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
11
  <meta name="description" content="Set a new password for your account."/>
12
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
templates/auth/verify_otp.html CHANGED
@@ -4,6 +4,10 @@
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Verify Email OTP β€” AI Medical Intelligence Pipeline</title>
 
 
 
 
7
  <meta name="description" content="Verify your email with one-time password."/>
8
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
 
4
  <meta charset="utf-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
  <title>Verify Email OTP β€” AI Medical Intelligence Pipeline</title>
7
+ <!-- Favicon -->
8
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
11
  <meta name="description" content="Verify your email with one-time password."/>
12
  <link rel="preconnect" href="https://fonts.googleapis.com"/>
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
templates/base.html CHANGED
@@ -4,6 +4,10 @@
4
  <meta charset="utf-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
  <title>{% block title %}AI Medical Intelligence Pipeline{% endblock %}</title>
 
 
 
 
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
  <link
 
4
  <meta charset="utf-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
  <title>{% block title %}AI Medical Intelligence Pipeline{% endblock %}</title>
7
+ <!-- Favicon -->
8
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
9
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
10
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
11
  <link rel="preconnect" href="https://fonts.googleapis.com" />
12
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
13
  <link
templates/landing.html CHANGED
@@ -5,6 +5,10 @@
5
  <meta charset="utf-8" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <title>ICH Detection Pipeline β€” AI-Powered CT Brain Scan Analysis</title>
 
 
 
 
8
  <meta name="description"
9
  content="Clinical-grade intracranial hemorrhage detection using deep learning. Upload DICOM CT scans and get instant AI-powered screening with Grad-CAM heatmaps and triage reports." />
10
  <link rel="preconnect" href="https://fonts.googleapis.com" />
 
5
  <meta charset="utf-8" />
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
  <title>ICH Detection Pipeline β€” AI-Powered CT Brain Scan Analysis</title>
8
+ <!-- Favicon -->
9
+ <link rel="icon" type="image/x-icon" href="{{ url_for('static', filename='favicon.ico') }}" />
10
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ url_for('static', filename='favicon-192.png') }}" />
11
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ url_for('static', filename='apple-touch-icon.png') }}" />
12
  <meta name="description"
13
  content="Clinical-grade intracranial hemorrhage detection using deep learning. Upload DICOM CT scans and get instant AI-powered screening with Grad-CAM heatmaps and triage reports." />
14
  <link rel="preconnect" href="https://fonts.googleapis.com" />