datahub/datahub-web-react/public/datahub-error-pages.css
david-leifker 04d0a50118
feat(): Basepath support (#14866)
Co-authored-by: Esteban Gutierrez <esteban.gutierrez@acryl.io>
Co-authored-by: Chris Collins <chriscollins3456@gmail.com>
2025-10-01 11:08:38 -05:00

189 lines
3.7 KiB
CSS

:root {
--datahub-primary: #18A3FF;
--datahub-secondary: #EFB300;
--datahub-dark: #16171C;
--datahub-dark-gray: #373A47;
--datahub-medium-gray: #484C5C;
--datahub-light-gray: #D9DBE4;
--datahub-light-blue: #E8F4FF;
--datahub-light-yellow: #FDF4D9;
--datahub-error: #DD3163;
--datahub-success: #079159;
--datahub-white: #FFFFFF;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
body.error-404 {
background: linear-gradient(135deg, var(--datahub-primary) 0%, var(--datahub-dark) 100%);
}
body.error-500 {
background: linear-gradient(135deg, var(--datahub-error) 0%, var(--datahub-dark-gray) 100%);
}
.container {
text-align: center;
color: var(--datahub-white);
max-width: 600px;
padding: 2rem;
animation: fadeIn 0.5s ease-in;
}
.error-code {
font-size: 8rem;
font-weight: 700;
margin: 0;
text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
letter-spacing: -0.05em;
line-height: 1;
}
.error-message {
font-size: 1.75rem;
font-weight: 500;
margin: 1rem 0;
opacity: 0.95;
}
.error-description {
font-size: 1.125rem;
opacity: 0.85;
margin: 2rem 0;
line-height: 1.6;
font-weight: 400;
}
.request-info,
.error-details {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
padding: 1.25rem;
border-radius: 12px;
margin: 2rem 0;
font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
font-size: 0.875rem;
text-align: left;
border: 1px solid rgba(255, 255, 255, 0.15);
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.request-info {
word-break: break-all;
}
.error-details {
max-height: 200px;
overflow-y: auto;
}
.error-details::-webkit-scrollbar {
width: 8px;
}
.error-details::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.05);
border-radius: 4px;
}
.error-details::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.2);
border-radius: 4px;
}
.error-details::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.3);
}
.home-link {
display: inline-block;
padding: 0.875rem 2.5rem;
background: rgba(255, 255, 255, 0.15);
color: var(--datahub-white);
text-decoration: none;
border-radius: 8px;
border: 2px solid rgba(255, 255, 255, 0.25);
font-weight: 500;
font-size: 1rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
margin-top: 2rem;
backdrop-filter: blur(10px);
}
.home-link:hover {
background: rgba(255, 255, 255, 0.25);
transform: translateY(-2px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
border-color: rgba(255, 255, 255, 0.35);
}
.home-link:active {
transform: translateY(0);
}
.datahub-logo {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
font-size: 1.25rem;
font-weight: 600;
opacity: 0.7;
margin-top: 3rem;
letter-spacing: -0.02em;
}
.datahub-logo::before {
content: '';
display: inline-block;
width: 24px;
height: 24px;
background: linear-gradient(135deg, var(--datahub-primary), var(--datahub-secondary));
border-radius: 4px;
opacity: 0.8;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 768px) {
.error-code {
font-size: 5rem;
}
.error-message {
font-size: 1.5rem;
}
.error-description {
font-size: 1rem;
}
.container {
padding: 1.5rem;
}
}
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}