* { box-sizing: border-box; }

        body {
            margin: 0;
            min-height: 100vh;
            font-family: Arial, Helvetica, sans-serif;
            background: #f1f5f9;
            color: #172033;
            display: grid;
            place-items: center;
            padding: 20px;
        }

        .login-card {
            width: 100%;
            max-width: 420px;
            background: white;
            border-radius: 18px;
            padding: 34px;
            box-shadow: 0 15px 45px rgba(15, 23, 42, .10);
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 28px;
        }

        .brand-icon {
            width: 48px;
            height: 48px;
            background: linear-gradient(135deg, #2563eb, #7c3aed);
            color: white;
            border-radius: 14px;
            display: grid;
            place-items: center;
            font-size: 23px;
            font-weight: bold;
        }

        .brand-name {
            font-size: 20px;
            font-weight: 750;
            color: #172554;
        }

        .brand-subtitle {
            font-size: 19px;
            font-weight: 800;
            letter-spacing: 0.7px;
            color: #2563eb;
            margin-top: 6px;
        }

        h1 { font-size: 23px; margin: 0 0 8px; }

        .intro {
            font-size: 13px;
            color: #64748b;
            margin-bottom: 26px;
        }

        label {
            display: block;
            font-size: 13px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .field { margin-bottom: 19px; }

        input {
            width: 100%;
            height: 46px;
            border: 1px solid #cbd5e1;
            border-radius: 9px;
            padding: 0 13px;
            font-size: 14px;
            outline: none;
        }

        input:focus {
            border-color: #2563eb;
            box-shadow: 0 0 0 3px rgba(37,99,235,.12);
        }

        .password-wrap { position: relative; }

        .password-wrap input { padding-right: 70px; }

        .toggle {
            position: absolute;
            right: 8px;
            top: 7px;
            border: 0;
            background: transparent;
            color: #2563eb;
            cursor: pointer;
            padding: 8px;
        }

        .submit {
            width: 100%;
            height: 46px;
            background: #2563eb;
            color: white;
            border: 0;
            border-radius: 9px;
            font-weight: 700;
            font-size: 14px;
            cursor: pointer;
        }

        .submit:hover { background: #1d4ed8; }

        .error {
            background: #fef2f2;
            color: #b91c1c;
            border: 1px solid #fecaca;
            padding: 12px;
            border-radius: 9px;
            margin-bottom: 18px;
            font-size: 13px;
        }

        .footer {
            margin-top: 28px;
            padding-top: 18px;
            border-top: 1px solid #e2e8f0;
            text-align: center;
            font-size: 11px;
            color: #64748b;
        }

        @media (max-width: 480px) {
            .login-card { padding: 24px; }
        }
