Files
intercept/static/css/login.css
Jon Ander Oribe aa763b0f81 Redesign login page with improved UI and error display
Revamps the login page layout and styles for a more modern, 'hacker' terminal look. Adds animated background effects, updates the login box and input styling, and enhances error messages with a new format. Also removes the tracked intercept.db file and ensures it is ignored in .gitignore.
2026-01-18 09:03:17 +01:00

123 lines
2.9 KiB
CSS

/* Container Layout */
.landing-overlay {
position: fixed;
top: 0; left: 0; width: 100%; height: 100%;
background: var(--bg-primary);
display: flex;
flex-direction: column; /* Stack logo, title, box vertically */
align-items: center;
justify-content: center;
overflow: hidden;
}
.landing-content {
position: relative;
z-index: 10;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
}
/* Background Effects */
.landing-scanline {
position: absolute;
top: 0; left: 0; width: 100%; height: 2px;
background: linear-gradient(90deg, transparent, var(--accent-cyan), transparent);
animation: scanlineMove 5s linear infinite;
opacity: 0.4;
z-index: 1; /* Behind content */
pointer-events: none;
}
@keyframes scanlineMove {
0% { top: 0; }
100% { top: 100%; }
}
/* Typography */
.landing-title {
font-family: 'JetBrains Mono', monospace;
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.4em;
color: var(--text-primary);
margin: 20px 0 5px 0;
text-indent: 0.4em;
text-align: center;
}
.landing-tagline {
font-family: 'JetBrains Mono', monospace;
color: var(--accent-cyan);
font-size: 0.9rem;
letter-spacing: 0.15em;
margin-bottom: 30px;
}
/* The Login Box */
.login-box {
background: var(--bg-secondary);
border: 1px solid var(--border-color);
padding: 30px;
border-radius: 4px;
width: 380px;
z-index: 20;
box-shadow: 0 0 40px rgba(0, 0, 0, 0.6), inset 0 0 20px var(--accent-cyan-dim);
box-sizing: border-box; /* Ensures padding doesn't hide inputs */
display: flex;
flex-direction: column;
}
/* Hacker Style Error */
.flash-error {
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: var(--accent-red);
background: rgba(239, 68, 68, 0.1);
border-left: 3px solid var(--accent-red);
padding: 10px;
margin-bottom: 20px;
display: flex;
gap: 10px;
text-transform: uppercase;
box-sizing: border-box;
}
.error-prefix { font-weight: 700; opacity: 0.7; }
/* Inputs */
.form-input {
width: 100%;
background: var(--bg-primary);
border: 1px solid var(--border-color);
color: var(--accent-cyan);
padding: 12px;
margin-bottom: 15px;
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
outline: none;
box-sizing: border-box; /* Crucial for visibility */
}
.landing-enter-btn {
width: 100%;
background: transparent;
border: 2px solid var(--accent-cyan);
color: var(--accent-cyan);
padding: 15px;
font-family: 'JetBrains Mono', monospace;
font-weight: 600;
letter-spacing: 3px;
cursor: pointer;
transition: all 0.3s ease;
box-sizing: border-box;
}
.landing-version {
margin-top: 25px;
font-family: 'JetBrains Mono', monospace;
font-size: 10px;
color: rgba(255, 255, 255, 0.3);
letter-spacing: 2px;
}