        *,
        *::before,
        *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'DM Sans';
            ,
            sans-serif;
            min-height: 100vh;
            display: flex;
            background: #F8F8F8;
        }

        /* Left panel */
        .panel-left {
            width: 45%;
            background: #1A1A1A;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 60px;
            position: relative;
            overflow: hidden;
        }

        .panel-left::before {
            content: '';
            position: absolute;
            top: -100px;
            right: -100px;
            width: 400px;
            height: 400px;
            background: #C0392B;
            border-radius: 50%;
            opacity: 0.15;
        }

        .panel-left::after {
            content: '';
            position: absolute;
            bottom: -80px;
            left: -80px;
            width: 300px;
            height: 300px;
            background: #C0392B;
            border-radius: 50%;
            opacity: 0.1;
        }

        .brand-block {
            position: relative;
            z-index: 1;
            text-align: center;
        }

        .brand-icon {
            width: 80px;
            height: 80px;
            background: #C0392B;
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 36px;
            margin: 0 auto 24px;
            box-shadow: 0 20px 60px rgba(192, 57, 43, 0.4);
        }

        .brand-name {
            font-family: 'DM Sans';
            font-size: 42px;
            font-weight: 800;
            color: #fff;
            letter-spacing: -1px;
            line-height: 1;
            width: 65%;
            display: inline-block;
        }

        .brand-tagline {
            color: #888;
            font-size: 14px;
            margin-top: 10px;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .brand-divider {
            width: 48px;
            height: 3px;
            background: #C0392B;
            margin: 24px auto;
            border-radius: 2px;
        }

        .brand-desc {
            color: #666;
            font-size: 14px;
            line-height: 1.7;
            max-width: 280px;
            text-align: center;
            display: inline-block;
        }

        /* Right panel */
        .panel-right {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 60px 48px;
        }

        .login-box {
            width: 100%;
            max-width: 420px;
        }

        .login-title {
            font-family: 'DM Sans';
            ;
            font-size: 30px;
            font-weight: 800;
            color: #1A1A1A;
            margin-bottom: 6px;
        }

        .login-sub {
            color: #888;
            font-size: 14px;
            margin-bottom: 36px;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-label {
            display: block;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.8px;
            color: #555;
            margin-bottom: 8px;
        }

        .form-input {
            width: 100%;
            padding: 13px 16px;
            border: 1.5px solid #E8E8E8;
            border-radius: 10px;
            font-size: 15px;
            font-family: 'DM Sans';
            ,
            sans-serif;
            color: #1A1A1A;
            background: #fff;
            transition: border-color .2s, box-shadow .2s;
            outline: none;
        }

        .form-input:focus {
            border-color: #C0392B;
            box-shadow: 0 0 0 3px rgba(192, 57, 43, .1);
        }

        .form-input.is-error {
            border-color: #C0392B;
        }

        .error-msg {
            background: #FADBD8;
            border: 1px solid #F5B7B1;
            color: #96281B;
            padding: 12px 16px;
            border-radius: 10px;
            font-size: 13px;
            margin-bottom: 20px;
        }

        .form-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 24px;
        }

        .remember-wrap {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
            color: #555;
            cursor: pointer;
        }

        .remember-wrap input[type=checkbox] {
            accent-color: #C0392B;
            width: 15px;
            height: 15px;
        }

        .btn-login {
            width: 100%;
            padding: 14px;
            background: #C0392B;
            color: #fff;
            border: none;
            border-radius: 10px;
            font-size: 15px;
            font-weight: 700;
            font-family: 'DM Sans';
            ,
            sans-serif;
            cursor: pointer;
            letter-spacing: 0.3px;
            transition: background .2s, transform .1s, box-shadow .2s;
            box-shadow: 0 4px 15px rgba(192, 57, 43, 0.3);
        }

        .btn-login:hover {
            background: #96281B;
            transform: translateY(-1px);
            box-shadow: 0 8px 25px rgba(192, 57, 43, 0.4);
        }

        .btn-login:active {
            transform: translateY(0);
        }

        .login-footer {
            margin-top: 32px;
            text-align: center;
            font-size: 12px;
            color: #bbb;
        }

        .developed-by {
            color: #96281B;
            text-decoration: none;
            font-weight: 600;
        }


        .btn-login {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
        }

        .btn-login:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

        .btn-loader {
            width: 18px;
            height: 18px;
            border: 2px solid #fff;
            border-top: 2px solid transparent;
            border-radius: 50%;
            display: none;
            animation: spin 0.8s linear infinite;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        @media (max-width: 768px) {
            .panel-left {
                display: none;
            }

            body {
                background: #fff;
            }
        }