{% extends "base.html" %} {% load i18n %} {% load get_banner %} {% load static %} {% block add_styles %} {{ block.super }} .login-wrapper { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem 1rem; /* The brand "blueprint grid" backdrop: a Dust gradient lit by a soft Electric Orange glow, under a faint Midnight grid. */ background: radial-gradient(60rem 30rem at 15% 0%, rgba(204, 58, 0, 0.14), transparent 60%), linear-gradient(rgba(0, 48, 56, 0.07) 1px, transparent 1px) 0 0 / 2.5rem 2.5rem, linear-gradient(90deg, rgba(0, 48, 56, 0.07) 1px, transparent 1px) 0 0 / 2.5rem 2.5rem, linear-gradient(160deg, #fff8f0 0%, #f6e7d6 100%); } .login-card { width: 100%; max-width: 26rem; background: var(--color-surface); border-radius: 0.75rem; border: 1px solid var(--color-border); box-shadow: 0 20px 60px rgba(0, 18, 21, 0.12); padding: 2.5rem 2rem; } .login-card .login-logo { text-align: center; margin-bottom: 1.75rem; } .login-card .login-logo img { display: block; margin-inline: auto; height: 1.75rem; width: auto; max-width: 100%; } .login-card .login-title { text-align: center; font-size: 1.375rem; font-weight: 700; color: var(--color-text); margin-bottom: 0.25rem; letter-spacing: -0.02em; } .login-card .login-subtitle { text-align: center; font-size: 0.875rem; color: var(--color-text-muted); margin-bottom: 1.75rem; } .login-card .form-group { margin-bottom: 1rem; } .login-card .control-label { font-size: 0.8125rem; font-weight: 500; color: var(--color-text); margin-bottom: 0.375rem; } .login-card .form-control { height: 2.75rem; font-size: 0.9375rem; border-color: var(--color-border); border-radius: 0.5rem; transition: border-color 150ms, box-shadow 150ms; } .login-card .form-control:focus { border-color: var(--color-dd-interactive-700); box-shadow: 0 0 0 3px rgba(0, 95, 115, 0.15); } .login-btn { width: 100%; height: 2.75rem; font-size: 0.9375rem; font-weight: 600; border-radius: 0.5rem; background: var(--color-dd-primary-700); color: var(--color-dd-on-primary); border: none; transition: background-color 150ms, transform 100ms, box-shadow 150ms; } .login-btn:hover { background: var(--color-dd-primary-800); box-shadow: 0 2px 8px rgba(0, 18, 21, 0.2); } .login-btn:active { transform: translateY(1px); } .login-links { display: flex; justify-content: center; gap: 1.5rem; margin-top: 1.25rem; font-size: 0.8125rem; } .login-links a { color: var(--color-dd-interactive-700); font-weight: 500; } .login-links a:hover { color: var(--color-dd-interactive-800); text-decoration: underline; } {% endblock %} {% block content %}