diff --git a/static/css/qr_destination.css b/static/css/qr_destination.css index 490f683..175bf2e 100644 --- a/static/css/qr_destination.css +++ b/static/css/qr_destination.css @@ -1,6 +1,6 @@ -/* QR Destination Page Styles */ +/* QR Destination Page Styles - Light Mode Only */ :root { - /* Color Palette */ + /* Color Palette - Light Mode Only */ --primary-color: #2563eb; --primary-hover: #1d4ed8; --success-color: #059669; @@ -8,7 +8,7 @@ --danger-color: #dc2626; --info-color: #0891b2; - /* Neutral Colors */ + /* Neutral Colors - Light Theme Fixed */ --white: #ffffff; --gray-50: #f8fafc; --gray-100: #f1f5f9; @@ -36,6 +36,11 @@ --transition: all 0.15s ease-in-out; } +/* Force Light Mode - Override any dark mode preferences */ +* { + color-scheme: light only !important; +} + /* Reset and Base */ * { margin: 0; @@ -45,10 +50,12 @@ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; - background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)); + background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)) !important; min-height: 100vh; - color: var(--gray-900); + color: var(--gray-900) !important; line-height: 1.6; + /* Force light mode */ + color-scheme: light !important; } /* Container */ @@ -65,7 +72,7 @@ body { /* Header Section */ .destination-header { text-align: center; - color: var(--white); + color: var(--white) !important; margin-bottom: 1rem; } @@ -75,12 +82,13 @@ body { justify-content: center; width: 80px; height: 80px; - background: rgba(255, 255, 255, 0.2); + background: rgba(255, 255, 255, 0.2) !important; border-radius: 50%; font-size: 2rem; margin-bottom: 1rem; backdrop-filter: blur(10px); - border: 2px solid rgba(255, 255, 255, 0.3); + border: 2px solid rgba(255, 255, 255, 0.3) !important; + color: var(--white) !important; } .destination-header h1 { @@ -88,6 +96,7 @@ body { font-weight: 700; margin-bottom: 0.5rem; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + color: var(--white) !important; } .location-info { @@ -97,129 +106,127 @@ body { gap: 0.5rem; font-size: 1.125rem; opacity: 0.9; + color: var(--white) !important; } -/* Card Styles */ +/* Card Styles - Force Light Theme */ .info-card, .checkin-card, .success-card { - background: var(--white); + background: var(--white) !important; border-radius: var(--radius-2xl); box-shadow: var(--shadow-xl); - overflow: hidden; - animation: slideUp 0.6s ease-out; + padding: 2rem; + width: 100%; + color: var(--gray-900) !important; } -@keyframes slideUp { - from { - opacity: 0; - transform: translateY(30px); - } - to { - opacity: 1; - transform: translateY(0); - } +.info-card { + background: rgba(255, 255, 255, 0.95) !important; + backdrop-filter: blur(10px); } -/* Info Card */ -.info-header { - background: linear-gradient(135deg, var(--gray-50), var(--white)); - padding: 1.5rem; - border-bottom: 1px solid var(--gray-200); +/* Header Styles for Cards */ +.info-header, +.checkin-header, +.success-header { + text-align: center; + margin-bottom: 2rem; } -.info-header h2 { +.info-header h2, +.checkin-header h2, +.success-header h2 { display: flex; align-items: center; - gap: 0.5rem; - font-size: 1.25rem; - font-weight: 600; - color: var(--gray-800); + justify-content: center; + gap: 0.75rem; + font-size: 1.75rem; + font-weight: 700; + color: var(--gray-900) !important; + margin-bottom: 0.5rem; } +.info-header h2 i, +.checkin-header h2 i, +.success-header h2 i { + color: var(--primary-color) !important; +} + +.info-header p, +.checkin-header p { + color: var(--gray-600) !important; + font-size: 1rem; + line-height: 1.5; +} + +/* Info Details */ .info-details { - padding: 1.5rem; - display: grid; - gap: 1rem; + display: flex; + flex-direction: column; + gap: 1.5rem; } .detail-item { display: flex; - align-items: flex-start; + align-items: center; gap: 1rem; padding: 1rem; - background: var(--gray-50); + background: var(--gray-50) !important; border-radius: var(--radius-lg); - border: 1px solid var(--gray-200); transition: var(--transition); + border: 1px solid var(--gray-200) !important; } .detail-item:hover { - background: var(--gray-100); - transform: translateY(-1px); + background: var(--gray-100) !important; + transform: translateY(-2px); + box-shadow: var(--shadow-md); } .detail-icon { display: flex; align-items: center; justify-content: center; - width: 40px; - height: 40px; - background: var(--primary-color); - color: var(--white); + width: 48px; + height: 48px; + background: var(--primary-color) !important; + color: var(--white) !important; border-radius: var(--radius-lg); - font-size: 1.125rem; + font-size: 1.25rem; flex-shrink: 0; } .detail-content { flex: 1; - min-width: 0; } -.detail-content strong { - display: block; +.detail-label { font-weight: 600; - color: var(--gray-700); + color: var(--gray-900) !important; margin-bottom: 0.25rem; font-size: 0.875rem; + text-transform: uppercase; + letter-spacing: 0.05em; } -.detail-content span { - color: var(--gray-900); - font-size: 1rem; - word-break: break-word; -} - -/* Check-in Card */ -.checkin-header { - background: linear-gradient(135deg, var(--success-color), #047857); - color: var(--white); - padding: 2rem 1.5rem; - text-align: center; -} - -.checkin-header h2 { - display: flex; - align-items: center; - justify-content: center; - gap: 0.5rem; - font-size: 1.5rem; - font-weight: 700; - margin-bottom: 0.5rem; -} - -.checkin-header p { - opacity: 0.9; - font-size: 1rem; +.detail-value { + color: var(--gray-700) !important; + font-size: 1.125rem; + font-weight: 500; } +/* Form Styles - Light Theme */ .checkin-form { - padding: 2rem 1.5rem; + display: flex; + flex-direction: column; + gap: 1.5rem; } .form-group { - margin-bottom: 1.5rem; + display: flex; + flex-direction: column; + gap: 0.5rem; } .form-group label { @@ -227,141 +234,110 @@ body { align-items: center; gap: 0.5rem; font-weight: 600; - color: var(--gray-700); - margin-bottom: 0.75rem; + color: var(--gray-900) !important; font-size: 1rem; } +.form-group label i { + color: var(--primary-color) !important; +} + .form-group input { - width: 100%; - padding: 1rem; - border: 2px solid var(--gray-200); + padding: 1rem 1.25rem; + border: 2px solid var(--gray-300) !important; border-radius: var(--radius-lg); font-size: 1.125rem; transition: var(--transition); - background-color: var(--white); - text-align: center; - font-weight: 600; - text-transform: uppercase; + background: var(--white) !important; + color: var(--gray-900) !important; } .form-group input:focus { outline: none; - border-color: var(--success-color); - box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); - transform: scale(1.02); + border-color: var(--primary-color) !important; + box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important; } .form-group input::placeholder { - text-transform: none; - font-weight: normal; - color: var(--gray-400); + color: var(--gray-500) !important; } .form-help { - display: block; - margin-top: 0.5rem; font-size: 0.875rem; - color: var(--gray-500); - text-align: center; + color: var(--gray-600) !important; + margin-top: 0.25rem; } -.form-actions { - margin-top: 2rem; -} - -/* Button Styles */ +/* Button Styles - Light Theme */ .btn { display: inline-flex; align-items: center; justify-content: center; - width: 100%; - padding: 1.25rem 2rem; + gap: 0.5rem; + padding: 1rem 2rem; border: none; - border-radius: var(--radius-xl); + border-radius: var(--radius-lg); font-size: 1.125rem; font-weight: 600; - cursor: pointer; - transition: var(--transition); text-decoration: none; - position: relative; - overflow: hidden; + transition: var(--transition); + cursor: pointer; + min-height: 3rem; } .btn-primary { - background: linear-gradient(135deg, var(--success-color), #047857); - color: var(--white); - box-shadow: var(--shadow-lg); + background: var(--primary-color) !important; + color: var(--white) !important; } .btn-primary:hover { - background: linear-gradient(135deg, #047857, #065f46); + background: var(--primary-hover) !important; transform: translateY(-2px); - box-shadow: var(--shadow-xl); -} - -.btn-primary:active { - transform: translateY(0); + box-shadow: var(--shadow-lg); } .btn-secondary { - background: var(--gray-600); - color: var(--white); - box-shadow: var(--shadow); + background: var(--gray-500) !important; + color: var(--white) !important; } .btn-secondary:hover { - background: var(--gray-700); - transform: translateY(-1px); + background: var(--gray-600) !important; + transform: translateY(-2px); + box-shadow: var(--shadow-lg); } .btn:disabled { - opacity: 0.7; + opacity: 0.6; cursor: not-allowed; transform: none !important; } -.btn-content, -.btn-loader { +.btn-content { display: flex; align-items: center; - justify-content: center; gap: 0.5rem; } -/* Status Messages */ -.status-message { - margin: 1rem 1.5rem; - padding: 1rem; - border-radius: var(--radius-lg); - font-weight: 500; - text-align: center; +.btn-loader { + display: none; + align-items: center; + gap: 0.5rem; } -.status-message.success { - background: rgba(5, 150, 105, 0.1); - color: var(--success-color); - border: 1px solid rgba(5, 150, 105, 0.3); +.btn-loader i { + animation: spin 1s linear infinite; } -.status-message.error { - background: rgba(220, 38, 38, 0.1); - color: var(--danger-color); - border: 1px solid rgba(220, 38, 38, 0.3); +@keyframes spin { + from { transform: rotate(0deg); } + to { transform: rotate(360deg); } } -.status-message.warning { - background: rgba(217, 119, 6, 0.1); - color: var(--warning-color); - border: 1px solid rgba(217, 119, 6, 0.3); -} - -/* Success Card */ +/* Success Card Styles - Light Theme */ .success-card { text-align: center; - padding: 2rem 1.5rem; - background: linear-gradient(135deg, rgba(5, 150, 105, 0.05), rgba(5, 150, 105, 0.1)); - border: 2px solid var(--success-color); + background: var(--white) !important; } .success-icon { @@ -370,29 +346,38 @@ body { justify-content: center; width: 100px; height: 100px; - background: var(--success-color); - color: var(--white); + background: var(--success-color) !important; + color: var(--white) !important; border-radius: 50%; font-size: 3rem; margin-bottom: 1.5rem; - animation: successPulse 2s infinite; + animation: successPulse 1s ease-out; } @keyframes successPulse { - 0% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0.4); } - 70% { box-shadow: 0 0 0 10px rgba(5, 150, 105, 0); } - 100% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0); } + 0% { + transform: scale(0); + opacity: 0; + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + opacity: 1; + } } .success-card h2 { font-size: 2rem; font-weight: 700; - color: var(--success-color); - margin-bottom: 2rem; + color: var(--success-color) !important; + margin-bottom: 1.5rem; } .success-details { - display: grid; + display: flex; + flex-direction: column; gap: 1rem; margin-bottom: 2rem; text-align: left; @@ -402,131 +387,68 @@ body { display: flex; justify-content: space-between; align-items: center; - padding: 1rem; - background: var(--white); - border-radius: var(--radius-lg); - border: 1px solid var(--gray-200); + padding: 0.75rem 1rem; + background: var(--gray-50) !important; + border-radius: var(--radius); + border-left: 4px solid var(--success-color) !important; } .success-item strong { - color: var(--gray-700); + color: var(--gray-900) !important; font-weight: 600; } .success-item span { - color: var(--gray-900); + color: var(--gray-700) !important; font-weight: 500; } .success-actions { - margin-top: 2rem; -} - -/* Error Card */ -.error-card { - background: var(--white); - border-radius: var(--radius-2xl); - box-shadow: var(--shadow-xl); - padding: 3rem 2rem; - text-align: center; - animation: slideUp 0.6s ease-out; -} - -.error-icon { - display: inline-flex; - align-items: center; - justify-content: center; - width: 100px; - height: 100px; - background: rgba(217, 119, 6, 0.1); - color: var(--warning-color); - border-radius: 50%; - font-size: 3rem; - margin-bottom: 2rem; -} - -.error-card h1 { - font-size: 2rem; - font-weight: 700; - color: var(--gray-900); - margin-bottom: 1rem; -} - -.error-message { - margin-bottom: 2rem; -} - -.error-message p { - color: var(--gray-600); - font-size: 1.125rem; - margin-bottom: 1.5rem; -} - -.possible-reasons { - text-align: left; - background: var(--gray-50); - padding: 1.5rem; - border-radius: var(--radius-lg); - border: 1px solid var(--gray-200); -} - -.possible-reasons h3 { - font-size: 1.125rem; - font-weight: 600; - color: var(--gray-800); - margin-bottom: 1rem; -} - -.possible-reasons ul { - list-style: none; - padding: 0; - margin: 0; -} - -.possible-reasons li { - padding: 0.5rem 0; - color: var(--gray-600); - position: relative; - padding-left: 1.5rem; -} - -.possible-reasons li::before { - content: "•"; - position: absolute; - left: 0; - color: var(--warning-color); - font-weight: bold; -} - -.error-actions { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1rem; - margin-bottom: 2rem; -} - -.help-section { - padding: 1.5rem; - background: var(--gray-50); - border-radius: var(--radius-lg); - border: 1px solid var(--gray-200); -} - -.help-section p { display: flex; - align-items: center; - gap: 0.5rem; - color: var(--gray-600); - font-size: 0.875rem; - margin: 0; + justify-content: center; + gap: 1rem; } -/* Footer */ +/* Status Message Styles - Light Theme */ +.status-message { + padding: 1rem 1.25rem; + border-radius: var(--radius-lg); + font-weight: 500; + margin: 1rem 0; + border-left: 4px solid transparent; + background: var(--white) !important; +} + +.status-message.success { + background: var(--gray-50) !important; + color: var(--success-color) !important; + border-left-color: var(--success-color) !important; +} + +.status-message.error { + background: var(--gray-50) !important; + color: var(--danger-color) !important; + border-left-color: var(--danger-color) !important; +} + +.status-message.warning { + background: var(--gray-50) !important; + color: var(--warning-color) !important; + border-left-color: var(--warning-color) !important; +} + +.status-message.info { + background: var(--gray-50) !important; + color: var(--info-color) !important; + border-left-color: var(--info-color) !important; +} + +/* Footer Styles - Light Theme */ .destination-footer { text-align: center; - color: rgba(255, 255, 255, 0.8); + color: rgba(255, 255, 255, 0.8) !important; + font-size: 0.875rem; margin-top: auto; - padding-top: 2rem; } .destination-footer p { @@ -535,21 +457,26 @@ body { justify-content: center; gap: 0.5rem; margin-bottom: 0.5rem; + color: rgba(255, 255, 255, 0.9) !important; +} + +.destination-footer i { + color: rgba(255, 255, 255, 0.7) !important; } .destination-footer small { opacity: 0.7; - font-size: 0.875rem; + color: rgba(255, 255, 255, 0.6) !important; } -/* Loading Overlay */ +/* Loading Overlay - Light Theme */ .loading-overlay { position: fixed; top: 0; left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.8); + right: 0; + bottom: 0; + background: rgba(255, 255, 255, 0.95) !important; display: flex; align-items: center; justify-content: center; @@ -557,61 +484,174 @@ body { } .loading-spinner { - background: var(--white); - padding: 2rem; - border-radius: var(--radius-xl); text-align: center; - box-shadow: var(--shadow-xl); + color: var(--primary-color) !important; } .loading-spinner i { - font-size: 2rem; - color: var(--primary-color); + font-size: 3rem; margin-bottom: 1rem; + color: var(--primary-color) !important; } .loading-spinner p { - color: var(--gray-700); + font-size: 1.125rem; font-weight: 500; - margin: 0; + color: var(--gray-700) !important; } -/* Form Validation States */ -.form-group input.error { - border-color: var(--danger-color); - box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1); +/* Language Selector Styles - Light Theme Enhanced */ +.language-selector { + position: absolute; + top: 1rem; + right: 1rem; + z-index: 1000; } -.form-group input.success { - border-color: var(--success-color); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23059669'%3e%3cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right 1rem center; - background-size: 1rem; +.language-toggle { + background: rgba(255, 255, 255, 0.2) !important; + border: 2px solid rgba(255, 255, 255, 0.3) !important; + border-radius: 50px; + padding: 0.5rem 1rem; + color: white !important; + cursor: pointer; + transition: all 0.2s ease; + backdrop-filter: blur(10px); + font-size: 0.875rem; + font-weight: 600; + display: flex; + align-items: center; + gap: 0.5rem; + outline: none; } -/* Animations */ -.pulse { - animation: pulse 2s infinite; +.language-toggle:hover { + background: rgba(255, 255, 255, 0.3) !important; + border-color: rgba(255, 255, 255, 0.5) !important; + transform: translateY(-1px); } -@keyframes pulse { - 0%, 100% { opacity: 1; } - 50% { opacity: 0.7; } +.language-toggle:active { + background: rgba(255, 255, 255, 0.4) !important; + transform: translateY(0); } -.shake { - animation: shake 0.5s ease-in-out; +.language-toggle:focus { + box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3) !important; } -@keyframes shake { - 0%, 100% { transform: translateX(0); } - 25% { transform: translateX(-5px); } - 75% { transform: translateX(5px); } +.language-toggle i { + font-size: 1rem; + color: white !important; } -/* Responsive Design */ +/* Smooth transitions - SIMPLIFIED */ +.fade-transition { + transition: opacity 0.15s ease; +} + +.fade-transition.active { + opacity: 1; +} + +/* Additional Location Tracking Styles - Light Theme */ +.location-status { + background: var(--gray-50) !important; + border: 1px solid var(--gray-200) !important; + border-radius: 8px; + padding: 12px 16px; + margin: 15px 0; + font-size: 14px; + display: none; + align-items: center; + gap: 8px; + color: var(--gray-700) !important; +} + +.location-status.loading { + background: #e0f2fe !important; + border-color: #0284c7 !important; + color: #0c4a6e !important; +} + +.location-status.success { + background: #dcfce7 !important; + border-color: #059669 !important; + color: #14532d !important; +} + +.location-status.error { + background: #fee2e2 !important; + border-color: #dc2626 !important; + color: #7f1d1d !important; +} + +.location-info { + background: var(--gray-50) !important; + border: 1px solid var(--gray-200) !important; + border-radius: 8px; + padding: 15px; + margin: 15px 0; + display: none; + font-size: 13px; + color: var(--gray-700) !important; +} + +.location-info h4 { + margin: 0 0 10px 0; + font-size: 14px; + color: var(--gray-900) !important; +} + +.coord-row { + display: flex; + justify-content: space-between; + padding: 4px 0; + border-bottom: 1px solid var(--gray-200) !important; + color: var(--gray-700) !important; +} + +.coord-row:last-child { + border-bottom: none; +} + +.coord-value { + font-family: 'Courier New', monospace; + font-weight: bold; + color: var(--gray-900) !important; +} + +.location-controls { + text-align: center; + margin: 10px 0; +} + +.btn-small { + background: var(--gray-500) !important; + color: white !important; + border: none; + padding: 6px 12px; + border-radius: 4px; + cursor: pointer; + font-size: 12px; + margin: 0 4px; + transition: background-color 0.2s; +} + +.btn-small:hover { + background: var(--gray-600) !important; +} + +/* Mobile responsive adjustments */ @media (max-width: 768px) { + .language-selector { + position: relative; + top: 0; + right: 0; + text-align: center; + margin-bottom: 1rem; + } + .destination-container { padding: 1rem 0.5rem; gap: 1.5rem; @@ -629,13 +669,9 @@ body { .info-card, .checkin-card, - .success-card, - .error-card { + .success-card { margin: 0 0.5rem; - } - - .checkin-form { - padding: 1.5rem 1rem; + padding: 1.5rem; } .detail-item { @@ -648,10 +684,6 @@ body { align-self: center; } - .error-actions { - grid-template-columns: 1fr; - } - .success-details { text-align: center; } @@ -672,11 +704,6 @@ body { font-size: 1.75rem; } - .info-details, - .success-details { - gap: 0.75rem; - } - .form-group input { font-size: 1rem; padding: 0.875rem; @@ -687,38 +714,32 @@ body { font-size: 1rem; } - .error-card { - padding: 2rem 1rem; - } - - .success-icon, - .error-icon { + .success-icon { width: 80px; height: 80px; font-size: 2.5rem; } } -/* High Contrast Mode */ +/* Accessibility - High Contrast Mode */ @media (prefers-contrast: high) { .info-card, .checkin-card, - .success-card, - .error-card { - border: 2px solid var(--gray-900); + .success-card { + border: 2px solid var(--gray-900) !important; } .detail-item { - border: 1px solid var(--gray-900); + border: 1px solid var(--gray-900) !important; } .form-group input { - border: 2px solid var(--gray-900); + border: 2px solid var(--gray-900) !important; } .btn-primary { - background: var(--gray-900); - border: 2px solid var(--white); + background: var(--gray-900) !important; + border: 2px solid var(--white) !important; } } @@ -743,8 +764,8 @@ body { /* Print Styles */ @media print { body { - background: white; - color: black; + background: white !important; + color: black !important; } .destination-container { @@ -756,90 +777,63 @@ body { .checkin-card, .success-card { box-shadow: none; - border: 1px solid #000; + border: 1px solid #000 !important; break-inside: avoid; } .btn, - .loading-overlay { - display: none; + .loading-overlay, + .language-selector { + display: none !important; } .destination-header { - color: black; + color: black !important; } .header-icon { - background: white; - border: 2px solid black; - color: black; + background: white !important; + border: 2px solid black !important; + color: black !important; } } -/* Dark Mode Support */ -@media (prefers-color-scheme: light) { +/* Override any dark mode preferences - IMPORTANT */ +@media (prefers-color-scheme: dark) { :root { - --white: #1a1a1a; - --gray-50: #262626; - --gray-100: #2d2d2d; - --gray-200: #404040; - --gray-300: #525252; - --gray-400: #737373; - --gray-500: #a3a3a3; - --gray-600: #d4d4d4; - --gray-700: #e5e5e5; - --gray-800: #f5f5f5; - --gray-900: #ffffff; + /* Keep light theme variables even when system prefers dark */ + --white: #ffffff !important; + --gray-50: #f8fafc !important; + --gray-100: #f1f5f9 !important; + --gray-200: #e2e8f0 !important; + --gray-300: #cbd5e1 !important; + --gray-400: #94a3b8 !important; + --gray-500: #64748b !important; + --gray-600: #475569 !important; + --gray-700: #334155 !important; + --gray-800: #1e293b !important; + --gray-900: #0f172a !important; + } + + /* Force light mode styles */ + body { + background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)) !important; + color: var(--gray-900) !important; } } -/* Custom Scrollbar */ -::-webkit-scrollbar { - width: 8px; - height: 8px; -} - -::-webkit-scrollbar-track { - background: var(--gray-100); - border-radius: var(--radius); -} - -::-webkit-scrollbar-thumb { - background: var(--gray-300); - border-radius: var(--radius); -} - -::-webkit-scrollbar-thumb:hover { - background: var(--gray-400); -} - -/* Selection Styles */ -::selection { - background: rgba(37, 99, 235, 0.2); - color: var(--gray-900); -} - -/* Focus Styles for Accessibility */ -.btn:focus, -input:focus { - outline: 2px solid var(--primary-color); - outline-offset: 2px; -} - -/* Utility Classes */ -.text-center { text-align: center; } -.text-left { text-align: left; } -.text-right { text-align: right; } - -.hidden { display: none !important; } -.sr-only { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - margin: -1px !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; +/* Force override any dark theme attributes */ +[data-theme="dark"] { + /* Reset to light theme */ + --white: #ffffff !important; + --gray-50: #f8fafc !important; + --gray-100: #f1f5f9 !important; + --gray-200: #e2e8f0 !important; + --gray-300: #cbd5e1 !important; + --gray-400: #94a3b8 !important; + --gray-500: #64748b !important; + --gray-600: #475569 !important; + --gray-700: #334155 !important; + --gray-800: #1e293b !important; + --gray-900: #0f172a !important; } \ No newline at end of file diff --git a/templates/qr_destination.html b/templates/qr_destination.html index 53ef70c..c873e9e 100644 --- a/templates/qr_destination.html +++ b/templates/qr_destination.html @@ -1,4 +1,128 @@ + + + + + + Check In - {{ qr_code.name }} + + + +