/* General layout */ body { margin: 0; font-family: 'Roboto', 'RobotoDraft', Helvetica, Arial, sans-serif; background-color: #29292e; color: #e5e7eb; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; } /* Container */ .container { width: 90%; max-width: 500px; padding: 2rem; box-sizing: border-box; } /* Header */ .header { text-align: center; margin-bottom: 2rem; } .logo { height: 150px; } .subtitle { color: #b0b0b5; font-size: 1.2rem; line-height: 1.4; } /* Card */ .card { background-color: #242429; border-radius: 12px; padding: 2rem; box-shadow: 0 0 20px rgba(0, 0, 0, 0.25); } .card h2 { margin-top: 0; color: #f3f4f6; text-align: center; } /* Form */ form { display: flex; flex-direction: column; margin-top: 1.5rem; } label { font-size: 0.9rem; color: #c5c6ca; margin-bottom: 0.3rem; } .required { color: #ef5350; } input[type='text'] { background-color: #1b1b1f; border: 1px solid #3c3c44; color: #f9fafb; padding: 0.75rem; border-radius: 8px; outline: none; font-size: 1rem; margin-bottom: 1.2rem; transition: border-color 0.2s ease; } input[type='text']:focus { border-color: #cecece; } .error-message { color: #f87171; font-size: 0.85rem; margin-top: 0; margin-bottom: 1rem; height: 1rem; } /* Button */ button { background-color: #4caf50; color: white; font-weight: 600; border: none; padding: 0.9rem; border-radius: 8px; cursor: pointer; font-size: 1rem; transition: background-color 0.2s; } button:hover:enabled { background-color: #43a047; } button:disabled { opacity: 0.5; cursor: not-allowed; } /* Footer */ .footer { text-align: center; margin-top: 2rem; color: #9ca3af; font-size: 0.8rem; } /* Responsive adjustments */ @media (max-width: 480px) { .container { max-width: 90%; padding: 1.5rem; } .subtitle { font-size: 1rem; } .card { padding: 1.5rem; } .logo { height: 100px; } button { padding: 0.8rem; font-size: 0.95rem; } }