:root {
            --green:       #5a7d57;
            --green-dark:  #3b5438;
            --green-light: #eef3ee;
            --text:        #1a2e19;
            --text-muted:  #6b7f6a;
            --border:      #e2ebe2;
            --white:       #ffffff;
            --red:         #e53935;
            --red-light:   #ffebee;
        }

        * { margin:0; padding:0; box-sizing:border-box; }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background: linear-gradient(135deg, var(--green-dark) 0%, var(--green) 100%);
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .login-container {
            background: var(--white);
            padding: 44px 40px;
            border-radius: 20px;
            box-shadow: 0 24px 64px rgba(0,0,0,0.22);
            width: 100%;
            max-width: 400px;
            animation: fadeIn 0.45s ease-out;
        }

        @keyframes fadeIn {
            from { opacity:0; transform:translateY(-18px); }
            to   { opacity:1; transform:translateY(0); }
        }

        /* ─── LOGO ─── */
        .logo {
            text-align: center;
            margin-bottom: 32px;
        }
        .logo img {
            width: 72px; height: 72px;
            object-fit: contain;
            margin-bottom: 12px;
        }
        .logo h1 {
            color: var(--text);
            font-size: 20px; font-weight: 800;
            margin-bottom: 4px;
        }
        .logo p {
            color: var(--text-muted);
            font-size: 13px; font-weight: 500;
        }

        /* ─── ERROR ─── */
        .error-message {
            background: var(--red-light);
            color: var(--red);
            padding: 12px 14px;
            border-radius: 10px;
            margin-bottom: 20px;
            font-size: 13.5px; font-weight: 500;
            border-left: 4px solid var(--red);
        }

        /* ─── FORM ─── */
        .form-group { margin-bottom: 18px; }

        .form-group label {
            display: block;
            font-size: 12px; font-weight: 600;
            color: var(--text-muted);
            text-transform: uppercase; letter-spacing: 0.5px;
            margin-bottom: 6px;
        }

        .form-group input {
            width: 100%;
            padding: 11px 14px;
            border: 1.5px solid var(--border);
            border-radius: 9px;
            font-size: 14px; font-family: inherit;
            color: var(--text);
            transition: border-color 0.2s, box-shadow 0.2s;
            background: var(--white);
        }
        .form-group input:focus {
            outline: none;
            border-color: var(--green);
            box-shadow: 0 0 0 3px rgba(90,125,87,0.1);
        }

        .password-wrapper { position: relative; }
        .toggle-password {
            position: absolute; right: 13px; top: 50%;
            transform: translateY(-50%);
            cursor: pointer; font-size: 17px;
            color: var(--text-muted); user-select: none;
            transition: color 0.15s;
        }
        .toggle-password:hover { color: var(--green); }

        /* ─── BUTTON ─── */
        .login-btn {
            width: 100%; padding: 13px;
            background: var(--green);
            color: white; border: none;
            border-radius: 9px;
            font-size: 15px; font-weight: 700;
            font-family: inherit;
            cursor: pointer;
            transition: all 0.2s;
            margin-top: 4px;
        }
        .login-btn:hover {
            background: var(--green-dark);
            transform: translateY(-2px);
            box-shadow: 0 6px 18px rgba(90,125,87,0.28);
        }
        .login-btn:active { transform: translateY(0); }
        .login-btn:disabled {
            background: #ccc; cursor: not-allowed; transform: none; box-shadow: none;
        }

        /* ─── LINKS ─── */
        .back-home {
            text-align: center; margin-top: 18px;
        }
        .back-home a {
            color: var(--green); text-decoration: none;
            font-size: 13.5px; font-weight: 600;
            transition: opacity 0.15s;
        }
        .back-home a:hover { opacity: 0.75; text-decoration: underline; }

        .footer {
            text-align: center; margin-top: 14px;
            color: var(--text-muted); font-size: 12px;
        }

        /* ─── RESPONSIVE ─── */
        @media (max-width: 480px) {
            .login-container { padding: 32px 24px; }
            .logo img { width: 60px; height: 60px; }
            .logo h1 { font-size: 18px; }
        }
        @media (max-width: 360px) {
            .login-container { padding: 26px 18px; }
        }
